I am working with v5.0.3 and the IMS extensions.
When I attempt to send a SIP MESSAGE from the application server towards the
UE, the I-CSCF used to determine the S-CSCF for the subscriber by sending a
Location-Info request to the HSS. I found that this request was failing
because the IMPU (IMS Public User Identity) was being mangled by the I-CSCF,
prefixing the user part with a + symbol.
The example configuration file for the I-CSCF does in-fact does cause the
r-uri to be prefixed with a + symbol if one is not already present. I'm
wondering why since it breaks the LIR/LIA lookup.
AS I-CSCF HSS
| MESSAGE | |
| ---------------------> | |
| sip:ron@provider1.test | |
| | |
| | |
| | LIR |
| | ----------------------> |
| | sip:+ron@provider1.test |
| | |
| | |
| | DIAMETER_UNKNOWN_USER |
| | <---------------------- |
| | |
| | |
| 403 | |
| <--------------------- | |
| FORBIDDEN | |
route{
#!ifdef WITH_DEBUG
xlog("I-CSCF
>>>>>>>>>>>>>>>>>>>> $rm $ru
($fu => $tu ($si:$sp) to $tu,
$ci)\n");
#!endif
if !($rU =~ "\+.*") {
prefix("+");
}
...
Thanks,
Ron
Show replies by date