Outbound – Recebendo SIP da Twilio
Visão geral
O produto SIP do Programmable Voice da Twilio permite que seus aplicativos de voz avançados iniciem sessões SIP a partir da nuvem da Twilio em direção à sua infraestrutura de comunicações SIP existente usando o TwiML e/ou as APIs REST.
Como funciona
Com o SIP do Programmable Voice, existem algumas formas de conectar seu aplicativo da Twilio à sua infraestrutura de comunicações SIP.
- Seu aplicativo pode usar as APIs REST da Twilio para iniciar uma nova chamada SIP para sua infraestrutura de comunicações SIP
- Uma chamada RPTC ou SIP de entrada pode invocar seu aplicativo que pode responder usando o substantivo <Sip> do verbo <Dial> para estabelecer uma chamada com seu endpoint SIP.
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Sip>sip:jack@example.com</Sip>
</Dial>
</Response>
Primeiros passos
Para começar a receber o SIP da Twilio em direção à sua infraestrutura de comunicações, há uma etapa importante a ser seguida:
Permitir endereços IP SIP e as portas de mídia da Twilio no seu sistema
Para garantir que sua infraestrutura de comunicações não bloqueie a comunicação, você deve atualizar sua lista permitida de endereços IP. Consulte aqui para obter detalhes.
Agora que os IPs da Twilio são permitidos em seu sistema, seu app da Twilio pode começar a enviar tráfego SIP para sua infraestrutura de comunicações SIP. Se você é novo na Twilio, é melhor começar com o substantivo <Sip> do <Dial> para seu primeiro app. Consulte aqui para obter detalhes.
Recursos avançados
Cabeçalhos personalizados SIP
A Twilio permite que você envie cabeçalhos SIP personalizados como parte da solicitação inicial de saída INVITE (CONVITE).
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Sip>sip:jack@example.com?x-myotherheader=bar</Sip>
</Dial>
</Response>
Você também pode enviar vários pares de parâmetro‐valor como parte do mesmo cabeçalho, bem como combinar vários cabeçalhos separando‐os com &
. Por exemplo,
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Sip>sip:+14158675309@your.domain?X-customName=Bob%2CShield%2BTitle%2DManager&X-otherHeader=true</Sip>
</Dial>
</Response>
A Twilio permite que você passe o cabeçalho personalizado como parte do URL de ação Dial ou do URL de triagem de chamada. Em uma configuração de chamada bem‐sucedida (quando uma resposta SIP 200 OK é retornada), todos os Cabeçalhos X na mensagem 200 OK são postados no formato SipHeader_X-headername=headervalue e na mensagem de resposta SIP final (qualquer mensagem 4xx ou 5xx ou o BYE/200 final) são postados no formato DialSipHeader_X-headername=headervalue al.
Cabeçalho UUI (informações de usuário para usuário)
Para passar as informações contextuais do autor da chamada, os clientes usam o cabeçalho UUI (informações de usuário para usuário) nas mensagens de solicitação SIP. A Twilio permite que você passe o cabeçalho UUI como parte da solicitação <Sip>.
Observação: Para cabeçalhos que não sejam X, como UUI, a ação e URL de triagem de chamada não são compatíveis.
Os cabeçalhos UUI são o único cabeçalho que pode ser enviado sem o prefixo "X-". Veja abaixo...
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Sip>sip:jack@example.com?User-to-User=123456789%3Bencoding%3Dhex&x-myotherheader=bar</Sip>
</Dial>
</Response>
Cabeçalhos UUI também podem enviar o prefixo with "X-". Veja abaixo...
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Sip>sip:jack@example.com?X-User-to-User=123456789%3Bencoding%3Dhex&x-myotherheader=bar</Sip>
</Dial>
</Response>
The edge
Parameter
Para especificar a borda geográfica da qual a Twilio enviará tráfego de saída SIP para sua infraestrutura de comunicação, você deve incluir o parâmetro edge
em seu URI do SIP. Por exemplo, se o parâmetro edge=frankfurt
estiver incluído em seu URI do SIP, a Twilio enviará o tráfego SIP da borda de Frankfurt, Alemanha:
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial>
<Sip>sip:alice@example.com;edge=frankfurt</Sip>
</Dial>
</Response>
Edge | Location |
---|---|
ashburn | North America Virginia |
san-jose | North America Oregon |
dublin | Europe Ireland |
frankfurt | Europe Frankfurt |
singapore | Asia Pacific Singapore |
tokyo | Asia Pacific Tokyo |
sao-paulo | South America São Paulo |
sydney | Asia Pacific Sydney |
Você pode encontrar a lista de regiões legadas aqui.
por exemplo: <Sip>sip:alice@example.com;region=de1</Sip>
Se o parâmetro edge
não for especificado, a Twilio enviará tráfego de saída SIP da borda da América do Norte, Virginia.
Observações:
- Você deve ter certeza de que permite os endereços IP da borda da Twilio para sinalização SIP e tráfego de mídia RTP.
Além disso, o parâmetro
edge
não é compatível ao chamar endpoints SIP registrados, o parâmetro será ignorado se estiver presente. O tráfego de saída SIP sempre será enviado da borda da Twilio com o endpoint SIP registrado.
Precisa de ajuda?
Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.