When an IMS-ALG supporting OMR allocates a TrGW during forwarding of the SDP offer for proactive transcoding with resource reservation, if subsequent IMS-ALGs do not replace the transcoder and the answering side signals in the SDP answer that transcoding is required, then the IMS-ALG retains the TrGW for transcoding and anchors it in the user plane path. The call flow is the same as the usual call flow for TrGW insertion except for the addition of some SDP extension information to the SDP messages.
Figure Q.5 applies when IMS-ALG1 allocates a TrGW during forwarding of the SDP offer for proactive transcoding with resource reservation, IMS-ALG1 is the last signalling entity on the path before UA2, and UA2 signals in the SDP answer that transcoding is not required. UA2 ignores unrecognized OMR extension attributes.
A second SDP offer/answer transaction is required to remove the transcoder from the path.
As an alternative to the procedure shown, the IMS-ALG1 may forward connection information for a prior user plane segment without transcoding options while including an IP realm instance for the transcoding TrGW. This alternative avoids a second SDP offer/answer transaction if transcoding is not required, but does include a second SDP offer/answer transaction if transcoding is required.
Step 1.
IMS-ALG1 receives an SDP offer from realm R1. The SDP offer can include IP realm instances Rx associated with prior user plane segments and can include a visited realm instance for incoming realm R1. The realm instances in this and other messages in the Figure are shown in italics to indicate their optionality. For example, an SDP offer from a UE will contain no realm instances. If realm instances are included in the received SDP offer, the IMS-ALG1 (and subsequent IMS-ALGs) verify that intermediate signalling entities have not modified the SDP.
Step 2.
IMS-ALG1 allocates TrGW1 to offer transcoding options to UA2.
Step 3.
IMS-ALG1 forwards connection information for TrGW1 in the SDP offer along with prior IP realm instance information Rx and visited realm instances for both its incoming and outgoing user plane segments. IMS-ALG1 creates a new visited realm instance for the incoming realm if it was not present in the received SDP offer. The visited realm instance for the outgoing side includes information about the codec changes associated with TrGW1.
Step 4.
UA2 selects one of the original codecs, i.e. transcoding is not needed. In response to the SDP offer, UA2 sends an SDP answer to IMS-ALG1 with connection information for its address in realm R1.
Step 5.
IMS-ALG1 determines that the transcoder is not needed and forwards a second SDP offer to UA2 with connection information from a prior realm. This SDP offer includes those IP realm instances that remain options without transcoding.
Step 6.
UA2 updates its remote connection information and responds with a new SDP answer.
Step 7.
IMS-ALG1 de-allocates TrGW1.
Step 8.
IMS-ALG1 forwards the SDP answer with connection information for UA2 in realm R1.
Step 9.
A user plane connection is now established in realm R1 without use of any TrGWs.
Figure Q.6 applies when IMS-ALG1 allocates a TrGW during forwarding of the SDP offer for proactive transcoding with resource reservation, another IMS-ALG (IMS-ALG2) is the last signalling entity on the path before UA2, IMS-ALG2 must allocate a TrGW to provide NAT, and UA2 signals in the SDP answer that transcoding is not required. There may be additional IMS-ALGs between IMS-ALG1 and IMS-ALG2.
This scenario avoids the need for a second SDP offer/answer transaction as required in
clause Q.2.5.3 and
clause Q.2.5.5. IMS-ALG2 signals to IMS-ALG1 in the SDP answer to bypass the transcoder.
Step 1.
IMS-ALG1 receives an SDP offer from realm R1. The SDP offer can include IP realm instances Rx associated with prior user plane segments and can include a visited realm instance for incoming realm R1.
Step 2.
IMS-ALG1 allocates TrGW1 to offer transcoding options to UA2.
Step 3.
IMS-ALG1 forwards connection information for TrGW1 in the SDP offer along with prior IP realm instance information Rx and visited realm instances for both its incoming and outgoing user plane segments. The visited realm instance for the outgoing side includes information about the codec changes associated with TrGW1.
Step 4.
IMS-ALG2 allocates TrGW2 to provide a NAT between R1 and R2.
Step 5.
IMS-ALG2 forwards the SDP offer with connection information for TrGW2 in realm R2 along with IP realm instances for prior user plane segments.
Step 6.
UA2 selects one of the original codecs, i.e. transcoding is not needed. In response to the SDP offer, UA2 sends an SDP answer to IMS-ALG2 with connection information for its address in realm R2.
Step 7.
IMS-ALG2 determines that transcoding is not necessary.
Step 8.
IMS-ALG2 forwards the SDP answer to IMS-ALG1 after including an IP realm instance for the TrGW2 address in realm R1. The connection information in the forwarded SDP answer cannot be used by the receiving IMS-ALG to establish this segment of the media path.
Step 9.
IMS-ALG1 de-allocates transcoder TrGW1 since there is no valid connection information available in the SDP answer.
Step 10.
IMS-ALG1 forwards the SDP answer after modifying the connection information to correspond to the IP address of the TrGW2 in realm R1.
Step 11.
A user plane connection is now established with one segment in realm R1 and a second segment in realm R2, mediated by TrGW2.
Figure Q.7 applies when IMS-ALG1 allocates a TrGW during forwarding of the SDP offer for proactive transcoding with resource reservation, another IMS-ALG (IMS-ALG2) is the last signalling entity on the path before UA2, IMS-ALG2 does not need to allocate a TrGW to provide NAT, and UA2 signals in the SDP answer that transcoding is not required. There may be additional IMS-ALGs between IMS-ALG1 and IMS-ALG2.
A second SDP offer/answer transaction is required to remove the transcoder from the path. The scenario allows IMS-ALG2 to initiate the second SDP offer/answer transaction rather than requiring IMS-ALG1 to do this, thus saving some messaging.
As an alternative to the procedure shown, the IMS-ALG1 may forward connection information for a prior user plane segment without transcoding options while including an IP realm instance for the transcoding TrGW. This alternative avoids a second SDP offer/answer transaction if transcoding is not required, but does include a second SDP offer/answer transaction if transcoding is required.
Step 1.
IMS-ALG1 receives an SDP offer from realm R1. The SDP offer can include IP realm instances Rx associated with prior user plane segments and can include a visited realm instance for incoming realm R1.
Step 2.
IMS-ALG1 allocates TrGW1 to offer transcoding options to UA2.
Step 3.
IMS-ALG1 forwards connection information for TrGW1 in the SDP offer along with prior IP realm instance information Rx and visited realm instances for both its incoming and outgoing user plane segments. The visited realm instance for the outgoing side includes information about the codec changes associated with TrGW1.
Step 4.
IMS-ALG2 does not allocate a TrGW since its incoming and outgoing realms are compatible.
Step 5.
IMS-ALG2 forwards the SDP offer with no changes.
Step 6.
UA2 selects one of the original codecs, i.e. transcoding is not needed. In response to the SDP offer, UA2 sends an SDP answer to IMS-ALG2 with connection information for its address in realm R1.
Step 7.
IMS-ALG2 determines that transcoding is not necessary and sends a second SDP offer with the connection information from the visited realm instance for a prior user plane segment. This SDP offer includes those IP realm instances that remain options without transcoding.
Step 8.
UA2 updates its remote connection information and responds with a new SDP answer.
Step 9.
IMS-ALG2 determines that the prior transcoder is to be bypassed.
Step 10.
IMS-ALG2 forwards the SDP answer to IMS-ALG1 after including an IP realm instance for the UA2 address in realm R1. The connection information in the forwarded SDP answer cannot be used by the receiving IMS-ALG to establish this segment of the media path.
Step 11.
IMS-ALG1 de-allocates transcoder TrGW1 since there is no valid connection information available in the SDP answer.
Step 12.
IMS-ALG1 forwards the SDP answer after modifying the connection information to correspond to the IP address of UA2 in realm R1.
Step 13.
A user plane connection is now established in realm R1.
Figure Q.8 applies when IMS-ALG1 allocates a TrGW during forwarding of the SDP offer for proactive transcoding with resource reservation, and a later IMS-ALG (IMS-ALG2) chooses to bypass the transcoding offered by IMS-ALG1 and optionally offer its own transcoding options. There may be additional IMS-ALGs between IMS-ALG1 and IMS-ALG2.
The flow assumes that TrGW2 must remain to providing transcoding or NAT. The call flow variant if TrGW2 is not needed can be derived by combining this flow with one of the other transcoding flows.
An IMS-ALG may remove codec options, or re-instate codec options removed by a previous IMS-ALG by bypassing that IMS-ALG's TrGW if allocated. The call flow continues to apply except that TrGW allocation is optional.
Step 1.
IMS-ALG1 receives an SDP offer from realm R1. The SDP offer can include IP realm instances Rx associated with prior user plane segments and can include a visited realm instance for incoming realm R1.
Step 2.
IMS-ALG1 allocates TrGW1 to offer transcoding options to UA2.
Step 3.
IMS-ALG1 forwards connection information for TrGW1 in the SDP offer along with prior IP realm instance information Rx and visited realm instances for both its incoming and outgoing user plane segments. The visited realm instance for the outgoing side includes information about the codec changes associated with TrGW1.
Step 4.
IMS-ALG2 bypasses the prior transcoder and allocates TrGW2 to provide alternate transcoding options to UA2.
Step 5.
IMS-ALG2 forwards the SDP offer with connection information for TrGW2 in realm R2 along with IP realm instances associated with all user plane segments. The forwarded SDP offer includes information about all potential transcoders so that a subsequent entity has the option to choose the earlier one if appropriate.
Step 6.
IMS-ALG2 receives an SDP answer with connection information for a valid address in realm R2.
Step 7.
IMS-ALG2 forwards the SDP answer to IMS-ALG1 after including an IP realm instance for the TrGW2 address in realm R1. The connection information in the forwarded SDP answer cannot be used by the receiving IMS-ALG to establish this segment of the media path.
Step 8.
IMS-ALG1 de-allocates transcoder TrGW1 since there is no valid connection information available in the SDP answer.
Step 9.
IMS-ALG1 forwards the SDP answer after modifying the connection information to correspond to the IP address of the TrGW2 in realm R1.
Step 10.
A user plane connection is now established with one segment in realm R1 and a second segment in realm R2, mediated by TrGW2.
An IMS-ALG performing proactive transcoding without resource reservation provides an indication in the forwarded SDP that an address is unavailable if transcoding is selected. Subsequent IMS-ALGs can replace this transcoder when forwarding the SDP offer according to the procedure in
clause Q.2.5.6, but cannot insert a transcoding TrGW on behalf of the IMS-ALG performing proactive transcoding if needed. Thus the procedures in
clause Q.2.5.4 and
clause Q.2.5.5 do not apply. If transcoding is required, the IMS-ALG performs a procedure very similar to
clause Q.2.5.3 to allocate the transcoding TrGW and signal its address to the answering side.
An IMS-ALG performing reactive transcoding follows all OMR procedures when forwarding the initial SDP offer but does not allocate a transcoder. If the initial SDP offer is rejected due to lack of support for an offered codec, the IMS-ALG performing reactive transcoding will restart the OMR procedure with the answering side after allocating and anchoring a TrGW with transcoding. The IMS-ALG removes all prior visited realm and secondary realm instances from the SDP offer before forwarding.