Hi,
ich habe mit Asterisk SIP-Channels ein Problem, das ich bisher nicht lösen konnte (ist auf mehreren Asterisk-Installationen reproduzierbar).
Aufbau:
Mehrere SIP-Telefone hängen im LAN per SIP am Asterisk
Asterisk hängt über SIP über WAN an 2 Sipgate-Accounts
Asterisk hängt über IAX an dus.net
des weiteren hängen 2 ISDN-Telefone und ein ISDN-Anschluß per quadbri am Asterisk (der ISDN-Part funktioniert aber problemlos)
Wenn nun die Interverbindung ausfällt funktioniert natürlich erstmal Sipgate nicht mehr, aber die SIP-Telefone arbeiten noch, d.h. interne Telefonate und rauswählen über ISDN geht noch.
Nach einigerzeit fängt Asterisk (Ver 1.2.x) nun aber an die Verbindung zu sipgate wieder aufzubauen, was ohne Internet natürlich nicht klappen kann. Er schickt verschiedene DNS-Anfragen zum lokalen DNS um die Adresse von sipgate aufzulösen (probiert verschiedene hostname-Varianten wie sipgate.de.lokal oder SRV-Abfragen).
Ab diesem Zeitpunkt werden die SIP-Telefone von Asterisk nicht mehr bedient. Selbst interne Nummern sind dann über SIP nicht mehr anrufbar. Die Anfrage vom Telefon an Asterisk geht raus, aber Asterisk scheint so damit beschäftigt zu sein die Sipgate-Verbindung wieder aufzubauen, dass alle SIP-Anfragen ignoriert werden. Manchmal, wenn man nach dem Wählen einige Minuten wartet, kann es passieren dass Asterisk doch noch antwortet. Selbst ein "reload" in der Konsole braucht ungewöhnlich lange bis das Kommando ausgeführt wird.
Im ISDN-Bereich ist dabei immer noch alles ok.
Ich konnte mir jetzt nur dadurch helfen, alle ext. SIP-Verbindungen aus der sip.conf zu entfernen. Dann läuft Asterisk auch im Fall eines Internet-Ausfalls ohne Probleme (dass der IAX-Provider nicht erreichbar ist, scheint die SIP-Channels nicht zu stören).
Aber irgendwie ist das ganze recht unbefriedigend. Gibt es eine Möglichkeit Asterisk anzuweisen, dass bei SIP-Providern die grade nicht per DNS auflösbar sind, die Verbindungen deaktiviert werden sollen statt den ganzen SIP-Bereich mit erfolglosen Verbindungsversuchen zu blockieren?
Oder gibt es sonst einen Workaround?
Viele Grüße
Tom
ich habe mit Asterisk SIP-Channels ein Problem, das ich bisher nicht lösen konnte (ist auf mehreren Asterisk-Installationen reproduzierbar).
Aufbau:
Mehrere SIP-Telefone hängen im LAN per SIP am Asterisk
Asterisk hängt über SIP über WAN an 2 Sipgate-Accounts
Asterisk hängt über IAX an dus.net
des weiteren hängen 2 ISDN-Telefone und ein ISDN-Anschluß per quadbri am Asterisk (der ISDN-Part funktioniert aber problemlos)
Wenn nun die Interverbindung ausfällt funktioniert natürlich erstmal Sipgate nicht mehr, aber die SIP-Telefone arbeiten noch, d.h. interne Telefonate und rauswählen über ISDN geht noch.
Nach einigerzeit fängt Asterisk (Ver 1.2.x) nun aber an die Verbindung zu sipgate wieder aufzubauen, was ohne Internet natürlich nicht klappen kann. Er schickt verschiedene DNS-Anfragen zum lokalen DNS um die Adresse von sipgate aufzulösen (probiert verschiedene hostname-Varianten wie sipgate.de.lokal oder SRV-Abfragen).
Ab diesem Zeitpunkt werden die SIP-Telefone von Asterisk nicht mehr bedient. Selbst interne Nummern sind dann über SIP nicht mehr anrufbar. Die Anfrage vom Telefon an Asterisk geht raus, aber Asterisk scheint so damit beschäftigt zu sein die Sipgate-Verbindung wieder aufzubauen, dass alle SIP-Anfragen ignoriert werden. Manchmal, wenn man nach dem Wählen einige Minuten wartet, kann es passieren dass Asterisk doch noch antwortet. Selbst ein "reload" in der Konsole braucht ungewöhnlich lange bis das Kommando ausgeführt wird.
Im ISDN-Bereich ist dabei immer noch alles ok.
Ich konnte mir jetzt nur dadurch helfen, alle ext. SIP-Verbindungen aus der sip.conf zu entfernen. Dann läuft Asterisk auch im Fall eines Internet-Ausfalls ohne Probleme (dass der IAX-Provider nicht erreichbar ist, scheint die SIP-Channels nicht zu stören).
Aber irgendwie ist das ganze recht unbefriedigend. Gibt es eine Möglichkeit Asterisk anzuweisen, dass bei SIP-Providern die grade nicht per DNS auflösbar sind, die Verbindungen deaktiviert werden sollen statt den ganzen SIP-Bereich mit erfolglosen Verbindungsversuchen zu blockieren?
Oder gibt es sonst einen Workaround?
Viele Grüße
Tom
Zuletzt bearbeitet: