Prüfen ob Asterisk online ist (VoIP-ISDN-Fallback)11. November 2005
Ihr VorhabenSie haben einen Eintrag in der sip.conf, mit dem Sie über Internet telefonieren, z.B. [1und1]. Sie wollen im Dialplan (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 VorgehenTest mit pingWenn 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ächeBei 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)
|
| |||||||||||||||||||||