Asterisk-features.conf: Difference between revisions
Jump to navigation
Jump to search
(Created page with "== Overview == Asterisk featuers.conf 파일 설정 내용 정리. == See also == * https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+Configuration_features - Asterisk 1...") |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
Asterisk featuers.conf 파일 설정 내용 정리. | Asterisk featuers.conf 파일 설정 내용 정리. | ||
features.conf 파일은 transfer, monitor/mixmonitor, etc 를 위한 설정 파일이다. 예전에는 parking 관련 설정도 이곳에 설정했었으나, Asterisk-12 부터는 모든 parking 관련 설정은 res_parking.conf 파일로 이관되었다. | |||
== general == | |||
<pre> | |||
[general] | |||
;transferdigittimeout => 3 ; Number of seconds to wait between digits when transferring a call | |||
; (default is 3 seconds) | |||
;xfersound = beep ; to indicate an attended transfer is complete | |||
;xferfailsound = beeperr ; to indicate a failed transfer | |||
;pickupexten = *8 ; Configure the pickup extension. (default is *8) | |||
;pickupsound = beep ; to indicate a successful pickup (default: no sound) | |||
;pickupfailsound = beeperr ; to indicate that the pickup failed (default: no sound) | |||
;featuredigittimeout = 1000 ; Max time (ms) between digits for | |||
; feature activation (default is 1000 ms) | |||
;recordingfailsound = beeperr ; indicates that a one-touch monitor or one-touch mixmonitor feature failed | |||
; to be applied to the call. (default: no sound) | |||
;atxfernoanswertimeout = 15 ; Timeout for answer on attended transfer default is 15 seconds. | |||
;atxferdropcall = no ; If someone does an attended transfer, then hangs up before the transfer | |||
; target answers, then by default, the system will try to call back the | |||
; person that did the transfer. If this is set to "yes", the ringing | |||
; transfer target is immediately transferred to the transferee. | |||
;atxferloopdelay = 10 ; Number of seconds to sleep between retries (if atxferdropcall = no) | |||
;atxfercallbackretries = 2 ; Number of times to attempt to send the call back to the transferer. | |||
; By default, this is 2. | |||
;transferdialattempts = 3 ; Number of times that a transferer may attempt to dial an extension before | |||
; being kicked back to the original call. | |||
;transferretrysound = "beep" ; Sound to play when a transferer fails to dial a valid extension. | |||
;transferinvalidsound = "beeperr" ; Sound to play when a transferer fails to dial a valid extension and is out of retries. | |||
;atxferabort = *1 ; cancel the attended transfer | |||
;atxfercomplete = *2 ; complete the attended transfer, dropping out of the call | |||
;atxferthreeway = *3 ; complete the attended transfer, but stay in the call. This will turn the call into a multi-party bridge | |||
;atxferswap = *4 ; swap to the other party. Once an attended transfer has begun, this options may be used multiple times | |||
; Note that the DTMF features listed below only work when two channels have answered and are bridged together. | |||
; They can not be used while the remote party is ringing or in progress. If you require this feature you can use | |||
; chan_local in combination with Answer to accomplish it. | |||
</pre> | |||
== featuremap == | |||
여기에 설정된 DTMF 를 누르면 설정된 feature 가 실행되게 된다. DTMF 입력이후, 지정된 Dial() 혹은 Queue() application 이 동작하게 되며, 이후 입력되는 DTMF 가 인자값으로 전달되게 된다. | |||
<pre> | |||
[featuremap] | |||
;blindxfer => #1 ; Blind transfer (default is #) -- Make sure to set the T and/or t option in the Dial() or Queue() app call! | |||
;disconnect => *0 ; Disconnect (default is *) -- Make sure to set the H and/or h option in the Dial() or Queue() app call! | |||
;automon => *1 ; One Touch Record a.k.a. Touch Monitor -- Make sure to set the W and/or w option in the Dial() or Queue() app call! | |||
;atxfer => *2 ; Attended transfer -- Make sure to set the T and/or t option in the Dial() or Queue() app call! | |||
;parkcall => #72 ; Park call (one step parking) -- Make sure to set the K and/or k option in the Dial() app call! | |||
;automixmon => *3 ; One Touch Record a.k.a. Touch MixMonitor -- Make sure to set the X and/or x option in the Dial() or Queue() app call! | |||
</pre> | |||
== applicationmap == | |||
<pre> | |||
[applicationmap] | |||
; Note that the DYNAMIC_FEATURES channel variable must be set to use the features | |||
; defined here. The value of DYNAMIC_FEATURES should be the names of the features | |||
; to allow the channel to use separated by '#'. For example: | |||
; | |||
; Set(__DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3) | |||
; | |||
; (Note: The two leading underscores allow these feature settings to be set | |||
; on the outbound channels, as well. Otherwise, only the original channel | |||
; will have access to these features.) | |||
; | |||
; The syntax for declaring a dynamic feature is any of the following: | |||
; | |||
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]] | |||
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,"<AppArguments>"[,MOH_Class]] | |||
;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>([<AppArguments>])[,MOH_Class] | |||
; | |||
; FeatureName -> This is the name of the feature used when setting the | |||
; DYNAMIC_FEATURES variable to enable usage of this feature. | |||
; DTMF_sequence -> This is the key sequence used to activate this feature. | |||
; ActivateOn -> This is the channel of the call that the application will be executed | |||
; on. Valid values are "self" and "peer". "self" means run the | |||
; application on the same channel that activated the feature. "peer" | |||
; means run the application on the opposite channel from the one that | |||
; has activated the feature. | |||
; ActivatedBy -> ActivatedBy is no longer honored. The feature is activated by which | |||
; channel DYNAMIC_FEATURES includes the feature is on. Use predial | |||
; to set different values of DYNAMIC_FEATURES on the channels. | |||
; Historic values are: "caller", "callee", and "both". | |||
; Application -> This is the application to execute. | |||
; AppArguments -> These are the arguments to be passed into the application. If you need | |||
; commas in your arguments, you should use either the second or third | |||
; syntax, above. | |||
; MOH_Class -> This is the music on hold class to play while the idle | |||
; channel waits for the feature to complete. If left blank, | |||
; no music will be played. | |||
; | |||
; | |||
; IMPORTANT NOTE: The applicationmap is not intended to be used for all Asterisk | |||
; applications. When applications are used in extensions.conf, they are executed | |||
; by the PBX core. In this case, these applications are executed outside of the | |||
; PBX core, so it does *not* make sense to use any application which has any | |||
; concept of dialplan flow. Examples of this would be things like Goto, | |||
; Background, WaitExten, and many more. The exceptions to this are Gosub and | |||
; Macro routines which must complete for the call to continue. | |||
; | |||
; Enabling these features means that the PBX needs to stay in the media flow and | |||
; media will not be re-directed if DTMF is sent in the media stream. | |||
; | |||
; Example Usage: | |||
; | |||
;testfeature => #9,peer,Playback,tt-monkeys ;Allow both the caller and callee to play | |||
; ;tt-monkeys to the opposite channel | |||
; | |||
; Set arbitrary channel variables, based upon CALLERID number (Note that the application | |||
; argument contains commas) | |||
;retrieveinfo => #8,peer,Set(ARRAY(CDR(mark),CDR(name))=${ODBC_FOO(${CALLERID(num)})}) | |||
; | |||
;pauseMonitor => #1,self/callee,Pausemonitor ;Allow the callee to pause monitoring | |||
; ;on their channel | |||
;unpauseMonitor => #3,self/callee,UnPauseMonitor ;Allow the callee to unpause monitoring | |||
; ;on their channel | |||
</pre> | |||
== Dynamic feature group == | |||
<pre> | |||
; Dynamic Feature Groups: | |||
; Dynamic feature groups are groupings of features defined in [applicationmap] | |||
; that can have their own custom key mappings. To give a channel access to a dynamic | |||
; feature group, add the group name to the value of the DYNAMIC_FEATURES variable. | |||
; | |||
; example: | |||
; [myGroupName] ; defines the group named myGroupName | |||
; testfeature => #9 ; associates testfeature with the group and the keycode '#9'. | |||
; pauseMonitor => ; associates pauseMonitor with the group and uses the keycode specified | |||
; ; in the [applicationmap]. | |||
</pre> | |||
== See also == | == See also == |
Latest revision as of 16:11, 19 December 2016
Overview
Asterisk featuers.conf 파일 설정 내용 정리.
features.conf 파일은 transfer, monitor/mixmonitor, etc 를 위한 설정 파일이다. 예전에는 parking 관련 설정도 이곳에 설정했었으나, Asterisk-12 부터는 모든 parking 관련 설정은 res_parking.conf 파일로 이관되었다.
general
[general] ;transferdigittimeout => 3 ; Number of seconds to wait between digits when transferring a call ; (default is 3 seconds) ;xfersound = beep ; to indicate an attended transfer is complete ;xferfailsound = beeperr ; to indicate a failed transfer ;pickupexten = *8 ; Configure the pickup extension. (default is *8) ;pickupsound = beep ; to indicate a successful pickup (default: no sound) ;pickupfailsound = beeperr ; to indicate that the pickup failed (default: no sound) ;featuredigittimeout = 1000 ; Max time (ms) between digits for ; feature activation (default is 1000 ms) ;recordingfailsound = beeperr ; indicates that a one-touch monitor or one-touch mixmonitor feature failed ; to be applied to the call. (default: no sound) ;atxfernoanswertimeout = 15 ; Timeout for answer on attended transfer default is 15 seconds. ;atxferdropcall = no ; If someone does an attended transfer, then hangs up before the transfer ; target answers, then by default, the system will try to call back the ; person that did the transfer. If this is set to "yes", the ringing ; transfer target is immediately transferred to the transferee. ;atxferloopdelay = 10 ; Number of seconds to sleep between retries (if atxferdropcall = no) ;atxfercallbackretries = 2 ; Number of times to attempt to send the call back to the transferer. ; By default, this is 2. ;transferdialattempts = 3 ; Number of times that a transferer may attempt to dial an extension before ; being kicked back to the original call. ;transferretrysound = "beep" ; Sound to play when a transferer fails to dial a valid extension. ;transferinvalidsound = "beeperr" ; Sound to play when a transferer fails to dial a valid extension and is out of retries. ;atxferabort = *1 ; cancel the attended transfer ;atxfercomplete = *2 ; complete the attended transfer, dropping out of the call ;atxferthreeway = *3 ; complete the attended transfer, but stay in the call. This will turn the call into a multi-party bridge ;atxferswap = *4 ; swap to the other party. Once an attended transfer has begun, this options may be used multiple times ; Note that the DTMF features listed below only work when two channels have answered and are bridged together. ; They can not be used while the remote party is ringing or in progress. If you require this feature you can use ; chan_local in combination with Answer to accomplish it.
featuremap
여기에 설정된 DTMF 를 누르면 설정된 feature 가 실행되게 된다. DTMF 입력이후, 지정된 Dial() 혹은 Queue() application 이 동작하게 되며, 이후 입력되는 DTMF 가 인자값으로 전달되게 된다.
[featuremap] ;blindxfer => #1 ; Blind transfer (default is #) -- Make sure to set the T and/or t option in the Dial() or Queue() app call! ;disconnect => *0 ; Disconnect (default is *) -- Make sure to set the H and/or h option in the Dial() or Queue() app call! ;automon => *1 ; One Touch Record a.k.a. Touch Monitor -- Make sure to set the W and/or w option in the Dial() or Queue() app call! ;atxfer => *2 ; Attended transfer -- Make sure to set the T and/or t option in the Dial() or Queue() app call! ;parkcall => #72 ; Park call (one step parking) -- Make sure to set the K and/or k option in the Dial() app call! ;automixmon => *3 ; One Touch Record a.k.a. Touch MixMonitor -- Make sure to set the X and/or x option in the Dial() or Queue() app call!
applicationmap
[applicationmap] ; Note that the DYNAMIC_FEATURES channel variable must be set to use the features ; defined here. The value of DYNAMIC_FEATURES should be the names of the features ; to allow the channel to use separated by '#'. For example: ; ; Set(__DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3) ; ; (Note: The two leading underscores allow these feature settings to be set ; on the outbound channels, as well. Otherwise, only the original channel ; will have access to these features.) ; ; The syntax for declaring a dynamic feature is any of the following: ; ;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]] ;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,"<AppArguments>"[,MOH_Class]] ;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>([<AppArguments>])[,MOH_Class] ; ; FeatureName -> This is the name of the feature used when setting the ; DYNAMIC_FEATURES variable to enable usage of this feature. ; DTMF_sequence -> This is the key sequence used to activate this feature. ; ActivateOn -> This is the channel of the call that the application will be executed ; on. Valid values are "self" and "peer". "self" means run the ; application on the same channel that activated the feature. "peer" ; means run the application on the opposite channel from the one that ; has activated the feature. ; ActivatedBy -> ActivatedBy is no longer honored. The feature is activated by which ; channel DYNAMIC_FEATURES includes the feature is on. Use predial ; to set different values of DYNAMIC_FEATURES on the channels. ; Historic values are: "caller", "callee", and "both". ; Application -> This is the application to execute. ; AppArguments -> These are the arguments to be passed into the application. If you need ; commas in your arguments, you should use either the second or third ; syntax, above. ; MOH_Class -> This is the music on hold class to play while the idle ; channel waits for the feature to complete. If left blank, ; no music will be played. ; ; ; IMPORTANT NOTE: The applicationmap is not intended to be used for all Asterisk ; applications. When applications are used in extensions.conf, they are executed ; by the PBX core. In this case, these applications are executed outside of the ; PBX core, so it does *not* make sense to use any application which has any ; concept of dialplan flow. Examples of this would be things like Goto, ; Background, WaitExten, and many more. The exceptions to this are Gosub and ; Macro routines which must complete for the call to continue. ; ; Enabling these features means that the PBX needs to stay in the media flow and ; media will not be re-directed if DTMF is sent in the media stream. ; ; Example Usage: ; ;testfeature => #9,peer,Playback,tt-monkeys ;Allow both the caller and callee to play ; ;tt-monkeys to the opposite channel ; ; Set arbitrary channel variables, based upon CALLERID number (Note that the application ; argument contains commas) ;retrieveinfo => #8,peer,Set(ARRAY(CDR(mark),CDR(name))=${ODBC_FOO(${CALLERID(num)})}) ; ;pauseMonitor => #1,self/callee,Pausemonitor ;Allow the callee to pause monitoring ; ;on their channel ;unpauseMonitor => #3,self/callee,UnPauseMonitor ;Allow the callee to unpause monitoring ; ;on their channel
Dynamic feature group
; Dynamic Feature Groups: ; Dynamic feature groups are groupings of features defined in [applicationmap] ; that can have their own custom key mappings. To give a channel access to a dynamic ; feature group, add the group name to the value of the DYNAMIC_FEATURES variable. ; ; example: ; [myGroupName] ; defines the group named myGroupName ; testfeature => #9 ; associates testfeature with the group and the keycode '#9'. ; pauseMonitor => ; associates pauseMonitor with the group and uses the keycode specified ; ; in the [applicationmap].
See also
- https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+Configuration_features - Asterisk 14 Configuration_features