[OpenSIPS-Users] loose_route()

Victor Gamov vit at euro-comm.net
Mon Nov 15 11:36:43 CET 2010


Thanks Bogdan!

On 11.11.2010 14:15, Bogdan-Andrei Iancu wrote:
> Victor Gamov wrote:
>>
>> I hope that loose_route() will process Route headers not RURI.
>>
>> RFC-3261 16.4 says that
>> "The proxy MUST inspect the Request-URI of the request. If the
>> Request-URI of the request contains a value this proxy previously
>> placed into a Record-Route header field (see Section 16.6 item 4),
>> the proxy MUST replace the Request-URI in the request with the last
>> value from the Route header field, and remove that value from the
>> Route header field. The proxy MUST then proceed as if it received
>> this modified request."
>>
>> So loose_route() inspect R-URI. But R-URI
>> sip:74951000000 at X.X.X.X:5060
>> is not the same as inserted into Route
>> (sip:X.X.X.X;lr=on;ftag=2204003977).
> A RR hdr cannot be completely copied to a RR, as syntactically speaking
> they are different . RR is a name-addr spec, while RURI is a SIP
> URI...what you see there as lr and ftag are RR hdr param, so cannot be
> copied into RURI - just the URI part of RR is copied into RURI.
>>
>> So Route header
>> Route: <sip:X.X.X.X;lr=on;ftag=2204003977>
>> removed, R-URI untouched, next Route processed and $du is
>> sip:X.X.X.X:50080 now.
>
> not really :
> 1) opensips finds its IP in RURI -> previous hop was a strict router
> 2) next hop is in the first Route hdr
> 3) next hop has "lr" param, so next hop is a loose router -> strict to
> loose conversion
> A) last Route is moved into RURI (end point address)
> B) send (via $du) the call to next hop (from top most Route).

-- 
CU,
Victor Gamov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vit.vcf
Type: text/x-vcard
Size: 156 bytes
Desc: not available
URL: <http://lists.opensips.org/pipermail/users/attachments/20101115/f96262a2/attachment.vcf>


More information about the Users mailing list