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:

SIP REFER de entrada (inbound) para a Twilio

Para usar o recurso SIP REFER inbound, você deve ativar os "Enhanced Programmable SIP Features" (Recursos SIP do Programmable Enhanced) nas Voice settings in the Console (configurações do Voice no Console).

Se estiver procurando SIP Refer Outbound, use o verbo <Refer> do TwiML

A transferência de chamadas permite mover uma chamada ativa de um endpoint para outro. As chamadas SIP do Programmable Voice da Twilio agora oferecem suporte para transferências de chamadas "blind" (cegas) usando o SIP REFER. Isso significa que agora você pode solicitar que uma chamada SIP ativa seja transferida enviando à Twilio uma mensagem SIP REFER da sua infraestrutura de comunicações SIP. A Twilio pode então funcionar como ponto de articulação e lidar com o redirecionamento de chamadas, permitindo‐lhe libertar recursos na sua infraestrutura de comunicações de IP que já não são necessários.

As transferências de chamada podem ser chamadas SIP tanto de entrada (inbound) quanto de saída (outbound). Por exemplo, em uma chamada SIP inbound do telefone SIP para um domínio SIP da Twilio, você pode transferir o autor da chamada para um agente diferente pressionando o botão "Transfer" (Transferir) no telefone. Seu telefone SIP enviará um REFER contendo as informações de contato do novo agente, instruindo a Twilio a iniciar uma transferência. A Twilio aceitará o REFER e poderá iniciar a transferência para conectar o autor da chamada inicial ao novo agente. De forma semelhante, você pode iniciar uma transferência usando um REFER em direção à Twilio em uma chamada SIP outbound da Twilio para seu endpoint SIP.

Um SIP REFER do seu endpoint SIP acionará um webhook para seu aplicativo contendo dados de chamada, incluindo o conteúdo do cabeçalho Refer-To no parâmetro ReferTransferTarget. Na chamada inicial, você define o atributo referUrl no verbo <Dial> para definir o URL do aplicativo que receberá essas solicitações do webhook. Contanto que um trecho da chamada seja uma conexão SIP, a Twilio honrará a mensagem do SIP REFER que o dispositivo SIP está enviando. Você também pode enviar informações contextuais em seu SIP REFER como um cabeçalho UUI ou cabeçalho personalizado incluindo‐as como parte do cabeçalho Refer-To; o conteúdo será passado no webhook como parte do parâmetro ReferTransferTarget.

O REFER funciona para chamadas SIP criadas usando o verbo <Dial> usando um dos seguintes substantivos:

  • <Sip>
  • <Number>
  • <Client>

O REFER não oferece suporte para os substantivos <Conference>, <Sim> e <Queue>.

O comprimento máximo compatível do cabeçalho Refer-To no SIP REFER que você envia para a Twilio é de 256 caracteres.

Como enviar o Refer (Encaminhar) para a Twilio

Certifique‐se de que referUrl esteja presente no atributo do verbo <Dial> da chamada inicial.

Atributos Valores permitidos Valores padrão
referUrl Qualquer Url Nenhum
referMethod GET, POST POST

Os detalhes do REFER, incluindo as informações de contato ReferTransferTarget são passados no webhook resultante para o referUrl. Seu aplicativo pode então manipular o webhook da maneira que quiser, você pode usar qualquer um dos recursos do Programmable Voice como <Dial>, <Say>, <Play>, <Gather>, <Enqueue>, <Sim>, etc.

Aqui está um exemplo de fluxo de chamada.

  1. O UserA chamou um banco e se conectou ao telefone SIP do AgentA do Banco.
    • É nessa etapa que o verbo <Dial> precisará conter o atributo referUrl.
  2. Eles concluíram a conversa inicial e agora o UserA deseja se conectar ao AgentB em outro departamento, de modo que o AgentA envia o SIP REFER para a Twilio contendo as informações de contato do AgentB no cabeçalho Refer-To.
  3. A Twilio lida com o REFER e envia as informações em um webhook para o aplicativo do cliente, que estabelece uma chamada para o telefone SIP do AgentB usando um verbo <Dial> do TwiML. A Twilio então conecta a chamada do UserA com a chamada SIP conectada ao AgentB.

Screen Shot 2020-07-08 at 7.00.44 PM.png

Um exemplo simples do TwiML que seu aplicativo referUrl pode retornar é o seguinte:

<Response>
  <Dial>
    <Sip>sip:AGENTB@YOURDOMAIN.sip.us1.twilio.com</Sip>
  </Dial>
</Response>

Em que o endereço SIP do Agente B foi recuperado do parâmetro ReferTransferTarget no SIP REFER.

Observação: não é necessário um referUrl nesse trecho da chamada.

Loading Code Sample...
        
        

        SIP REFER Inbound to Twilio using referUrl

        O exemplo acima não define o atributo answerOnBridge no verbo <Dial>; ou seja, esse atributo usa o valor padrão de false. Portanto, logo após o webhook ser buscado, a Twilio enviará imediatamente o SIP NOTIFY e desconectará o trecho da chamada "Transferor" (transferidor) (AgentA no fluxo de chamada acima). Se o Transfer-Target (AgentB no fluxo de chamada acima) não atender a chamada ou se a busca de chamada ou aplicativo falhar, a chamada do UserA será desconectada, a menos que seu aplicativo seja gravado para ser capaz de lidar com o caso de falha.

        Loading Code Sample...
              
              

              SIP REFER Inbound to Twilio and remain on call until transferred

              O exemplo acima define o atributo answerOnBridge como true no verbo <Dial>. Portanto, a Twilio não desconectará o trecho da chamada "Transferor" (transferidor) (AgentA no fluxo de chamada acima) até que o Transfer-Target (AgentB no fluxo de chamada acima) atenda a chamada. Se o Transfer-Target (AgentB no fluxo de chamada acima) não atender a chamada ou se a busca de chamada ou aplicativo falhar, a chamada do UserA permanecerá conectada com o AgentA.

              Casos de uso

              Neste exemplo, seguiremos o fluxo de chamada explicado acima.

              • Chamada inicial – o UserA chama o AgentA. Eles estão conectados e ativamente na conversa.
              • Refer (Encaminhar) – o UserA deseja se conectar a outro departamento no banco. O AgentA pressiona o botão de transferência e passa as informações do contato.
              • Final call (Chamada final) – o UserA agora está conectado ao AgentB. A chamada inicial foi interrompida.

              Cenários

              Status da chamada inicial

              answerOnBridgetrue

              Status da chamada inicial

              answerOnBridgefalse ou não definida

              O webhook referUrl é executado

              A chamada inicial ainda está conectada

              A chamada inicial está desconectada

              O AgentB atende a chamada

              A chamada inicial agora será desconectada

              A chamada inicial foi desconectada logo após a execução do webhook referUrl, veja acima

              O AgentB não atende a chamada

              A chamada inicial pode ser restabelecida. Portanto, o UserA será conectado ao AgentA novamente

              A chamada inicial foi desconectada logo após a execução do webhook referUrl. Não será possível restabelecer a chamada inicial

              referUrl não está acessível

              A chamada inicial pode ser restabelecida. Portanto, o UserA será conectado ao AgentA novamente

              A chamada inicial foi desconectada logo após a execução do webhook referUrl. Não será possível restabelecer a chamada inicial

              O atributo referUrl não está presente no verbo <Dial>

              A Twilio gerará um alerta e a chamada inicial será restabelecida. Portanto, o UserA será conectado ao AgentA novamente

              A Twilio gerará um alerta e a chamada inicial será restabelecida. Portanto, o UserA será conectado ao AgentA novamente



              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