Media injection may be configured on the Acme Packet SBC using the Local Media Playback SPL. An SPL is a plug-in on the SBC based on LUA scripting and each SPL on the SBC enhances its features and capabilities.

The Local Media Playback SPL is included in the base code of eCZ730m2 and later releases.

The following are the playback options and determine when it’s triggered:

  • playback-on-183-to-originator
  • playback-on-183-from-terminator
  • playback-on-refer
  • playback-on-header

Media files must be properly encoded in the expected codec then uploaded to the /code/media folder on the SBC.

The following example shows User A calling User B. The called party (B) responds with 183 Session Progress. Let us assume 183 is causing no ringback (common) and we want to use the SBC to insert the ringback tone. The SBC knows to stop playing media once 200 OK is received and it will proxy media from the endpoints.


Setting up the Playback Configuration

The next step is to enable the spl-config option in the session-agent configuration. It can be applied to multiple session-agents. Another alternative is set the spl-config on a Realm.

The SBC will send MAJOR alarms if there are issues with playback. The following commands show playback statistics and errors.


Acme Packet SBC documentation is publicly available here.

  1. Jakke says:

    Welcome back Mark !!!

  2. Steffen says:

    Hi Mark,
    interesting post. Many thanks.
    I have a interesting use case in this direction. Eventual you could give me some inputs:

    Call Scenario:

    User X on PBX makes an outside Call over the SBC to User B in PSTN

    SBC must check the number of User X and must play an Announcement to User B after he picks up the phone.

    User X are +/- 200 different phone numbers. These must be verified by the SBC.

    What do you think, is this possible ?

    Many thanks

  3. Mark says:

    You can create a single local-policy that uses an LRT file that contains the 200+ numbers where media playback is required. Because playback can be based on realms, session agents, or sip interfaces, you could have the next-hop realm for that local-policy trigger the media playback.

  4. Craig Egan says:

    Hey Mark – I cant get this working to save my life. I switched to playback-on-refer instead of the 183 and then i started to see counters actually increment in the playback fails section of show mbcd errors.

    Looking at the SDP it seems our IVR switches the call to inactive before completing the refer, so i added an HMR to keep this a=sendrecv, but still no dice. I now see counters incrementing for playback flow inactive. I’ve also tried several different media files encoded at different bit rates, but all allegedly G711.

    Any ideas? Or am i going to need to call oracle pro services?

  5. Craig says:

    I eventually did get this working… I also had to manipulate the “c=IN IP4 X.X.X.X” address in the SDP to use the correct steering pool address. Also used audacity to make sure my audio file was encoded properly.

  6. Dewalt says:

    Does anyone have a site where ringback tones can be downloaded?