confbridge.conf 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476
  1. [general]
  2. ; The general section of this config
  3. ; is not currently used, but reserved
  4. ; for future use.
  5. ;
  6. ; --- Default Information ---
  7. ; The default_user and default_bridge sections are applied
  8. ; automatically to all ConfBridge instances invoked without
  9. ; a user, or bridge argument. No menu is applied by default.
  10. ;
  11. ; Note that while properties of the default_user or default_bridge
  12. ; profile can be overridden, if removed, they will be automatically
  13. ; added and made available to the dialplan upon module load.
  14. ;
  15. ; --- ConfBridge User Profile Options ---
  16. [default_user]
  17. type=user
  18. ;admin=yes ; Sets if the user is an admin or not. Off by default.
  19. ;send_events=no ; If events are enabled for this bridge and this option is
  20. ; set, users will receive events like join, leave, talking,
  21. ; etc. via text messages. For users accessing the bridge
  22. ; via chan_pjsip, this means in-dialog MESSAGE messages.
  23. ; This is most useful for WebRTC participants where the
  24. ; browser application can use the messages to alter the user
  25. ; interface.
  26. ;echo_events=yes ; If events are enabled for this user and this option is set,
  27. ; the user will receive events they trigger, talking, mute, etc.
  28. ; If not set, they will not receive their own events.
  29. ;marked=yes ; Sets if this is a marked user or not. Off by default.
  30. ;startmuted=yes; Sets if all users should start out muted. Off by default
  31. ;music_on_hold_when_empty=yes ; Sets whether MOH should be played when only
  32. ; one person is in the conference or when the
  33. ; the user is waiting on a marked user to enter
  34. ; the conference. Off by default.
  35. ;music_on_hold_class=default ; The MOH class to use for this user.
  36. quiet=no ; When enabled enter/leave prompts and user intros are not played.
  37. ; There are some prompts, such as the prompt to enter a PIN number,
  38. ; that must be played regardless of what this option is set to.
  39. ; Off by default
  40. ;announce_user_count=yes ; Sets if the number of users should be announced to the
  41. ; caller. Off by default.
  42. ;announce_user_count_all=yes ; Sets if the number of users should be announced to
  43. ; all the other users in the conference when someone joins.
  44. ; This option can be either set to 'yes' or a number.
  45. ; When set to a number, the announcement will only occur
  46. ; once the user count is above the specified number.
  47. ;announce_only_user=yes ; Sets if the only user announcement should be played
  48. ; when a channel enters a empty conference. On by default.
  49. ;wait_marked=yes ; Sets if the user must wait for a marked user to enter before
  50. ; joining the conference. Off by default.
  51. ;end_marked=yes ; This option will kick every user with this option set in their
  52. ; user profile after the last Marked user exists the conference.
  53. ;dsp_drop_silence=yes ; This option drops what Asterisk detects as silence from
  54. ; entering into the bridge. Enabling this option will drastically
  55. ; improve performance and help remove the buildup of background
  56. ; noise from the conference. Highly recommended for large conferences
  57. ; due to its performance enhancements.
  58. ;dsp_talking_threshold=128 ; Average magnitude threshold to determine talking.
  59. ;
  60. ; The minimum average magnitude per sample in a frame for the
  61. ; DSP to consider talking/noise present. A value below this
  62. ; level is considered silence. This value affects several
  63. ; operations and should not be changed unless the impact on
  64. ; call quality is fully understood.
  65. ;
  66. ; What this value affects internally:
  67. ;
  68. ; 1. Audio is only mixed out of a user's incoming audio
  69. ; stream if talking is detected. If this value is set too
  70. ; high the user will hear himself talking.
  71. ;
  72. ; 2. When talk detection AMI events are enabled, this value
  73. ; determines when talking has begun which results in an
  74. ; AMI event to fire. If this value is set too low AMI
  75. ; events may be falsely triggered by variants in room
  76. ; noise.
  77. ;
  78. ; 3. The 'drop_silence' option depends on this value to
  79. ; determine when the user's audio should be mixed into the
  80. ; bridge after periods of silence. If this value is too
  81. ; high the user's speech will get discarded as they will
  82. ; be considered silent.
  83. ;
  84. ; Valid values are 1 through 2^15.
  85. ; By default this value is 160.
  86. ;dsp_silence_threshold=2000 ; The number of milliseconds of silence necessary to declare
  87. ; talking stopped.
  88. ;
  89. ; The time in milliseconds of sound falling below the
  90. ; 'dsp_talking_threshold' option when a user is considered to
  91. ; stop talking. This value affects several operations and
  92. ; should not be changed unless the impact on call quality is
  93. ; fully understood.
  94. ;
  95. ; What this value affects internally:
  96. ;
  97. ; 1. When talk detection AMI events are enabled, this value
  98. ; determines when the user has stopped talking after a
  99. ; period of talking. If this value is set too low AMI
  100. ; events indicating the user has stopped talking may get
  101. ; falsely sent out when the user briefly pauses during mid
  102. ; sentence.
  103. ;
  104. ; 2. The 'drop_silence' option depends on this value to
  105. ; determine when the user's audio should begin to be
  106. ; dropped from the conference bridge after the user stops
  107. ; talking. If this value is set too low the user's audio
  108. ; stream may sound choppy to the other participants. This
  109. ; is caused by the user transitioning constantly from
  110. ; silence to talking during mid sentence.
  111. ;
  112. ; The best way to approach this option is to set it slightly
  113. ; above the maximum amount of milliseconds of silence a user
  114. ; may generate during natural speech.
  115. ;
  116. ; Valid values are 1 through 2^31.
  117. ; By default this value is 2500ms.
  118. ;talk_detection_events=yes ; This option sets whether or not notifications of when a user
  119. ; begins and ends talking should be sent out as events over AMI.
  120. ; By default this option is off.
  121. ;denoise=yes ; Sets whether or not a denoise filter should be applied
  122. ; to the audio before mixing or not. Off by default. Requires
  123. ; func_speex to be built and installed. Do not confuse this option
  124. ; with drop_silence. Denoise is useful if there is a lot of background
  125. ; noise for a user as it attempts to remove the noise while preserving
  126. ; the speech. This option does NOT remove silence from being mixed into
  127. ; the conference and does come at the cost of a slight performance hit.
  128. ;jitterbuffer=yes ; Enabling this option places a jitterbuffer on the user's audio stream
  129. ; before audio mixing is performed. This is highly recommended but will
  130. ; add a slight delay to the audio. This option is using the JITTERBUFFER
  131. ; dialplan function's default adaptive jitterbuffer. For a more fine tuned
  132. ; jitterbuffer, disable this option and use the JITTERBUFFER dialplan function
  133. ; on the user before entering the ConfBridge application.
  134. ;pin=1234 ; Sets if this user must enter a PIN number before entering
  135. ; the conference. The PIN will be prompted for.
  136. ;announce_join_leave=yes ; When enabled, this option will prompt the user for a
  137. ; name when entering the conference. After the name is
  138. ; recorded, it will be played as the user enters and exists
  139. ; the conference. This option is off by default.
  140. ;announce_join_leave_review=yes ; When enabled, implies announce_join_leave, but the user
  141. ; will be prompted to review their recording before
  142. ; entering the conference. During this phase, the recording
  143. ; may be listened to, re-recorded, or accepted as is. This
  144. ; option is off by default.
  145. ;dtmf_passthrough=yes ; Sets whether or not DTMF should pass through the conference.
  146. ; This option is off by default.
  147. ;announcement=</path/to/file> ; Play a sound file to the user when they join the conference.
  148. ;timeout=3600 ; When set non-zero, this specifies the number of seconds that the participant
  149. ; may stay in the conference before being automatically ejected. When the user
  150. ; is ejected from the conference, the user's channel will have the CONFBRIDGE_RESULT
  151. ; variable set to "TIMEOUT". A value of 0 indicates that there is no timeout.
  152. ; Default: 0
  153. ;text_messaging=yes ; When set to yes text messages will be sent to this user. Text messages
  154. ; may occur as a result of events or can be received from other participants.
  155. ; When set to no text messages will not be sent to this user.
  156. ; --- ConfBridge Bridge Profile Options ---
  157. [default_bridge]
  158. type=bridge
  159. ;max_members=50 ; This option limits the number of participants for a single
  160. ; conference to a specific number. By default conferences
  161. ; have no participant limit. After the limit is reached, the
  162. ; conference will be locked until someone leaves. Note however
  163. ; that an Admin user will always be alowed to join the conference
  164. ; regardless if this limit is reached or not.
  165. record_conference=no ; Records the conference call starting when the first user
  166. ;record_conference=yes ; Records the conference call starting when the first user
  167. ; enters the room, and ending when the last user exits the room.
  168. ; The default recorded filename is
  169. ; 'confbridge-<name of conference bridge>-<start time>.wav
  170. ; and the default format is 8khz slinear. This file will be
  171. ; located in the configured monitoring directory in asterisk.conf.
  172. ;record_file=</path/to/file> ; When record_conference is set to yes, the specific name of the
  173. ; record file can be set using this option. Note that since multiple
  174. ; conferences may use the same bridge profile, this may cause issues
  175. ; depending on the configuration. It is recommended to only use this
  176. ; option dynamically with the CONFBRIDGE() dialplan function. This
  177. ; allows the record name to be specified and a unique name to be chosen.
  178. ; By default, the record_file is stored in Asterisk's spool/monitor directory
  179. ; with a unique filename starting with the 'confbridge' prefix.
  180. ;record_file_append=yes ; Append record file when starting/stopping on same conference recording.
  181. ;record_file_timestamp=yes ; Append the start time to the record file name.
  182. ;record_options= ; Pass additional options to MixMonitor.
  183. ;record_command=</path/to/command> ; Command to execute when recording finishes.
  184. ;internal_sample_rate=auto ; Sets the internal native sample rate the
  185. ; conference is mixed at. This is set to automatically
  186. ; adjust the sample rate to the best quality by default.
  187. ; Other values can be anything from 8000-192000. If a
  188. ; sample rate is set that Asterisk does not support, the
  189. ; closest sample rate Asterisk does support to the one requested
  190. ; will be used.
  191. ;maximum_sample_rate=none ; Sets the maximum sample rate the conference
  192. ; is mixed at. This is set to no maximum by default.
  193. ; Values can be anything from 8000-192000.
  194. ;mixing_interval=40 ; Sets the internal mixing interval in milliseconds for the bridge. This
  195. ; number reflects how tight or loose the mixing will be for the conference.
  196. ; In order to improve performance a larger mixing interval such as 40ms may
  197. ; be chosen. Using a larger mixing interval comes at the cost of introducing
  198. ; larger amounts of delay into the bridge. Valid values here are 10, 20, 40,
  199. ; or 80. By default 20ms is used.
  200. ;video_mode = follow_talker; Sets how confbridge handles video distribution to the conference participants.
  201. ; Note that participants wanting to view and be the source of a video feed
  202. ; _MUST_ be sharing the same video codec. Also, using video in conjunction with
  203. ; with the jitterbuffer currently results in the audio being slightly out of sync
  204. ; with the video. This is a result of the jitterbuffer only working on the audio
  205. ; stream. It is recommended to disable the jitterbuffer when video is used.
  206. ;
  207. ; --- MODES ---
  208. ; none: No video sources are set by default in the conference. It is still
  209. ; possible for a user to be set as a video source via AMI or DTMF action
  210. ; at any time.
  211. ;
  212. ; follow_talker: The video feed will follow whoever is talking and providing video.
  213. ;
  214. ; last_marked: The last marked user to join the conference with video capabilities
  215. ; will be the single source of video distributed to all participants.
  216. ; If multiple marked users are capable of video, the last one to join
  217. ; is always the source, when that user leaves it goes to the one who
  218. ; joined before them.
  219. ;
  220. ; first_marked: The first marked user to join the conference with video capabilities
  221. ; is the single source of video distribution among all participants. If
  222. ; that user leaves, the marked user to join after them becomes the source.
  223. ;
  224. ; sfu: Selective Forwarding Unit - Sets multi-stream operation
  225. ; for a multi-party video conference.
  226. language=it
  227. ;language=en ; Set the language used for announcements to the conference.
  228. ; Default is en (English).
  229. ;regcontext=conferences ; The name of the context into which to register conference names as extensions.
  230. ;video_update_discard=2000 ; Amount of time (in milliseconds) to discard video update requests after sending a video
  231. ; update request. Default is 2000. A video update request is a request for a full video
  232. ; intra-frame. Clients can request this if they require a full frame in order to decode
  233. ; the video stream. Since a full frame can be large limiting how often they occur can
  234. ; reduce bandwidth usage at the cost of increasing how long it may take a newly joined
  235. ; channel to receive the video stream.
  236. ;remb_send_interval=1000 ; Interval (in milliseconds) at which a combined REMB frame will be sent to sources of video.
  237. ; A REMB frame contains receiver estimated maximum bitrate information. By creating a combined
  238. ; frame and sending it to the sources of video the sender can be influenced on what bitrate
  239. ; they choose allowing a better experience for the receivers. This defaults to 0, or disabled.
  240. ;remb_behavior=average ; How the combined REMB report for an SFU video bridge is constructed. If set to "average" then
  241. ; the estimated maximum bitrate of each receiver is used to construct an average bitrate. If
  242. ; set to "lowest" the lowest maximum bitrate is forwarded to the sender. If set to "highest"
  243. ; the highest maximum bitrate is forwarded to the sender. If set to "average_all" a single average
  244. ; is generated from every receiver and the same value is sent to every sender. If set to
  245. ; "lowest_all" the lowest maximum bitrate of all receivers is sent to every sender. If set to
  246. ; "highest_all" the highest maximum bitrate of all receivers is sent to every sender.
  247. ; When set to "force", the value set in remb_estimated_bitrate is sent to every sender.
  248. ; This defaults to "average".
  249. ;remb_estimated_bitrate=0 ; When remb_behavior is set to 'force', this options sets the estimated bitrate
  250. ; (in bits per second) sent to each participant in REMB reports.
  251. ;enable_events=no ; If enabled, recipients who joined the bridge via a channel driver
  252. ; that supports Enhanced Messaging (currently only chan_pjsip) will
  253. ; receive in-dialog messages containing a JSON body describing the
  254. ; event. The Content-Type header will be
  255. ; "text/x-ast-confbridge-event".
  256. ; This feature must also be enabled in user profiles.
  257. ; All sounds in the conference are customizable using the bridge profile options below.
  258. ; Simply state the option followed by the filename or full path of the filename after
  259. ; the option. Example: sound_had_joined=conf-hasjoin This will play the conf-hasjoin
  260. ; sound file found in the sounds directory when announcing someone's name is joining the
  261. ; conference.
  262. ;sound_join ; The sound played to everyone when someone enters the conference.
  263. ;sound_leave ; The sound played to everyone when someone leaves the conference.
  264. ;sound_has_joined ; The sound played before announcing someone's name has
  265. ; joined the conference. This is used for user intros.
  266. ; Example "_____ has joined the conference"
  267. ;sound_has_left ; The sound played when announcing someone's name has
  268. ; left the conference. This is used for user intros.
  269. ; Example "_____ has left the conference"
  270. ;sound_kicked ; The sound played to a user who has been kicked from the conference.
  271. ;sound_muted ; The sound played when the mute option is toggled on using DTMF menu.
  272. ;sound_unmuted ; The sound played when the mute option is toggled off using DTMF menu.
  273. ;sound_only_person ; The sound played when the user is the only person in the conference.
  274. ;sound_only_one ; The sound played to a user when there is only one other
  275. ; person is in the conference.
  276. ;sound_there_are ; The sound played when announcing how many users there
  277. ; are in a conference.
  278. ;sound_other_in_party; ; This file is used in conjunction with 'sound_there_are"
  279. ; when announcing how many users there are in the conference.
  280. ; The sounds are stringed together like this.
  281. ; "sound_there_are" <number of participants> "sound_other_in_party"
  282. ;sound_place_into_conference ; The sound played when someone is placed into the conference
  283. ; after waiting for a marked user. This sound is now deprecated
  284. ; since it was only ever used improperly and correcting that bug
  285. ; made it completely unused.
  286. ;sound_wait_for_leader ; The sound played when a user is placed into a conference that
  287. ; can not start until a marked user enters.
  288. ;sound_leader_has_left ; The sound played when the last marked user leaves the conference.
  289. ;sound_get_pin ; The sound played when prompting for a conference pin number.
  290. ;sound_invalid_pin ; The sound played when an invalid pin is entered too many times.
  291. ;sound_locked ; The sound played to a user trying to join a locked conference.
  292. ;sound_locked_now ; The sound played to an admin after toggling the conference to locked mode.
  293. ;sound_unlocked_now; The sound played to an admin after toggling the conference to unlocked mode.
  294. ;sound_error_menu ; The sound played when an invalid menu option is entered.
  295. ;sound_begin ; The sound played to the conference when the first marked user enters the conference.
  296. ;sound_binaural_on ; The sound played when binaural audio is turned on
  297. ;sound_binaural_off ; The sound played when binaural audio is turned off
  298. ; --- ConfBridge Menu Options ---
  299. ; The ConfBridge application also has the ability to
  300. ; apply custom DTMF menus to each channel using the
  301. ; application. Like the User and Bridge profiles
  302. ; a menu is passed in to ConfBridge as an argument in
  303. ; the dialplan.
  304. ;
  305. ; Below is a list of menu actions that can be assigned
  306. ; to a DTMF sequence.
  307. ;
  308. ; To have the first DTMF digit in a sequence be the '#' character, you need to
  309. ; escape it. If it is not escaped then normal config file processing will
  310. ; think it is a directive like #include. For example:
  311. ; \#1=toggle_mute ; Pressing #1 will toggle the mute setting.
  312. ;
  313. ; A single DTMF sequence can have multiple actions associated with it. This is
  314. ; accomplished by stringing the actions together and using a ',' as the delimiter.
  315. ; Example: Both listening and talking volume is reset when '5' is pressed.
  316. ; 5=reset_talking_volume, reset_listening_volume
  317. ;
  318. ; playback(<name of audio file>&<name of audio file>)
  319. ; Playback will play back an audio file to a channel
  320. ; and then immediately return to the conference.
  321. ; This file can not be interupted by DTMF.
  322. ; Mutliple files can be chained together using the
  323. ; '&' character.
  324. ; playback_and_continue(<name of playback prompt>&<name of playback prompt>)
  325. ; playback_and_continue will
  326. ; play back a prompt while continuing to
  327. ; collect the dtmf sequence. This is useful
  328. ; when using a menu prompt that describes all
  329. ; the menu options. Note however that any DTMF
  330. ; during this action will terminate the prompts
  331. ; playback. Prompt files can be chained together
  332. ; using the '&' character as a delimiter.
  333. ; toggle_mute ; Toggle turning on and off mute. Mute will make the user silent
  334. ; to everyone else, but the user will still be able to listen in.
  335. ; toggle_binaural ; Toggle on or off binaural audio processing.
  336. ; no_op ; This action does nothing (No Operation). Its only real purpose exists for
  337. ; being able to reserve a sequence in the config as a menu exit sequence.
  338. ; decrease_listening_volume ; Decreases the channel's listening volume.
  339. ; increase_listening_volume ; Increases the channel's listening volume.
  340. ; reset_listening_volume ; Reset channel's listening volume to default level.
  341. ; decrease_talking_volume ; Decreases the channel's talking volume.
  342. ; increase_talking_volume ; Icreases the channel's talking volume.
  343. ; reset_talking_volume ; Reset channel's talking volume to default level.
  344. ;
  345. ; dialplan_exec(context,exten,priority) ; The dialplan_exec action allows a user
  346. ; to escape from the conference and execute
  347. ; commands in the dialplan. Once the dialplan
  348. ; exits the user will be put back into the
  349. ; conference. The possibilities are endless!
  350. ; leave_conference ; This action allows a user to exit the conference and continue
  351. ; execution in the dialplan.
  352. ;
  353. ; admin_kick_last ; This action allows an Admin to kick the last participant from the
  354. ; conference. This action will only work for admins which allows
  355. ; a single menu to be used for both users and admins.
  356. ;
  357. ; admin_toggle_conference_lock ; This action allows an Admin to toggle locking and
  358. ; unlocking the conference. Non admins can not use
  359. ; this action even if it is in their menu.
  360. ; set_as_single_video_src ; This action allows any user to set themselves as the
  361. ; single video source distributed to all participants.
  362. ; This will make the video feed stick to them regardless
  363. ; of what the video_mode is set to.
  364. ; release_as_single_video_src ; This action allows a user to release themselves as
  365. ; the video source. If video_mode is not set to "none"
  366. ; this action will result in the conference returning to
  367. ; whatever video mode the bridge profile is using.
  368. ;
  369. ; Note that this action will have no effect if the user
  370. ; is not currently the video source. Also, the user is
  371. ; not guaranteed by using this action that they will not
  372. ; become the video source again. The bridge will return
  373. ; to whatever operation the video_mode option is set to
  374. ; upon release of the video src.
  375. ; admin_toggle_mute_participants ; This action allows an administrator to toggle the mute
  376. ; state for all non-admins within a conference.
  377. ; Subsequent non-admins joining a muted conference will
  378. ; start muted. All admin users are unaffected by this
  379. ; option. Note that all users, regardless of their admin
  380. ; status, are notified that the conference is muted when
  381. ; the state is toggled.
  382. ; participant_count ; This action plays back the number of participants currently
  383. ; in a conference
  384. [sample_user_menu]
  385. type=menu
  386. *=playback_and_continue(conf-usermenu)
  387. *1=toggle_mute
  388. 1=toggle_mute
  389. *4=decrease_listening_volume
  390. 4=decrease_listening_volume
  391. *6=increase_listening_volume
  392. 6=increase_listening_volume
  393. *7=decrease_talking_volume
  394. 7=decrease_talking_volume
  395. *8=leave_conference
  396. 8=leave_conference
  397. *9=increase_talking_volume
  398. 9=increase_talking_volume
  399. [sample_admin_menu]
  400. type=menu
  401. *=playback_and_continue(conf-adminmenu)
  402. *1=toggle_mute
  403. 1=toggle_mute
  404. *2=admin_toggle_conference_lock ; only applied to admin users
  405. 2=admin_toggle_conference_lock ; only applied to admin users
  406. *3=admin_kick_last ; only applied to admin users
  407. 3=admin_kick_last ; only applied to admin users
  408. *4=decrease_listening_volume
  409. 4=decrease_listening_volume
  410. *6=increase_listening_volume
  411. 6=increase_listening_volume
  412. *7=decrease_talking_volume
  413. 7=decrease_talking_volume
  414. *8=no_op
  415. 8=no_op
  416. *9=increase_talking_volume
  417. 9=increase_talking_volume
  418. ; Questa stanza e' quella di "in onda"
  419. [mixer]
  420. type=bridge
  421. max_members=3
  422. record_conference=no
  423. ; Queste sono le stanze private di ogni telefono della regia
  424. [regia]
  425. type=bridge
  426. record_conference=no
  427. [esterno]
  428. type=user
  429. [mixer]
  430. type=user
  431. music_on_hold_when_empty=no
  432. [regia]
  433. type=user
  434. music_on_hold_when_empty=yes
  435. marked=yes
  436. quiet=yes