features.conf.sample 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. ;
  2. ; Sample Call Features (parking, transfer, etc) configuration
  3. ;
  4. [general]
  5. parkext => 700 ; What extension to dial to park. Set per parking lot.
  6. ;parkext_exclusive=yes ; Specify that the parkext created for this parking lot
  7. ; will only access this parking lot. (default is no)
  8. parkpos => 701-720 ; What extensions to park calls on. (defafult parking lot)
  9. ; These need to be numeric, as Asterisk starts from the start position
  10. ; and increments with one for the next parked call.
  11. ; Set per parking lot.
  12. context => parkedcalls ; Which context parked calls are in (default parking lot)
  13. ; Set per parking lot.
  14. ;parkinghints = no ; Add hints priorities automatically for parking slots (default is no).
  15. ; Set per parking lot.
  16. ;parkingtime => 45 ; Number of seconds a call can be parked before returning.
  17. ; Set per parking lot. (default is 45 seconds)
  18. ;comebacktoorigin = yes ; Setting this option configures the behavior of call parking when the
  19. ; parked call times out (See the parkingtime option). The default value is 'yes'.
  20. ; Operates on all parking lots.
  21. ;
  22. ; 'yes' - When the parked call times out, attempt to send the call back to the peer
  23. ; that parked this call. This is done by saving off the name of the channel
  24. ; that parked the call.
  25. ;
  26. ; 'no' - This option is useful for performing custom dialplan functionality prior to
  27. ; sending the call back to the extension that initially parked the call, or to
  28. ; an entirely different destination.
  29. ;
  30. ; When the parked call times out, send it back to the dialplan. The location
  31. ; will be the 'parkedcallstimeout' context. The extension will be built from
  32. ; the saved channel name that parked the call. For example, if a SIP peer named
  33. ; '0004F2040001' parked this call, the extension will be 'SIP_0004F2040001'.
  34. ; (Note that an underscore is used here because the '/' character has a special
  35. ; meaning in extension names for CallerID matching.) If this extension does not
  36. ; exist, the call will be sent to the 's' extension, instead. Finally, if the 's'
  37. ; extension of 'parkedcallstimeout' does not exist, the call will fall back to the
  38. ; 's' extension of the 'default' context.
  39. ;
  40. ; Additionally, in this example an extension of 'SIP_0004F2040001' will be
  41. ; created in the 'park-dial' context. This extension will be set up to do a
  42. ; Dial() to 'SIP/0004F2040001'.
  43. ;
  44. ; During the timeout procedure, the following variable is set
  45. ; PARKINGSLOT - extension that the call was parked in prior to timing out
  46. ;courtesytone = beep ; Sound file to play to when someone picks up a parked call
  47. ; and also when the Touch Monitor is activated/deactivated.
  48. ; Default is no tone.
  49. ;parkedplay = caller ; Who to play courtesytone to when picking up a parked call.
  50. ; One of: parked, caller, both (default is caller)
  51. ; Operates on all parking lots.
  52. ;parkedcalltransfers = caller ; Enables or disables DTMF based transfers when picking up a parked call.
  53. ; one of: callee, caller, both, no (default is no)
  54. ; Set per parking lot.
  55. ;parkedcallreparking = caller ; Enables or disables DTMF based parking when picking up a parked call.
  56. ; one of: callee, caller, both, no (default is no)
  57. ; Set per parking lot.
  58. ;parkedcallhangup = caller ; Enables or disables DTMF based hangups when picking up a parked call.
  59. ; one of: callee, caller, both, no (default is no)
  60. ; Set per parking lot.
  61. ;parkedcallrecording = caller ; Enables or disables DTMF based one-touch recording when picking up a parked call.
  62. ; one of: callee, caller, both, no (default is no)
  63. ; Set per parking lot.
  64. ;parkeddynamic = yes ; Enables dynamically created parkinglots. (default is no)
  65. ; Operates on all parking lots.
  66. ;adsipark = yes ; if you want ADSI parking announcements
  67. ; Operates on all parking lots.
  68. ;findslot => next ; Continue to the 'next' free parking space.
  69. ; Defaults to 'first' available
  70. ; Set per parking lot.
  71. ;parkedmusicclass=default ; This is the MOH class to use for the parked channel
  72. ; as long as the class is not set on the channel directly
  73. ; using Set(CHANNEL(musicclass)=whatever) in the dialplan
  74. ; Set per parking lot.
  75. ;transferdigittimeout => 3 ; Number of seconds to wait between digits when transferring a call
  76. ; (default is 3 seconds)
  77. ;xfersound = beep ; to indicate an attended transfer is complete
  78. ;xferfailsound = beeperr ; to indicate a failed transfer
  79. ;pickupexten = *8 ; Configure the pickup extension. (default is *8)
  80. ;pickupsound = beep ; to indicate a successful pickup (default: no sound)
  81. ;pickupfailsound = beeperr ; to indicate that the pickup failed (default: no sound)
  82. ;featuredigittimeout = 1000 ; Max time (ms) between digits for
  83. ; feature activation (default is 1000 ms)
  84. ;atxfernoanswertimeout = 15 ; Timeout for answer on attended transfer default is 15 seconds.
  85. ;atxferdropcall = no ; If someone does an attended transfer, then hangs up before the transferred
  86. ; caller is connected, then by default, the system will try to call back the
  87. ; person that did the transfer. If this is set to "yes", the callback will
  88. ; not be attempted and the transfer will just fail.
  89. ; For atxferdropcall=no to work properly, you also need to
  90. ; define ATXFER_NULL_TECH in main/features.c. The reason the
  91. ; code is not enabled by default is spelled out in the comment
  92. ; block near the top of main/features.c describing ATXFER_NULL_TECH.
  93. ;atxferloopdelay = 10 ; Number of seconds to sleep between retries (if atxferdropcall = no)
  94. ;atxfercallbackretries = 2 ; Number of times to attempt to send the call back to the transferer.
  95. ; By default, this is 2.
  96. ;
  97. ;*** Define another parking lot
  98. ;
  99. ; You can set parkinglot with the CHANNEL dialplan function
  100. ; or by setting 'parkinglot' directly in the channel configuration file.
  101. ;
  102. ; (Note: Leading '0's and any non-numerical characters on parkpos extensions
  103. ; will be ignored. Parkext on the other hand can be any string.)
  104. ;
  105. ;[parkinglot_edvina]
  106. ;context => edvinapark
  107. ;parkext => 799
  108. ;parkpos => 800-850
  109. ;findslot => next
  110. ; Note that the DTMF features listed below only work when two channels have answered and are bridged together.
  111. ; They can not be used while the remote party is ringing or in progress. If you require this feature you can use
  112. ; chan_local in combination with Answer to accomplish it.
  113. [featuremap]
  114. ;blindxfer => #1 ; Blind transfer (default is #) -- Make sure to set the T and/or t option in the Dial() or Queue() app call!
  115. ;disconnect => *0 ; Disconnect (default is *) -- Make sure to set the H and/or h option in the Dial() or Queue() app call!
  116. ;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!
  117. ;atxfer => *2 ; Attended transfer -- Make sure to set the T and/or t option in the Dial() or Queue() app call!
  118. ;parkcall => #72 ; Park call (one step parking) -- Make sure to set the K and/or k option in the Dial() app call!
  119. ;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!
  120. [applicationmap]
  121. ; Note that the DYNAMIC_FEATURES channel variable must be set to use the features
  122. ; defined here. The value of DYNAMIC_FEATURES should be the names of the features
  123. ; to allow the channel to use separated by '#'. For example:
  124. ;
  125. ; Set(__DYNAMIC_FEATURES=myfeature1#myfeature2#myfeature3)
  126. ;
  127. ; (Note: The two leading underscores allow these feature settings to be set on
  128. ; on the outbound channels, as well. Otherwise, only the original channel
  129. ; will have access to these features.)
  130. ;
  131. ; The syntax for declaring a dynamic feature is any of the following:
  132. ;
  133. ;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,<AppArguments>[,MOH_Class]]
  134. ;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>[,"<AppArguments>"[,MOH_Class]]
  135. ;<FeatureName> => <DTMF_sequence>,<ActivateOn>[/<ActivatedBy>],<Application>([<AppArguments>])[,MOH_Class]
  136. ;
  137. ; FeatureName -> This is the name of the feature used when setting the
  138. ; DYNAMIC_FEATURES variable to enable usage of this feature.
  139. ; DTMF_sequence -> This is the key sequence used to activate this feature.
  140. ; ActivateOn -> This is the channel of the call that the application will be executed
  141. ; on. Valid values are "self" and "peer". "self" means run the
  142. ; application on the same channel that activated the feature. "peer"
  143. ; means run the application on the opposite channel from the one that
  144. ; has activated the feature.
  145. ; ActivatedBy -> This is which channel is allowed to activate this feature. Valid
  146. ; values are "caller", "callee", and "both". "both" is the default.
  147. ; The "caller" is the channel that executed the Dial application, while
  148. ; the "callee" is the channel called by the Dial application.
  149. ; Application -> This is the application to execute.
  150. ; AppArguments -> These are the arguments to be passed into the application. If you need
  151. ; commas in your arguments, you should use either the second or third
  152. ; syntax, above.
  153. ; MOH_Class -> This is the music on hold class to play while the idle
  154. ; channel waits for the feature to complete. If left blank,
  155. ; no music will be played.
  156. ;
  157. ;
  158. ; IMPORTANT NOTE: The applicationmap is not intended to be used for all Asterisk
  159. ; applications. When applications are used in extensions.conf, they are executed
  160. ; by the PBX core. In this case, these applications are executed outside of the
  161. ; PBX core, so it does *not* make sense to use any application which has any
  162. ; concept of dialplan flow. Examples of this would be things like Macro, Goto,
  163. ; Background, WaitExten, and many more.
  164. ;
  165. ; Enabling these features means that the PBX needs to stay in the media flow and
  166. ; media will not be re-directed if DTMF is sent in the media stream.
  167. ;
  168. ; Example Usage:
  169. ;
  170. ;testfeature => #9,peer,Playback,tt-monkeys ;Allow both the caller and callee to play
  171. ; ;tt-monkeys to the opposite channel
  172. ;
  173. ; Set arbitrary channel variables, based upon CALLERID number (Note that the application
  174. ; argument contains commas)
  175. ;retrieveinfo => #8,peer,Set(ARRAY(CDR(mark),CDR(name))=${ODBC_FOO(${CALLERID(num)})})
  176. ;
  177. ;pauseMonitor => #1,self/callee,Pausemonitor ;Allow the callee to pause monitoring
  178. ; ;on their channel
  179. ;unpauseMonitor => #3,self/callee,UnPauseMonitor ;Allow the callee to unpause monitoring
  180. ; ;on their channel
  181. ; Dynamic Feature Groups:
  182. ; Dynamic feature groups are groupings of features defined in [applicationmap]
  183. ; that can have their own custom key mappings. To give a channel access to a dynamic
  184. ; feature group, add the group name to the value of the DYNAMIC_FEATURES variable.
  185. ;
  186. ; example:
  187. ; [myGroupName] ; defines the group named myGroupName
  188. ; testfeature => #9 ; associates testfeature with the group and the keycode '#9'.
  189. ; pauseMonitor => ; associates pauseMonitor with the group and uses the keycode specified
  190. ; ; in the [applicationmap].