[OpenSIPS-Users] uac_replace_to on failure routes
John Komara
john.komara at mongoosemetrics.com
Wed Sep 10 16:38:40 CEST 2014
That worked. I appreciate the response.
Before each attempt to complete the call to a destination in the
dispatcher list I called t_on_branch(), replaced the IP in the To: field
with uac_replace_to(), then popped back into the request route or failure
route.
Thank you,
John
On 9/9/14, 3:35 AM, "Kristian F. Høgh" <kfh.opensips at kfh.dk> wrote:
>Hi John,
>
>You should call uac_replace_to() from branch route.
>use t_on_branch() on (initial) INVITE in request- and failure route
>http://www.opensips.org/html/docs/modules/1.11.x/tm.html#branch-route
>
>From http://www.opensips.org/html/docs/modules/1.11.x/uac.html#id293640
>IMPORTANT: calling the function more than once per branch will lead to
>inconsistent changes over the request.
>Be sure you do the change only ONCE per branch.
>Note that calling the function from REQUEST ROUTE affects all the
>branches!, so
>no other change will be possible in the future.
>For per branch changes use BRANCH and FAILURE route.
>
>Regards,
>Kristian Høgh.
>
>
>On Monday 08 September 2014 20:30:53 John Komara wrote:
>> I have a requirement where I need to replace the To field. I am using
>> uac_replace_to(); to do this. It works great. I am using the dispatcher
>> module. I am using t_on_failure(); to try the next destination in the
>> group. It hits a failure_route that then sends it to the "next_dest"
>>route.
>> There I am calling ds_next_dst(); to pick the next destination in the
>> group. After the destination has been selected I called
>>uac_replace_to();
>> again. This is where I run into my problem.
>>
>> The To: field now has both the first and second destination in the To:
>> field. (i.e. sip:5555555555 at 10.10.10.10sip:5555555555 at 10.10.10.11). I
>>can
>> see that when uac_replace_to(); is called for the second time (in the
>> "next_dest" route) that it is trying to store the vst parameter in the
>> dialog:
>>
>> DBG:dispatcher:ds_next_dst: using [sip:10.10.10.11:5080]
>> DBG:dispatcher:ds_next_dst: using [sip:10.10.10.10:5060]
>> DBG:uac:replace_uri: uri to replace [sip:5555555555 at 10.10.9.10]
>> DBG:uac:replace_uri: replacement uri is [sip:5555555555 at 10.10.10.11]
>> DBG:dialog:new_dlg_val: inserting <vst>=<sip:5555555555 at 10.10.9.10>
>> DBG:uac:replace_uri: stored <vst> param in dialog
>> DBG:dialog:new_dlg_val: inserting <739824>=<sip:5555555555 at 10.10.10.11>
>>
>> I need the To: field to be updated on each failure with the new
>>destination.
>> I tried calling record_route(); after each uac_replace_to(); call as
>>well.
>> This resulted in an additional rr added to the header with no vst
>>field. I
>> am not sure where to go from here. Am I approaching this the right way?
>>Is
>> there a better way to do this?
>>
>> Link to config: http://pastebin.com/UgzgqeF8
>>
>> Thanks in advance,
>>
>> John
>
>
>_______________________________________________
>Users mailing list
>Users at lists.opensips.org
>http://lists.opensips.org/cgi-bin/mailman/listinfo/users
More information about the Users
mailing list