[OpenSIPS-Users] Issue with multiple Route header
Gomtesh Jain
gomtesh at gmail.com
Fri Aug 17 14:49:01 CEST 2012
Thanx...Bogdan ..It is working fine now.
On Fri, Aug 17, 2012 at 3:38 AM, Bogdan-Andrei Iancu <bogdan at opensips.org>wrote:
> **
> ah...so you have preloaded Route - try to take a look at the opensips
> default script to see how the loose_route() function is used in normal
> sequential routing (when you have a TO tag) and in a preloaded initial
> request.
>
> Also I recommend you these short webinars:
> http://www.opensips.org/Resources/Webinars#toc12
> http://www.opensips.org/Resources/Webinars#toc9
>
> Regards,
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developerhttp://www.opensips-solutions.com
>
>
> On 08/16/2012 08:58 PM, Gomtesh Jain wrote:
>
> Hi Bogdan,
> I put some more log messages...and found that if there are 2 routes in
> INVITE It execute
>
> if (loose_route()) {
> # mark routing logic in request
> xlog("L_NOTICE", "HERE OPENSIP CONF Loose Route method ($rm)
> \n");
> route(1);
> exit;
> };
> piece of script and exit.
>
> while In case of 1 route this piece of script does not execute.
>
> Here I give you part of script ....
>
>
> route{
> # max_forwards==0, or excessively long requests
> xlog("L_NOTICE", "HERE OPENSIP CONF STARTS method ($rm) \n");
> if (!mf_process_maxfwd_header("10")) {
> sl_send_reply("483","Too Many Hops");
> exit;
> };
>
> if (msg:len >= 2048 ) {
> sl_send_reply("513", "Message too big");
> exit;
> };
>
> if (nat_uac_test("1")) {
> fix_nated_contact();
> };
> # subsequent messages withing a dialog should take the
> # path determined by record-routing
> if (loose_route()) {
> # mark routing logic in request
> xlog("L_NOTICE", "HERE OPENSIP CONF Loose Route method ($rm)
> \n");
> route(1);
> exit;
> };
>
> if (!((to_uri=~"@208.109.191.123")||(to_uri=~"@.+3clogic.com
> ")||(src_ip==50.16.212.126)))
> {
> sl_send_reply("403", "Relaying not allowed");
> exit;
>
> }
> # we record-route all messages -- to make sure that
> # subsequent messages will go through our proxy; that's
> # particularly good if upstream and downstream entities
> # use different transport protocol
>
> if (!method=="REGISTER")
> {
> xlog("L_NOTICE", "Before Add Record Route TCP OPENSIPS \n");
> record_route();
> xlog("L_NOTICE", "Add Record Route TCP OPENSIPS \n");
> }
>
>
> Thanx,
> Gomtesh
>
> On Thu, Aug 16, 2012 at 7:37 PM, Bogdan-Andrei Iancu <bogdan at opensips.org>wrote:
>
>> Well, that means your script execution does not get there....try to
>> place more xlogs in the beginning of the script to see what's the exec path
>> in there.
>>
>> Regards,
>> Bogdan
>>
>> Bogdan-Andrei Iancu
>> OpenSIPS Founder and Developerhttp://www.opensips-solutions.com
>>
>>
>> On 08/16/2012 01:58 PM, Gomtesh Jain wrote:
>>
>> Hi Bogdan,
>> I put 2 log messages before and after record_route to make sure it
>> gets executed.
>> But I dont's see those messages in log 1st scenario (2 route headers)
>> while I can see both the message in log in 2nd scenario (1 route header).
>>
>> Here I give INVITE messages in 1st scenario...
>>
>>
>> INVITE sip:aa1 at management.3clogic.com:5506 SIP/2.0
>> Via: SIP/2.0/TCP 192.168.3.134:1323
>> ;rport;branch=z9hG4bKPj564512b7c47d4f1c91bf69b2616eea18
>> Max-Forwards: 70
>> From:
>> sip:aa1 at management.3clogic.com:5506;tag=9fa0b4f78ee640dba4c6e0522c9c63a8
>> To: sip:aa1 at management.3clogic.com:5506
>> Contact: <sip:aa1 at 192.168.3.134:1321;transport=TCP;ob>
>> Call-ID: 8ba1014b656e4cdc968bcf4a9c92ae66
>> CSeq: 3514 INVITE
>> *Route: <sip:23.20.79.160:7060;transport=TCP;lr>
>> Route: <sip:208.109.191.105:8060;lr>*
>> Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE, NOTIFY, REFER,
>> MESSAGE, OPTIONS
>> Supported: replaces, 100rel, timer, norefersub
>> Session-Expires: 300
>> Min-SE: 90
>> User-Agent: WebAstra
>> X-Info: normal;;P=;L=;S=Out;A=aa1;CI=;CS=1;PI=1;CP=1
>> Content-Type: application/sdp
>> Content-Length: 259
>>
>> TCP Proxy fwds ...
>>
>> INVITE sip:aa1 at management.3clogic.com:5506 SIP/2.0
>> Via: SIP/2.0/UDP 23.20.79.160:7060;branch=z9hG4bK9618.b76ba1d3.0;i=fe
>> Via: SIP/2.0/TCP 192.168.3.134:1323
>> ;received=115.252.66.182;rport=1323;branch=z9hG4bKPj564512b7c47d4f1c91bf69b2616eea18
>> Max-Forwards: 69
>> From:
>> sip:aa1 at management.3clogic.com:5506;tag=9fa0b4f78ee640dba4c6e0522c9c63a8
>> To: sip:aa1 at management.3clogic.com:5506
>> Contact: <sip:aa1 at 115.252.66.182:1323;transport=TCP;ob>
>> Call-ID: 8ba1014b656e4cdc968bcf4a9c92ae66
>> CSeq: 3514 INVITE
>> Route: <sip:208.109.191.105:8060;lr>
>> Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE, NOTIFY, REFER,
>> MESSAGE, OPTIONS
>> Supported: replaces, 100rel, timer, norefersub
>> Session-Expires: 300
>> Min-SE: 90
>> User-Agent: WebAstra
>> X-Info: normal;;P=;L=;S=Out;A=aa1;CI=;CS=1;PI=1;CP=1
>> Content-Type: application/sdp
>> Content-Length: 25
>>
>>
>> Thanx,
>> Gomtesh
>>
>>
>> On Thu, Aug 16, 2012 at 4:05 PM, Bogdan-Andrei Iancu <bogdan at opensips.org
>> > wrote:
>>
>>> You say you do record_route(), but no RR header is added to the
>>> request ? this is a bit hard to believe ....are you sure your script ends
>>> to the RR function ?
>>>
>>> Regards,
>>>
>>> Bogdan-Andrei Iancu
>>> OpenSIPS Founder and Developerhttp://www.opensips-solutions.com
>>>
>>>
>>> On 08/16/2012 01:23 PM, Gomtesh Jain wrote:
>>>
>>> Hi Bogdan,
>>> I am doing ...
>>>
>>> if (!method=="REGISTER")
>>> {
>>> xlog("L_NOTICE", "Before Add Record Route TCP OPENSIPS \n");
>>> record_route();
>>> xlog("L_NOTICE", "Add Record Route TCP OPENSIPS \n");
>>> }
>>>
>>> in my config .
>>>
>>>
>>> But in 1st scenario it does not add record route .So UA1 tries to send
>>> ACK directly to "Other proxy". Which is wrong.
>>>
>>>
>>> While it adds record route in 2nd scenario and all signalling works
>>> fine.
>>>
>>>
>>> Thanx,
>>> Gomtesh
>>>
>>>
>>>
>>>
>>> On Thu, Aug 16, 2012 at 3:43 PM, Bogdan-Andrei Iancu <
>>> bogdan at opensips.org> wrote:
>>>
>>>> Hi Gomtesh,
>>>>
>>>>
>>>> On 08/14/2012 04:10 PM, Gomtesh Jain wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I am running opensips 1.6 as TCP proxy. I am facing problem when I
>>>>> use multiple proxy in my N/w.
>>>>>
>>>>> UA1------> TCP proxy(opensips 1.6)------->Other Proxy--------> UA2
>>>>>
>>>>> UA1 adds 2 Route headers in INVITE.
>>>>> In this scenario TCP proxy does not add Record Route in INVITE.
>>>>>
>>>> How comes ?? don;t you do record_route() on the opensips ??
>>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>> UA1------> TCP proxy(opensips 1.6)------------> UA2
>>>>>
>>>>> UA1 add only 1 Route header.
>>>>> In this scenario It works fine with the same conf.
>>>>>
>>>> What "fine" means ? It means opensips adds on route ? or ?
>>>>
>>>> Regards,
>>>> Bogdan
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20120817/28690ee5/attachment.htm>
More information about the Users
mailing list