IMPORTANT

Ribbon recommends using the Transparency Profile to configure transparency on the SBC Core for new deployments, as well as applying additional transparency configurations to existing deployments. Do not use IP Signaling Profile flags in these scenarios because the flags will be retired in upcoming releases.

Refer to the SBC SIP Transparency Implementation Guide for additional information.


Optimal Media Routing Support


NOTE: This configuration is not supported on ERE and is intended for use only with an external PSX.

Voice over LTE (VoLTE) is a technology for providing existing voice and SMS services over LTE which does not have a circuit-switched domain. It is implemented using IP Multimedia Subsystem (IMS), which is a standard 3GPP technology for IP-based multimedia services. One of the key requirements of the Roaming Architecture for Voice over LTE with Local Breakout (RAVEL) as described in 3GPP TS 23.228, 3GPP TS 24.229, and as proposed in 3GPP TR 23.850, is that the  Interconnection Border Control Function (IBCF) supports Optimal Media Routing (OMR) procedures and allows bypassing the Transition Gateways (TrGWs).

The 3GPP TS 29.079 describes the procedures for optimizing the media path for call within IP Multimedia Subsystem. The purpose of OMR is to identify and remove unnecessary media functions from the media path for each media stream associated with a session. The OMR procedures identify and name the IP address realm used for each media path segment among UAs and TrGWs. An IP realm name is associated with each set of IP endpoints that are mutually reachable through IP routing and without address translation. Endpoints in different IP realms usually require allocation of a TrGW between those IP realms for connectivity and possibly for NAT.

Prior to OMR procedures, the SBC supported direct media between endpoints residing in the same media zone. With the implementation of OMR procedures, the SBC is enhanced to perform media path optimization even when direct media is not possible between end points by allowing intermediate nodes to be bypassed for media anchoring. SBC supports OMR procedures in IBCF and P-CSCF roles.

The SBC supports secondary realm if it is present in the OMR SDP attributes. It does not add secondary-realm while forwarding SDP offer.

When the endpoints in different IP realms are mutually reachable without allocation of a TrGW, then OMR procedures may use provisioned information about such connected IP realms to determine possible optimal media paths through these connected realms. An SBC can be bypassed if:

  • No transcoding is required
  • Protection of a network resource is unnecessary
  • When multiple SBCs are present, the successive SBC in a path is reachable by the previous SBC on the same path through a common IP realm.

The OMR procedure is applied before sending out the offer and re-evaluated based on the answer received in 18x. The re-evaluation of OMR procedure during answer processing is based on certain conditions:

  • Local SBC was in media path while sending offer
  • Egress peer supports SIP UPDATE
  • Pass-through based call outcome on answer received in 18x 

Four possible outcomes exist when applying OMR procedures:

  • Bypass local MR and bypass previous MR
  • Bypass no local MR, and bypass previous MR
  • Bypass local MR (SBC) and bypass no previous MR (SBC)
  • Bypass no local MR and bypass no previous MR (same as normal call without OMR)
Note

The OMR procedures are based on ingress and egress trunk group realms, the realm received in the SDP OMR attributes and the codec policy.

 

The SBC remains in the path (local policy) and disables OMR when any of the following features are active:

  • Multiple M-Lines in SDP
  • Video Only Call
  • LRBT
  • Two Stage Calls

For the following features, "bypass no local MR, and bypass previous MR" is attempted, with no visited-realm sent in egress INVITE.

  • Lawful Intercept
  • SIP Rec
  • Trans-code Only
  • ATCF Call
For ATCF calls, the local SBC always stays in the media path and can only try OMR procedure to bypass the previous MR.

 

OMR Bypass Rules

Four possible bypass rules (outcomes) exist when applying OMR procedures as shown in the table below:

Note
OMR procedures are based on ingress and egress trunk group realms, realm received in the SDP OMR attributes and the codec policy.

OMR Bypass Rules

In general, codecs received in main SDP should survive NRMA's intersection with both route PSPs (augmentation also if applicable).

Rule
Requirements
Bypass Current and Previous Node

Objective: Bypass local media routing (SBC), and bypass previous media routing (SBC)

Preconditions:

  • Egress Realm is present in OMR VR (except in last VR Instance)
  • At least one codec in corresponding OMR PSP is present/allowed by egress Route PSP.

NOTE:

    • Codec attributes (DTMF, ptime, SS) is considered only if “transcode conditional” for that attribute is enabled.
    • Codec attributes are matched for all the codec entries that are present in egress route PSP. For the ones that are not present in egress route, the SBC’s behavior is don’t care* - i.e., neither the basic codec nor their attributes are taken in to account for this scenario.
    • During rule re-evaluation based on answer in 18x, Codec attributes shall not be considered even if "transcode conditional" is enabled.
Bypass Previous Node Only

Objective: Bypass NO local media routing, and bypass previous media routing

Preconditions:

  • Ingress Realm is present in OMR VR (except in last VR Instance)
  • Codecs in corresponding OMR PSP survives the NRMA's intersection with both route PSPs (augmentation also if applicable)
Bypass Current Node Only

Objective: Bypass local media routing, and bypass NO previous media routing – same as the current DM feature that SBC supports

Preconditions:

  • Both Ingress and Egress Realms are identical (or configured connected realms are matching)
  • Maximum VR Instance also matches the realms
  • At least one codec in corresponding OMR PSP is present/allowed by egress Route PSP.

    NOTE:

    • Codec attributes (DTMF, ptime, SS) are considered only if “transcode conditional” for that attribute is enabled.
    • Codec attributes are matched for all codec entries present in egress route PSP. For the ones that are not present in egress route, SBC’s behavior is *don’t care* - i.e., neither the basic codec nor their attributes are taken in to account for this rule.
    • During rule re-evaluation based on answer in 18x, Codec attributes are considered even if "transcode conditional" is enabled.
Bypass Current Node Only

Objective: Bypass NO local media routing, and bypass NO previous media routing – same as normal call without OMR

Preconditions:

  • c=0.0.0.0 is received in OFFER 
  • At least one codec in corresponding OMR PSP is present/allowed by egress Route PSP.

Support for Insertion and Transparency of TRF Attribute as per RAVEL Architecture

The SBC supports Transit and Roaming Function (TRF) and applies TRF procedures defined for a looped back RAVEL call. 

The TRF procedures are listed below.

  1. The SBC as PCSCF uses Roaming Agreement from Router Controller Bundle (RCB). If UE is identified as roaming, the Roaming Agreements flag Support RAVEL, is accessed from RCB.

  2. The SBC as PCSCF adds configured preferred URIs using the following objects.
    1. Preferred_TRF_URI in IPSP in the PSX. If the incoming request is identified as roaming (calling Party), the SBC adds "Feature-Caps" header with configured TRF-URI in "+g.3gpp.trf" parameter value.
    2. Preferred_MRB_URI in IPSP in the PSX. If the incoming request is identified as roaming (calling Party), the SBC adds "Feature-Caps" header with configured MRB-URI in "+g.3gpp.mrb" parameter value.

  3. The SBC as IBCF adds configured preferred URIs using the following objects.

    1. Preferred_TRF_URI in IPSP in the PSX. If the incoming request is identified as roaming (calling Party) and call is originating, the SBC adds "Feature-Caps" header with configured TRF-URI in "+g.3gpp.trf" parameter value. If the received request already contains a "+g.3gpp.trf" parameter field in "Feature-Caps" header, the SBC does not overwrite the header field value with the configured Preferred_TRF_URI value.
    2. Preferred_MRB_URI of type "string" in IPSP in the PSX. If the incoming request is identified as roaming (calling Party) and call is originating, the SBC adds "Feature-Caps" header with configured MRB-URI in "+g.3gpp.trf" parameter value. If the received request already contains a "+g.3gpp.mrb" parameter field in Feature-Caps header, the SBC does not overwrite the header field value with the configured Preferred_MRB_URI value.

  4. The SBC as IBCF/TRF identifies TRF role and Mark Looped-back call. If the SIP INVITE contains "Feature-Caps" header field “+g.3gpp.loopback”, the call is marked as a looped back call. If the top route header points to self, the SBC considers itself as the TRF. As part of TRF Processing, the SBC performs:
    1. The SBC as IBCF/TRF supports to remove loopback from "Feature-Caps". SBC removes “+g.3gpp.loopback" when copying "Feature-Caps" header to egress.
    2. The SBC as IBCF/TRF supports to handle IOI-Parameter (Inter-Operator-ID) in P-Charging Vector.
      1. The SBC stores any orig-IOI parameter received in P-Charging-Vector header.
      2. The SBC uses a type-2 orig-IOI parameter in the P-Charging-Vector header of egress request, which identifies the network that SBC (TRF) belongs to (IOI Configured in Ingress SG).
      3. The SBC stores the term-IOI in P-Charging-Vector and uses a type-2 term-IOI, which identifies the TRF’s network  in the P-Charging-Vector header of the response  generated for corresponding 1xx/2xx responses received.
      4. The SBC removes any transit-IOI parameter from P-Charging-Vector sent in egress request.

  5. The SBC as IBCF to add TRF. SBC checks if "+g.3gpp.trf=<trf_uri>" exists in "Feature-Caps" header. if not, the SBC supports to send bottom "Route Header" in PSX Query to fetch Roaming Agreement. If Roaming Agreement is present and TRF-URI/MRB_URI is configured in egress IPSP (in PSX), SBC is supported to send "+g.3gpp.trf=<trf_uri>"/"+g.3gpp.mrb=<mrb_uri>" in "Feature-Caps" header.

 

Simplified Loop-back Ravel Call Flow with TRF

 

  • No labels