Interacción de SIP y TwiML
Las llamadas SIP interactúan con TwiML prácticamente de la misma manera que las llamadas telefónicas entrantes y de Client. Cuando Twilio recibe una INVITE entrante a tu dominio SIP de Twilio y lo autentica, pasa un código de respuesta SIP de llamada 180 a tu punto final SIP. Twilio entonces busca las URL asociadas con tu dominio SIP y hace una solicitud HTTP a VoiceUrl.
Cuando solicites tu TwiML, Twilio pasará varios parámetros a tu aplicación desde la llamada SIP original:
Nombre del parámetro | Descripción |
---|---|
To | El URI de INVITE |
From | El encabezado “From” que se pasó en INVITE |
SipDomain | El dominio SIP de Twilio al que se envió la INVITE |
SipDomainSid | El SID de dominio SIP de Twilio de origen |
SipUsername | El nombre de usuario dado al autenticar la solicitud, si la lista de credenciales es el método de autenticación. |
SipCallId | El ID de llamada de la INVITE entrante |
SipSourceIp | La dirección IP de la que procede la INVITE entrante. |
SipHeader_<name> | Los encabezados X- en la INVITE entrante se pasan como parámetros de SipHeader_<name>, en el que <name> es la clave del encabezado. Puedes recibir varios de ellos. |
Al recibir una respuesta con TwiML válido, Twilio comienza a ejecutar las instrucciones contenidas en el TwiML. Si las instrucciones son <Say>, <Play>, <Record>, <Dial> o <Gather>, Twilio envía un código de respuesta SIP 200 OK a tu punto final y establece la llamada.
Si tu aplicación devuelve un verbo “
Si tu aplicación devuelve una “
REFER SIP de Twilio
Si tus instrucciones TwiML utilizan <Refer>
, Twilio generará un SIP REFER hacia la PBX del cliente y gestionará cualquier mensaje NOTIFY. La transferencia se gestiona por completo mediante la PBX del cliente.
Nota: Si <Refer>
es el último verbo y no tiene una URL de acción, el tramo de la llamada finalizará; de lo contrario, la ejecución de TwiML continuará de forma normal.
Si deseas obtener más información sobre SIP REFER, dirígete aquí.
Pasar encabezados SIP a tu aplicación TwiML
Con el fin de integrarse mejor en aplicaciones SIP remotas, las conexiones SIP de Twilio pueden leer encabezados en el INVITE inicial y transferirlas a tu aplicación. Twilio leerá cualquier encabezado que comience con el prefijo X- y las pasará en la devolución de llamada HTTP de TwiML en el formato SipHeader_X-headername=headervalue. Esto permite a la aplicación tomar decisiones de manera programática acerca de qué hacer con una llamada.
¿Necesitas ayuda?
Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.