- Mitglied seit
- 27 Okt 2004
- Beiträge
- 682
- Punkte für Reaktionen
- 0
- Punkte
- 16
Bin dabei eine Anrufweierleitung einzurichten. Aktivierung und Deaktivierung funktionieren. Der GotoIf-Befehl hingegen, der auf die Weiterleitung verzweigen sollte, funktioniert noch nicht.
Mit der Aktivierung (mit Nr. 900) sollen Anrufe für die Extension ABC auf die Nummer 00112223334444 weitergeleitet werden. Dafür wird eine Variable definiert. Die CLI zeigt:
Eingehende Anrufe von einem Provider werden an einen Makro "ruf" weitergeleitet:
Im Makro "ruf" wird als erstes überprüft, ob eine Weiterleitung besteht oder nicht. Dies erfolgt in einem weiteren Makro "callforwarding":
Hier bahnt sich das Problem an. Die an Makro "callforwarding" übergebene Variable scheint nicht richtig zu sein; ${ARG1} anstelle von ${EXTEN}ändert nichts. Der im Makro "callforwarding" befindliche GotoIf-Befehl verzweigt dann immer auf nocfi:
Nachträgliche Anmerkung: Habe folgende 3 Varianten geprüft:
exten => s,n,macro,callforwarding|${EXTEN}
exten => s,n,macro,callforwarding|${ARG1}
exten => s,n,macro,callforwarding|${ARG2}
aber alle liefern, entsprechend dem Provider über den der weiterzuleitende Anruf rein kommt z.B: "SIP/Netvoip2_in-000.."
Was ist hier zu ändern, dass es mit den Variablen richtig funktioniert?
Mit der Aktivierung (mit Nr. 900) sollen Anrufe für die Extension ABC auf die Nummer 00112223334444 weitergeleitet werden. Dafür wird eine Variable definiert. Die CLI zeigt:
Code:
vs8709*CLI>
-- Executing [90000112223334444@app30:1] Answer("SIP/ABC-0000057a", "") in new stack
-- Executing [90000112223334444@app30:2] Set("SIP/ABC-0000057a", "DB(CF/30)=00112223334444") in new stack
-- Executing [90000112223334444@app30:3] SayDigits("SIP/ABC-0000057a", "00112223334444") in new stack
-- <SIP/ABC-0000057a> Playing 'digits/0' (language 'en')
....etc.
Eingehende Anrufe von einem Provider werden an einen Makro "ruf" weitergeleitet:
Code:
exten => sipcall1,1,macro,ruf|SIP|ABC
Im Makro "ruf" wird als erstes überprüft, ob eine Weiterleitung besteht oder nicht. Dies erfolgt in einem weiteren Makro "callforwarding":
Code:
[macro-ruf]
exten => s,1,NoOp(Wir sind im Macro ruf gelandet)
exten => s,n,macro,callforwarding|${EXTEN}
exten => s,n,Dial,${ARG1}/${ARG2}|43|r
exten => s,n,Goto,s-${DIALSTATUS}|1
.... etc.
Code:
[macro-callforwarding]
exten => s,1,Set(temp=${DB(CFI/${ARG1})})
exten => s,n,GotoIf(${temp}?cfi:nocfi)
exten => s,n(cfi),Dial(SIP/${temp}@Mein-Provider-für-Weiterleitung)
exten => s,n(nocfi),NoOp
Nachträgliche Anmerkung: Habe folgende 3 Varianten geprüft:
exten => s,n,macro,callforwarding|${EXTEN}
exten => s,n,macro,callforwarding|${ARG1}
exten => s,n,macro,callforwarding|${ARG2}
aber alle liefern, entsprechend dem Provider über den der weiterzuleitende Anruf rein kommt z.B: "SIP/Netvoip2_in-000.."
Was ist hier zu ändern, dass es mit den Variablen richtig funktioniert?
Zuletzt bearbeitet: