Showing results for 
Search instead for 
Did you mean: 


Trying to configure/understand early media


I'm trying to understand/configure early media for 15.0(1)M4. From what I understand so far it is media which is played to the caller before a (SIP) session is established. In our situation we need to play a certain audio file when someone calls a particular phone number.

What I do not understand is how and where I need to configure this audio file which needs to be played? Is it something I have to configure in our Cisco 3925 or do I need to tell our SIP provider to do the early media for us?

Any help would be useful.


paolo bevilacqua
Hall of Fame Master

How you play an audio file to a caller depends on the specifics of the system you got, and that you haven't mentioned (saying have a router is not enough). There are different ways to do that.

Note it has nothing to do with early media, and is normally not done by your ITSP.

We are currently focused on developing VoiceXML applications which reside on our router. One of the VoiceXML applications plays an audio file and then transfers the caller to another destination. This audio file plays "This call costs x cents per minute". From what I understood this should be played before the connection is established between the caller and the VoiceXML application, so that the caller is not billed during the playing of the file.

Your script is responsible to do that using the events and the commands available in TCL/IVR.

It is also responsible to complete the connection at a certain , thereby billing to the caller.

Alright, thank you.

Is there an alternative way to accomplish this? I'm just trying to find the options we have, before I decide to go the TCL way.

There can be more ways but one would have to know many more details  about the specifics requirements and budget of your project.

What is early media actually used for, since I'm hearing different things from different sources? Some say it's used to establish a media path prior to the connection between the caller and called being established. When I read this I thought of this is exactly what we need, but I hear from you early media has nothing to do with this.

It may have to do with it. In you first posts you did not specified that the announcement has to be played before connect, from that my answer.

Ah my bad. Yes, an announcement must be played before connect.

Below a part of my tcl script. Is this the correct way to achieve the early media? I've attached the debug ccsip all to the original post.

proc act_Setup { } {

     puts "Received an incoming call"

    leg setupack leg_incoming

    leg proceeding leg_incoming

    leg progress leg_incoming

    puts "Playing media"

     media play leg_incoming flash:cost.wav

     leg connect leg_incoming


Early offer/early media are very confusing, and may or may not apply to this situation, but here is some explanation from the SRND - follow the link to read the whole chapter, it has some good discussion you don't find many other places:

Early Media

In certain circumstances, a SIP session might require that a media path  be set up prior to the finalization of the media capabilities exchange  between the two SIP endpoints. To this end, the SIP protocol allows the  establishment of Early Media after the initial Offer has been received  by an endpoint. Some reasons for using Early Media include:

The  called device might want to establish an Early Media RTP path to reduce  the effects of audio cut-through delay (clipping) for calls  experiencing long signaling delays or to provide a network-based voice  message to the caller.

The  calling device might want to establish an Early Media RTP path to  access a DTMF or voice-driven interactive voice response (IVR) system.

Unified CM supports Early Media for both Early Offer and Delayed Offer calls.

For a SIP trunk to support Early Media cut-through, you must enable PRACK through the SIP Rel1XX Options feature in the SIP Profile associate with the trunk.

Note The terms Early Offer and Early Media are often confused, but they are not the same.

Mary Beth


Sorry for my late reply. I've been busy with some other things.

I've managed to build a tcl script which plays an announcement before the call is actually connected.

Could someone please inspect the debug ccsip messages file which I've added to the original post to confirm this is really early media?




From the debugs you sent, I can see confirm media is advertised in a provisional message and accepted.  We'd need more detailed debugs to know if this actually resulted in the file being streamed as early media, but in theory, it is working.


I have a similar requirement.  Is it possible for you to share this script?


 - Jonathan

Content for Community-Ad