Fallback Sip, Sip, ISDN

rannseier

Aktives Mitglied
Mitglied seit
5 Mai 2004
Beiträge
986
Punkte für Reaktionen
0
Punkte
0
Moin..

Ich möchte gern ein mehrstufiges Fallback einrichten.

Also wenn z.B. der 1. Sip-Provider nicht geht, dann den 2. und dann irgendwann zum Schluß ISDN.

Samstag/Sonntags dann automatisch direkt über ISDN (wegen T-ISDN XXL)

Hat jemand sowas schonmal gemacht?

Gibt es dafür irgendwo Beispiele?


MfG,
Karl
 

rajo

Admin-Team
Mitglied seit
31 Mrz 2004
Beiträge
1,958
Punkte für Reaktionen
0
Punkte
36
nun, für das Wochenende kannst Du z.B. mit zeitbasierten includes arbeiten:

include => <context>|<time range>|<days of week>|<days of month>|<months>

also z.B.
include => xxl|8:00-18:00|sat-sun|*|*
include => normal|8:00-18:00|mon-fri|*|*

und für die providersache... da musst Du Dir dann ein konstrukt mit verschiedenen Prioritäten und ggf. ein paar Gotos machen wo Du dann mit Provider1 anfängst und Dich dann "durchhangelst"
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
Kommt heute in einem anderen Thread (LCR & Lineselect). Noch kurz warten.
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0

SCM

Neuer User
Mitglied seit
20 Jul 2005
Beiträge
13
Punkte für Reaktionen
0
Punkte
0
Nicht mehr aktuell, aber falls wer über Suche hier reinkommt:

Ein einfaches Miniskript für den Dialplan, das mit ping prüft, ob die Asterisk online ist und der SIP-server des ISP erreichbar ist, wenn ja > SIP-Wahl, wenn nein > Wahl über ISDN (ISDN Fallback).

(z.B. für sip.1und1.de = 212.227.15.197)

[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)

(Hier nur für Nummern, die mit 0 anfangen, weil für SIP lokal ja die Ortsvorwahl gewählt werden muss...)

Erläuterte Version auf: http://mathias-kettner.de/lw_asterisk_sip_online_test.html

Viele Grüße
SCM
 

Tippfehler

IPPF-Promi
Mitglied seit
14 Sep 2004
Beiträge
3,144
Punkte für Reaktionen
14
Punkte
38
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)
Habe ich auch auf meiner Asterisk 1.6.2.13 probiert. Leider funktioniert das nicht.
Egal, ob der ping erfolgreich oder nicht ist, er springt danach immer immer zu exten => _0.,2,...
kleines Problem: meine Linkstation hat nur ein einfacheres ping, das kein -w 1 kennt, darauf könnte ich aber verzichten.
großes Problem: priorityjumping gab es wohl nur bis Asterisk 1.2

Meine Suche nach Asterisk und Ping brachte leider keine brauchbaren Ergebnisse.
Kennt jemand eine Lösung, wie ich eine ping-Abfrage in den Dialplan von Asterisk 1.6.2 einbauen kann?
 
R

rentier-s

Guest
Du könntest Shell statt System verwenden und das Ergebnis mit GotoIf auswerten. Oder Du baust den ping in ein (SH-)Skript und rufst das per AGI auf.
 

Tippfehler

IPPF-Promi
Mitglied seit
14 Sep 2004
Beiträge
3,144
Punkte für Reaktionen
14
Punkte
38
Danke, das werde ich demnächst mal probieren.
Momentan mache ich es über die Wahlhilfe der Fritzbox so:
http://www.ip-phone-forum.de/showthread.php?t=213417&p=1787820&viewfull=1#post1787820
Das kommt dem schon sehr nahe, läuft aber noch nicht ganz rund.
---2.12.14---
So funktionierte es drei Jahre lang, bis ich ein Update der Fritzbox auf Firmware 6.20 gemacht hatte.
Bei 6.20 funktioniert die debug.cfg-Variante nicht mehr und es fehlen auch ein paar Busybox-Befehle.
Die Ping-Abfrage musste deswegen in ein Script auf der Linkstation umziehen.
Jetzt wird bei jeden ankommenden Telefonat ein Pingtest ausgeführt und je nach Ergebnis ein angepasstes Callfile geschrieben, das dann per Pickup das Gespräch annimmt und an die richtige Stelle weiterleitet. Etwas umständlich, funktioniert aber perfekt.
 
Zuletzt bearbeitet:

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,324
Beiträge
2,021,179
Mitglieder
349,864
Neuestes Mitglied
schalf100