[SR-Users] Sending to an announcement server from a failure_route

Boden Garman bpgarman at fastmail.fm
Mon Dec 17 06:03:17 CET 2018


Hi Aqs, 
Thanks for the reply.  
Without the append_branch() the headers are set but the rewritehostport() doesn't work and the request is re-sent to the PSTN gateway. 
 
On Mon, 17 Dec 2018, at 3:51 PM, Aqs Younas wrote: 
> Remove append_branch(). 
>  
> On Mon, 17 Dec 2018 at 6:08 AM, Boden Garman <bpgarman at fastmail.fm> wrote: 
>> __ 
>> Hi list, 
>>  
>> I'm trying to play an announcement for my users when my PSTN gateway responds with a 404 Not Found (Reason: Q.850;cause=3), indicating a wrong number. I'm a bit lost and would appreciate any advice. 
>>  
>> What I am seeing is two parallel SIP invites, one to my announcement server (hooray!) and one to the PSTN gateway again (which I don't want). How do I stop the original branch from starting again?  
>>  
>> I've tried changing the order of rewritehostport and append_branch without any difference. I've also tried to use t_relay() instead of the RELAY route. 
>>  
>> I'm using Kamailio 5.1 and have modified the deafult kamailio.cfg 
>>  
>> Thanks! 
>> Boden 
>>  
>> I think this is the relevant parts of the config: 
>>  
>> # PSTN GW routing 
>> route[PSTN] { 
>>  [PSTN regex logic omitted] 
>>  
>>  # classify as an outbound call 
>>  set_dlg_profile("outbound_calls"); 
>>  
>>  # select a PSTN gateway from the dispatcher 
>>  if (!ds_select_dst("66", "8")) { 
>>  send_reply("404", "No destination"); 
>>  exit; 
>>  } 
>>  
>>  # failover if the selected PSTN gateway is down 
>>  t_on_failure("RTF_DISPATCH"); 
>>  
>>  route(RELAY); 
>>  exit; 
>> } 
>>  
>>  
>> # Try next destinations in failure route 
>> failure_route[RTF_DISPATCH] { 
>>  xlog("inside RTF_DISPATCH"); 
>>  if (t_is_canceled()) { 
>>  exit; 
>>  } 
>>  
>>  # wrong number from PSTN 
>>  if (t_check_status("404")) { 
>>  append_branch(); 
>>  append_hf("X-Application: announcement\r\n"); 
>>  append_hf("X-Announcement-Playback: wrong-number\r\n"); 
>>  route(TO_ANNOUNCEMENT); 
>>  exit; 
>>  } 
>>  
>>  # next DST - only for 500 or local timeout 
>>  if (t_check_status("500") or (t_branch_timeout() and !t_branch_replied())) { 
>>  xlog("selecting next destination"); 
>>  if (ds_next_dst()) { 
>>  t_on_failure("RTF_DISPATCH"); 
>>  route(RELAY); 
>>  exit; 
>>  } 
>>  } 
>> } 
>>  
>>  
>> # Routing to announcement server 
>> route[TO_ANNOUNCEMENT] { 
>>  if (!is_method("INVITE")) { 
>>  return; 
>>  } 
>>  rewritehostport('ANNOUNCEMENT_SERVER:5060'); 
>>  route(RELAY); 
>>  exit; 
>> } 
>> _______________________________________________ 
>>  Kamailio (SER) - Users Mailing List 
>>  sr-users at lists.kamailio.org 
>>  https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users 
> _______________________________________________ 
> Kamailio (SER) - Users Mailing List 
> sr-users at lists.kamailio.org 
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users 
>  
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20181217/75b4b79d/attachment.html>


More information about the sr-users mailing list