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 <h...@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:44800800...@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@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@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
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users