Chris
Chris

Reputation: 814

Pass dynamic TwiML when making calls

How can I pass dynamic TwiML to the Twilio API when making calls?

$client = new Services_Twilio($sid, $token);

So instead of passing a URL to fetch the TwiML:

$call = $client->account->calls->create("+14158675309", "+14155551212", "http://demo.twilio.com/docs/voice.xml", array());

Could I dynamically generate the TwiML and pass it to the API?

$twiml = new Services_Twilio_Twiml();
$twiml->say( 'Hello Mark');
$call = $client->account->calls->create("+14158675309", "+14155551212", $twiml);

Upvotes: 2

Views: 2734

Answers (2)

Devin Rader
Devin Rader

Reputation: 10366

Twilio evangelist here.

Instead of specifying a static XML file in the create function, you can make this a PHP file and dynamically generate the response.

You still use create() to tell Twilio to initiate the phone call. When the call is answered, Twilio will request the URL you've specified to get the TwiML that tells it how to proceed with the call. So for example you change:

http://demo.twilio.com/docs/voice.xml

to

http://demo.twilio.com/docs/voice.php

And have the PHP generate the TwiML output:

$twiml = new Services_Twilio_Twiml();
$twiml->say( 'Hello Mark');

Here is the documentation for generating TwiML using the PHP helper library:

https://github.com/twilio/twilio-php#generating-twiml

Hope that helps.

Upvotes: 3

skytaker
skytaker

Reputation: 4479

Could I dynamically generate the TwiML and pass it to the API?

The answer is no, not without a URL. I realize this a delayed response but I have recently been searching for a way around this. The best method I have found of generating dynamic text for outgoing calls without a web server is here - bouncing it off of the twimlets url.

Upvotes: 1

Related Questions