Ihr Vorhaben

Sie haben einen Eintrag in der sip.conf, mit dem Sie über Internet telefonieren, z.B. [1und1]. Sie wollen im Dial-Plan (extensions.conf) überprüfen, ob die Asterisk den SIP-Server online erreichen kann, sprich, ob Internetzugang besteht und der SIP-Server verfügbar ist. Wenn ja, wollen Sie über SIP rauswählen, wenn nicht, alternativ über ISDN.

Das Vorgehen

Test mit ping

Wenn sip.1und1.de (mit der bekannten IP 212.227.15.197) nicht auf ping antwortet, wird die Nummer im Kontext [ISDNout] gewählt (die Applikation System springt um +101 weiter, wenn der Shellbefehl nicht erfolgreich war).

/etc/asterisk/extensions.conf:[SIPout]
exten => _0.,1,System('ping -w 1 -c 1 212.227.15.197 > /dev/null')
exten => _0.,2,Dial(SIP/${EXTEN}@1und1,,Tr)
exten => _0.,102,Goto(ISDNout,${EXTEN},1)

Die Optionen -w 1 -q -c 1 sorgen dafür, dass ping nur eine Sekunde lang wartet und nur einen Ping sendet.

Übrigens: Ortsgespräche

Bei VoIP benötigt man auch bei Ortsgesprächen die Vorwahl. Folgende Zeile setzt diese automatisch vor alle Nummern, die nicht mir einer 0 beginnen:

/etc/asterisk/extensions.conf:exten => _N.,1,Goto(SIPout,089${EXTEN},1)

Wissensbank Linux

Diese Artikel wurden vom Gründer von Checkmk vor vielen Jahren geschrieben. Sie sind immer noch gültig und haben deshalb weiterhin ihr Zuhause auf dieser Webseite. Mathias hat in der Zwischenzeit die Monitoringlösung Checkmk entwickelt

Mehr zu Checkmk