Showing results for 
Search instead for 
Did you mean: 

How to play an message before calls to Cisco ip phone with CUCM8.X and CUC 8.X


I want to play an message before calls to cisco ip phone and to learn how to do this?

For example;

Calls come to CUCM  ext: 4040

Aim is play an message to caller before 4040 ring.

Chris Deren
Hall of Fame Master

You can do this with Unity Connection, but you would need to build a call handler for each DN that plays the message and the redirects to the extension.  If you have a lot of these DNs this may not scale well.  In addition you are tying up voicemail port for every call being treated by this message.

Hi Chris,

I configured CTI route point to Voice mail and configure a Call handler number ( same number with the called number in CCM), with custom greeting.

But I still hear standard voicemail greeting instead of custom greeeting.

I call 4040 from PSTN

Write a cti route point to voce mail. 

Create system call handler with 4040 extension  with custom greeting.

Still hear standard greeting.

What would be the missing item that I done??

you need to configure a call routing rule and set the forwarding station to the number of the cti route point. You then send the call to the greeting on the new call handler you created

Please rate all useful posts

I have configured as below;

For example

I use 1908 as extension ( aim is say " your voice is recoded" before call goes  to 1908.

Call comes from PSTN as 3331908 I sent this to Unity connection with ( CTI route point as 3331908).

I wrote a Forwarded Routing Roules as cover 3331908 as sent the call to system call handler (SCH_1908).

Everyting is ok till here.

Then I wrote a transfer rules for send calls to 1908 extension and it is not working. But when I select press 4 for extension 1908 it is working. 

I thnin the "Transfer Rules" not working as configured below and need your help. Thanks.

You can see the screen as below that not working.

So you are sending the call back to extension 1908 where the call came from? Why would you want to do that. If you want to do that you will need to put the extension in different partition. Your gateway will have access to the partition that will send the call to voicemail and then your unity ports will have access to the partition that the call will ring on when you transfer to the extension. You cant have the same number doing the same thing

Please rate all useful posts

Can I play a message for incoming calls prior to the phone ringing??

No, CUCM does not offer this feature. In order to do this, you would have a few options, as they require custom scripting, I will not cover them:

  • TCL script, if you have H.323 or SIP, you can build a TCL script that plays the message, then send the call over to CUCM
  • UCCX / UCCE, just as the TCL script, but you would need to route the calls from CUCM to UCC, play the message, then route back to CUCM
  • CUC, it's possible, but it's far from being manageable, you would need to set the call routing so that external calls go to CUC, you would need to do this for every single DN, as CUC doesn't have the ability to remember numbers for call routing, the call flow would be: PSTN -> GW -> CUCM -> CTI RP 1111 with CFA to VM -> CUC 1111 call handler -> Play message -> Send back call to CUCM DN 1111. This also involves carefully planning CSS and partitions so that only the GW can reach the CTI RP. I would not recommend this.

A working alternative if you have CUCM 9.x+, albeit not something you would do for all your users (very similar to the CUC method), is to use the queuing mechanism from CUCM, user carlnewton from CSC tried my suggestion, and was kind enough to post how he did it:

I did the following:

  1. Hunt list with no members
  2. Hunt pilot on 2802 only accessible by the MGCP gateway
  3. Hunt pilot with queuing enabled, with a MOH source set with an announcement to be played before the call queues
  4. Hunt pilot set to divert all calls to 2802 when no hunt group members logged in on a CSS that can only access the 2802 handset and not the hunt pilot
  5. What happens is the call comes in the gateway, hits the hunt pilot, plays the announcement BEFORE sending to the hunt group. It then tries to route the call, finds the hunt group has no members and so diverts it to the users handset.

Go to CUCM Dial Plan and Call Routing FAQ Content Table

Hi I find the sollution for this purpose;

I will write here  with screens. Thanks for all.

Hello, what is the solution you found?

I accomplished this by building a UCCX script that plays a prompt:



Of course I built the application, and I set the trigger as a non-DID DN.


Then, whenever I want to have this play on incoming calls before it gets to the person, I have a translation pattern that takes the incoming DID number, translates it to the trigger of the UCCX application (8380 in this case) and then gives it a calling party transformation mask of the extension it will be rediected to.  Then back in the script you can see highlighted the "get call contact info" is open and the properties are set to set the calling number to the "str_Called_Number" so that it sets the calling party transformation mask of the translation to the called number parameter in the script.  Then after it plays the message saying this call may be recorded, it forwards the call on to the correct extension.  This preserves the calling parties CLID also, so anything like call recording still works properly.



Given your scale of how many people you need this applied to, this may not be the best way, because each person being recorded you have to build a translation pattern, and then you have to be cognizant of how many CTI ports you have available and in use.


If you need something much larger scale, I'd say in the hundreds or more, then you may want to look at a product such as imagicle ( which has this feature built in and performs it via SIP.

I tried the hunt pilot method. but transfer works ok as required. but MOH is not playing as expected. what could be the reason.


Both internal and external Hunt pilot MOH audio file not working. i even tried teh default one.


am I missing something?

without playing the MOH it will directly ring the extension. 


If you are talking about playing a type of disclaimer (such as a statement that your call may be recorded), you can do that on the router/gateway side also.  It would be a 'service' tied to your dial-peer as below....

dial-peer voice 1 pots
 tone ringback alert-no-PI
 service cname
 incoming called-number 8885551212  <<<<---the DID you want the message played for

 service cname flash:CNAME-GTD(0.90).tcl
  param cr_prompt flash:CallRecordingNotification.wav  <<<<---the wav file message you want played.

Dear All,


Can we play message before ring the phone for range of DID through Unity connection. I can see we can configure 110XX routing rule on unity connection then forward to call-handler. There call handler will try to transfer the call to dialed number.


But unfortunately it is not working.

Recognize Your Peers
Content for Community-Ad