Checking Kamailio in a VoLTE environment we are finding issues to make it work.
First issues arise when getting AS to extract the required info from third party
registration, primarily IMPUs.
Third party registration is sent to AS with IMPI in To header, preventing the AS from
extracting the IMPU from the most obvious place, the To header, according to 3GPP 24.229:
"Notification of Application Servers about registration status
[...] the To header field, which shall contain a non-barred public user identity belonging
to the service profile of the processed Filter Criteria. It may be either a public user
identity as contained in the REGISTER request received from the UE or one of the
implicitly registered public user identities in the service profile, as configured by the
operator;"
On the other hand, the third party registration can only embed in its body either the
original request or the original response but not both (notice mutually exclusive
"else if" statements in third_party_reg.c). Both are needed to extract
Feature-Caps (from original request) and IMPUs (for instance from P-Associated-URI in
original response).
Therefore to extract that info the AS should subscribe to the reg info in S-CSCF, but such
SUBSCRIBE is rejected with 403. From Registrar IMS SCSCF documenation it looks like this
is not supported:
"This function checks to see that a SUBSCRIBE request is authorised to subscribe to
the particular identity. Only 3 entities can subscribe:
The user agent to its own state
The P-CSCF specified in the path header for that user
Application Server (AS) not yet implemented"
Therefore question to the community is how these limitations are overcome in existing
VoLTE deployments with Kamailio? Any advice?
Show replies by date