Use incoming caller ID on Twilio to make outgoing call - twilio

I'm wondering if the following is possible:
Caller rings Twilio number which gets answered and then automated message is played.
Caller is placed in a queue
In parallel to this, our system dials a number (using the rest API) showing the caller id of the incoming call, plays a gather to verify the user wants to pick up, and then connects the call.
I know that the easiest way to achieve something similar to this is to redirect the incoming call with a Dial verb, but for reasons that aren't really relevant to the question that isn't possible.

Twilio evangelist here.
Yes, this is possible, with the caveat that the initial callers phone number must be previously verified with Twilio. See this topic in the help center:
http://www.twilio.com/help/faq/voice/can-i-use-a-non-twilio-number-as-the-caller-id-for-outgoing-calls
Hope that helps.
Devin

Related

How to avoid voicemail interaction in a outbound call?

We have a code that connects two target numbers in a conference to talk to each other.
We make two outbound calls, directing both to a unique conference via twiml.
Our logic is perfect when both of them answers or when one of the outbound calls gives up on ringing returning a webhook in a 'no-answer' status.
The problem is when the person rejects the call. In that case, the voicemail triggers the conference start, like if it was answered. It connects the voicemail with a person.
We need a way to stop this from happening or to identify a true human answer from an voicemail one. It is generating empty recordings, confusing the callers and in a not answered call we are sending an SMS, explaining who was trying to communicate. We need to identify all unsuccessful calls for that.
Anybody has a hint?
Twilio developer evangelist here.
You are looking for answering machine detection. Or, alternatively, you can use call screening as described on this page.

Twilio conference call participants can able to see other participants numbers or not?

I am trying to integrate Twilio call and conference call, before that I have few doubts on it.
While conference call time one participants can able to see other participants real numbers or not? If possible, how to restrict that?
Twilio developer evangelist here.
With a conference call, your participants will only see one number, the Twilio number that they called or that you make calls from.
With regular calls, you have the option to set a callerId when you forward a call. If you don't set this, then the incoming caller ID is used and the number will be shared with the person being called. If you set the callerId to a Twilio number, then the person being called will only see the Twilio number.
If you are looking to build masked number/anonymous communications, then I recommend you take a look at Twilio Proxy which can handle all of this for you too.

Twilio - Is there a way to bypass voicemail

I have a twilio app that provides an on-call list of phone numbers that our customer's can call and speak to one of our on-support developers.
I need to find a solution that will allow the caller to press a key to bypass the voicemail of a the calling party and be redirected to the next person in the on-call list. Right now, if I call my twilio app using my number and I get the calling party voicemail, I don't have an option to move onto the next person in the call list.
Is there a way to mimic the hangupOnStar feature when a caller gets a person voicemail in twilio?
Thanks,
I had a look into this and unfortunately it does not look like you can nest <Dial> within <Gather> otherwise this might be possible.
What I would recommend is when you receive an inbound call, play a message along the lines of "Please wait a moment while we connect an available developer", then <Enqueue> the call.
At this point your application can start calling the developers and when the line connects ask them to press #, when this happens you can <Dial> the developers call into the queue ID Twilio proved in the last call to you app, and the calls will be bridged. If the developer did not press # then you can assume that it went to voicemail, at which point <Hangup> and initiate a call to the next dev on call.
Hope that helps.

Twilio Dynamic Text-To-Speech Conversation

I'm new to using the Twilio API and I essentially want someone to be able to send text and have it be read out in the phone call, but then keep the line open so that more text can be sent at a later time.
It seems like I should be using the Programmable Voice API along with TwilML, but the problem I am having is that once the TwilML instructions are completed the call ends. Is there anyway I can stop this from happening and have the call wait for a Rest API update to be sent to the phone call to have it say new text?
Twilio developer evangelist here.
There are a few ways you could deal with this, but I believe the best would be to use <Enqueue>. Once your TwiML is played out, you can <Enqueue> the call and then provide a waitUrl that points to an endpoint that returns more TwiML to play to the user while they wait. This will automatically loop while the user remains in the queue. You could use this to simply <Pause> indefinitely or <Play> background music. Then, once you have more text to read to the user you can redirect the call by updating it.
Let me know if that helps at all.

Connecting phone calls with twilio

This is more of a general quest ok but when using Twilio dial in a twiML to connect the caller to another number, can you disconnect Twilio after they are connected or will it just keep connected and increase the call time?
Twilio developer evangelist here.
It sounds like you are asking whether, when you direct a phone call to a TwiML app with something like this:
<Response>
<Dial><Number>OTHER_PHONE_NUMBER</Dial>
</Response>
that you want to disconnect from Twilio once the call is connected to the number?
If that's the case, then the answer is no, I'm afraid. Once a call comes into Twilio, it is being controlled and routed by the Twilio system and you will incur costs by the minute. Whilst this call continues to live you will still be able to affect it via the REST API using its call SID.
Let me know if this helps or if you have any other questions.

Resources