Asterisk标准通道变量
在asterisk中,定義了許多變量,或是有些變量能夠被其讀取。下面給出了它們的列表。在每一個application的幫助文檔中,你可以獲得更多的信息。所有這些變量都是大寫的。
被*標(biāo)記的變量是內(nèi)建函數(shù),不能在撥號方案中被設(shè)置,只能被讀取。對這些變量的賦值將被忽略。
${CDR(accountcode)}????* Account code (if specified)
${BLINDTRANSFER}?????????The name of the channel on the other side of a blind transfer
${BRIDGEPEER}????????????Bridged peer
${BRIDGEPVTCALLID}???????Bridged peer PVT call ID (SIP Call ID if a SIP call)
${CALLERID(ani)}???????* Caller ANI (PRI channels)
${CALLERID(ani2)}??????* ANI2 (Info digits) also called Originating line information or OLI
${CALLERID(all)}???????* Caller ID
${CALLERID(dnid)}??????* Dialed Number Identifier
${CALLERID(name)}??????* Caller ID Name only
${CALLERID(num)}???????* Caller ID Number only
${CALLERID(rdnis)}?????* Redirected Dial Number ID Service
${CALLINGANI2}?????????* Caller ANI2 (PRI channels)
${CALLINGPRES}?????????* Caller ID presentation for incoming calls (PRI channels)
${CALLINGTNS}??????????* Transit Network Selector (PRI channels)
${CALLINGTON}??????????* Caller Type of Number (PRI channels)
${CHANNEL}?????????????* Current channel name
${CONTEXT}?????????????* Current context
${DATETIME}????????????* Current date time in the format: DDMMYYYY-HH:MM:SS
?????????????????????????(Deprecated; use ${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)})
${DB_RESULT}?????????????Result value of DB_EXISTS() dial plan function
${EPOCH}???????????????* Current unix style epoch
${EXTEN}???????????????* Current extension
${ENV(VAR)}??????????????Environmental variable VAR
${GOTO_ON_BLINDXFR}??????Transfer to the specified context/extension/priority
?????????????????????????after a blind transfer (use ^ characters in place of
?????????????????????????| to separate context/extension/priority when setting
?????????????????????????this variable from the dialplan)
${HANGUPCAUSE}?????????* Asterisk cause of hangup (inbound/outbound)
${HINT}????????????????* Channel hints for this extension
${HINTNAME}????????????* Suggested Caller*ID name for this extension
${INVALID_EXTEN}?????????The invalid called extension (used in the "i" extension)
${LANGUAGE}????????????* Current language (Deprecated; use ${LANGUAGE()})
${LEN(VAR)}????????????* String length of VAR (integer)
${PRIORITY}????????????* Current priority in the dialplan
${PRIREDIRECTREASON}?????Reason for redirect on PRI, if a call was directed
${TIMESTAMP}???????????* Current date time in the format: YYYYMMDD-HHMMSS
?????????????????????????(Deprecated; use ${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
${TRANSFER_CONTEXT}??????Context for transferred calls
${FORWARD_CONTEXT}???????Context for forwarded calls
${UNIQUEID}????????????* Current call unique identifier
${SYSTEMNAME}??????????* value of the systemname option of asterisk.conf
${ENTITYID}????????????* Global Entity ID set automatically, or from asterisk.conf
Application的返回值(Application return values)
當(dāng)你調(diào)用有些application的時候,它們會返回一個值供你讀取。對于每一個application,這些狀態(tài)字段是唯一的。各種狀態(tài)值,前參考每個application的幫助文檔。
${AGISTATUS}?????????* agi()
${AQMSTATUS}?????????* addqueuemember()
${AVAILSTATUS}???????* chanisavail()
${CHECKGROUPSTATUS}??* checkgroup()
${CHECKMD5STATUS}????* checkmd5()
${CPLAYBACKSTATUS}???* controlplayback()
${DIALSTATUS}????????* dial()
${DBGETSTATUS}???????* dbget()
${ENUMSTATUS}????????* enumlookup()
${HASVMSTATUS}???????* hasnewvoicemail()
${LOOKUPBLSTATUS}????* lookupblacklist()
${OSPAUTHSTATUS}?????* ospauth()
${OSPLOOKUPSTATUS}???* osplookup()
${OSPNEXTSTATUS}?????* ospnext()
${OSPFINISHSTATUS}???* ospfinish()
${PARKEDAT}??????????* parkandannounce()
${PLAYBACKSTATUS}????* playback()
${PQMSTATUS}?????????* pausequeuemember()
${PRIVACYMGRSTATUS}??* privacymanager()
${QUEUESTATUS}???????* queue()
${RQMSTATUS}?????????* removequeuemember()
${SENDIMAGESTATUS}???* sendimage()
${SENDTEXTSTATUS}????* sendtext()
${SENDURLSTATUS}?????* sendurl()
${SYSTEMSTATUS}??????* system()
${TRANSFERSTATUS}????* transfer()
${TXTCIDNAMESTATUS}??* txtcidname()
${UPQMSTATUS}????????* unpausequeuemember()
${VMSTATUS}??????????* voicmail()
${VMBOXEXISTSSTATUS} * vmboxexists()
${WAITSTATUS}????????* waitforsilence()
各種application的相關(guān)變量(Various application variables)
${CURL}?????????????????* Resulting page content for curl()
${ENUM}?????????????????* Result of application EnumLookup
${EXITCONTEXT}????????????Context to exit to in IVR menu (app background())
??????????????????????????or in the RetryDial() application
${MONITOR}??????????????* Set to "TRUE" if the channel is/has been monitored (app monitor())
${MONITOR_EXEC}???????????Application to execute after monitoring a call
${MONITOR_EXEC_ARGS}??????Arguments to application
${MONITOR_FILENAME}???????File for monitoring (recording) calls in queue
${QUEUE_PRIO}?????????????Queue priority
${QUEUE_MAX_PENALTY}??????Maximum member penalty allowed to answer caller
${QUEUE_MIN_PENALTY}??????Minimum member penalty allowed to answer caller
${QUEUESTATUS}????????????Status of the call, one of:
??????????????????????????(TIMEOUT | FULL | JOINEMPTY | LEAVEEMPTY | JOINUNAVAIL | LEAVEUNAVAIL)
${RECORDED_FILE}????????* Recorded file in record()
${TALK_DETECTED}????????* Result from talkdetect()
${TOUCH_MONITOR}??????????The filename base to use with Touch Monitor (auto record)
${TOUCH_MONITOR_PREF}???* The prefix for automonitor recording filenames.
${TOUCH_MONITOR_FORMAT}???The audio format to use with Touch Monitor (auto record)
${TOUCH_MONITOR_OUTPUT} * Recorded file from Touch Monitor (auto record)
${TOUCH_MONITOR_MESSAGE_START} Recorded file to play for both channels at start of monitoring session
${TOUCH_MONITOR_MESSAGE_STOP} Recorded file to play for both channels at end of monitoring session
${TXTCIDNAME}???????????* Result of application TXTCIDName
${VPB_GETDTMF}????????????chan_vpb
MeetMe會議橋[會議電話橋分器](The MeetMe Conference Bridge)
${MEETME_RECORDINGFILE}??????Name of file for recording a conference with the "r" option
${MEETME_RECORDINGFORMAT}????Format of file to be recorded
${MEETME_EXIT_CONTEXT}???????Context for exit out of meetme meeting
${MEETME_AGI_BACKGROUND}?????AGI script for Meetme (DAHDI only)
${MEETMESECS}??????????????* Number of seconds a user participated in a MeetMe conference
${CONF_LIMIT_TIMEOUT_FILE}???File to play when time is up. Used with the L() option.
${CONF_LIMIT_WARNING_FILE}???File to play as warning if 'y' is defined. The default is to say the time remaining.??Used with the L() option.
The VoiceMail() application
${VM_CATEGORY}??????Sets voicemail category
${VM_NAME}????????* Full name in voicemail
${VM_DUR}?????????* Voicemail duration
${VM_MSGNUM}??????* Number of voicemail message in mailbox
${VM_CALLERID}????* Voicemail Caller ID (Person leaving vm)
${VM_CIDNAME}?????* Voicemail Caller ID Name
${VM_CIDNUM}??????* Voicemail Caller ID Number
${VM_DATE}????????* Voicemail Date
${VM_MESSAGEFILE} * Path to message left by caller
The VMAuthenticate() application
${AUTH_MAILBOX}???* Authenticated mailbox
${AUTH_CONTEXT}???* Authenticated mailbox context
DUNDiLookup()
${DUNDTECH}???????* The Technology of the result from a call to DUNDiLookup()
${DUNDDEST}???????* The Destination of the result from a call to DUNDiLookup()
chan_dahdi
${ANI2}???????????????* The ANI2 Code provided by the network on the incoming call. (ie, Code 29 identifies call as a Prison/Inmate Call)
${CALLTYPE}???????????* Type of call (Speech, Digital, etc)
${CALLEDTON}??????????* Type of number for incoming PRI extension i.e. 0=unknown, 1=international, 2=domestic, 3=net_specific, 4=subscriber, 6=abbreviated, 7=reserved
${CALLINGSUBADDR}?????* Called PRI Subaddress
${FAXEXTEN}???????????* The extension called before being redirected to "fax"
${PRIREDIRECTREASON}??* Reason for redirect, if a call was directed
${SMDI_VM_TYPE}???????* When an call is received with an SMDI message, the 'type' of message 'b' or 'u'
chan_sip
${SIPCALLID}?????????* SIP Call-ID: header verbatim (for logging or CDR matching)
${SIPDOMAIN}?????????* SIP destination domain of an inbound call (if appropriate)
${SIPUSERAGENT}??????* SIP user agent (deprecated)
${SIPURI}????????????* SIP uri
${SIP_CODEC}???????????Set the SIP codec for a call
${SIP_URI_OPTIONS}???* additional options to add to the URI for an outgoing call
${RTPAUDIOQOS}?????????RTCP QoS report for the audio of this call
${RTPVIDEOQOS}?????????RTCP QoS report for the video of this call
chan_agent
${AGENTMAXLOGINTRIES}??Set the maximum number of failed logins
${AGENTUPDATECDR}??????Whether to update the CDR record with Agent channel data
${AGENTGOODBYE}????????Sound file to use for "Good Bye" when agent logs out
${AGENTACKCALL}????????Whether the agent should acknowledge the incoming call
${AGENTAUTOLOGOFF}?????Auto logging off for an agent
${AGENTWRAPUPTIME}?????Setting the time for wrapup between incoming calls
${AGENTNUMBER}???????* Agent number (username) set at login
${AGENTSTATUS}???????* Status of login ( fail | on | off )
${AGENTEXTEN}????????* Extension for logged in agent
The Dial() application
${DIALEDPEERNAME}?????* Dialed peer name
${DIALEDPEERNUMBER}???* Dialed peer number
${DIALEDTIME}?????????* Time for the call (seconds). Is only set if call was answered.
${ANSWEREDTIME}???????* Time from answer to hangup (seconds)
${DIALSTATUS}?????????* Status of the call, one of: (CHANUNAVAIL | CONGESTION | BUSY | NOANSWER | ANSWER | CANCEL | DONTCALL | TORTURE)
${DYNAMIC_FEATURES}???* The list of features (from the [applicationmap] section of?features.conf) to activate during the call, with feature names separated by '#' characters
${LIMIT_PLAYAUDIO_CALLER}??Soundfile for call limits
${LIMIT_PLAYAUDIO_CALLEE}??Soundfile for call limits
${LIMIT_WARNING_FILE}??????Soundfile for call limits
${LIMIT_TIMEOUT_FILE}??????Soundfile for call limits
${LIMIT_CONNECT_FILE}??????Soundfile for call limits
${OUTBOUND_GROUP}??????????Default groups for peer channels (as in SetGroup)??* See "show application dial" for more information
The chanisavail() application
${AVAILCHAN}??????????* the name of the available channel if one was found
${AVAILORIGCHAN}??????* the canonical channel name that was used to create the channel
${AVAILSTATUS}????????* Status of requested channel
撥號方案宏(Dialplan Macros)
${MACRO_EXTEN}????????* The calling extensions
${MACRO_CONTEXT}??????* The calling context
${MACRO_PRIORITY}?????* The calling priority
${MACRO_OFFSET}?????????Offset to add to priority at return from macro
The ChanSpy() application
${SPYGROUP}???????????* A ':' (colon) separated list of group names. (To be set on spied on channel and matched against the g(grp) option)
OSP
${OSPINHANDLE}??????????OSP handle of in_bound call
${OSPINTIMELIMIT}???????Duration limit for in_bound call
${OSPOUTHANDLE}?????????OSP handle of out_bound call
${OSPTECH}??????????????OSP technology
${OSPDEST}??????????????OSP destination
${OSPCALLING}???????????OSP calling number
${OSPOUTTOKEN}??????????OSP token to use for out_bound call
${OSPOUTTIMELIMIT}??????Duration limit for out_bound call
${OSPRESULTS}???????????Number of remained destinations
總結(jié)
以上是生活随笔為你收集整理的Asterisk标准通道变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全美女阵容更新!《变形金刚》女主加入《蜘
- 下一篇: 终于用上全新1.5T发动机 新款大众速腾