nie można zarejestrować użytkownika sip na serwerze red5server przy użyciu red5phone

13

Zaczynam czerwony 5,

a potem uruchamiam czerwony telefon

Próbuję zarejestrować użytkownika SIP, szczegóły, które podaję są

    nazwa użytkownika = 999999
    hasło = ****
    ip = asteriskserverip

I mam

- Rejestracja kontaktu - łyk: [email protected]: 5072

Właściwy kontakt może być

- Rejestrowanie kontaktu - sip: 99999 @ asteriskserverip

To jest dziennik:

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

Daj mi znać, jeśli zrobię coś źle.

Mark Henderson
źródło
Jakoś to pytanie uzyskało 11 głosów pozytywnych. Czym dokładnie jest tutaj pytanie programistyczne?
Kaczka
To pytanie administratora :)
Witalij Nikołajew

Odpowiedzi:

2

Sugeruję zrobienie przechwytywania pakietów zarówno po stronie telefonu, jak i serwera, a następnie przeanalizowanie przechwyceń za pomocą WireShark.

Wireshark ma wyjątkowo dobrą interpretację ruchu VoIP i rozkłada pakiety SIP na łatwe do odczytania fragmenty.

Stamtąd możesz stwierdzić, czy Twój serwer STUN jest niepoprawny (jeśli używasz STUN) lub czy dzieje się coś dziwnego z pakietem połączeń, a następnie użyj tego, aby zawęzić sytuację.

Powodem uruchomienia przechwytywania na obu końcach jest to, że widziałem, że niektóre dobrze zapowiadające się zapory ogniowe „SIP-Aware” nieprawidłowo manipulują pakietami SIP, co nie spowodowało końca bólu głowy, ale mogłem wtedy stwierdzić, że pakiety wchodzące do zapory były inaczej niż to, co opuszczało zaporę, co było gratulacją.

Mark Henderson
źródło
2

Przechwytywanie pakietów (thsark / ngrep) zawiera poszukiwane odpowiedzi.

Powiedziałbym, że serwer nie otrzymuje pakietu SIP do rejestracji lub klient nie może odebrać odpowiedzi, sądząc po

„RegisterAgent: Błąd rejestracji: brak odpowiedzi serwera”.

Sprawdź to, używając tshark / ngrep / tcpdump na serwerze, na którym próbujesz się zarejestrować. Jeśli widzisz, jak ląduje na serwerze, ale serwer nigdy nie odpowiada, sprawdź, czy są to pliki dziennika. Sprawdź, czy na serwerze nie ma reguł zapory, które ją blokują. Pojawi się wąchanie, ale aplikacja nie zareaguje na to.

Standardowy SIP będzie na porcie 5060, najprawdopodobniej UDP, ale czasami TCP (patrzę na ciebie Microsoft ...).

Przykłady:

tshark -i eth0 „port 5060”
ngrep -q -W byline „” „port 5060”
tcpdump „port 5060”

ngrep jest przydatny, jeśli masz dużo innego ważnego ruchu SIP, ale musisz szybko go przeczytać.

ngrep -q -W byline „5025851212” „port 5060”

Na przykład szukałby określonego numeru telefonu lub

ngrep -I CAPTURED.PCAP -q -W byline „[email protected]” „port 5060”

określony identyfikator wywołania wewnątrz wstępnie przechwyconego pliku: CAPTURED.PCAP

Essobi
źródło