Missing out on end user's voicemail when announcement is being made


We are using A(x) option in DIAL to play an announcement to our end user. However, when it hits the end user’s voicemail, it seems like announcement is being made and we cannot hear the end user’s voicemail message. We have also tried the “a” option in DIAL, but the result is the same.


What channel technology are you using?

Is the voice mail being handled as early media?

We are using pjsip and below is our dialplan:

exten => _+1NXXNXXXXXX,1,Set(foo=${PJSIP_HEADER(read,doRecord)})

same => n(noRecord),Dial(PJSIP/${EXTEN}@bandwidth, ,aA(record-conset))

Obtain a protocol trace and determined whether the voicemail greeting is early media. If it is early media the call will not be considered answered, so no A items will be actioned.

1 Like

In asterisk logs (snapshot below), we see that the announcement is being made and channels are being joined on the bridge. Are you referring to some other logs?

I was referring to other logs, but, in any case, they show that the announcement is being made as non-early media. It will, of course, clash with any normal media announcement from the voicemail system,

Thanks David - how can we change it to early media? I understand that once we change it to early media, it will not conflict with the voicemail from the end user.

If you could do it, you would conflict with ringing etc. It is the called party that decides when early media ends and, in any case, I am aware of no facility, in Asterisk, to send early media on the B leg.

You need to insert a time delay to allow for the announcement, or use a subroutine, and wait for silence, then explicitly play the announcement.


  1. We looked at amd.conf for the automatic machine detection to detect voicemail but couldn’t get it to work for DIAL(). I am not sure if you mean this option when you say, wait for silence.
  2. We did not see an option to play the announcement after a delay in the DIAL options - can you please refer us to that?

I don’t think there is enough built in flexibility to allow that use case with the Dial application. You are limited to the options implemented in it.

Thanks jcolp, is there any other way where the calling party can listen to the voicemail without announcement hampering it?

As I stated, I don’t believe the Dial application has an option for your use case. You’d likely need to use other things (like ARI potentially) and write something for it.