In this section:
This page provides a brief overview of the various direct Media Call Flows.
Multiple call flows can lead to Direct Media (DM) call processing. However, the three basic forms of DM call flows are explained in this section:
- Basic Direct Media Call
- Direct Media using X-dmi
- Direct Media via Antitrombone
For more information, refer to Configuring Direct Media between Endpoints.
Direct Media Overview
The three types of DM call flows the SBC supports are listed below:
- Pass-Thru (PT) Calls
- The SBC publishes its own media IP address in offer/answer, so that, media flows through the SBC towards the endpoints.
- The SBC uses XRES and BRES Resources for this call-flow.
- Resource chain for pass-through call.
- Transcoded Calls
- The SBC publishes its own media IP address in offer/answer.
- This is when media terminates at the SBC from one endpoint and the SBC transcodes the media using DSP from one type of codec to the other.
- The SBC uses XRES, DRES and BRES resources for this call-flow.
- Resource chain for transcodec calls
- Direct Media (DM) Calls
- The SBC publishes the endpoint IP address to both the endpoints, so that the media flows between the endpoints and not through the SBC.
- The SBC uses XRES and BRES resources for this call-flow; however, there is no bandwidth usage.
Types of Direct Media (DM) Call Flows Supported by the SBC
Basic Direct Media Call
This requires the following configurations:
Ingress:
- At SIP Trunk Group level:
directMediaAllowed
enabled - At Packet Service Profile level:
useDirectMedia
enabled
Egress:
- At SIP Trunk Group level :
directMediaAllowed
enabled - At Packet Service Profile level:
useDirectMedia
enabled
The Direct Media Zone-ID should be the same for ingress and egress zones.
For SIP Direct Media calls, if you enable SIP Trunk Group level flag directMediaAllowed
and the Packet Service Profile level flag useDirectMedia
, the SBC supports a maximum of four media lines in the received INVITE. If the number of media lines exceeds four, the SBC fails to perform due to error conditions.
Direct Media using X-dmi
You must enable the "Send Direct Media Info In Sdp Attribute" flag for
- any IPSP where you expect to include the X-DMI attribute in SDP, regardless if direct media is enabled or disabled, and for
- any trunk that might receive an INVITE from direct-media-enabled trunks.
- X-dmi was introduced to support Direct Media for call flows with SIP Server or an Application server routing the calls.
- X-dmi is a Ribbon-specific header, which contains encrypted SDP attributes.
- In order to support Direct Media for NAPT-ed endpoints, X-dmi was extended to include the following fields:
- z – Direct Media Zone ID
- b – Bit Mask to indicate below information
- p – Signaling IP address of Endpoint
- a – Address Context of the endpoint
The following configurations are needed to support X-dmi calls:
Access Side:
At SIP Trunk Group level
directMediaAllowed
enableddirectMediaAllowedBehindNat
enabled
- At Packet Service Profile level
-
useDirectMedia
enabled
-
Core Side (towards Application Server):
At IPSP level
sendDirectMediaInfoInSdpAttribute
enabled
- At Packet Service Profile level
useDirectMedia
enabled
The following additional configurations are needed to support X-dmi call with NAPT-ed endpoints.
Configuring Direct Media Between Endpoints Behind Same NAT
Access Side:
- At SIP Trunk Group level
- directMediaAllowed enabled
- directMediaAllowedBehindNat enabled
- At Packet Service Profile level
-
useDirectMedia
enabled
-
Core Side (towards Application Server):
- At IPSP level
- sendDirectMediaInfoInSdpAttribute enabled
- At Packet Service Profile level
useDirectMedia
enabled
Configuring Direct Media Between Endpoints Behind the Different NAT
Access Side:
- At SIP Trunk Group level
directMediaAllowed
enableddirectMediaAllowedBehindNat
enabledsdpTransparencyState
disabled
- At Packet Service Profile level
useDirectMedia
enabled
Core Side (towards Application Server):
- At IPSP level
sendDirectMediaInfoInSdpAttribute
enabled
- At Packet Service Profile level
useDirectMedia
enabled
- At Address Context level
- Creating the table
dmNatPrefix
onaddressContext
- Adding the signaling IP Address of NAT Box, which can have direct media among them.
- Creating the table
Figure 1: DM behind different NAT Call flow using XDMI