[SR-Users] Question about relaying

Leo Brown leo at netfuse.org
Tue May 7 17:24:11 CEST 2013


Hi Henning,

My inbound carrier has done some digging and discovered that the reason is they choose the *first* address from the *last* Record-Route header.

Most gateways apparently add multiple Record-Route headers, whereas when we get a OK to our INVITE from the carrier, the various Record-Route headers have been compiled into a single Record-Route header like:

Record-Route: <sip:85.13.242.57;lr=on>
Record-Route: <sip:85.13.242.55;lr=on>
--> INVITE
> Record-Route: <sip:8.13.22.57;lr=on>
> Record-Route: <sip:8.13.22.55;lr=on>

<-- OK
> Record-Route: <sip:53.116.5.147;lr=on>,<sip:8.13.22.57;lr=on>,<sip:8.13.22.55;lr=on>

Is this normal behaviour of SIP, and either way is there any way to ask Kamailio to mangle the 200 OK to split the Record-Route header into the separate entries that is possibly more "standard"…?

Cheers,
Leo

On 6 May 2013, at 12:20, Henning Westerholt <hw at kamailio.org> wrote:

> Am Freitag, 3. Mai 2013, 16:54:29 schrieb Leo Brown:
>> I added record_route() and now I see an extra record-route and Via: header:
>> 
>> .9........INVITE sip:44800800150 at pstn-out.netfuse.net SIP/2.0
>> Record-Route: <sip:85.13.242.55;lr=on>
>> Via: SIP/2.0/UDP 85.13.242.55;branch=z9hG4bK388f.04bc8632.1
>> Via: SIP/2.0/UDP 81.88.163.210:5060;rport=5060;branch=z9hG4bK82ae6ced
>>    INVITE sip:44800800150 at our-pstn-switch SIP/2.0
>>    Record-Route: <sip:mvno-edge;lr=on>
>>    Via: SIP/2.0/UDP mvno-edge;branch=z9hG4bK388f.04bc8632.1
>>    Via: SIP/2.0/UDP mvno-carrier:5060;rport=5060;branch=z9hG4bK82ae6ced
>>    Contact: <sip:441234567890 at mvno-carrier:5060>
>> 
>> I have replaced the relevant IP addresses in the example with mvno-edge,
>> mvno-carrier, and outbound-carrier. So the route got "recorded" but the
>> Contact: still referenced my mvno-carrier when inviting my
>> outbound-carrier.
>> 
>> Accordingly, I do not get the BYE message from my originating mvno-carrier,
>> after I send them 200 OK they try to talk to my outbound-carrier.
>> 
>> Note this is how I am routing the call to my gateway:
>> 
>>        # Change destination URI to our carrier
>>        $ru = "sip:" + $rU + "@" +
>> $sel(cfg_get.gateways.outbound_carrier_1);
>> 
>> Any other ideas on how the Contact header should be modified?
> 
> Hi Leo,
> 
> maybe the originating gateway user agent is not configured correctly. Normally 
> one does not need to modify the Contact header for this functionality.
> 
> The originating user agent needs to "learn" the route set that he should 
> follow and specify then this the respective Route headers.
> 
> Take a look to this example on how it works in detail:
> 
> http://www.in2eps.com/fo-sip/tk-fo-sip-dialog.html
> 
> BTW, if your proxy on the path also needs to honour Route sets you need to use 
> also the loose_route function in rr module.
> 
> Henning Westerholt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20130507/326f5f63/attachment.html>


More information about the sr-users mailing list