Kamailio is sending wrong P-Associated-URI towards Application Server, when sending 3rd Party Registration:
Kamailio sends:
P-Associated-URI: <sip:0912584710@ims.mnc001.mcc001.3gppnetwork.org, tel:0912584710>, <sip:001010000084710@ims.mnc001.mcc001.3gppnetwork.org>
ABNF for the Header is (see RFC7315 Section 5.1) :
"P‑Associated‑URI" HCOLON [ p‑aso‑uri‑spec ] *( COMMA p‑aso‑uri‑spec )
p-aso-uri-spec =
name‑addr *( SEMI ai‑param )
it looks like an issue in ims_isc module, as other transactions containing this header are not affected.
Using any version of Kamailio in IMS Setup ( e.g like Docker_open5gs) and enable 3rd Party registration in the associated iFC of the IMS User.
fur testing this particular issue any SIP Server could be user, as we need only to capture the 3rdPty Register only.
Start the registration process and capture the 3rdPty registration after a successful registration with the S-CSCF.
also, would it be possible to have multiple occurrence of this header for each IMPU, that will make it easy to use non complex logic to gather the IMPUs of a user from the AS.
log is long, therefor I attached it to the issue along with a PCAP
Session Initiation Protocol (SIP as raw text)
REGISTER sip:mtas.ims.mnc001.mcc001.3gppnetwork.org SIP/2.0
Via: SIP/2.0/UDP 172.22.0.20:6060;branch=z9hG4bK1f1a.2acf13e0000000000000000000000000.0
To: <sip:001010000084710@ims.mnc001.mcc001.3gppnetwork.org>
From: <sip:scscf.ims.mnc001.mcc001.3gppnetwork.org>;tag=577487a47557db6ca47545080fcdadff-3e5eb954
CSeq: 10 REGISTER
Call-ID: 60988901578cff95-50@172.22.0.20
Content-Length: 2374
User-Agent: Kamailio S-CSCF
Event: registration
Max-Forwards: 10
Expires: 600120
Path: <sip:scscf.ims.mnc001.mcc001.3gppnetwork.org;lr>,<sip:term@pcscf.ims.mnc001.mcc001.3gppnetwork.org;lr>
Contact: <sip:scscf.ims.mnc001.mcc001.3gppnetwork.org>
P-Visited-Network-ID: ims.mnc001.mcc001.3gppnetwork.org
P-Access-Network-Info: 3GPP-NR-TDD;utran-cell-id-3gpp=0010100000100066C000
P-Associated-URI: <sip:0912584710@ims.mnc001.mcc001.3gppnetwork.org, tel:0912584710>, <sip:001010000084710@ims.mnc001.mcc001.3gppnetwork.org>
Content-Type: message/sip
REGISTER sip:scscf.ims.mnc001.mcc001.3gppnetwork.org:6060 SIP/2.0
From: <sip:001010000084710@ims.mnc001.mcc001.3gppnetwork.org>;tag=114776405
To: <sip:001010000084710@ims.mnc001.mcc001.3gppnetwork.org>
CSeq: 114776123 REGISTER
Call-ID: 114776122_989640048@192.168.101.3
Via: SIP/2.0/UDP 172.22.0.19:4060;branch=z9hG4bKc18d.4d94d35bf6f42b8e538cf9d84cb693d8.0;i=1
Via: SIP/2.0/TCP 172.22.0.21;branch=z9hG4bKc18d.8969a1b752d8220823a5bd82c9199eb9.0;i=7
Via: SIP/2.0/TCP 192.168.101.3:44186;rport=42756;branch=z9hG4bK1511394995
Max-Forwards: 67
[…]Contact: <sip:3259ecc0-e957-4a46-a046-8e9cab307031@192.168.101.3:44186;alias=192.168.101.3~42756~2>;+g.3gpp.accesstype="cellular2";+sip.instance="<urn:gsma:imei:86401006-018500-0>";audio;+g.3gpp.nw-init-ussi;+g.3gpp.smsip;video;+g.3g
P-Access-Network-Info: 3GPP-NR-TDD;utran-cell-id-3gpp=0010100000100066C000
Security-Verify: ipsec-3gpp;q=0.1;prot=esp;mod=trans;spi-c=4098;spi-s=4099;port-c=5101;port-s=6101;alg=hmac-sha-1-96;ealg=null
Expires: 600000
Proxy-Require: sec-agree
Allow: INVITE,BYE,CANCEL,ACK,NOTIFY,UPDATE,PRACK,INFO,MESSAGE,OPTIONS
[…]Authorization: Digest username="001010000084710@ims.mnc001.mcc001.3gppnetwork.org",realm="ims.mnc001.mcc001.3gppnetwork.org",uri="sip:ims.mnc001.mcc001.3gppnetwork.org",qop=auth,nonce="ferAjDMunr0os568G1AocOd/sdY+MoAA+PTh/ISdKLo=",nc
User-Agent: Xiaomi_Redmi Note 12 5G_OS2.0.1.0.UMQEUXM
[…]Security-Client: ipsec-3gpp; alg=hmac-md5-96; ealg=des-ede3-cbc; spi-c=4176830254; spi-s=4255578078; port-c=42756; port-s=44186,ipsec-3gpp; alg=hmac-md5-96; ealg=aes-cbc; spi-c=4176830254; spi-s=4255578078; port-c=42756; port-s=44186
Content-Length: 0
Path: <sip:term@pcscf.ims.mnc001.mcc001.3gppnetwork.org;lr>
Supported: path
Require: path
P-Visited-Network-ID: ims.mnc001.mcc001.3gppnetwork.org
kamailio -v
Used in the test :
version: kamailio 6.1.0-dev0 (x86_64/linux) ba1369
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, MEM_JOIN_FREE, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLOCKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_SEND_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: ba1369
compiled on 22:21:16 Mar 18 2025 with gcc 9.4.0
[scscf.log](https://github.com/user-attachments/files/20852988/scscf.log)
[kamailio_wrong_PAU.zip](https://github.com/user-attachments/files/20852989/kamailio_wrong_PAU.zip)
Kamailio runs in Docker, with the following info from the container:
Distributor ID: Ubuntu
Description: Ubuntu 20.04.6 LTS
Release: 20.04
Codename: focal
Linux 2b805b1de581 6.8.0-62-generic #65-Ubuntu SMP PREEMPT_DYNAMIC Mon May 19 17:15:03 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.