Daniel,
Actually, the HSS is not returning the uri with the +. There are no users int the HSS database with a public ID with a + so the HSS returns the USER_UNKNOWN.
Looking at the PCAP, the I-CSCF sends a diameter msg to the HSS asking for the verification the public ID of:
Public-Identity:
sip:+alice@ims522.irisims.org
The diameter msg from HSS is returning :
AVP: Experimental-Result-Code(298) l=12 f=-M- val=DIAMETER_ERROR_USER_UNKNOWN (5001)
Why do we want the I-CSCF to add a + to all URI’s don’t start with a +?
The I-CSCF is the module that is adding the +, assuming that we should be able to included Kamailio.cfg for respective modules, is there a directive or variable that I need to set?
Or do I simply comment out that code?
Thanks,
From: Daniel-Constantin Mierla <miconda@gmail.com>
Sent: Tuesday, June 11, 2019 6:22 AM
To: Kamailio (SER) - Users Mailing List <sr-users@lists.kamailio.org>; Woscek, Martin W. <mwoscek@mitre.org>
Subject: [EXT] Re: [SR-Users] Kamailio 5.2.2 ICSCF changing sip to tel
Hello,
that prefix operation is done only if the r-uri username does not have +. So if you HSS is returning the r-uri with +, then all is ok, no other + is added.
On the other hand, I am not sure what is the error or the issue you try to sort out. The error message is because of the xlog(...) in the config.
Cheers,
Daniel
On 10.06.19 16:17, Woscek, Martin W. wrote:
Hello all,
The HSS is responding with 604 errors when the I-CSCF checks the public identity of the caller. PCAP attached.
It looks like our I-CSCF is modifying the sip uri’s to tel uri’s (e.164-like), referenced attached PCAP:
in_uri=sip:alice@ims522.irisims.org
out_uri=sip:+alice@ims522.irisims.org
syslog output:
Jun 6 16:50:06 imskamailio /usr/local/sbin/kamailio[14066]: ERROR: <script>: $ru => sip:+alice@irisims.org
Looking at the default (out of the box) Kamailio.cfg for I-CSCF the following script snipet is where the modification to our sip URI is happening:
# ------------------------- request routing logic -------------------
# main routing logic
route{
#!ifdef WITH_DEBUG
xlog("I-CSCF >>>>>>>>>>>>>>>>>>>> $rm $ru ($fu => $tu ($si:$sp) to $tu, $ci)\n");
#!endif
if !($rU =~ "\+.*") {
prefix("+");
}
Is there a I-CSCF setting directive we missed?
Or should we simply comment the above?
Any advice is appreciated.
Thanks,
Martin Woscek
_______________________________________________Kamailio (SER) - Users Mailing Listsr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda