We are trying to test private VoLTE setup with real UEs using open5gs EPC , kamailio IMS and application server. We see INVITE request reaching till term-SCSCF with URL (sip:405874000000955@ims.mnc874.mcc405.3gppnetwork.org;user=phone) but it is not forwarding request to application server. SCSCF is trying to fetch IMPU record for application server with tel uri even though it receives SIP uri in INVITE message. Hence fails to reach application server.
Could anyone help us on why 'isc_match_filter()' function is returning tel uri even though it is receiving sip uri in message?
Attaching log and pcap for reference.
#### SCSCF logs
[33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:253]: isc_match_filter(): Starting triggering [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:323]: isc_match_filter(): Checking if ISC is for originating user [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:362]: isc_match_filter(): Checking if ISC is for terminating user [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:372]: isc_match_filter(): ISC is for Term user [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [checker.c:586]: isc_is_registered(): Searching in usrloc [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [checker.c:589]: isc_is_registered(): no record exists for [tel:405874000000955] [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:380]: isc_match_filter(): Term User tel:405874000000955 [0] [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:383]: isc_match_filter(): Checking if RURI has changed...comparing: <> and tel:405874000000955 [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:390]: isc_match_filter(): Resuming triggering [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [checker.c:586]: isc_is_registered(): Searching in usrloc [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [checker.c:589]: isc_is_registered(): no record exists for [tel:405874000000955] [33;1mscscf |[0m [0;39;49m[0;39;49m 3(34) DEBUG: ims_isc [checker.c:431]: isc_checker_find(): isc_checker_find: starting search [33;1mscscf |[0m [0;39;49m[0;31;49m 3(34) ERROR: ims_isc [checker.c:448]: isc_checker_find(): Failure getting IMPU record for [tel:405874000000955] - ISC checker find METHOD: [INVITE]
[open5gs_test67.zip](https://github.com/kamailio/kamailio/files/7979412/open5gs_test67.zip)
Hi, Because Term User is extracted from Request-URI. Just open INVITE msg from the attached pcap file and you will see that RURI is the same as in the log message " tel:405874000000955".
int cscf_get_terminating_user( struct sip_msg * msg, str *uri ) { *uri = cscf_get_public_identity_from_requri(msg);
On Tue, Feb 1, 2022 at 5:12 PM SJ286 notifications@github.com wrote:
We are trying to test private VoLTE setup with real UEs using open5gs EPC , kamailio IMS and application server. We see INVITE request reaching till term-SCSCF with URL (sip:405874000000955@ims.mnc874.mcc405.3gppnetwork.org;user=phone) but it is not forwarding request to application server. SCSCF is trying to fetch IMPU record for application server with tel uri even though it receives SIP uri in INVITE message. Hence fails to reach application server.
Could anyone help us on why 'isc_match_filter()' function is returning tel uri even though it is receiving sip uri in message?
Attaching log and pcap for reference. SCSCF logs
�[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:253]: isc_match_filter(): Starting triggering �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:323]: isc_match_filter(): Checking if ISC is for originating user �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:362]: isc_match_filter(): Checking if ISC is for terminating user �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:372]: isc_match_filter(): ISC is for Term user �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [checker.c:586]: isc_is_registered(): Searching in usrloc �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [checker.c:589]: isc_is_registered(): no record exists for [tel:405874000000955] �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:380]: isc_match_filter(): Term User tel:405874000000955 [0] �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:383]: isc_match_filter(): Checking if RURI has changed...comparing: <> and tel:405874000000955 �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [ims_isc_mod.c:390]: isc_match_filter(): Resuming triggering �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [checker.c:586]: isc_is_registered(): Searching in usrloc �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [checker.c:589]: isc_is_registered(): no record exists for [tel:405874000000955] �[33;1mscscf |�[0m �[0;39;49m�[0;39;49m 3(34) DEBUG: ims_isc [checker.c:431]: isc_checker_find(): isc_checker_find: starting search �[33;1mscscf |�[0m �[0;39;49m�[0;31;49m 3(34) ERROR: ims_isc [checker.c:448]: isc_checker_find(): Failure getting IMPU record for [tel:405874000000955] - ISC checker find METHOD: [INVITE]
open5gs_test67.zip https://github.com/kamailio/kamailio/files/7979412/open5gs_test67.zip
— Reply to this email directly, view it on GitHub https://github.com/kamailio/kamailio/issues/3015, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABO7UZLAPRT2H7RL677EHQDUY7Z2NANCNFSM5NJNKTBQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message ID: kamailio/kamailio/issues/3015@github.com _______________________________________________ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Hi, UE is sending INVITE with tel URI, and this tel URI is converted into SIP before reaching term-SCSCF ("tel2sip" function converts tel uri to sip uri). URI is converted to SIP with "user=phone" parameters appended to it.(coverted URI:-"sip:405874000000955@ims.mnc874.mcc405.3gppnetwork.org;user=phone").
We observed that, kamailio treats user=phone URIs as tel URIs, following is the code snippet ``` /* translate user=phone URIs to TEL URIs */ int phone2tel = 1; ```
sip-router-oob.cfg file has following comment ``` phone2tel=no # ignore user=phone in request-URIs -- otherwise # these URIs would be interpreted as equivalent # to TEL URIs, and their lookup would fail in URI # database ``` We were facing same issue, as it was failing in lookup for application server's information from database. After setting phone2tel=0, issue got resolved. SCSCF used SIP URI for lookup, it could retrieve application server's information and INVITE was sent to application server.
#### We wanted to know that why "user=phone" URIs are treated as tel URIs ? Is there any specific reason for this consideration?
Closed #3015.
This is a discussion for sr-users@lists.kamailio.org mailing list, it is about routing policies in the configuration file, not about an issue in the C code.