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@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@0:0:0:0:0:0:0:0 CSeq: 2 NOTIFY Content-Length: 0
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@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@0:0:0:0:0:0:0:0 CSeq: 2 NOTIFY Content-Length: 0
Hello,
did you try to set parameter server address? http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476... pua_reginfo Module - kamailio.orghttp://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm1031504764 Keeping different Servers in Sync regarding the location database Get notified, when a user registers: A presence-server, which handles offline message storage for an account, would get notified, when the user comes online. kamailio.org
Yasin CANER
________________________________ From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Pali Rohár pali.rohar@gmail.com Sent: Wednesday, July 10, 2019 9:29 PM To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] kamailio 4.4.4 fills IPv6 contact address when sending packet over IPv4
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@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@0:0:0:0:0:0:0:0 CSeq: 2 NOTIFY Content-Length: 0
-- Pali Rohár pali.rohar@gmail.com
Hi!
I have not set pua_reginfo parameter. Should I set it? And if yes to which value? There should be at least settings for packets outgoing via IPv4 and another setting for packets outgoing via IPv6.
On Thursday 11 July 2019 06:46:35 YASIN CANER wrote:
Hello,
did you try to set parameter server address? http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476... pua_reginfo Module - kamailio.orghttp://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm1031504764 Keeping different Servers in Sync regarding the location database Get notified, when a user registers: A presence-server, which handles offline message storage for an account, would get notified, when the user comes online. kamailio.org
Yasin CANER
From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Pali Rohár pali.rohar@gmail.com Sent: Wednesday, July 10, 2019 9:29 PM To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] kamailio 4.4.4 fills IPv6 contact address when sending packet over IPv4
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@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@0:0:0:0:0:0:0:0 CSeq: 2 NOTIFY Content-Length: 0
Are you sure Linphone is not setting it? Get a trace from client side, for some reason I’ve my doubts kamailio is defaulting to an ipv6 address.
On Thu, Jul 11, 2019 at 11:42 PM Pali Rohár pali.rohar@gmail.com wrote:
Hi!
I have not set pua_reginfo parameter. Should I set it? And if yes to which value? There should be at least settings for packets outgoing via IPv4 and another setting for packets outgoing via IPv6.
On Thursday 11 July 2019 06:46:35 YASIN CANER wrote:
Hello,
did you try to set parameter server address?
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
pua_reginfo Module - kamailio.org<
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
Keeping different Servers in Sync regarding the location database Get
notified, when a user registers: A presence-server, which handles offline message storage for an account, would get notified, when the user comes online.
kamailio.org
Yasin CANER
From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Pali
Rohár pali.rohar@gmail.com
Sent: Wednesday, July 10, 2019 9:29 PM To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] kamailio 4.4.4 fills IPv6 contact address when
sending packet over IPv4
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@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@0:0:0:0:0:0:0:0 CSeq: 2 NOTIFY Content-Length: 0
-- Pali Rohár pali.rohar@gmail.com
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
My SIP client (really desktop linphone) sets IPv4 Contact address of my internet connection. I looked at it.
And those packets are between my SIP server and remote sip.linphone.org server. I have nothing with sip.linphone.org server. Really kamailio 4.4 sets IPv6 Contact address in that header for outgoing NOTIFY packets. And it does *not* happen for INVITE or MESSAGE packets. Only for NOTIFY.
I really do not know why, therefore I'm asking.
On Thursday 11 July 2019 23:46:40 Brandon Armstead wrote:
Are you sure Linphone is not setting it? Get a trace from client side, for some reason I’ve my doubts kamailio is defaulting to an ipv6 address.
On Thu, Jul 11, 2019 at 11:42 PM Pali Rohár pali.rohar@gmail.com wrote:
Hi!
I have not set pua_reginfo parameter. Should I set it? And if yes to which value? There should be at least settings for packets outgoing via IPv4 and another setting for packets outgoing via IPv6.
On Thursday 11 July 2019 06:46:35 YASIN CANER wrote:
Hello,
did you try to set parameter server address?
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
pua_reginfo Module - kamailio.org<
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
Keeping different Servers in Sync regarding the location database Get
notified, when a user registers: A presence-server, which handles offline message storage for an account, would get notified, when the user comes online.
kamailio.org
Yasin CANER
From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Pali
Rohár pali.rohar@gmail.com
Sent: Wednesday, July 10, 2019 9:29 PM To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] kamailio 4.4.4 fills IPv6 contact address when
sending packet over IPv4
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@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@0:0:0:0:0:0:0:0 CSeq: 2 NOTIFY Content-Length: 0
-- Pali Rohár pali.rohar@gmail.com
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
So what affects content of the Contact header in NOTIFY packets? Is there any special option for it? And why is NOTIFY packets handled differently as other packets?
On Friday 12 July 2019 10:00:57 Pali Rohár wrote:
My SIP client (really desktop linphone) sets IPv4 Contact address of my internet connection. I looked at it.
And those packets are between my SIP server and remote sip.linphone.org server. I have nothing with sip.linphone.org server. Really kamailio 4.4 sets IPv6 Contact address in that header for outgoing NOTIFY packets. And it does *not* happen for INVITE or MESSAGE packets. Only for NOTIFY.
I really do not know why, therefore I'm asking.
On Thursday 11 July 2019 23:46:40 Brandon Armstead wrote:
Are you sure Linphone is not setting it? Get a trace from client side, for some reason I’ve my doubts kamailio is defaulting to an ipv6 address.
On Thu, Jul 11, 2019 at 11:42 PM Pali Rohár pali.rohar@gmail.com wrote:
Hi!
I have not set pua_reginfo parameter. Should I set it? And if yes to which value? There should be at least settings for packets outgoing via IPv4 and another setting for packets outgoing via IPv6.
On Thursday 11 July 2019 06:46:35 YASIN CANER wrote:
Hello,
did you try to set parameter server address?
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
pua_reginfo Module - kamailio.org<
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
Keeping different Servers in Sync regarding the location database Get
notified, when a user registers: A presence-server, which handles offline message storage for an account, would get notified, when the user comes online.
kamailio.org
Yasin CANER
From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Pali
Rohár pali.rohar@gmail.com
Sent: Wednesday, July 10, 2019 9:29 PM To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] kamailio 4.4.4 fills IPv6 contact address when
sending packet over IPv4
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@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@0:0:0:0:0:0:0:0 CSeq: 2 NOTIFY Content-Length: 0
-- Pali Rohár pali.rohar@gmail.com
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hello Pali,
this is hard to say without more details. Unfortunately Kamailio 4.4 is already end of life. I would suggest that you try your cfg with a newer 5.2 version (you can find debian and other OS repositories with updated packages on www.kamailio.org).
Cheers,
Henning
Am 18.07.19 um 10:57 schrieb Pali Rohár:
So what affects content of the Contact header in NOTIFY packets? Is there any special option for it? And why is NOTIFY packets handled differently as other packets?
On Friday 12 July 2019 10:00:57 Pali Rohár wrote:
My SIP client (really desktop linphone) sets IPv4 Contact address of my internet connection. I looked at it.
And those packets are between my SIP server and remote sip.linphone.org server. I have nothing with sip.linphone.org server. Really kamailio 4.4 sets IPv6 Contact address in that header for outgoing NOTIFY packets. And it does *not* happen for INVITE or MESSAGE packets. Only for NOTIFY.
I really do not know why, therefore I'm asking.
On Thursday 11 July 2019 23:46:40 Brandon Armstead wrote:
Are you sure Linphone is not setting it? Get a trace from client side, for some reason I’ve my doubts kamailio is defaulting to an ipv6 address.
On Thu, Jul 11, 2019 at 11:42 PM Pali Rohár pali.rohar@gmail.com wrote:
Hi!
I have not set pua_reginfo parameter. Should I set it? And if yes to which value? There should be at least settings for packets outgoing via IPv4 and another setting for packets outgoing via IPv6.
On Thursday 11 July 2019 06:46:35 YASIN CANER wrote:
Hello,
did you try to set parameter server address?
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
pua_reginfo Module - kamailio.org<
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
Keeping different Servers in Sync regarding the location database Get
notified, when a user registers: A presence-server, which handles offline message storage for an account, would get notified, when the user comes online.
kamailio.org
Yasin CANER
From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Pali
Rohár pali.rohar@gmail.com
Sent: Wednesday, July 10, 2019 9:29 PM To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] kamailio 4.4.4 fills IPv6 contact address when
sending packet over IPv4
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@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@0:0:0:0:0:0:0:0 CSeq: 2 NOTIFY Content-Length: 0
-- Pali Rohár pali.rohar@gmail.com
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Ok, I will try a new version (but I dislike using non-system versions of software) and will let know if something was changed.
On Friday 19 July 2019 07:58:32 Henning Westerholt wrote:
Hello Pali,
this is hard to say without more details. Unfortunately Kamailio 4.4 is already end of life. I would suggest that you try your cfg with a newer 5.2 version (you can find debian and other OS repositories with updated packages on www.kamailio.org).
Cheers,
Henning
Am 18.07.19 um 10:57 schrieb Pali Rohár:
So what affects content of the Contact header in NOTIFY packets? Is there any special option for it? And why is NOTIFY packets handled differently as other packets?
On Friday 12 July 2019 10:00:57 Pali Rohár wrote:
My SIP client (really desktop linphone) sets IPv4 Contact address of my internet connection. I looked at it.
And those packets are between my SIP server and remote sip.linphone.org server. I have nothing with sip.linphone.org server. Really kamailio 4.4 sets IPv6 Contact address in that header for outgoing NOTIFY packets. And it does *not* happen for INVITE or MESSAGE packets. Only for NOTIFY.
I really do not know why, therefore I'm asking.
On Thursday 11 July 2019 23:46:40 Brandon Armstead wrote:
Are you sure Linphone is not setting it? Get a trace from client side, for some reason I’ve my doubts kamailio is defaulting to an ipv6 address.
On Thu, Jul 11, 2019 at 11:42 PM Pali Rohár pali.rohar@gmail.com wrote:
Hi!
I have not set pua_reginfo parameter. Should I set it? And if yes to which value? There should be at least settings for packets outgoing via IPv4 and another setting for packets outgoing via IPv6.
On Thursday 11 July 2019 06:46:35 YASIN CANER wrote:
Hello,
did you try to set parameter server address?
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
pua_reginfo Module - kamailio.org<
http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476...
Keeping different Servers in Sync regarding the location database Get
notified, when a user registers: A presence-server, which handles offline message storage for an account, would get notified, when the user comes online.
kamailio.org
Yasin CANER
From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Pali
Rohár pali.rohar@gmail.com
Sent: Wednesday, July 10, 2019 9:29 PM To: sr-users@lists.kamailio.org Subject: Re: [SR-Users] kamailio 4.4.4 fills IPv6 contact address when
sending packet over IPv4
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@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@0:0:0:0:0:0:0:0 > CSeq: 2 NOTIFY > Content-Length: 0 > >
-- Pali Rohár pali.rohar@gmail.com
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
I upgraded to version 5.2.3 and problem is still there. IPv6 address is present in Contact header in IPv4 packets. The only difference between 5.2.3 and 4.4.4 is that IPv6 address is in square brackets.
On Friday 19 July 2019 10:19:29 Pali Rohár wrote:
Ok, I will try a new version (but I dislike using non-system versions of software) and will let know if something was changed.
On Friday 19 July 2019 07:58:32 Henning Westerholt wrote:
Hello Pali,
this is hard to say without more details. Unfortunately Kamailio 4.4 is already end of life. I would suggest that you try your cfg with a newer 5.2 version (you can find debian and other OS repositories with updated packages on www.kamailio.org).
Cheers,
Henning
Am 18.07.19 um 10:57 schrieb Pali Rohár:
So what affects content of the Contact header in NOTIFY packets? Is there any special option for it? And why is NOTIFY packets handled differently as other packets?
On Friday 12 July 2019 10:00:57 Pali Rohár wrote:
My SIP client (really desktop linphone) sets IPv4 Contact address of my internet connection. I looked at it.
And those packets are between my SIP server and remote sip.linphone.org server. I have nothing with sip.linphone.org server. Really kamailio 4.4 sets IPv6 Contact address in that header for outgoing NOTIFY packets. And it does *not* happen for INVITE or MESSAGE packets. Only for NOTIFY.
I really do not know why, therefore I'm asking.
On Thursday 11 July 2019 23:46:40 Brandon Armstead wrote:
Are you sure Linphone is not setting it? Get a trace from client side, for some reason I’ve my doubts kamailio is defaulting to an ipv6 address.
On Thu, Jul 11, 2019 at 11:42 PM Pali Rohár pali.rohar@gmail.com wrote:
Hi!
I have not set pua_reginfo parameter. Should I set it? And if yes to which value? There should be at least settings for packets outgoing via IPv4 and another setting for packets outgoing via IPv6.
On Thursday 11 July 2019 06:46:35 YASIN CANER wrote: > Hello, > > did you try to set parameter server address? > http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476... > pua_reginfo Module - kamailio.org< http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476... > Keeping different Servers in Sync regarding the location database Get notified, when a user registers: A presence-server, which handles offline message storage for an account, would get notified, when the user comes online. > kamailio.org > > > Yasin CANER > > ________________________________ > From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Pali Rohár pali.rohar@gmail.com > Sent: Wednesday, July 10, 2019 9:29 PM > To: sr-users@lists.kamailio.org > Subject: Re: [SR-Users] kamailio 4.4.4 fills IPv6 contact address when sending packet over IPv4 > 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@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@0:0:0:0:0:0:0:0 >> CSeq: 2 NOTIFY >> Content-Length: 0 >>
>>
Pali Rohár pali.rohar@gmail.com
Kamailio (SER) - Users Mailing List sr-users@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Hello Pali,
thanks for the update, still a strange problem.. Is the IPv6 address one that Kamailio uses as listen adress or does Kamailio use an address from the earlier sip msg flow with linphone? Can you check the sip messages e.g. with "ngrep -d any -qt -W byline "" port 5060?
Cheers,
Henning
Am 24.07.19 um 00:07 schrieb Pali Rohár:
I upgraded to version 5.2.3 and problem is still there. IPv6 address is present in Contact header in IPv4 packets. The only difference between 5.2.3 and 4.4.4 is that IPv6 address is in square brackets.
On Friday 19 July 2019 10:19:29 Pali Rohár wrote:
Ok, I will try a new version (but I dislike using non-system versions of software) and will let know if something was changed.
On Friday 19 July 2019 07:58:32 Henning Westerholt wrote:
Hello Pali,
this is hard to say without more details. Unfortunately Kamailio 4.4 is already end of life. I would suggest that you try your cfg with a newer 5.2 version (you can find debian and other OS repositories with updated packages on www.kamailio.org).
Cheers,
Henning
Am 18.07.19 um 10:57 schrieb Pali Rohár:
So what affects content of the Contact header in NOTIFY packets? Is there any special option for it? And why is NOTIFY packets handled differently as other packets?
On Friday 12 July 2019 10:00:57 Pali Rohár wrote:
My SIP client (really desktop linphone) sets IPv4 Contact address of my internet connection. I looked at it.
And those packets are between my SIP server and remote sip.linphone.org server. I have nothing with sip.linphone.org server. Really kamailio 4.4 sets IPv6 Contact address in that header for outgoing NOTIFY packets. And it does *not* happen for INVITE or MESSAGE packets. Only for NOTIFY.
I really do not know why, therefore I'm asking.
On Thursday 11 July 2019 23:46:40 Brandon Armstead wrote:
Are you sure Linphone is not setting it? Get a trace from client side, for some reason I’ve my doubts kamailio is defaulting to an ipv6 address.
On Thu, Jul 11, 2019 at 11:42 PM Pali Rohár pali.rohar@gmail.com wrote:
> Hi! > > I have not set pua_reginfo parameter. Should I set it? And if yes to > which value? There should be at least settings for packets outgoing via > IPv4 and another setting for packets outgoing via IPv6. > > On Thursday 11 July 2019 06:46:35 YASIN CANER wrote: >> Hello, >> >> did you try to set parameter server address? >> > http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476... >> pua_reginfo Module - kamailio.org< > http://kamailio.org/docs/modules/5.2.x/modules/pua_reginfo.html#idm103150476... >> Keeping different Servers in Sync regarding the location database Get > notified, when a user registers: A presence-server, which handles offline > message storage for an account, would get notified, when the user comes > online. >> kamailio.org >> >> >> Yasin CANER >> >> ________________________________ >> From: sr-users sr-users-bounces@lists.kamailio.org on behalf of Pali > Rohár pali.rohar@gmail.com >> Sent: Wednesday, July 10, 2019 9:29 PM >> To: sr-users@lists.kamailio.org >> Subject: Re: [SR-Users] kamailio 4.4.4 fills IPv6 contact address when > sending packet over IPv4 >> 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@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@0:0:0:0:0:0:0:0 >>> CSeq: 2 NOTIFY >>> Content-Length: 0 >>> >>> > -- > Pali Rohár > pali.rohar@gmail.com > > _______________________________________________ > Kamailio (SER) - Users Mailing List > sr-users@lists.kamailio.org > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >