Předdefinované kanálově specifické proměnné
Níže uvedený seznam obsahuje kanálově specifické proměnné, které jsou nastaveny přímo Asteriskem a jejichž hodnoty můžete použít v plánu volání. Na rozdíl od uživatelem definovaných proměnných jsou proměnné definované Asteriskem citlivé na velikost písmen.
- ${ACCOUNTCODE}: Kód účtu, pokud je přiřazen - viz Billing v Asterisku. (Zastaralé od verze 1.2.0 a odstraněné ve verzi 1.4.0. Použijte ${CDR(accountcode)}.)
- ${ANSWEREDTIME}: Čas, kdy byla hovor přijata.
- ${BLINDTRANSFER}: Aktivní SIP kanál, který uskutečňuje hovor. Zde bude definován název SIP kanálu, který uskutečňuje hovor při přenosu typu blind - viz BLINDTRANSFER?
- ${CALLERID(all)} : Aktuální hodnota jména a čísla z CallerID - Viz sekce Nastavení CallerID?, věnovaná práci s CallerID v Asterisku verze 1.4
- ${CALLERID(name)} : Aktuální hodnota jména z CallerID - Proměnná ${CALLERIDNAME} byla používána v Asterisku do verze 1.2.0, je označena jako ZASTARALÁ od verze 1.2.0 a odstraněná ve verzi 1.4.
- ${CALLERID(num)} : Aktuální hodnota čísla z CallerID - Proměnná ${CALLERIDNUM} byla používána v Asterisku do verze 1.2.0, je označena jako ZASTARALÁ od verze 1.2.0 a odstraněná ve verzi 1.4. (Poznámka: Hodnota této proměnné nemusí být nutně číselná, jak by mohlo naznačovat její jméno, a její hodnotou může být i znak mezery. Pro příkazy, které pracují s hodnotou této proměnné (např. 'GotoIf'), je třeba tento fakt zohlednit).
- ${CALLINGPRES}: Proměnná obsahující PRI Call ID Presentation, pro příchozí hovory (Viz callingpres )
- ${CHANNEL}: Aktuální název kanálu
- ${CONTEXT}: Aktuální název kontextu
- ${DATETIME}: Aktuální čas a datum ve formátu: DDMMYYYY-HH:MM:SS Tato proměnná je zastaralá v Asterisku verze 1.2, místo ní použijte konstrukci: ${STRFTIME(${EPOCH},,%d%mNaVH:NaVS)})
- ${DIALEDPEERNAME}: Jméno volaného účastníka. V současné době nefunguje, viz DIALEDPEERNAME?
- ${DIALEDPEERNUMBER}: Číslo volaného účastníka. V současné době nefunguje, viz DIALEDPEERNUMBER?
- ${DIALEDTIME}: Čas, kdy bylo číslo vytočeno. (Funguje pouze, pokud volaný účastník přijal hovor?!)
- ${DIALSTATUS}: Stav hovoru. Viz DIALSTATUS
- ${DNID}: Dialed Number Identifier. Pro podporu omezení odchozích hovorů, viz DNID?
- ${EPOCH}: Aktuální čas ve formátu UNIX (počet sekund uplynulých od 1. ledna 1970)
- ${EXTEN}: Aktuální extenze
- ${HANGUPCAUSE}: Poslední kód návratu vrácený po ukončení spojení pro Zap kanál připojený k rozhraní PRI
- ${INVALID_EXTEN}: Požadovaná extenze, pro případy, kdy je přesměrována na zpracování i (neplatné) extenze
- ${LANGUAGE}: Aktuální jazyk zpráv. Viz Asterisk multi-language?
- ${MEETMESECS}: Počet sekund, po které uživatel účastnil konference MeetMe?.
- ${PRIORITY}: Aktuální hodnota priority.
- ${RDNIS}: Caller ID, pro účastníka provádějícího přesměrování DNIS. Pro podporu omezení odchozích hovorů, viz RDNIS?
- ${SIPDOMAIN}: Cílová doména pro odchozí SIP hovor (pokud je přítomna)
- ${SIP_CODEC}: Používá se k nastavení kodeku pro hovor přes SIP kanál (předpokládá se, že nefunguje ve verzi 1.0.1, funguje ve 1.0.3 & 1.0.4, nejistota ohledně 1.0.2)
- ${SIPCALLID}: Hodnota hlavičkového pole Call-ID: v zprávách SIP dialogu.
- ${SIPUSERAGENT}: Hodnota hlavičkového pole "user agent" v zprávách SIP dialogu.
- ${TIMESTAMP}: Aktuální datum a čas ve formátu: YYYYMMDD-HHMMSS Tato proměnná je zastaralá v Asterisku verze 1.2, místo ní použijte konstrukci: ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
- ${TRANSFERCAPABILITY}: Typ kanálu.
- ${TXTCIDNAME}: Výsledek aplikace TXTCIDName (viz níže)
- ${UNIQUEID}: Aktuální unikátní identifikátor hovoru
- ${TOUCH_MONITOR}: Používá se pro "záznam jedním stiskem" (viz features.conf a příznaky wW pro příkaz dial). Pokud je nastavena na obou koncích spojení, pak tato proměnná obsahuje app_args (argumenty) pro aplikaci app_monitor, jinak pro ni budou použity výchozí argumenty: WAV||m
- ${CONTEXT}: Název aktuálního kontextu
- ${DATETIME}: Aktuální datum a čas ve formátu: !YYYY-MM-DD_HH:MM:SS
- ${TIMESTAMP}: Aktuální datum a čas ve formátu: YYYYMMDD-HHMMSS
- ${EPOCH}: Aktuální čas UNIX epochy (počet sekund od 1. ledna 1970)
- ${EXTEN}: Aktuální telefonní číslo (extension)
- ${INVALID_EXTEN}: Zvolené telefonní číslo při přesměrování na neplatnou extension (i)
- ${LANGUAGE}: Aktuální nastavení jazyka. Viz podpora národních jazyků v Asterisku
- ${PRIORITY}: Aktuální priorita
- ${CALLINGPRES}: Proměnná prezentace ID hovoru PRI pro příchozí hovory (viz callingpres)
- ${CALLERID}: Identifikátor volajícího (jméno a číslo)
- ${CALLERIDNAME}: Identifikátor volajícího: jméno
- ${CALLERIDNUM}: Identifikátor volajícího: číslo
- ${CHANNEL}: Název aktuálního kanálu
- ${RDNIS}: Aktuální přesměrovávající DNIS, identifikátor volajícího, který přesměroval hovor. Viz RDNIS
- ${SIPDOMAIN}: Doména cíle SIP příchozího hovoru (pokud je to vhodné)
- ${SIP_CODEC}: Používá se k nastavení kodeku SIP pro hovor
- ${SIPCALLID}: Hlavička Call-ID: dialogu SIP
- ${SIPUSERAGENT}: Hlavička uživatelského agenta SIP
- ${UNIQUEID}: Unikátní ID aktuálního hovoru SIP
- ${HANGUPCAUSE}: Poslední návratový kód ukončení hovoru na kanálu Zap připojeném k rozhraní PRI
- ${DNID}: Identifikátor volaného čísla
- ${ACCOUNTCODE}: Kód účtu, pokud je zadán - viz fakturace Asterisku
Proměnné používané různými aplikacemi
Některé aplikace používají hodnoty „kanálových“ proměnných nebo do nich vracejí výsledky své činnosti.
- Příkaz AgentCallbackLogin? vrací v ${AGENTBYCALLERID_${CALLERID}}: ID úspěšně autorizovaného agenta.
- Příkaz ChanIsAvail vrací v ${AVAILCHAN}: první dostupný kanál
- Příkaz Dial používá hodnotu proměnné ${VXML_URL}: pro odeslání XML URL do telefonu Cisco 7960.
- Příkaz Dial používá hodnotu proměnné ${ALERT_INFO}: pro předání informací o typu hovoru telefonům Cisco.
- Příkaz Dial vrací v ${CAUSECODE}: Kód chyby, pokud se hovor nezdařil.
- Příkaz Dial vrací v ${DIALSTATUS}: textový kód výsledku poslední pokusu o spojení s volaným.
- Příkaz Dial používá hodnotu proměnné ${TRANSFER_CONTEXT}: Pokud je tato proměnná nastavena, při provádění operace předání hovoru (#transfer), bude použita pro provádění příkazů extenze z uvedeného kontextu.
- Příkaz EnumLookup vrací do proměnné ${ENUM}: výsledek vyhledávání.
- Příkaz Hangup používá hodnotu proměnné ${PRI_CAUSE} pro nastavení návratových kódů rozhraní PRI.
- Příkaz MeetMe používá hodnotu proměnné {MEETME_AGI_BACKGROUND}: pro určení AGI skriptu, který má být spuštěn.
- Příkaz MeetMe vrací do proměnné ${MEETMESECS}: počet sekund, které uživatel strávil v konferenci.
- Příkaz Playback vrací do proměnné ${PLAYBACKSTATUS}: Výsledek provedení příkazu (FAILED|SUCCESS).
- Příkaz Queue vrací do proměnné ${QUEUESTATUS}: Důvod, proč hovor umístěný ve frontě ji opustil.
- Příkaz TXTLookup vrací do proměnné ${TXTCIDNAME}: výsledek vyhledávání v DNS.
- Příkaz VoiceMail vrací do proměnné ${VMSTATUS}: výsledek provedení aplikace VoiceMail?. Možné hodnoty: SUCCESS | USEREXIT | FAILED .
Promenné specifické pro makra
Při použití kontextů jako maker jsou k dispozici další „kanálové“ proměnné specifické pro makra.
- ${ARG1}: první argument předaný makru
- ${ARG2}: druhý argument předaný makru (a tak dále ...)
- ${MACRO_CONTEXT}: Název kontextu extenze, která toto makro vyvolala
- ${MACRO_EXTEN}: Extence, která toto makro vyvolala
- ${MACRO_OFFSET}: Nastavuje makro pro určení priority, od které bude pokračovat provádění příkazů po dokončení práce makra
- ${MACRO_PRIORITY}: Priorita extence v okamžiku vyvolání tohoto makra
Proměnné prostředí
Přístup k unixovým proměnným prostředí můžete získat pomocí následující syntaxe:
${ENV(''foo'')}
