Skip to content

IMS Call Failure When Dialing with “+” Prefix #654

@Shah-Nj

Description

@Shah-Nj

Environment
Core: Open5GS IMS lab
SIP Proxy: Kamailio (suspected)
HSS/UDM: PyHSS
UE: iPhone (SIP/VoLTE test client)
Network ranges:
UE SIP: 10.45.0.2 / 10.45.0.3
server ip is 192.168.159.116

Image

When initiating a call from iPhone contacts, the dialed number is automatically converted into E.164 format with a “+” prefix (e.g. +33700000001).

This causes call routing failure in the IMS lab.

INVITE 33700000002@ims.mnc001.mc → +33700000001 ❌ REJECTED
INVITE 33700000002@ims.mnc001.mc → 33700000001;phone-context=... ✔ COMPLETED

Actual Behavior
INVITE with +33700000001 is rejected / not routed correctly
INVITE with phone-context or without + succeeds
PyHSS does not appear to normalize or match +E.164 format
Subscriber is treated as “not available” when + is present

Expected Behavior
IMS core should correctly normalize or route:
+33700000001
33700000001
tel:+33700000001;phone-context=...

All should resolve to the same IMS public identity.

🔍 Suspected Root Cause

Likely one (or more) of the following:

  1. Kamailio routing issue
    No normalization from +E.164 → IMS URI format
    Missing or misconfigured:
    userloc
    pvar transformations
    uac_replace_from
    dialplan rules

  2. IMS identity mismatch

PyHSS subscriber stored as:

33700000001@ims.mnc001.mc

But INVITE arrives as:

sip:+33700000001@ims.mnc001.mc
No alias mapping for +E.164
3. Missing TEL URI handling

No support for:

tel:+33...
sip:+33...

🧪 Notes
Adding + manually in SIP INVITE does not resolve routing in PyHSS
iPhone automatically prepends + based on contact format (normal iOS behavior)
PCAP attached for full SIP trace analysis
📎 Attachments
SIP PCAP capture (included)
Call flow logs (optional)

test_pcap.zip

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions