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
956
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
956
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 ...
 

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,861
Beiträge
2,027,461
Mitglieder
350,964
Neuestes Mitglied
fele24078