TWIML Whisper Announce - twilio

I'm using a simple twiml to to forward and record a call. What I would like to do is say a message to the callee to say this is a potential sales call, and it may be recorded. I don't want the caller to hear it.
Here's my current twiml.
<Response>
<Dial record="true">18885551212</Dial>
</Response>

Twilio evangelist here.
You'll need to use the <Number> noun within the <Dial> verb. Number has a parameter named url that lets you give Twilio a URL that returns TwiML to play to the dialed party before they are connected.
There is a How To that walks you through creating a Whisper:
https://www.twilio.com/docs/howto/ivrs-call-screening-and-recording
Hope that helps.

Related

Gather verb is not working for 1st participant in conference only work for last connected participant

basically I want to connect third participant (A PSTN no) on ongoing call when conference owner press a key
here is my Twiml :-
<Response>
<Dial hangupOnStar="true">
<Conference">PSTNConf</Conference>
</Dial>
<Gather action="/action/url" digits="1"/>
</Response>
this is work fine till second participant not connect when second participant join the conference Gather verb is not work for 1st participant
I want both participants in a conference then Conference owner (1st participant) decided to add third participant using gather verb
Twilio developer evangelist here.
<Gather> cannot actually work with a <Conference>. You can only nest <Say>, <Play> or <Pause> within a <Gather> element.
The nearest you can get to this is to include the hangupOnStar="true" attribute on the <Dial> element as well as an action URL. Then, when one of your callers presses * they will drop out of the conference and Twilio will request the action URL, you can then return TwiML including a <Gather> if you want to take more input, or just use the webhook to dial another caller into the conference.
If you complete the action by returning TwiML that dials the caller back into the original conference, then they will rejoin and continue.
Let me know if that helps at all.

Want to use Whisper in Twilio Studio

I want to use the Whisper in Twilio Studio,
is this possible??
Now I using only Twilio Studio and TwiML Bin
my goal is...
User calls to my Twilio number
Connect call to the support team phone.
After starting the calls between the User(client) & the support team, I want to [Say] a message to the support team then start the calls.
How can I do this??
Twilio developer evangelist here.
Currently you cannot do a whisper with Studio. You could achieve this flow with just TwiML Bins though.
You would need two bins. One to read the message that you want in the whisper and the other two forward the call and point to the whisper.
So, the whisper bin would include TwiML using either <Say> or <Play> for the message, like this:
<Response>
<Say voice="alice">You are getting a call on the support line, the next voice you will hear is the customer.</Say>
</Response>
Then, the bin that responds to the incoming call needs to use <Dial> with a <Number>. The <Number> url attribute should point at the TwiML above for the whisper. Like:
<Response>
<Dial>
<Number url="TWIML_BIN_URL">+123456789</Number>
</Dial>
</Response>

twilio conference - get dialedin participants phone input

All the participants to my twilio conference are muted except the presenter.
I need to implement a feature where the dialed in participant wants to ask a question by dialing a key on his phone.
Essentially a 'raise hand' feature. He can then be unmuted by the moderator and allowed to ask his question.
I already have a build in dashboard to mute/unmute the participants.
is there a way that the caller can hit *1 or some combination of keys that I can then use in my callback.
I've tried using * with hanguponstar functionality but it basically exits the caller from the conference.
Thanks,
Amit
Twilio developer evangelist here.
If you use hangupOnStar and add further TwiML after the <Dial> then the call will continue for the user. So, you could do something like:
<Response>
<Dial hangupOnStar="true">
<Conference>MyConferenceRoom</Conference>
</Dial>
<Redirect>/handUp</Redirect>
</Response>
You would redirect the caller through a /handup action. In this action you could register the caller's question and respond with TwiML to dial them back into the <Conference>.
Note, if you have an action attribute for your <Dial> then the call will follow that rather than carry on with the TwiML in the original action.
Let me know if that helps at all.

With Twilio, is it possible to receive user input during a conference call?

The Twilio documentation mentions that you can collect user keypad input while they are listening to a message:
You can nest the following verbs within Gather: Say, Play, Pause. But you can't nest Gather within any other verbs.
The Conference tag cannot be nested within the Gather tag, so is there another way to collect user digits once they are connected to a conference room using the Conference tag?
Twilio evangelist here.
There isn't a way to <Gather> while in a conference call, but there is a work around. You can leverage the <Dial> verbs hangupOnStar attribute.
<Response>
<Dial hangupOnStar="true">
<Conference>example</Conference>
</Dial>
<Gather action="/redirectIntoConference?name=example" numDigits="1"></Gather>
</Response>
When the user presses the * key, Twilio will disconnect them fro mthe conference call and immediately start to listen for them to press tones. When the Gather completes you would just redirect them back into the conference call.
This enables you to do things like the standard *6 key combination to mute.
Hope that helps.

Forward a call in Twilio with a greeting to the called party

I have a Twilio app that receives calls from a Caller and forwards them to a Recipient based on attributes of the incoming call. When calling the recipient, I would like to play a greeting message before making the calls - is there a way to do this?
My TwiML response currently looks something like this:
<Response>
<Dial number="+18005551212"/>
</Response>
I would like to do something like this, but don't know how:
<Response>
<Dial>
<Number>+18005551212</Number>
<SayToRecipient>This is AwesomeApp. I am forwarding a call from 301-555-1212. BEEP.</SayToRecipient>
<NowConnectTheCalls/>
</Dial>
</Response>
Is there away to do this?
Twilio evangelist here.
Yup. What you want to do is called a whisper and we have a How To that shows you how to build this:
https://www.twilio.com/docs/howto/ivrs-call-screening-and-recording
The short version is that the <Number> noun has a URL attribute that allows you to pass TwiML to Twilio that we will execute when the dialed party answers but before the two calls are connected.
Hope that helps.

Resources