Ich habe hier eine Trixbox 2 im Einsatz. Ich möchte nun bestimmte Variablen in einem Dialplan einsetzen, habe aber noch nicht herausfinden können, welche ich verwenden muss.
Ein eingehender Anruf löst diesen Makro aus:
Nun sollte der Makro notify2 an einem Computer den eingehenden Anruf mit Name und Nummer des Anrufers und die betreffende Nebenstelle anzeigen.
«clientip» ist in AstDB gespeichert. Wenn ich nun die Nebenstellennummer, wie im Beispiel (101) fest eintrage, funktioniert es wie erwartet.
Ich möchte nun aber diese Nummer auch durch eine Variable ersetzen, habe aber keine Idee, wie ich herausfinden kann, welche Variable das sein soll.
Ein eingehender Anruf löst diesen Makro aus:
Code:
[macro-user-callerid]
exten => s,1,GotoIf($["${CHANNEL:0:5}" = "Local"]?report)
exten => s,n,GotoIf($["${REALCALLERIDNUM:1:2}" != ""]?start)
exten => s,n,Set(REALCALLERIDNUM=${CALLERID(number)})
exten => s,n(start),NoOp(REALCALLERIDNUM is ${REALCALLERIDNUM})
exten => s,n,Set(AMPUSER=${DB(DEVICE/${REALCALLERIDNUM}/user)})
exten => s,n,Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)})
exten => s,n,GotoIf($["x${AMPUSERCIDNAME:1:2}" = "x"]?report)
exten => s,n,Set(CALLERID(all)=${AMPUSERCIDNAME} <${AMPUSER}>)
exten => s,n(report),NoOp(Using CallerID ${CALLERID(all)})
exten => s,n,Macro(notify2)
Code:
macro-notify2]
exten => s,1,DBget(IP=clientip/101)
exten => s,n,Notify(${CALLERID(number)},${CALLERID(name)},${DB(AMPUSER/101/cidname)}/${IP})
«clientip» ist in AstDB gespeichert. Wenn ich nun die Nebenstellennummer, wie im Beispiel (101) fest eintrage, funktioniert es wie erwartet.
Ich möchte nun aber diese Nummer auch durch eine Variable ersetzen, habe aber keine Idee, wie ich herausfinden kann, welche Variable das sein soll.