Hi,
of course kamailio is listening on IPv4 and IPv6.
Register coming from IPv6 and goes out on IPv4:
REGISTER sip:sip.ggew-net.de SIP/2.0
Via: SIP/2.0/UDP
217.113.176.155;branch=z9hG4bK98fc.314c428d232717f129932376c83e2c02.0
Via: SIP/2.0/UDP
[2A05:E2C2:0:401:F40D:E8C5:5D85:2A95]:5060;received=2A05:E2C2:0:401:F40D:E8C5:5D85:2A95;branch=z9hG4bK001755af58b0e811a048bb9f393b8bfe;r
rt=5060
From: "PhonerLite" <sip:4962519448281@sip.ggew-net.de>;tag=4236924539
To: "PhonerLite" <sip:4962519448281@sip.ggew-net.de>
Call-ID: 8080BCAE-58B0-E811-A046-BB9F393B8BFE@2A05
:E2C2:0:401:F40D:E8C5:5D85:2A95
CSeq: 1 REGISTER
Contact: <sip:4962519448281@
[2A05:E2C2:0:401:F40D:E8C5:5D85:2A95]:5060>;+sip.instance="<urn:uuid:00E0F96C-5BAF-E811-A877-86B14B4F5249>"
Allow: INVITE, ACK, BYE, CANCEL, INFO, MESSAGE, NOTIFY, OPTIONS, REFER,
UPDATE, PRACK
Max-Forwards: 69
Allow-Events: org.3gpp.nwinitdereg
User-Agent: SIPPER for PhonerLite
Supported: replaces, from-change, gruu
Expires: 900
Content-Length: 0
P-hint: outbound
Answer on IPv4:
SIP/2.0 401 Unauthorized
Call-ID: 8080BCAE-58B0-E811-A046-BB9F393B8BFE@2A05
:E2C2:0:401:F40D:E8C5:5D85:2A95
CSeq: 1 REGISTER
From: "PhonerLite" <sip:4962519448281@sip.ggew-net.de>;tag=4236924539
Server: Cirpack/v4.76 (gw_sip)
To: "PhonerLite" <sip:4962519448281@sip.ggew-net.de
;tag=00-07683-7956ba80-5065f1a44
Via:
SIP/2.0/UDP
217.113.176.155;received=217.113.176.155;rport=5060;branch=z9hG4bK98fc.314c428d232717f129932376c83e2c02.0
WWW-Authenticate: Digest realm="sip.ggew-net.de
",nonce="7956b03f7acf80ba100f00e723284f58",opaque="7950c9065c0c955",stale=false,algorithm=MD5
Content-Length: 0
The same answer on th IPv6 side after kamailio without something special:
SIP/2.0 401 Unauthorized
Call-ID: 8080BCAE-58B0-E811-A046-BB9F393B8BFE@2A05
:E2C2:0:401:F40D:E8C5:5D85:2A95
CSeq: 1 REGISTER
From: "PhonerLite" <sip:4962519448281@sip.ggew-net.de>;tag=4236924539
Server: Cirpack/v4.76 (gw_sip)
To: "PhonerLite" <sip:4962519448281@sip.ggew-net.de
;tag=00-07683-7956ba80-5065f1a44
WWW-Authenticate: Digest realm="sip.ggew-net.de
",nonce="7956b03f7acf80ba100f00e723284f58",opaque="7950c9065c0c955",stale=false,algorithm=MD5
Content-Length: 0
It contains no Via header!!!
If I add my append_hf()
append_hf("Via: SIP/2.0/UDP
[2a05:e2c1:2::111];branch=$sel(via[1].branch);rport=5060\r\n", "To");
msg_apply_changes();
I get:
SIP/2.0 401 Unauthorized
Call-ID: 8080BCAE-58B0-E811-A046-BB9F393B8BFE@2A05
:E2C2:0:401:F40D:E8C5:5D85:2A95
CSeq: 1 REGISTER
From: "PhonerLite" <sip:4962519448281@sip.ggew-net.de>;tag=4236924539
Server: Cirpack/v4.76 (gw_sip)
To: "PhonerLite" <sip:4962519448281@sip.ggew-net.de
;tag=00-07683-7956ba80-5065f1a44
Via:
SIP/2.0/UDP
217.113.176.155;received=217.113.176.155;rport=5060;branch=z9hG4bK98fc.314c428d232717f129932376c83e2c02.0
WWW-Authenticate: Digest realm="sip.ggew-net.de
",nonce="7956b03f7acf80ba100f00e723284f58",opaque="7950c9065c0c955",stale=false,algorithm=MD5
Content-Length: 0
With the original Via header !!!
If I add a second Via with append_hf()
append_hf("Via: SIP/2.0/UDP
[2a05:e2c2:0:401:3002:AA:754A:F475]:5060;rport\r\n", "To");
append_hf("Via: SIP/2.0/UDP
[2a05:e2c1:2::111];branch=$sel(via[1].branch);rport=5060\r\n", "To");
msg_apply_changes();
I can see this additional line in the IPv6 packet too.
SIP/2.0 401 Unauthorized
Call-ID: 0038C332-5AB0-E811-ABC9-80F5AA6CB72C@2A05
:E2C2:0:401:F40D:E8C5:5D85:2A95
CSeq: 1 REGISTER
From: "PhonerLite" <sip:4962519448281@sip.ggew-net.de>;tag=2618219059
Server: Cirpack/v4.76 (gw_sip)
To: "PhonerLite" <sip:4962519448281@sip.ggew-net.de
;tag=00-07871-795b4386-0dc31d606
Via:
SIP/2.0/UDP
[2a05:e2c1:2::111];branch=z9hG4bK0ce8.b94e5d3389049004487a8551ac2c8c41.0;rport=5060
Via: SIP/2.0/UDP
217.113.176.155;received=217.113.176.155;rport=5060;branch=z9hG4bK0ce8.b94e5d3389049004487a8551ac2c8c41.0
WWW-Authenticate: Digest realm="sip.ggew-net.de
",nonce="795b3345266c3dd57a52e3237f4276dd",opaque="7950c9065c0c955",stale=false,algorithm=MD5
Content-Length: 0
But since I don't have the right branch, PhonerLite starts a new
registration instead of reregister with username password.
Best regards