Stránka 1 z 1

Asterisk - telefon nezvoní při příchozím volání

PříspěvekNapsal: 01 úno 2013 13:20
od stepos
Hezký den, můžu se zeptat, co znamená hláška:
chan_sip.c:13931 check_auth: Correct auth, but based on stale nonce received from...
?

Mám připojené k asterisku bezdrátové telefony Grandstream DP 715 a 710 . Na jedné základně se připojí dva telefony každý přes svůj sip účet na asterisku.
Pravděpodobně to bude chyba té základny, která asi neodpovídá...

Díky za pomoc.
Štěpán

Re: Asterisk - telefon nezvoní při příchozím volání

PříspěvekNapsal: 01 úno 2013 16:33
od milan.benicek
Zdravím,
"stale nonce" hláška je spíše z kategorie warning a rozhodně nemusí znamenat nic špatného.

Když trochu zabrousím do teorie SIP protokolu, tak nonce je jakýsi jednorázový identifikátor, který se často mění a přimíchává se do autorizačních údaje v SIP paketu. Dělá se to kvůli tomu, aby ke zneužití SIP účtu nestačilo jen odposlechnout komunikaci a odchytané hashe pak použít pro sestavení vlastního hovoru na cizí účet. Proto SIP RFC vyžaduje periodickou generaci náhodného nonce, který se pak připojuje k autorizačnímu řetězci a šifruje je se nejčastěji algoritmem MD5. Je to trochu z rychlíku, protože nejsem úplně specialista na kryptografii, ale principiálně by to tak mělo fungovat.

Každopádně jde o to, že pokud SIP klient použije expirovaný nonce, je taková situace označena jako "stale nonce" a následuje výměna nového nonce, který pak musí SIP klient použít při komunikaci se serverem (např. při sestavování hovorů). Jedná se tedy vlastně jen o varování, že k tomu došlo a mohlo by to znamenat útok (použití odposlechnutých dat z předcházející relace - session).
V praxi to spíš signalizuje problém na straně klienta se získáním/zpracováním nonce (třeba ztrátu paketu s novým nonce) nebo prostě časový hazard při SIP registraraci/reregistraci, kdy se do SIP zprávy použije akruální nonce příčemž než se stačí odeslat, server mezi tím vygeneruje a zašle nový, který se ale díky sledu událostí už do SIP paketu nedostane.

No, vy s tím moc neuděláte. Pokud by to skutečně byla příčina problému, tak je to na kontrolu firmware, jestli to výrobce už náhodou neopravil.

Podle mě tam máte ale spíš něco jiného ...