.titleBar { margin-bottom: 5px!important; }

Wohin mit «Custom»-Macros?

Dieses Thema im Forum "FreePBX, TrixBox (Asterisk@Home)" wurde erstellt von robinsonR, 27 Jan. 2009.

  1. robinsonR

    robinsonR Mitglied

    Registriert seit:
    17 Apr. 2006
    Beiträge:
    559
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    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.
    Code:
    [macro-user-callerid]
    include => macro-user-callerid-custom
    exten => s,1,Noop(user-callerid: ${CALLERID(name)} ${CALLERID(number)})
    usw.
    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:
    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]
    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.