I am not 100% sure about how yo set your IVR and what you want to achieve. But as far as I could try to understand.
You have an IVR menu with prompt message and key presses set. The prompt message is your terms and conditions and one of the key press will transfer the call to a call queue.
There is an incoming call to a user extension, the call is then connected (this is what you call a live call), and now you want to transfer the connected call to the IVR above, then the caller will hear the terms and conditions and can press a key to get the call transferred to a call queue or a user extension?
Is that what you want and if so how did you try it, using the RC app or using API?
@Phong Vu That is correct. The scenario that you describe is exactly how I have the IVR set up. From within the RC app, when I am on a live call, I press the transfer button, and then dial the extension associated with the IVR menu. At that point, I expect the pre-recorded audio prompt associated with the IVR menu to be played, however, this does not happen and the call just disconnects.
Ok, I just tested your use case scenario and it worked perfectly.
While the call is connected, I transferred (blind transfer) the call to the IVR menu by the IVR extension number. Then the call was transferred and I heard the prompt message and I could press a key to connect to a call queue (my IVR is set to press 1 to connect to a call queue).
Since you are doing this using the RC app. You should contact RingCentral customer support to help you checking the settings to make it work.
@Phong Vu Thank you! I got this to work with your guidance. Could you please point me towards the documentation through which I can perform the same actions as above via the API. Now that I have got the above working, I would like the leverage the API to integrate the aforementioned functionality into our product without having to trigger the playback of the recorded message through the RingCentral App. Specifically, I want to be able to make an API call on a certain user action, to trigger the playback of the audio prompt via the IVR.
Thank you so much for your help!
To perform the same action using RingCentral platform API, you can transfer (blind transfer) an active call to an extension by extension number using this call control API. You can get the active call telephonySessionId and the partyId from the user (the user extension who currently on the call) active calls using this API. When calling the call transfer API, set the right telephonySessionId, the right partyId (the partyId of the user extension, not the other partyId), and the IVR extension number (not the extension id!)
Something like this
async function blindTransferCall(){
var endpoint = '/restapi/v1.0/account/~/telephony/sessions/'
endpoint += "ActiveCall_telephonySessionId"
endpoint += "/parties/ActiveCall_partyId/transfer"
try{
var resp = await platform.post(endpoint, {
extensionNumber : "IVR_Extension_Number"
} )
var jsonObj = await resp.json()
console.log(JSON.stringify(jsonObj))
}catch(e){
console.log(e)
}
}
@Phong Vu Thank you for this information. One last question, is there any way to auto transfer the call back to the user who initited the IVR? I am doing a POC where I am migrating over from another system and the functionality that we currently have is as follows:
The user initiates the playback of a recorded message through a button click, after the message is played to the customer, we want the customer to be able to continue the conversation with the user without pressing any prompts. Is it possible to do this in RingCentral? Using the IVR menu, I don't see an option to transfer the call back to the user unless, I set up prompts which will allow the customer to press a button that is mapped to transfer the call back to the user.
@Phong Vu Is there any way that we can configure the playback of a recorded message without using a transfer of a call? Our use case is as follows:
We want to playback a recorded message containing some terms and conditions which a customer must either agree to or decline. However, the issue I am running into with the setup as described above is that, once a call is transferred to an IVR, it puts the ring central user back into the call queue where they can then receive calls from other users. Meanwhile, the user whom they were already on a call with will have finished listening to the voice prompt and then be waiting in the call queue again to continue the conversation.