You are viewing the Portuguese (Brazil) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Classifique esta página:

Entrada – Envio de SIP para a Twilio

Visão geral

O produto SIP do Programmable Voice da Twilio permite que você use sua infraestrutura de comunicações SIP existente (por exemplo, IP-PBX, SBC etc.) para iniciar sessões SIP com a Twilio e usar APIs TwiML e/ou REST para criar aplicativos de voz avançados. A Twilio fica no meio, permitindo que as chamadas sejam roteadas para sua infraestrutura de comunicações SIP, RPTC ou para navegadores e aplicativos móveis. Há algumas etapas curtas para configurar a Twilio para interoperar com sua infraestrutura para que seja possível começar a criar e testar seu aplicativo de voz.

Diagrama SIP do Programmable Voice

Como funciona

Para enviar SIP para a nuvem da Twilio, você precisa criar um domínio SIP da Twilio. Um domínio SIP é um nome de host DNS personalizado associado à sua conta da Twilio que pode aceitar tráfego SIP. Se alguém fizer uma solicitação SIP usando esse domínio (por exemplo, sip:alice@example.sip.us1.twilio.com), ela será roteada pela Internet para a Twilio. Quando uma solicitação SIP é recebida pela Twilio, o domínio SIP é usado para determinar os critérios de autenticação e, subsequentemente, usado para procurar o URL configurado para o webhook em seu aplicativo, que fornecerá instruções sobre como lidar com a chamada SIP recebida. Consulte como a Twilio transmite dados para seu aplicativo.

Introdução

Faça login no Console e selecione Programmable Voice no menu vertical no lado esquerdo da visualização, que levará você ao painel. Agora, navegue até domínios/endpoints SIP.

Etapa 1: Crie um domínio/endpoint SIP da Twilio Voice

Clique no símbolo de mais vermelho na exibição de endpoints SIP do Voice

Nome fácil

Forneça um nome fácil para seu domínio SIP, como MyCompanySF.

SIP URI/Nome de domínio

Essa propriedade permite que você especifique um domínio SIP exclusivo global usado para rotear o tráfego SIP da sua infraestrutura pela Internet pública para o servidor correto hospedado pela Twilio na nuvem.

Uma solicitação SIP usa um URI SIP, como o seguinte: sip:alice@example.sip.twilio.com

A Twilio processa a solicitação recebida e a autentica usando o método de autenticação escolhido. Se a solicitação for autenticada, ela será webhooks para o URL solicitado discutido em seguida. Todos os usuários no mesmo webhook de domínio SIP para o mesmo URL do aplicativo.

Os nomes de domínio podem conter letras, números e "-". Por padrão, cada conta tem seu próprio Account SID (SID da conta) da Twilio reservado como domínio.

Se você tentar criar um domínio que já existe, receberá um erro. A criação de subdomínios de domínios existentes é permitida desde que você já tenha criado o domínio original. Por exemplo: foo.example.sip.twilio.com só pode ser criado se você já tiver reservado example.sip.twilio.com.

Subcontas podem criar subdomínios de qualquer domínio SIP na conta mestre. Existe uma API REST para criar domínios.

URIs SIP localizados

Se você deseja se conectar-se manualmente a uma localização de borda geográfica específica (https://www.twilio.com/docs/global-infrastructure/edge-locations) mais próxima do local da sua infraestrutura de comunicações, você pode fazer isso apontando sua infraestrutura de comunicação para qualquer um dos seguintes URIs SIP localizados:

  • {example}.sip.ashburn.twilio.com (North America Virginia)
  • {example}.sip.umatilla.twilio.com (North America Oregon)
  • {example}.sip.dublin.twilio.com (Europe Ireland)
  • {example}.sip.frankfurt.twilio.com (Europe Frankfurt)
  • {example}.sip.singapore.twilio.com (Asia Pacific Singapore)
  • {example}.sip.tokyo.twilio.com (Asia Pacific Tokyo)
  • {example}.sip.sao-paulo.twilio.com (South America São Paulo)
  • {example}.sip.sydney.twilio.com (Asia Pacific Sydney)

Se você estiver procurando uma lista de URIs localizados SIP legados, visite aqui.

URL de solicitação (webhook)

Especifique um URL que aponte para seu aplicativo da Web que a Twilio chamará no recebimento de um INVITE SIP. O URL deve responder com TwiML que especifica como lidar com a chamada recebida. Como alternativa, você pode especificar um URL que aponte para um TwiML bin estático.

Confira abaixo um URL que você pode usar como exemplo de um TwiML estático. Quando a Twilio recebe o SIP INVITE, após a autenticação, ele aceitará o INVITE, estabelecerá a chamada e dirá uma breve mensagem para o autor da chamada.

http://twimlets.com/message?Message%5B0%5D=Congratulations!%20You%20just%20made%20your%20first%20call%20with%20Twilio%20SIP.

URL de Fallback

Se o URL de solicitação falhar (por exemplo, devido a um TwiML inválido), será possível especificar opcionalmente que esse URL seja chamado.

URL de retorno de chamada de status

Opcionalmente, você pode especificar um URL para que a Twilio envie solicitações do webhook enquanto uma chamada avança de initiated (iniciada) para ringing (tocando) para answered (atendida) para completed (concluída).

Autenticação

A autenticação limita o acesso ao seu domínio SIP somente a partir de dispositivos e usuários aprovados. Você deve configurar no mínimo uma Lista de controle de acesso ou uma lista de credenciais. Se você configurar ambas, as ACLs e listas de credenciais serão aplicadas.

Listas de controle de acesso de IP (ACL)

Se configurado, a Twilio aceitará apenas o tráfego SIP proveniente dos IPs que fazem parte dessa lista. Todos os outros pacotes serão descartados. Você deve especificar um endereço IP completo; não há suporte para caracteres curingas no IP. As Listas de controle de acesso de IP podem ser aplicadas a um ou mais domínios SIP. Existe uma API REST para criar ACLs de IP.

Listas de credenciais

As listas de credenciais são conjuntos de nomes de usuário e senhas que serão aceitos pelo seu domínio SIP.

Se uma Lista de credenciais estiver configurada, seu INVITE SIP será desafiado com uma Autenticação de Proxy 407 necessária solicitando o nome de usuário e a senha apropriados.

Para cada nome de usuário, você deve definir uma senha que atenda aos seguintes requisitos mínimos:

  • No mínimo 12 caracteres
  • Pelo menos um caso misto
  • Pelo menos um dígito

A Twilio não armazena as senhas que você fornece para nomes de usuário em texto não criptografado; em vez disso, as senhas são MD5 hash de acordo com a especificação de autenticação de resumo. Depois que uma senha é definida, a Twilio não fornece uma maneira de recuperar a senha armazenada. As Listas de credenciais podem ser aplicadas a um ou mais domínios SIP.

Existe uma API REST para criar listas de credenciais.

Etapa 2: Permita endereços IP e portas da Twilio

Para garantir que a infraestrutura das suas comunicações não bloqueie a comunicação, você deve atualizar sua lista de permissões. Consulte [a documentação do SIP][endereços ip] para obter detalhes.

Etapa 3: Comece a enviar o SIP para o domínio do SIP da Twilio

Agora que os IPs e as portas da Twilio são permitidos no sistema e o domínio do SIP é criado, você pode enviar solicitações SIP para a Twilio. Se você usou o URL de exemplo da Etapa 1, ouvirá:

"Parabéns! Você acabou de fazer sua primeira chamada com o Twilio SIP."

Recursos avançados

Cabeçalhos personalizados SIP

Para melhor integração com aplicativos SIP remotos, a Twilio lê os cabeçalhos enviados nas mensagens de solicitação e resposta SIP. A Twilio lerá todas as plataformas que começam com o X- e colocará o prefixo SipHeader_ nos parâmetros de solicitação.

Você pode enviar vários pares de parâmetros e valores como parte do mesmo cabeçalho. Por exemplo, X-TestHeader: param1=value1;param2=value2;param3=value3

Se você enviar cabeçalhos sem prefixo X-, a Twilio não lerá o cabeçalho. Como resultado, o cabeçalho não será passado na saída.

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. Você pode passar um cabeçalho UUI (usuário para usuário) através de um webhook como um parâmetro para chamadas recebidas para a Twilio.

Basta adicionar o cabeçalho UUI SIP como parte da mensagem SIP antes de enviá-la para a Twilio. Os cabeçalhos serão enviados como parâmetros de solicitação no webhook solicitado do seu servidor. Por exemplo, se você enviar os seguintes cabeçalhos SIP em sua mensagem SIP:

Usuário para usuário: 123456789;encoding=hex

A Twilio colocará o prefixo SipHeader_ no cabeçalho UUI na solicitação de webhook para seu servidor. Por exemplo,

SipHeader_User-to-User "123456789;encoding=hex".

Classifique esta página:

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.

Loading Code Sample...
        
        
        

        Obrigado pelo seu feedback!

        Selecione o(s) motivo(s) para seu feedback. As informações adicionais que você fornece nos ajudam a melhorar nossa documentação:

        Enviando seu feedback...
        🎉 Obrigado pelo seu feedback!
        Algo deu errado. Tente novamente.

        Obrigado pelo seu feedback!

        thanks-feedback-gif