Anrufe nach Ländercode sortieren (Ländervorwahl)

dileso

Neuer User
Mitglied seit
8 Jan 2008
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich möchte gerne in meinem Asterisk eingehende Rufe anhand des Ländercodes sortieren.
Auf einer Rufnummer kommen nationale und internationale Anrufe an. Damit nicht jeder das gesammte Voicemenu durchlaufen muss, würde ich gerne anhand des Ländercodes die Anrufer an die Teams verteilen.
Ich habe bereits festgestellt, dass die nationalen Anrufe mit 00xxxxx anfangen und die internationalen mit 000YYxxxxx oder direkt mit dem Ländercode YYxxxxxxx (Y=Ländercode)
Leider gelingt es mir nicht in eine gotoif Abfrage eine Expression wie _00[1-9].
einzufügen. Sowie ich verstanden habe sollte der Befehl aber doch reguläre Ausdrücke verstehen oder?

Hat jeman eine Idee wie ich das Problem lösen kann?
Vielen Dank
 
Zuletzt bearbeitet:

abw1oim

Aktives Mitglied
Mitglied seit
26 Mrz 2007
Beiträge
959
Punkte für Reaktionen
4
Punkte
18
Geht auch ohne REGEX - mit Deinen Angaben im Prinzip so:

Code:
exten => _X.,1,GotoIf($["${EXTEN:0:3}" = "000"]?inter)
exten => _X.,n,GotoIf($["${EXTEN:0:2}" = "00"]?national)
exten => _X.,n,Goto(inter)
exten => _X.,n(national),NoOp(Nationales Gespräch)
exten => _X.,n(inter),NoOp(Internationales Gespräch)

Nun kann man natürlich die einzelnen Countrycodes bzw. NDCs von Deutschland weiter auseinandernehmen, man könnte es aber eben auch erst einmal vereinheitlichen, wenn Du dannn einheitlich nach einer standardisierten Ländertabelle mit rückwahlfähigen Rufnummern arbeiten willst:

Code:
exten => _X.,1,GotoIf($["${EXTEN:0:3}" = "000"]?inter)
exten => _X.,n,GotoIf($["${EXTEN:0:2}" = "00"]?national)
exten => _X.,n,Goto(inter,000${EXTEN})
exten => _X.,n(national),NoOp(Nationales Gespräch)
exten => _X.,n(national),Goto(inter1,00049${EXTEN:2})
exten => _X.,n(inter),NoOp(Internationales Gespräch)
exten => _X.,n(inter),Goto(inter1)
exten => _X.,n(inter1),NoOp(Rufnummer rückwahlfähig standardisiert)
exten => _X.,n(inter1),NoOp(${EXTEN})

(Ist jetzt nur aus dem Kopf, kann es gerade nicht testen, sollte jedoch im Prinzip funktionieren ;))

Jetzt könntest Du die Call-Distribution mit einer entsprechenden einheitlichen Ländertabelle machen, die EXTENS wären jetz alle im Format

000<CC><NDC><SN>

und damit nach der von Dir geschilderten Anlagenlogik einerseits rückwahlfähig, andererseits einheitlich auswertbar im Hinblick auf das Herkunftsland/-gebiet.
 

dileso

Neuer User
Mitglied seit
8 Jan 2008
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo abw1oim,
vielen Dank für den Lösungsansatz. Leider geht’s nicht ganz so weil
${EXTEN:0:3} beinhaltet ja die Rufnummer die Angerufen wurde und nicht die des Anrufers.
Aber mit deinem Ansatz und ${CALLERID(num):0:3} geht es.

Vielen Dank :)

exten => main,1,NoOp(Caller-ID: ${CALLERID(num)})
exten => main,n,GotoIf($["${CALLERID(num):0:5}" = "00033"]?hotline,FR,1)
exten => main,n,GotoIf($["${CALLERID(num):0:2}" = "33"]?hotline,FR,1)
exten => main,n,GotoIf($["${CALLERID(num):0:5}" = "00034"]?hotline,ES,1)
exten => main,n,GotoIf($["${CALLERID(num):0:2}" = "34"]?hotline,ES,1)
exten => main,n,GotoIf($["${CALLERID(num):0:5}" = "00044"]?hotline,EN,1)
exten => main,n,GotoIf($["${CALLERID(num):0:2}" = "44"]?hotline,EN,1)
exten => main,n,GotoIf($["${CALLERID(num):0:5}" = "00031"]?hotline,NL,1)
exten => main,n,GotoIf($["${CALLERID(num):0:2}" = "31"]?hotline,NL,1)
exten => main,n,GotoIf($["${CALLERID(num):0:5}" = "00039"]?hotline,IT,1)
exten => main,n,GotoIf($["${CALLERID(num):0:2}" = "39"]?hotline,IT,1)
; uns so weiter…

; alle anderen internationalen
exten => main,n,GotoIf($["${CALLERID(num):0:3}" = "000"]?international)

; und die lokalen (deutschen)
exten => main,n,GotoIf($["${CALLERID(num):0:2}" = "00"]?hotline,DE,1)
 

abw1oim

Aktives Mitglied
Mitglied seit
26 Mrz 2007
Beiträge
959
Punkte für Reaktionen
4
Punkte
18
Das ist mir auf die Schnelle passiert, Asche auf mein Haupt ;)

Du hast natürlich völlig recht, dass es die CALLERID(num) braucht ...
 

Zurzeit aktive Besucher

3CX

Statistik des Forums

Themen
239,014
Beiträge
2,121,092
Mitglieder
362,076
Neuestes Mitglied
gekko1978

Erhalten Sie 3CX für 1 Jahr kostenlos!

Gehostet, in Ihrer privaten Cloud oder on-Premise! Ganz ohne Haken. Geben Sie Ihren Namen und Ihre E-Mail an und los geht´s:

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.
oder via