Asterisco inicia a chamada através da mensagem de notificação sip

1

Eu tenho um telefone ip Yealink na minha mesa e quero controlá-lo remotamente para que eu possa fazer as chamadas do meu computador, em vez de digitar os números diretamente no telefone. Este link explica como fazê-lo:

Como discar ou fazer uma chamada usando o controle remoto | Suporte Yealink

Existem 2 maneiras de fazer isso. Um está enviando uma solicitação http para o telefone. E a outra opção é enviar uma mensagem de notificação SIP.

A) Enviando solicitação HTTP (Works!)

  1. Primeiro, verifique se o telefone está configurado para permitir conexões remotas

  • Em seguida, basta fazer essa solicitação wget

    wget --user admin --password PASSWORD_PHONE  http://IP_OF_PHONE/servlet?key=SPEAKER
    
  • Após fazer essa solicitação, a tecla do alto-falante do telefone é pressionada!

    B) Enviando Notificação de Notificação SIP (NÃO funciona)

    Esta é a opção que desejo usar porque não quero armazenar nomes de usuários e senhas. Além disso, o endereço IP do telefone pode mudar. De qualquer forma, aqui está o que eu tentei e, por algum motivo, não posso fazer essa opção funcionar:

    1. Eu faço o primeiro passo que fiz na parte (A), permitindo que o telefone seja controlado remotamente.

    2. Eu conecto o telefone ao meu servidor de asterisco e me certifico de que ele esteja conectado.

    3. AgoraqueoparSIPEduardoestáconectado,precisoenviarumamensagemdenotificaçãoSIPcomocorpocontendoachave=SPEAKER.

    4. Euabro/etc/asterisk/sip_notify.confeadicionooseguintecontexto:

      [teste]Evento=>ACTION-URIConteúdo=>key=SPEAKER

    5. Eureiniciooasteriscoporquenãoseicomorecarregarosip_notify.conf

      asterisk-rx"core restart gracefully"
      
    6. Em seguida, no asterisco CLI eu digite o seguinte comando para enviar a mensagem de notificação sip:

      sip notify test Eduardo
      
    7. quando eu executo esse asterisco, o comando: Sending NOTIFY of type 'test' to 'Eduardo' , mas o telefone nunca pressiona a tecla SPEAKER! O que eu poderia estar fazendo errado?

    8. Aqui está a mensagem sip capturada pelo Wireshark!

  • Mesmo seguindo as instruções, a tecla SPEAKER não está sendo pressionada! O que eu poderia estar fazendo errado?
  • Informação útil:

        
    por Tono Nam 04.11.2017 / 02:56

    1 resposta

    1

    Depois de tentar o dia todo, consegui descobrir! Eu estava faltando o cabeçalho do tipo de conteúdo!

    De qualquer forma, aqui está a solução:

    1. O arquivo

      sip_notify.conf deve conter:

      [test]
      Content-Type=>message/sipfrag
      Event=>ACTION-URI
      Content=>key=SPEAKER
      

      A linha Content-Type=>message/sipfrag é muito importante!

    2. Reinicie o asterisco para que o sip_notify.conf recarregue

      asterisco -rx "core reinicia normalmente"

    3. Agora digite este comando asterisco:

      sip notify test Eduardo
      

      em que Eduardo é o par SIP para o qual você deseja enviar a chave

    4. Uma lista de todas as chaves disponíveis pode ser encontrada aqui:

      link

    por 04.11.2017 / 04:58