cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IVR Menu + AMD v2 Async Solution

kchristensen_at_brevium
New Contributor

We have a use case where we are placing a call to a customer and presenting them with an IVR menu. However, if the call goes to voicemail we need to be able to detect this and play an alternative message. Therefore we have two messages, the "human" message (which contains some "say" instructions + a "runMenu" action) and a "voicemail" message (which contains only some "say" instructions).

 

From the documentation it appears that the best practice would be to use the async AMD so that we can detect the voicemail beep and begin leaving the message at the appropriate time.

 

To accomplish this, we thought there would be two possible paths, neither of which is working.

 

The first path was to pass some SVAML in the ACE property in the callout request which actually contains the "human" message. Then, when our webhook received the "amd-beep" notify request we could send a PATCH request to update the call to have it start playing the "voicemail" message instead. In this scenario, however, the "human" and "voicemail" contents just wind up superimposed on each other, which does not work. In order to make this scenario work, the PATCH request needs to be able to interrupt any previous instructions or actions. Is this possible?

 

The second path (our lesser preference) would be to use the "connectConf" action (as done in the AMD v2 async docs page) and then PATCH the call with either the "human" or "voicemail" message depending on whether we get a "human" or "amd-beep" notification. However, when we PATCH the SVAML for the human message, we get the following error from the API:

 

 

{"errorCode":40003,"message":"Unknown SVAML action 'runMenu'","reference":"02827fd9-948e-4cd1-a50d-9b9c94f7ff4a"}

 

 
Which means that the "voicemail" path works but the "human" message can never be played. Is this an undocumented limitation of updating calls or is there a way around it?

0 REPLIES 0