When a user tries to register with an IMS network, it sends a REGISTER request to its P-CSCF. Since the REGISTER does not contain any Service-Route header (indicating the S-CSCF), the P-CSCF doesn’t know which S-CSCF to forward the message to (which S-CSCF is assigned to the UE). Hence it forwards the REGISTER to the I-CSCF. If the I-CSCF is not pre-configured, it is discovered by performing the a DNS query for the home domain name (identified from request-uri). Figure 1 shows the message exchange.
Once the I-CSCF receives this REGISTER request it queries the HSS (if there are multiple HSSs, then the I-CSCF contacts the SLF to choose the desired HSS) using User-Authorization-Request (UAR) Diameter request.
There are two possibilities at the HSS –
- It can either specify certain pre-assigned S-CSCF by mentioning it in the Server-Name field of User-Authorization-Answer (UAA) diameter response, or
It can specify certain capabilities of potential S-CSCF in the Server-Capabilities field of UAA from which the I-CSCF can choose a S-CSCF for the user.
In the latter case I-CSCF maintains a list of S-CSCFs available in the network along with their capabilities (in some operator specific way, not specified by 3GPP).
Capabilities are certain features that the S-CSCF supports, for example, support for “SIP Digest Authentication”, “Loose-Route “, “Early IMS Security” etc. (refer to 3GPP 23.228 Table 6.7 for the list of capabilities).
HSS exposes the mandatory and optional capabilities (to be supported by the potential S-CSCFs) to the I-CSCF through the UAA message.
The operator assigns an integer to each capability known by the HSS and I-CSCF. Since the mapping of capabilities to integer values is used within the home network alone, this mapping is created in an operator specific manner. In UAA the mandatory and optional capabilities are conveyed as their corresponding integer values.
Once the I-CSCF receives the required capabilities of the potential S-CSCFs, it identifies those S-CSCFs which support all the mandatory and optional capabilities from its list. If none is selected, the I-CSCF applies a best-fit algorithm on the list, to select a S-CSCF which supports all the mandatory capabilities and some of the optional capabilities.
For example, if the HSS specifies “SIP Digest Authentication” as mandatory and “Early IMS Security ” as optional selection criteria for the S-CSCF of the user, the I-CSCF will search for the S-CSCF which supports both of these features. If none is found, the S-CSCF which supports at least the “SIP Digest Authentication” feature will be chosen.
Once the I-CSCF selects the S-CSCF to serve the user, it forwards the REGISTER to the S-CSCF for further processing.
After the S-CSCF successfully authenticates the user, it informs the HSS through Server-Assignment-Request (SAR) and Server-Assignment-Answer (SAA) Diameter messages which user it is serving. Subsequently, the HSS creates a mapping between the user and the S-CSCF. This mapping ensures that the same S-CSCF will be contacted for any incoming call to the user.
In such a case, upon receiving the INVITE, the I-CSCF queries the HSS to discover the assigned S-CSCF for the user through a Location-Info-Request (LIR) Diameter request. The HSS then returns the assigned S-CSCF using the mapping in the answer through Location-Info-Answer (LIA). See figure 2.
Moreover, the S-CSCF specifies itself in the Service-Route of 200 OK of registration. When the user sends any non-REGISTER request (say INVITE), using this Service-Route information contained in the request, the P-CSCF directly forwards it to the S-CSCF (without interacting with the I-CSCF). See figure 3.
Subsequent REGISTER requests (those at registration and de-registration) notably do not contain the Service-Route information. P-CSCFs forward the message to I-CSCF. The I-CSCF gets the assigned S-CSCF from HSS through the UAR and UAA and proceeds with the flow. See figure 4 below
3GPP 23.228 Release 12
3GPP 24.229 Release 12
3GPP 29.228 Release 12
Author Name: Soumalya Kumar De