NUCLEAR-WAR created an issue (kamailio/kamailio#4291)

Description

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.

Troubleshooting

Reproduction

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.

Debugging Data

log is long, therefor I attached it to the issue along with a PCAP

SIP Traffic

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  
      

Possible Solutions

Additional Information

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.Message ID: <kamailio/kamailio/issues/4291@github.com>