TwiML
If you have custom headers or tracking details you want associated with your requests you can pass the details in the voice request URL, and when the API call is answered you will receive a callback to their server with those details.
For example, if you have two custom headers, let's call them customParameter and customValue, you would construct their voice request URL like this:
https://website.com/twiml.php?customParameter=xxxxxxxxx&customValue=true
Note that Twilio's request to this URL must still return valid TwiML call processing instructions.
Client (JavaScript)
Twilio.Device.connect() has an optional params
argument which allows for a JavaScript object to be passed to the application as POST/GET parameters.
For example, the following code will pass the params app=Support
and location=Seattle
to the Twilio application associated with this Device's capability token.
var connection = Twilio.Device.connect({ app:"Support", location:"Seattle"});
Client (Mobile)
There is currently no method to pass custom information via mobile SDK; however, we are working to introduce this functionality.
SIP Domains
Add the custom headers to the SIP URI:
sip:username@yourdomain.us1.sip.twilio.com?customParameter=xxxxxxxxxx&customValue=true
SIP Trunking Origination
It is possible to send any SIP header beginning with the X-
prefix, by appending them to the origination SIP URI. For example, you could configure
sip:+14158675309@your.doma.in?X-customParameter=xxxxxxxx&X-customValue=true
to send X-customParameter
and X-customValue
on all originated calls.