| |
| |
Prüfen ob Asterisk online ist (VoIP-ISDN-Fallback) |
11. November 2005
Ihr Vorhaben
Sie 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 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)
|
|
|