I.4 Loopback routeing procedures
24.2293GPPIP multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP)Release 18Stage 3TS
I.4.1 Introduction
In order to support traffics for the roaming architecture for voice over IMS with local breakout the additional routeing functionality will perform the procedures described in this subclause. An additional routeing functionality performing the procedures in this subclause is always located in the visited PLMN and is referred to as Transit and Roaming Function (TRF).
The TRF performs local break out and routes the INVITE request via a specific entity e.g. IBCF or BGCF.
Loopback routeing requires support in the visited network and the home network. If the visited network supports loopback routeing then the P-CSCF will, based on local policy, express this support by adding a g.3gpp.trf feature-capability indicator value to the URI of the desired TRF.
The home network decides based on local operator policy if loopback routeing shall be applied. If loopback routeing is applied, the home network routes the INVITE request back to the TRF located in the visited network indicating that loopback routeing is used by including the g.3gpp.loopback feature-capability indicator in a Feature-Caps header field.
In the loopback scenario OMR as specified in 3GPP TS 29.079 [11D] is used to determine the optimal media path between the visited network and the terminating network without passing through the home network.
I.4.2 TRF procedure
When the TRF receives an initial request for a dialog, the TRF shall:
1) retain the "icid-value" header field parameter in the P-Charging-Vector header field;
2) store the value of the "orig-ioi" header field parameter received in the P-Charging-Vector header field, if present, and remove the "orig-ioi" header field parameter from the P-Charging-Vector header field. Insert a type 2 "orig-ioi" header field parameter into the P-Charging-Vector header field. Set the type 2 "orig-ioi" header field parameter to a value that identifies the sending network in which the TRF resides. The TRF shall not include the "term-ioi" header field parameter. Store the value of a "transit-ioi" header field parameter received in the P-Charging-Vector header field, if present, and remove the "transit-ioi" header field parameter from the P-Charging-Vector header field before forwarding the request;
3) if required by local policy, perform number normalization and enum translation in the same way as performed by S-CSCF in subclause 5.4.3.2 step 10);
4) if the P-Access-Network header field is available, determine the entity for local break out (e.g. IBCF or BGCF) using:
a) the location of the originating user; and
b) the destination address,
then include a Route header field set to the URI associated with the determined entity in the forwarded request;
5) create a Record-Route header field containing the TRF own SIP URI;
6) remove the "+g.3gpp.loopback" header field parameter from the Feature-Caps header field of the outgoing request;
6A) if the TRF supports indicating the traffic leg as specified in RFC 7549 [225] and required by local policy:
a) if the Request-URI in the INVITE request contains a SIP URI, append an "iotl" SIP URI parameter set to "visitedA-homeB" to the Request-URI; and
b) if the Request-URI in the INVITE request contains a tel URI:
– convert the tel URI in the Request-URI to the form of a SIP URI with user=phone; and
– append the "iotl" SIP URI parameter set to "visitedA-homeB" in the Request-URI; and
7) route the request based on SIP routeing procedures.
When the TRF receives a 1xx or 2xx response to the INVITE request above, the TRF shall:
– store the value of the "transit-ioi" header field parameter received in the P-Charging-Vector header field and remove the "transit-ioi" header field parameter from the P-Charging-Vector header field, if present;
– remove the "orig-ioi" header field parameter and the "term-ioi" header field parameter from the P-Charging-Vector header field before forwarding the response; and
NOTE: Any received "term-ioi" header field parameter will be a type 2 IOI identifying the sending network of the response.
– insert in the P-Charging-Vector header field the "orig-ioi" header field parameter, if received in the request, and the type 1 "term-ioi" header field parameter in the response. The TRF shall set the type 1 "term-ioi" header field parameter to a value that identifies the network in which the TRF resides and the type 1 "orig-ioi" header field parameter is set to the previously received value of the type 1 "orig-ioi" header field parameter.
When the TRF receives subsequent requests or responses to subsequent requests containing the "+g.3gpp.loopback" header field parameter from the Feature-Caps header field, the TRF shall remove the "+g.3gpp.loopback" header field parameter from the Feature-Caps header field of the outgoing request or the outgoing response.
When the TRF receives responses to initial or subsequent requests from the terminating side, the TRF shall insert in the P-Charging-Vector header field, if present, the "loopback" header field parameter to the outgoing response.
When the TRF receives subsequent requests from the terminating side, the TRF shall insert in the P-Charging-Vector header field, if present, the "loopback" header field parameter to the outgoing request.
When the TRF receives a subsequent request, the TRF shall:
1) retain the "icid-value" header field parameter in the P-Charging-Vector header field;
2) store the value of the "orig-ioi" header field parameter received in the P-Charging-Vector header field, if present, and remove the "orig-ioi" header field parameter from the P-Charging-Vector header field;
3) if the subsequent request is:
a) received from originating home network and forwarded to terminating home network, insert a type 2 "orig-ioi" header field parameter into the P-Charging-Vector header field, and set the type 2 "orig-ioi" header field parameter to a value that identifies the sending network in which the TRF resides. The TRF shall not include the "term-ioi" header field parameter; or
b) received from terminating home network and forwarded to originating home network, insert a type 1 "orig-ioi" header field parameter into the P-Charging-Vector header field, and set the type 1 "orig-ioi" header field parameter to a value that identifies the sending network in which the TRF resides. The TRF shall not include the "term-ioi" header field parameter; and
4) store the value of a "transit-ioi" header field parameter received in the P-Charging-Vector header field, if present, and remove the "transit-ioi" header field parameter from the P-Charging-Vector header field before forwarding the request.
When the TRF receives a response to a subsequent request, the TRF shall:
1) store the value of the "transit-ioi" header field parameter received in the P-Charging-Vector header field and remove the "transit-ioi" header field parameter from the P-Charging-Vector header field, if present;
2) remove the "orig-ioi" header field parameter and the "term-ioi" header field parameter from the P-Charging-Vector header field before forwarding the response; and
3) if the response to the subsequent request is:
a) received from terminating home network and forwarded to originating home network, insert in the P-Charging-Vector header field the "orig-ioi" header field parameter, if received in the request, and the type 1 "term-ioi" header field parameter in the response. The TRF shall set the type 1 "term-ioi" header field parameter to a value that identifies the network in which the TRF resides and the type 1 "orig-ioi" header field parameter is set to the previously received value of the type 1 "orig-ioi" header field parameter; and
b) received from originating home network and forwarded to terminating home network, insert in the P-Charging-Vector header field the "orig-ioi" header field parameter, if received in the request, and the type 2 "term-ioi" header field parameter in the response. The TRF shall set the type 2 "term-ioi" header field parameter to a value that identifies the network in which the TRF resides and the type 2 "orig-ioi" header field parameter is set to the previously received value of the type 2 "orig-ioi" header field parameter.