Länderspezifischer Dialplan

Anus+

Neuer User
Mitglied seit
9 Sep 2005
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Servus miteinander! :)

Folgendes Szenarion: Ich habe einen sipgate.de-Account mit Flat-Option. Damit ist es möglich, in allerlei Länder kostenlos zu telefonieren. Dieser sipgate.de-Account ist bei mir im Moment standardmäßig für alle ausgehende Gespräche konfiguriert (ausser Mobilfunk und Fax).

Leider ist diese Flatrate ja nicht weltweit und daher würde ich gerne auf Festnetz bzw. einen anderen VoIP-Provider umschalten, sobald die gewählte Vorwahl nicht im sipgate-Flatrate-Paket enthalten ist.
Zumal es nur ein Besetztzeichen gibt, wenn mein sipgate-Guthaben nicht ausreichend aufgeladen ist...

Im Moment habe ich noch keine Ahnung wo ich bei meinem bisherigen Dialplan ansetzen soll. Bisher sieht die Sache folgendermaßen aus (extensions.conf):
Code:
[general]
static=yes
writeprotect=no


[globals]


[default]
include => echotest
include => mailbox

include => incoming-calls
include => outgoing-calls


[echotest]
exten => 81,1,answer
exten => 81,2,wait,1
exten => 81,3,playback,demo-echotest
exten => 81,4,echo
exten => 81,5,playback,demo-echodone
exten => 81,6,hangup


[mailbox]
exten => 88,1,answer
exten => 88,2,wait,1
exten => 88,3,voicemailmain
exten => 88,4,hangup


[incoming-calls]
exten => 123450,1,Dial(Zap/g1/${EXTEN})
exten => 123450,2,HangUp

exten => 1234568,1,Dial(Zap/g1/${EXTEN})
exten => 1234568,2,HangUp

exten => 1234569,1,Dial(Zap/g1/${EXTEN})
exten => 1234569,2,HangUp

exten => 1234560,1,Dial(Zap/g1/${EXTEN})
exten => 1234560,2,HangUp

exten => 123452,1,Dial(Zap/g1/${EXTEN},30,tT)
exten => 123452,2,VoiceMail(10)
exten => 123452,3,HangUp

exten => 123453,1,Dial(Zap/g1/${EXTEN})
exten => 123453,2,HangUp

; sipgate.de -------------------------------------------------------------------
[2XXXXXXe0]
exten => _X.,1,Dial(Zap/g1/123450,60,tT)
exten => _X.,2,Hangup

[2XXXXXXe1]
exten => _X.,1,Dial(Zap/g1/1234569,60,tT)
exten => _X.,2,HangUp

[2XXXXXXe2]
exten => _X.,1,Dial(Zap/g1/123452,60,tT)
exten => _X.,2,HangUp

[sipgate_de]
exten => 2XXXXXXe0,1,Dial(Zap/g1/123450)
exten => 2XXXXXXe1,1,Dial(Zap/g1/1234569)
exten => 2XXXXXXe2,1,Dial(Zap/g1/123452)
; ------------------------------------------------------------------------------


; dus.net ----------------------------------------------------------------------
[000XXXXXXXX6]
exten => _X.,1,Dial(Zap/g1/123452,60,tT)
exten => _X.,2,HangUp


[000XXXXXXXX9]
exten => _X.,1,Dial(Zap/g1/123453,60,tT)
exten => _X.,2,HangUp

[dus_net]
exten => 000XXXXXXX6,1,Dial(Zap/g1/123452)
exten => 000XXXXXXX9,1,Dial(Zap/g1/123453)
; ------------------------------------------------------------------------------

[outgoing-calls]
exten => s,1,NoOp

; internal calls
exten => 123450,1,Dial(Zap/g1/${EXTEN})
exten => 1234568,1,Dial(Zap/g1/${EXTEN})
exten => 1234569,1,Dial(Zap/g1/${EXTEN})
exten => 1234560,1,Dial(Zap/g1/${EXTEN})
exten => 123456,1,Dial(Zap/g1/${EXTEN})

; emergency calls
exten => _110,1,Dial(Capi/${PRI_NETWORK_CID}:${EXTEN})
exten => _112,1,Dial(Capi/${PRI_NETWORK_CID}:${EXTEN})
exten => _19222,1,Dial(Capi/${PRI_NETWORK_CID}:${EXTEN})

; Free calls
exten => _0800X.,1,Dial(Capi/${PRI_NETWORK_CID}:${EXTEN})

; Mobile phones
exten => _01.,1,Dial(Capi/${PRI_NETWORK_CID}:${EXTEN},60,tT)

; goto msn specific extension
exten => _X.,1,GoTo(${PRI_NETWORK_CID},${EXTEN},1)


[123450] ; hauptnummer
exten => _NXX.,1,Dial(SIP/${EXTEN}@2XXXXXXe0,30,trg)
exten => _NXX.,2,HangUp
exten => _NXX.,102,Busy


[123452] ; buero
exten => _X.,1,Dial(SIP/${EXTEN}@2XXXXXXe2,60,trg)
exten => _X.,2,HangUp
exten => _X.,102,Busy


[1234569] ; tel. a
exten => _X.,1,Dial(SIP/${EXTEN}@2XXXXXXe1,60,trg)
exten => _X.,2,HangUp
exten => _X.,102,Busy


[1234560] ; fax
exten => _X.,1,Dial(Capi/${PRI_NETWORK_CID}:${EXTEN},60,tT)
exten => _X.,2,HangUp
exten => _X.,102,Busy

So, hoffentlich habe ich jetzt beim Pseudonymisieren nicht die Logik des Dialplans zerstört.

Zumindest funktioniert die Lösung bisher ganz gut bis auf ein paar Kleinigkeiten, die ich später noch ergänzen möchte sobald die gewünschte Grundfunktionalität vorhanden ist.


Gruß, Anus+
 
Schau dir mal die Lösung in dem Link unten an. Da werden länderabhängig unterschiedliche Provider bei belegter Linie ausgewählt.
So geht das generell auch für Anrufe nach aussen.

Da du mehrere User hast, die anscheinend unterschiedliche Accounts benutzen, solltest du jedem User (oder Gruppe) seinen Kontext geben. Dort wird für den Nutzer eine Variable gesetzt die seinen Account bestimmt, also z.B
set(sipgate-id=123456)
Dann kannst du einen Rauswählkontext anlegen, in dem die Ziele global, also für alle User gleich, behandelt werden. Dort sagst du dann zum Beispiel

0041XX Goto sipgate
00417[6-9] Goto anderer Provider

Im Context sipgate sagst du dann wähle ...@${sipgate-id}
 

Neueste Beiträge

Statistik des Forums

Themen
244,858
Beiträge
2,219,652
Mitglieder
371,572
Neuestes Mitglied
#Kuddel#
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.