[Users] UAC Problem with Sipura

ram talk2ram at gmail.com
Wed Jul 19 08:15:48 CEST 2006


>
>
> Hi,
>
> not sure how is generating this, but it's not a valid SIP URI:
>    <: 17322180369 at myserver-ipaddress:5090>
>
> regards,
> bogdan



Hi Bogdan

I have redirecting the user if not available to to Voice mail of Asterisk
that run on myserver-ipaddress:5090

i have integrated OpenSer+Asterisk

so when the local user not availble it should go to Voice mail

but when iam dialing from X-lite call going out.

but when iam dialing from Sipura the call Going to voice mail .. why iam not
sure

here is my openser.cfg looks like

-----------

modparam("uac","credential","99999:provider.com:99999")

# -------------------------  request routing logic -------------------

route {
 #check for old messages: could mean a problem withthe DNS entries or some
other loop-causer...
 if (!mf_process_maxfwd_header("10"))
 {
  xlog("L_WARN", "WARNING: Too many hops\n");
  sl_send_reply("483", "Too many hops, forward count exceeded limit\n");
  return;
 };

 #check for extremely large messages; we don't need a sip dos attack
 if (msg:len >= 2048)
 {
  xlog("L_WARN", "WARNING: Message too large, >= 2048 bytes\n");
  sl_send_reply("513", "Message too large, exceeded limit\n");
  return;
 };

 #record everything besides registers and acks
 if(method!="REGISTER" && method!="ACK")
 {
 setflag(1);
 };

 #do not send to voicemail if BYE or CANCEL
 #is used to end call before user pickup or timeout
 if(method=="CANCEL" || method=="BYE")
 {
 setflag(10);
 };

 #grant route if route headers already present
 if (loose_route())
 {
  route(1);
  return;
 };

 #Always require authentication, which could result in a PSTN, ie $$$

 if (method=="REGISTER")
 {
  if(!www_authorize("mydomain.com", "subscriber"))
  {
   www_challenge("mydomain.com", "0");
   return;
  }
  else
  {
     if (!check_to())
     {
       sl_send_reply("401", "Unauthorized");
       return;
     };

   #Save into user database, used below when checkingif user is available
   xlog("L_INFO", "REGISTER: User Authenticated Correctly\n");
   save("location");
   return;
  };
 };
#}
 if (method=="INVITE")
 {
 if(uri=~"sip:\*98 at .*")
 #if(uri=~"sip:\*86 at .*")
 {
  #authorize if a call is going to PSTN
  if(!proxy_authorize("mydomain.com", "subscriber"))
  {
   proxy_challenge("mydomain.com", "0");
   return;
  };

  xlog("L_INFO", "CALL: Call to check voicemail\n");
  rewritehostport("myserver-ipaddress:5090");
 }
 else
 {
  if (does_uri_exist())
  {
   #Call is to sip client, so do nothing but route
   xlog("L_INFO", "CALL: Sip client\n");
   if (!lookup("location"))
   {
#    sl_send_reply("404", "Not Found");
#    log(1, "ERROR: User Not Found\n");
    rewritehostport("myserver-ipaddress:5090");
    t_relay();
    return;
   };
  }
  else
  {
   #authorize if a call is going to PSTN
   if(!proxy_authorize("mydomain.com", "subscriber"))
   {
    proxy_challenge("mydomain.com", "0");
    return;
   };

   #Call destination is PSTN, so send it to the gateway (Net.com)
   xlog("L_INFO", "CALL: PSTN gateway1\n");
  rewritehostport("provider-ip:5060");
  };
 };

 #Make sure that all subsequent requests go through us;
 record_route();
 }
 else
 {
 if (does_uri_exist())
 {
  #Call is to sip client, so do nothing but route
  xlog("L_INFO", "CALL: Sip client\n");
  if (!lookup("location"))
   {
#    sl_send_reply("404", "Not Found");
#    log(1, "ERROR: User Not Found\n");
    rewritehostport("myserver-ipaddress:5090");
    t_relay();
   return;
  };
}
else
{
  #Call destination is PSTN, so send it to the gateway (Net.com)
  xlog("L_INFO", "CALL: PSTN gateway2\n");
  rewritehostport("provider-ip:5060");
 };
 record_route();
 };

 #ALL PROCESSING IS DONE, SO ROUTE
 route(1);
}


route[1]
{
#send the call outward

 if(method=="INVITE" && !isflagset(10))
 {
 t_on_failure("2");
 };

 if (!t_relay())
 {
 xlog("L_WARN", "ERROR: t_relay failed");
 sl_reply_error();
 };

}

failure_route[2]
{
 if(!t_was_cancelled())
 {
 revert_uri();
 rewritehostport("myserver-ipaddress:5090");
 append_branch();
 #PREVENT SOME CRAZY VOICEMAIL LOOP
 xlog("L_INFO", "INFO: CALL TO VOICEMAIL");
 setflag(10);
 route(1);

 }
}

ram
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20060719/6f3593a8/attachment.htm>


More information about the sr-users mailing list