[SR-Users] path use_received not working?
Daniel-Constantin Mierla
miconda at gmail.com
Fri Jul 21 14:19:26 CEST 2017
Hello,
so it seems that FreeSwitch is not handling properly the Path header. As
you can see, that Path in REGISTER is:
Path: <sip:KAMAILIO_PUBLIC_IP;lr;received=sip:UAC_PUBLIC_IP:5063>
But the INVITE has the ROUTE:
Route: <sip:KAMAILIO_PUBLIC_IP>;lr;received=sip:UAC_PUBLIC_IP:5063
The closing '>' is no longer at the end, making lr and received header
parameters, instead of uri parameters.
If there is nothing easy to fix in freeswitch, you can try to:
- use add_path() instead of add_path_received()
- use set_contact_alias() instead of fix_nated_contact() and
fix_nated_register() and then when the INVITE comes from FreeSwitch use
handle_ruri_alias()
Because I encountered other sip apps that get confused by the value of
received parameter in the Path, I added in master branch an alternative:
-
https://www.kamailio.org/docs/modules/devel/modules/path.html#path.p.received_format
But for this you need to install from git master.
Cheers,
Daniel
On 21.07.17 12:22, Iskren Hadzhinedev wrote:
> Hi Daniel,
> Yes, those headers are extracted from a wireshark pcap.
> Yes, kamailio is listening on a public IP address without any sort of NAT.
>
> Here's the REGISTER sent from kamailio to FreeSWITCH, copied from a
> pcap using wireshark with IPs replaced:
>
> Session Initiation Protocol (REGISTER)
> Request-Line: REGISTER sip:sip.test.com:5060 SIP/2.0
> Method: REGISTER
> Request-URI: sip:sip.test.com:5060
> Request-URI Host Part: sip.test.com
> Request-URI Host Port: 5060
> [Resent Packet: False]
> Message Header
> Record-Route: <sip:KAMAILIO_PUBLIC_IP;lr=on;ftag=1015994109>
> Via: SIP/2.0/UDP
> KAMAILIO_PUBLIC_IP;branch=z9hG4bKb4a9.4cbfa8e6cdc8083ffe5ff1ea228fea26.0
> Via: SIP/2.0/UDP
> 192.168.1.200:5063;rport=5063;received=UAC_PUBLIC_IP;branch=z9hG4bK332629336
> From: <sip:1001 at sip.test.com>;tag=1015994109
> To: <sip:1001 at sip.test.com>
> Call-ID: 1821101462 at 192.168.1.200
> CSeq: 1 REGISTER
> Contact: <sip:1001 at 192.168.1.200:5063>
> Allow: INVITE, INFO, PRACK, ACK, BYE, CANCEL, OPTIONS, NOTIFY,
> REGISTER, SUBSCRIBE, REFER, PUBLISH, UPDATE, MESSAGE
> Max-Forwards: 69
> User-Agent: Yealink SIP-T42G 29.72.23.5
> Expires: 3600
> Allow-Events: talk,hold,conference,refer,check-sync
> Content-Length: 0
> Path: <sip:KAMAILIO_PUBLIC_IP;lr;received=sip:UAC_PUBLIC_IP:5063>
> Path URI:
> sip:KAMAILIO_PUBLIC_IP;lr;received=sip:UAC_PUBLIC_IP:5063
> Path Host Part: KAMAILIO_PUBLIC_IP
> Path URI parameter: lr
> Path URI parameter: received=sip:UAC_PUBLIC_IP:5063
>
> And this is the test INVITE from FreeSWITCH to kamailio:
>
> Session Initiation Protocol (INVITE)
> Request-Line: INVITE sip:1001 at 192.168.1.200:5063 SIP/2.0
> Message Header
> Via: SIP/2.0/UDP
> FREESWITCH_PUBLIC_IP;rport;branch=z9hG4bK543jg8S9Ng8gm
> Route: <sip:KAMAILIO_PUBLIC_IP>;lr;received=sip:UAC_PUBLIC_IP:5063
> Max-Forwards: 70
> From: "" <sip:0000000000 at FREESWITCH_PUBLIC_IP>;tag=DyFB81r40609Q
> To: <sip:1001 at 192.168.1.200:5063>
> Call-ID: fad5ae53-e89d-1235-d8b5-00163e50ea42
> CSeq: 109979488 INVITE
> Contact: <sip:mod_sofia at FREESWITCH_PUBLIC_IP:5060>
> User-Agent: FreeSWITCH-1.6.9-16-d574870~64bit
> Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO,
> UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE
> Supported: timer, path, replaces
> Allow-Events: talk, hold, conference, presence,
> as-feature-event, dialog, line-seize, call-info, sla,
> include-session-description, presence.winfo, message-summary, refer
> Content-Type: application/sdp
> Content-Disposition: session
> Content-Length: 319
> X-FS-Support: update_display,send_info
> Message Body
> Session Description Protocol
> Session Description Protocol Version (v): 0
> Owner/Creator, Session Id (o): FreeSWITCH 1500611681
> 1500611682 IN IP4 FREESWITCH_PUBLIC_IP
> Session Name (s): FreeSWITCH
> Connection Information (c): IN IP4 FREESWITCH_PUBLIC_IP
> Time Description, active time (t): 0 0
> Media Description, name and address (m): audio 19424
> RTP/AVP 9 0 8 3 101 13
> Media Attribute (a): rtpmap:9 G722/8000
> Media Attribute (a): rtpmap:0 PCMU/8000
> Media Attribute (a): rtpmap:8 PCMA/8000
> Media Attribute (a): rtpmap:3 GSM/8000
> Media Attribute (a): rtpmap:101 telephone-event/8000
> Media Attribute (a): fmtp:101 0-16
> Media Attribute (a): rtpmap:13 CN/8000
> Media Attribute (a): ptime:20
>
> As always, thanks for all your help!
>
> Kind regards,
> Iskren
>
> On 21.7.2017 г. 11:42, Daniel-Constantin Mierla wrote:
>>
>> Hello,
>>
>> are you sure that the Route is like that? The lr parameter and
>> received should be between angle brakets <> along with the sip uri.
>>
>> Maybe you should paste here the full REGISTER sent to sip server
>> after adding the path as well as the INVITE received later. You can
>> replace the IP addresses that are sensitive for you, but keel
>> everything else as it is in order to see if there is something wrong
>> in the headers.
>>
>> Btw, the To header has nothing to do with routing, the R-URI will be
>> also relevant in this case.
>>
>> Is kamailio listening directly on a public ip?
>>
>> Cheers,
>> Daniel
>>
>>
>> On 20.07.17 17:18, Iskren Hadzhinedev wrote:
>>>
>>> Hello,
>>>
>>> I have a kamailio proxy in front of FreeSWITCH.
>>>
>>> Whenever FreeSWITCH initiates the dialog (e.g. sends an INVITE),
>>> kamailio doesn't use the 'received' parameter and it forwards to the
>>> RFC1918 IP address. The initial INVITE from FreeSWITCH has the
>>> following headers:
>>>
>>> To: <sip:1001 at 192.168.1.200:5063>
>>> Route: <sip:1.2.3.4>;lr;received=sip:5.6.7.8:5063
>>>
>>> Where 1.2.3.4 is the kamailio public IP and5.6.7.8 is the public IP
>>> of the UAC behind NAT.
>>> I have modparam("path", "use_received", 1) in my config file and to
>>> my understanding that should be sufficient to route to the proper
>>> IP, but kamailio keeps sending INVITEs to 192.168.1.200.
>>>
>>> Can anyone tell me what am I missing?
>>> Thanks!
>>>
>>> Kind regards,
>>> Iskren
>>>
>>>
>>> _______________________________________________
>>> Kamailio (SER) - Users Mailing List
>>> sr-users at lists.kamailio.org
>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>>
>> --
>> Daniel-Constantin Mierla
>> www.twitter.com/miconda -- www.linkedin.com/in/miconda
>> Kamailio Advanced Training - www.asipto.com
>> Kamailio World Conference - www.kamailioworld.com
>
--
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - www.asipto.com
Kamailio World Conference - www.kamailioworld.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170721/e11f65fd/attachment.html>
More information about the sr-users
mailing list