[Users] Redirect on Busy with 486 or Voicemail

Tracy Lofton tracylofton_1 at hotmail.com
Wed Sep 13 03:07:23 CEST 2006


Hi All,

I apologize for rewriting most of this, but I do not know how to continue a 
thread from a prior email.  I am new. I fixed the parse error from a prior 
email request by adding the R-URI but I am still trying to get the call to 
respond with busy if caller calls themself from their own UA.  I created in 
the
table grp - "voicemail" with corresponding usernames.   While in the failure
route, I  am requesting to route calls to voicemail if the caller is calling
a user that is busy or unavailable (but i don't want caller = self in this
category).  When I run the avp_check condition, the program
seems to just skip over it and shoots right to the failure route and then
redirects to voicemail when busy or unavailable, whether it is the caller
calling from their own UA or not.

-------------------------------------------------------------------------------------------
Route {
.....

if (method=="INVITE") {
avp_write("$from", "i:34");
if (is_in_group("Request-URI", "voicemail") && avp_check("i:34", 
"eq/$ruri/i")) {
      sl_send_reply("486", "Busy Here");
      exit;
    };
avp_delete("i:34");
.........
}
.....
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------

t_on_reply("1");

if(method=="INVITE" && !isflagset(10))
{
t_on_failure("1");
};
........
failure_route[1]
{
if (!t_was_cancelled() | (t_check_status("486") )  {
revert_uri();
rewritehostport("mydomain.com:5065");
append_branch();
xlog("L_INFO", "Temporarily Unavailable or Busy: Transfer to Voicemail");
setflag(10);
route(1);
}
---------------------------------------------------------------------------------------------end
of first openser.cfg snippet

Prior to the above, I have this openser.cfg working somewhat to my wishes by
forwarding to the failure route any busy UA and returning a 486 (whether it
as caller=callee or not) and for unavailable it would forward to voicemail.
  Also, I  have a backup conditional statement (not shown) for users to dial
*981 to reach a UA's voicemail directly to leave voicemail because I cannot
get around the busy  486.
________________________________

failure_route[1]
{
if (t_check_status("486"))  {
     xlog("L_NOTICE",
  "OPENSER_NAME: $mi $rm $fu -> $ru status 486 Busy Here\n");
        exit;

    }  else if (!t_was_cancelled() )  {
revert_uri();
rewritehostport("mydomain.com:5065");
append_branch();
xlog("L_INFO", "Temporarily Unavailable #1: Transfer to Voicemail");
setflag(10);
route(1);
}
---------------- end of 2nd openser.cfg snippet

Actually, i need help with trying to get it to work right by if caller =
self (as a separate condition) then return with 486 busy,  and another
condition if UA is unavailable or busy then forward to voicemail.  I really
would like a bit of help.  I I hope this makes sense.

Thanks,

Tracy (The Practitioner)

_________________________________________________________________
Get real-time traffic reports with Windows Live Local Search  
http://local.live.com/default.aspx?v=2&cp=42.336065~-109.392273&style=r&lvl=4&scene=3712634&trfc=1





More information about the Users mailing list