Local Media Playback Operation
You configure the Oracle® Enterprise Session Border Controller (E-SBC) to generate media locally, based on configuration and signaling. You configure the triggers and media files you need; the E-SBC monitors signaling traffic for playback triggers. For the most part, operation of the local media playback feature is the same whether configured with or without the SPL options. Differences are provided herein.
The E-SBC allows for playback configurations on a session agent, realm and sip interface. It plays back media to a caller using the configuration 'closest' to that endpoint. The term 'closest' refers to the hierarchy by which the E-SBC selects the playback configuration to use for a given call. The hierarchy the E-SBC uses is session-agent, followed by realm, followed by sip-interface. To complete the notion of 'closest', consider the element's proximity to the end station initiating the call, to which the E-SBC would send the RTP.
For example, if the initiating end station is a session agent that includes a playback configuration, then the E-SBC would use that configuration. But if the endpoint is not a session agent or is a session agent without a playback configuration, the E-SBC would check that endstation's realm, then the sip-interface configurations to identify which, if any, playback trigger and media it would use.
Key operational detail on the RTP stream generated by the E-SBC playback function includes:
- The E-SBC supports local media playback as RTP or SRTP streams over IPv4 and IPv6, using UDP transport and SIP.
- The E-SBC supports local media playback over VLANs.
- The generated RTP stream complies with all relevant RTP standards, including incrementing RTP timestamp and Sequence Number, and specifying a unique SSRC.
- If applicable, the playback RTP stream continues the Payload Type, SSRC, RTP timestamp and Sequence Numbers of the original media stream.
- The E-SBC marks the first packet of the playback with the RTP marker bit.
- The
E-SBC does not create a
playback stream if:
- The initial INVITE or the 180 response includes the “P-Early-Media: inactive” or “P-Early-Media: sendonly” parameter(s).
- The 18x response includes the “P-Early-Media: inactive” or “P-Early-Media: recvonly” parameter(s).
- If playback is operating on a hairpin stream, and the scenario fires multiple playback triggers, the E-SBC plays the stream based on the configuration 'closest' to the destination.
- Once playback is in progress, the E-SBC mutes the session in the playback direction so that only the playback media can be heard.
The E-SBC stops local media playback when:
- It receives the final SIP answer from the callee, or
- If you are using the 180-force or 180-no-sdp configuration, the callee has received a SIP UPDATE with SDP and has relayed it to the caller.
External signaling and other E-SBC configuration that impacts local media playback deployments include:
- The E-SBC disables local media playback when configured to release media.
- If both 2833 generation and playback are configured on a flow, the E-SBC gives precedence to the playback feature, disabling 2833 generation.
-
If you are using the 180-no-sdp configuration, the E-SBC has not received SDP from the callee, and the processed response does not contain SDP, the E-SBC adds SDP:
- The E-SBC chooses the codec based on the offer received, and after application of the ingress and egress codec policy.
- If the E-SBC has not received an offer at that time from caller (delayed offer scenario), the E-SBC disables local media playback.
- When several early dialogs are received from the called party side, the E-SBC starts and stops local media playback based on the “active” early dialog. The active dialog is the last dialog for which the E-SBC received a provisional response.
Example Call Flows
The call flow below shows local media playback injecting RBT. The applicable configuration sets the ingress realm's ringback-trigger to use 180-no-sdp. This scenario triggers only for 180 responses to initial INVITEs, not for re-INVITEs.