não é possível registrar o usuário sip no red5server, usando o red5phone

13

Eu começo o red5,

e então eu começo red5phone

tento registrar usuário sip, os detalhes que forneço são

    nome de usuário = 999999
    password = ****
    ip = asteriskserverip

E eu tenho

- Registro de contato - sip: [email protected]: 5072

O contato certo pode ser

- Registrando contato - sip: 99999 @ asteriskserverip

Este é o log:

SipUserAgent - listen -> Init...
Red5SIP register
[SIPUser] register
RegisterAgent: Registering contact <sip:[email protected]:5072> (it expires in 3600 secs)
RegisterAgent: Registration failure: No response from server.
[SIPUser] SIP Registration failure Timeout
RegisterAgent: Failed Registration stop try.
Red5SIP Client leaving app 1
Red5SIP Client closing client 35C1B495-E084-1651-0C40-559437CAC7E1
Release ports: sip port 5072 audio port 3002
Release port number:5072
Release port number:3002
[SIPUser] close1
[SIPUser] hangup
[SIPUser] closeStreams
RTMPUser stopStream
[SIPUser] unregister
RegisterAgent: Unregistering contact <sip:[email protected]:5072>
SipUserAgent - hangup -> Init...
SipUserAgent - closeMediaApplication -> Init...
[SIPUser] provider.halt
RegisterAgent: Registration failure: No response from server.
[SIPUser] SIP Registration failure Timeout

Entre em contato se estiver fazendo algo errado.

Mark Henderson
fonte
De alguma forma, essa pergunta recebeu 11 votos positivos. Qual é exatamente a questão da programação aqui?
Duck
Essa pergunta sysadmin :)
Vitaly Nikolaev

Respostas:

2

O que eu sugeriria fazer é fazer uma captura de pacotes no lado do telefone e do servidor e depois analisar as capturas usando o WireShark.

O Wireshark tem uma interpretação excepcionalmente boa do tráfego de VoIP e dividirá os pacotes SIP para você em partes fáceis de ler.

A partir daí, é possível saber se o servidor STUN está incorreto (se você estiver usando o STUN) ou se algo está acontecendo com o pacote de conexão e usá-lo para diminuir a situação.

A razão para executar a captura nas duas extremidades é que eu vi alguns firewalls "SIP-Aware" bem-intencionados manipularem pacotes SIP incorretamente, o que não causou dores de cabeça, mas eu poderia dizer que os pacotes que estavam entrando no firewall estavam diferente do que estava saindo do firewall, que era uma oferta.

Mark Henderson
fonte
2

A captura de pacotes (thsark / ngrep) contém as respostas que você procura.

Eu diria que o servidor não está recebendo o pacote SIP para registro ou o cliente não pode receber a resposta, julgando por

'RegisterAgent: falha no registro: nenhuma resposta do servidor.'

Verifique isso usando tshark / ngrep / tcpdump no servidor no qual você está tentando se registrar. Se você o vir pousando no servidor, mas o servidor nunca responder, verifique os arquivos de log. Verifique se não há regras de firewall no servidor e bloqueie-o. Ele aparecerá cheirando, mas o aplicativo não responderá a ele.

O SIP padrão estará na porta 5060, provavelmente UDP, mas ocasionalmente TCP (estou olhando para você, Microsoft ...).

Exemplos:

tshark -i eth0 "porta 5060"
ngrep -q -W byline "" "porta 5060"
tcpdump "porta 5060"

O ngrep é útil se você tiver muitos outros tráfegos SIP válidos, mas precisar ler rapidamente alguns deles.

ngrep -q -W byline "5025851212" "porta 5060"

Isso, por exemplo, procuraria um número de telefone específico ou

ngrep -I CAPTURED.PCAP -q -W byline "[email protected]" "porta 5060"

um ID de chamada específico dentro de um arquivo pré-adaptado: CAPTURED.PCAP

Essobi
fonte