The phone number in 'Dial' is not shown in output file - twilio

I have the following xml
<Dial timeout="10" action="file.php" method="POST">211</Dial>
which dials the hypothetical 211 to try and connect the caller with 211.
When I read what was sent via $_POST, there's no mention of 211.. Why is that?
Not using Twilio client.

Twilio developer evangelist here.
I'm guessing you are returning that TwiML, the <Dial> (within a <Response> I hope) when someone calls your Twilio number and Twilio sends a webhook to your application.
I'm not sure where you are looking for the number, 211, in the $_POST object. If it is when Twilio sends the webhook to you then this is before you have told Twilio you want to dial 211 and so Twilio doesn't know anything about it yet. If you are looking for all the parameters that Twilio sends to you in that webhook, check out this article in the docs on Twilio's request to your application in a voice call.
Are there other POST requests that Twilio is making to your application where you are expecting to see this number?

Related

change the voice for twilio number incoming call

We have a twilio number.
When ever any one call on that twilio number then there is an automated voice of twilio play. Can we customize this to a new message?
Thanks,
Rajendra
Twilio developer evangelist here.
You can customise Twilio calls as much as you want! I recommend you take a look through this QuickStart for handling incoming phone calls with Twilio which should get you up and running.
To quickly describe it though, you have a Twilio number and that number has a Voice Request URL configured in the number's settings. When you make a call to that Twilio number, Twilio makes an HTTP request to the URL. That URL needs to return TwiML (a set of instructions to Twilio in XML) which tells Twilio what to do with the call.
If you update the URL to something you control and then return different TwiML, then you can change the message and do a whole lot of other stuff with your Twilio number.

TWIML for reverse click-to-dial browser plugin

I have a mostly working chrome extension that uses the Twilio client to allow calling a number from the browser. The twilio client is too unstable to be used reliably, so I'm re-wiring the extension to just perform 'reverse click to dial', but am having trouble getting my head wrapped around the twiml flow.
Assume I have a web service that can produce twiml. Here's the call flow I want to achieve:
Agent launches my chrome extension, and gives it a phone number to dial.
Stored in the extension's settings is the twilio account sid,token, app sid for the twiml app/service, AND the number to connect the dialed number to, typically the agent's cell phone.
My extension makes a request to twilio API, which in turn requests a route in my twiml app.
some magical twiml is produced
agent's cell phone rings
agent answers
he is connected to an outbound dial to the original number he was dialing
What is the simplest twiml that will accomplish this? to boil down the flow:
agent enters number into chrome extension and clicks CALL
agent's phone rings
agent answers and is connected to number entered in step 1.
Twilio evangelist here.
The way I would do this:
Extension talks to Twilio API to start an outbound phone call to entered number
When entered number answers your app returns Twiml that tells Twilio to <Say> something like "Hold on while we connect you to an agent and then <Dial> the agent:
<Response>
<Say>Hold on while we connect you</Say>
<Dial callerId="+15555555555">
<Number>[Agent Number]</Number>
<Dial>
<Response>
If you want to reverse this to dial the agent first, just have your extension tell Twilio to call the Agent number first and then, when the Agent answers, have the TwiML say something like "Hold on while we connect you to the customer" and <Dial> the customer number.
Hope that helps.

Twillio iOS App, not making calls properly

I am experimenting with Twillio for iOS, and going through the quick start tutorial here
https://www.twilio.com/docs/quickstart/php/ios-client/passing-parameters
Now I setup a heroku account as per the tutorial and so far I am accomplishing everything up until the point where I press dial in the app and make a call to a cell phone that I entered, I get an automated message saying " Welcome to Twillio"
and then in like 3 seconds it hangs up. No Error messages are logged or anything.
Any help would be appreciated.
Twilio evangelist here.
Assuming you are using the TwiML sample from the previous step in Twilio Client for iOS the quickstart, it sounds like your application is behaving as expected.
When using Twilio Client, you need to tell Twilio what to do with the VoIP connection thats being from iOS into Twilio, which you do by setting up a web server that has a URL that returns a set of TwiML "verbs". In the Quickstart, the TwiML we show includes the <Say> verb, which tells Twilio to take text and turn it into the robot voice that you're hearing.
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Say>Welcome to Twilio</Say>
</Response>
Once Twilio finishes executing all of the TwiML verbs you give it, it disconnects the call.
If you want a different experience from whats shown in the Quickstart you can just change the TwiML your server returns. For example, if you want to have Twilio drop that Client call into a conference you could change the TwiML to:
<Response>
<Dial>
<Conference>Party Time</Conference>
</Dial>
</Response>
If you want Twilio to dial a PSTN number (like making a call to a cell phone), you would use the <Dial> verb with the <Number> noun:
<Response>
<Dial>
<Number>+15555555555</Number>
</Dial>
</Response>
Hope that helps.

Dialling Offline Twilio Client

I need to make calls to some Twilio clients that will received the call through the browser. The problem is, these clients don't necessarily have their browser open.
I know normally, a user would have to open up the browser and through the twilio util capability and twilio device to turn their browser into a device. And THEN they can receive incoming call.
Is there way to dial clients, when they haven't initialize their twilio client yet?
Twilio evangelist here.
If you try to dial a client who is not online Twilio will view that as a no-answer. You can get a notification of this by providing a URL for the <Dial> verbs action parameter.
When the call ends Twilio will make a request to this URL with a parameter named DialCallStatus which you can use to determine what happened when Twilio tried to dial the Client.
Hope that helps.

Issues with Twilio Transcription during recording within a Dial verb

I am Raj, an independent Twilio consultant for a customer.
As part of a solution implementation, we have a requirement to support the following -
"A Customer makes a call to a Twilio number which forwards the call to a business number and record the conversation".
We have configured the Twilio Number to route the request to our server and we send the following TwiML as a response :
<Response>
<Dial record="true">XXXXXXXXX</Dial>
</Response>
The above works fine for call forward and recording; but it does not seem to transcribe the recording.
If I send the following as a TwiML response; the recording & transcription does not seem to happen either.
<Response>
<Dial>XXXXXXXXXX</Dial>
<Record transcribe="true"/>
</Response>
Is there a limitation in the Dial verb that it can only record, but cannot transcribe?
Regards
Raj
Twilio Developer Evangelist here.
You are correct. Record is available as a dial verb attribute but transcribe is not.
If you want to transcribe in this scenario you could use a 3rd party transcription service like Rev.

Resources