.titleBar { margin-bottom: 5px!important; }

Länderspezifischer Dialplan

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von Anus+, 21 Jan. 2007.

  1. Anus+

    Anus+ Neuer User

    Registriert seit:
    9 Sep. 2005
    Beiträge:
    27
    Zustimmungen:
    0
    Punkte für Erfolge:
    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+
     
  2. kombjuder

    kombjuder IPPF-Promi

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    3,086
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Weil am Rhein
    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}