- Ordering a Phone Number
- Setting up an application
- Speaking to the caller with BXML
SpeakSentence - Request the caller to press a digit with BXML
Gather - Forwarding the caller to their choice with BXML
Transfer
After installing pre-reqs
git clone https://github.com/dtolb/ivr-webinar.gitcd ivr-webinarnpm inpm start./ngrok http 3000Bandwidth uses a gather to ask the user to press a digit.
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Gather requestUrl="http://your-server.com/gather-response" maxDigits="1">
<SpeakSentence gender="female" locale="en_US" voice="susan">Hello, please press 1 for pizza and 2 for burgers</SpeakSentence>
</Gather>
</Response>Bandwidth uses a transfer to transfer calls to another number.
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<SpeakSentence gender="female" locale="en_US" voice="susan">
Transferring you to Pizza!
</SpeakSentence>
<Transfer>
<PhoneNumber>+15552223333</PhoneNumber>
<PhoneNumber>+15552224444</PhoneNumber>
<PhoneNumber>+15552226666</PhoneNumber>
</Transfer>
</Response><?xml version="1.0" encoding="UTF-8"?>
<Response>
<SpeakSentence gender="female" locale="en_US" voice="susan">
Transferring you to Bad Daddys!
</SpeakSentence>
<Transfer>
<PhoneNumber>+15552227777</PhoneNumber>
</Transfer>
</Response>Bandwidth uses SpeakSentence to play speak to the call, and Hangup to end the call
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<SpeakSentence gender="female" locale="en_US" voice="susan">
I'm sorry, I didn't understand your choice. Please callback and try again.
</SpeakSentence>
<Hangup/>
</Response>