SET Callerid. Ich bin unsicher.

Bask

Neuer User
Mitglied seit
4 Dez 2005
Beiträge
96
Punkte für Reaktionen
1
Punkte
8
Hallo an Alle,

ich habe eine vollkonfigurierte Asterisk Produktion Plattform. Jetzt möchte ich ein callback realisieren, aber ich bekomme Calls CLI in verschiedenes Format:
1) 01X. (National)
2) 00Z. (International)
3) ZZ. (International E164)
Damit callback funktioniert muss ich alle einkommende CLI in ein Format bringen und zwar 00Z. ich hab gebastelt und folgende rausgekommen:
Code:
exten => _X.,n,Set(CALLERID(num)=${{{IF($[${CALLERID(num):0:1}=0]?0049${CALLERID(num)}{IF($[${CALLERID(num)}=00]?${CALLERID(num)}{IF($[${CALLERID(num)}=1-9]?00${CALLERID(num)}}})

Kann jemand vielleicht anschauen und sagen ob das korrekt ist, weil ich nicht auf Produktivsystem eine sozusagen alfa Version von Variablen testen kann.

Danke im Voraus
 
Mach das doch in deinem Produktivsystem in einem extra Kontext.
Da kannst du dann mit allen Nummern testen wie du willst.
 
Danke für die Antwort.
Ich wollte nur wissen ob Aufbau von String prinzipiell richtig ist.
 
Etwa so..
Code:
exten => _X.,n,Set(CALLERID(num)=${{{IF($[${CALLERID(num):0:2}=00]?0049${CALLERID(num)}{IF($[${CALLERID(num):0:2}=01]?${CALLERID(num):1}?0049${CALLERID(num)}{IF($[${CALLERID(num):0:2}=ZZ]?00${CALLERID(num)}}})

Edit

habe ich ausprobiert im einzelstring funzt (letzte nicht probiert, aber denke ich nach Aufbau muss funktionieren) also:
Code:
exten => _X.,n,Set(CALLERID(num)=${IF($[${CALLERID(num):0:2}=00]?${CALLERID(num)}})
exten => _X.,n,Set(CALLERID(num)=${IF($[${CALLERID(num):0:2}=01]?0049${CALLERID(num):1}})
exten => _X.,n,Set(CALLERID(num)=${IF($[${CALLERID(num):0:2}=ZZ]?00${CALLERID(num)}}

Die Frage, wie mache ich alles in einem?
 
Zuletzt bearbeitet:
_X.,n,Set(CALLERID(num)=${IF($[${CALLERID(num):0:2}=ZZ]?00${CALLERID(num)}}

Ich glaube nicht dass das funktioniert, da du eine Zahl und nicht Buchstaben erhältst.
Ausserdem setzt du auch bei einem Ortsnetzanruf 00 voran, oder kommen bei dir alle deutschen Gespräche mit Vorwahl an?
Was machst du bei einem Gespräch ohne Absenderkennung?

Ich mache solche Erkennungen im Eingangskontext des jeweiligen Providers mit GotoIf, da ich nicht immer die Rufnummer im selben Format bekomme.

[/QUOTE]
Die Frage, wie mache ich alles in einem?[/QUOTE]

Keine Ahnung! Das wäre mir zu unübersichtlich.
 
_X.,n,Set(CALLERID(num)=${IF($[${CALLERID(num):0:2}=ZZ]?00${CALLERID(num)}}
Ich glaube nicht dass das funktioniert, da du eine Zahl und nicht Buchstaben erhältst.
Ich werde prüfen! Ich dachte ZZ wird als Patern interpretiert.

Ausserdem setzt du auch bei einem Ortsnetzanruf 00 voran, oder kommen bei dir alle deutschen Gespräche mit Vorwahl an?

Mobilfunk Gespräche kommen im form 0172987456, und werden im form 0049172987456 gesetzt. Ortsnetzanruf zur Zeit interesieren mich nicht.
Was machst du bei einem Gespräch ohne Absenderkennung?

Die wird einfach ignoriert.

Ich mache solche Erkennungen im Eingangskontext des jeweiligen Providers mit GotoIf, da ich nicht immer die Rufnummer im selben Format bekomme.

Danke für gutes Typ, ich werde mich bei WiKi schlau machen. Kannst Du bitte eventuell als Beispiel ein Schnitt aus konfig posten?
 
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.