[SR-Users] kamailio 4.4.4 fills IPv6 contact address when sending packet over IPv4

Pali Rohár pali.rohar at gmail.com
Wed Jul 10 20:29:57 CEST 2019


Hi! Do you have any idea why Kamailio fills incorrect address into
Contact header? And how to avoid it?

On Sunday 30 June 2019 23:11:22 Pali Rohár wrote:
> Hi!
> 
> I detected strange problem that sip.linphone.org refuse to accept
> presence information re-transmitted by kamailio 4.4.4 server.
> 
> I debug this problem with tcpdump and I found out that problem is in
> kamailio which fills IPv6 address into UDP datagram and that datagram is
> sent via IPv4 socket to IPv4 address, to sip.linphone.org server. And
> sip.linphone.org server does not have IPv6 connectivity, so correctly
> return over IPv4 to sender just "400 Bad Contact Header" error.
> 
> On my server is running kamailio 4.4.4 from Debian Stretch and I can
> 100% reproduce this problem against public sip.linphone.org server.
> 
> My server has both IPv4 and IPv6 connectivity and kamailio is listening
> for both IPv4 and IPv6 connections.
> 
> So why is kamailio sending IPv6 address over IPv4 and therefore makes it
> impossible to communicate with non-IPv6 enabled servers? Looks like a
> problem with choosing default/correct socket for Contact header.
> 
> And how to fix this problem? Can you help me? I would like to have
> working interconnection with linphone servers.
> 
> Just to note I'm seeing this problem only for presence information
> packets. Other requests, like INVITE or MESSAGE seems to work.
> 
> Below is relevant tcpdump output. Some parts were replaced by {VAR}.
> 
> PS: I'm not subscribed to list, so please CC my address when sending
> reply. Thank you!
> 
> 
> 17:22:58.121719 IP (tos 0x10, ttl 64, id 21629, offset 0, flags [none], proto UDP (17), length 1266)
>     {MY_IPV4_ADDRESS}.5060 > 91.121.209.194.5060: [bad udp cksum 0xa099 -> 0x9825!] SIP, length: 1238
>         NOTIFY sip:{REMOTE_NAME}@{REMOTE_USER_IPV4_ADDRESS}:5060;registering_acc=sip_linphone_org SIP/2.0
>         Via: SIP/2.0/UDP {MY_IPV4_ADDRESS};branch=z9hG4bK2b55.88f93c20000000000000000000000000.0
>         To: <sip:{REMOTE_NAME}@sip.linphone.org>;tag=75559182
>         From: <sip:{MY_SIP_URI}>;tag=97d8e785fdf42bf9622a64c13c504961-2708
>         CSeq: 2 NOTIFY
>         Call-ID: 26cf9d5c019af2dc3302b770887bcc2e at 0:0:0:0:0:0:0:0
>         Route: <sip:91.121.209.194:5060;lr>
>         Content-Length: 597
>         User-Agent: kamailio (4.4.4 (x86_64/linux))
>         Max-Forwards: 70
>         Event: presence
>         Contact: <sip:{MY_IPV6_ADDRESS}:5060;transport=udp>
>         Subscription-State: active;expires=3600
>         Content-Type: application/pidf+xml
> 
>         <?xml version="1.0" encoding="UTF-8"?>
>         <presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid" entity="Pali <sip:{MY_SIP_URI}>">
>         <tuple id="sg89ae">
>         <status><basic>open</basic></status>
>         <contact priority="0.8">Pali <sip:{MY_SIP_URI}></contact>
>         </tuple>
> 
>           <tuple xmlns="urn:ietf:params:xml:ns:pidf" id="TA0C538B2">
>             <status>
>               <basic>closed</basic>
>             </status>
>             <contact priority="1">sip:{MY_SIP_URI}</contact>
>             <timestamp>2019-04-19T17:20:36+02:00</timestamp>
>           </tuple>
>         </presence>
> 
> 17:22:58.151188 IP (tos 0x0, ttl 52, id 22949, offset 0, flags [none], proto UDP (17), length 373)
>     91.121.209.194.5060 > {MY_IPV4_ADDRESS}.5060: [udp sum ok] SIP, length: 345
>         SIP/2.0 400 Bad Contact Header
>         Via: SIP/2.0/UDP {MY_IPV4_ADDRESS};branch=z9hG4bK2b55.88f93c20000000000000000000000000.0;rport=5060
>         From: <sip:{MY_SIP_URI}>;tag=97d8e785fdf42bf9622a64c13c504961-2708
>         To: <sip:{REMOTE_NAME}@sip.linphone.org>;tag=75559182
>         Call-ID: 26cf9d5c019af2dc3302b770887bcc2e at 0:0:0:0:0:0:0:0
>         CSeq: 2 NOTIFY
>         Content-Length: 0
> 
> 

-- 
Pali Rohár
pali.rohar at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190710/513b46a1/attachment.sig>


More information about the sr-users mailing list