[Users] RE[openser] Redirect on Busy with 486 or Voicemail

Tracy Lofton tracylofton_1 at hotmail.com
Tue Sep 12 19:50:04 CEST 2006


Hi All,

I am still a bit new to openser and I am 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), but I get this error for the first openser.cfg snippet:  ( 
0(31978) parse error (140,19-20): unknown command, missing loadmodule?
Also, when I run the avp_check condition by iself without && my 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("voicemail") && avp_check("i:34", "eq/$ruri/i")) {  <- this 
is the parse error, line 140
      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)

_________________________________________________________________
Call friends with PC-to-PC calling -- FREE   
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline





More information about the Users mailing list