In Version 2.6.2 gibt es in der Datei extensions_additional.conf einen Abschnitt «macro-user-callerid». Dort wird mit einem «include»-Befehl der Kontext «macro-user-callerid-custom» eingebunden.
Es sollte doch möglich sein, damit das Macro «macro-user-callerid» zu ergänzen, bzw. zu ersetzen. Ich möchte nämlich dort noch ein Macro einfügen:
Mit dem Macro «macro-getcid-general» (steht in «extensions_custom.conf») wird der eingehende Anruf auf dem Computer angezeigt.
Wo muss ich nun also den Kontext «macro-user-callerid-custom» anlegen? Oder muss das Macro «macro-getcid-general» an einer anderen Stelle eingefügt werden? Wo?
Ich kann den Aufruf leider nicht im Kontext «macro-user-callerid» stehen lassen, da dieser beim Programmstart wieder mit dem automatisch erzeugten Inhalt überschrieben wird.
Code:
[macro-user-callerid]
include => macro-user-callerid-custom
exten => s,1,Noop(user-callerid: ${CALLERID(name)} ${CALLERID(number)})
usw.
Code:
[macro-user-callerid]
exten => s,1,Noop(user-callerid: ${CALLERID(name)} ${CALLERID(number)})
exten => s,n,Set(AMPUSER=${IF($["foo${AMPUSER}" = "foo"]?${CALLERID(number)}:${AMPUSER})})
exten => s,n,GotoIf($["${CHANNEL:0:5}" = "Local"]?report)
exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""],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(AMPUSERCID=${IF($["${DB_EXISTS(AMPUSER/${AMPUSER}/cidnum)}" = "1"]?${DB_RESULT}:${AMPUSER})})
exten => s,n,Set(CALLERID(all)="${AMPUSERCIDNAME}" <${AMPUSERCID}>)
exten => s,n,Set(REALCALLERIDNUM=${DB(DEVICE/${REALCALLERIDNUM}/user)})
exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/language)}" != ""],Set,CHANNEL(language)=${DB(AMPUSER/${AMPUSER}/language)})
exten => s,n(report),Noop(TTL: ${TTL} ARG1: ${ARG1})
exten => s,n,Macro(getcid-general)
exten => s,n,GotoIf($[ "${ARG1}" = "SKIPTTL" ]?continue)
exten => s,n(report2),Set(__TTL=${IF($["foo${TTL}" = "foo"]?64:$[ ${TTL} - 1 ])})
exten => s,n,GotoIf($[ ${TTL} > 0 ]?continue)
exten => s,n,Wait(${RINGTIMER})
exten => s,n,Answer
exten => s,n,Wait(2)
exten => s,n,Playback(im-sorry&an-error-has-occured&with&call-forwarding)
exten => s,n,Macro(hangupcall,)
exten => s,n,Congestion(20)
exten => s,n(continue),Noop(Using CallerID ${CALLERID(all)})
exten => h,1,Macro(hangupcall,)
; end of [macro-user-callerid]
Wo muss ich nun also den Kontext «macro-user-callerid-custom» anlegen? Oder muss das Macro «macro-getcid-general» an einer anderen Stelle eingefügt werden? Wo?
Ich kann den Aufruf leider nicht im Kontext «macro-user-callerid» stehen lassen, da dieser beim Programmstart wieder mit dem automatisch erzeugten Inhalt überschrieben wird.