Board logo

標題: ConfBridge——多功能电话会议 [打印本頁]

作者: 角色    時間: 2015-6-7 21:26     標題: ConfBridge——多功能电话会议

本帖最後由 角色 於 2015-6-8 01:23 編輯

以前开会都是Asterisk的Conference(Meetme),但是它有一定局限,现在Asterisk从Version 10开始从新加入另外一个开会的软件ConfBridge,据闻这个开会软件比Meetme更加强大,具体大家看link[1]。

Asterisk里的ConfBridge信息:
http://asterisk-pbx.ru/wiki/asterisk/cf/etc/confbridge.conf

Overview

Asterisk, since its early days, has offered a conferencing application called MeetMe (app_meetme.so). MeetMe provides DAHDI-mixed software-based bridges for multi-party audio conferencing. MeetMe is used by nearly all Asterisk implementations - small office, call center, large office, feature-server, third-party application, etc. It has been extremely successful as an audio bridge.
Over time, several significant limitations of MeetMe have been encountered by its users. Among these are two of distinction: MeetMe requires DAHDI for mixing, and is thus limited to 8kHz (PSTN) audio sampling rates; and MeetMe is delivered in a fairly static form, it does not provide extensive configuration options.
To address these limitations, a new conferencing application, based upon the ConfBridge application introduced in Asterisk 1.6.0, is now available with Asterisk 10. This new ConfBridge application replaces the older ConfBridge application. It is not intended to be a direct replacement for MeetMe, it will not provide feature parity with the MeetMe application. Instead, the new ConfBridge application delivers a completely redesigned set of functionality that most users will find more than sufficient, and in many ways better, for their conferencing needs.

Reference:
[1] https://wiki.asterisk.org/wiki/display/AST/ConfBridge
作者: 角色    時間: 2015-6-7 21:32

本帖最後由 角色 於 2015-6-7 21:38 編輯

confbridge.conf
  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. ;marked=yes    ; Sets if this is a marked user or not. Off by default.
  20. ;startmuted=yes; Sets if all users should start out muted. Off by default
  21. ;music_on_hold_when_empty=yes  ; Sets whether MOH should be played when only
  22.                                ; one person is in the conference or when the
  23.                                ; the user is waiting on a marked user to enter
  24.                                ; the conference. Off by default.
  25. ;music_on_hold_class=default   ; The MOH class to use for this user.
  26. ;quiet=yes     ; When enabled enter/leave prompts and user intros are not played.
  27.                ; There are some prompts, such as the prompt to enter a PIN number,
  28.                ; that must be played regardless of what this option is set to.
  29.                ; Off by default
  30. ;announce_user_count=yes  ; Sets if the number of users should be announced to the
  31.                           ; caller.  Off by default.
  32. ;announce_user_count_all=yes ; Sets if the number of users should be announced to
  33.                              ; all the other users in the conference when someone joins.
  34.                              ; This option can be either set to 'yes' or a number.
  35.                              ; When set to a number, the announcement will only occur
  36.                              ; once the user count is above the specified number.
  37. ;announce_only_user=yes   ; Sets if the only user announcement should be played
  38.                           ; when a channel enters a empty conference.  On by default.
  39. ;wait_marked=yes   ; Sets if the user must wait for a marked user to enter before
  40.                    ; joining the conference. Off by default.
  41. ;end_marked=yes ; This option will kick every user with this option set in their
  42.                 ; user profile after the last Marked user exists the conference.

  43. ;dsp_drop_silence=yes  ; This option drops what Asterisk detects as silence from
  44.                        ; entering into the bridge.  Enabling this option will drastically
  45.                        ; improve performance and help remove the buildup of background
  46.                        ; noise from the conference. Highly recommended for large conferences
  47.                        ; due to its performance enhancements.

  48. ;dsp_talking_threshold=128  ; The time in milliseconds of sound above what the dsp has
  49.                             ; established as base line silence for a user before a user
  50.                             ; is considered to be talking.  This value affects several
  51.                             ; operations and should not be changed unless the impact on
  52.                             ; call quality is fully understood.
  53.                             ;
  54.                             ; What this value affects internally:
  55.                             ;
  56.                             ; 1. Audio is only mixed out of a user's incoming audio stream
  57.                             ;    if talking is detected.  If this value is set too
  58.                             ;    loose the user will hear themselves briefly each
  59.                             ;    time they begin talking until the dsp has time to
  60.                             ;    establish that they are in fact talking.
  61.                             ; 2. When talk detection AMI events are enabled, this value
  62.                             ;    determines when talking has begun which results in
  63.                             ;    an AMI event to fire.  If this value is set too tight
  64.                             ;    AMI events may be falsely triggered by variants in
  65.                             ;    room noise.
  66.                             ; 3. The drop_silence option depends on this value to determine
  67.                             ;    when the user's audio should be mixed into the bridge
  68.                             ;    after periods of silence.  If this value is too loose
  69.                             ;    the beginning of a user's speech will get cut off as they
  70.                             ;    transition from silence to talking.
  71.                             ;
  72.                             ; By default this value is 160 ms. Valid values are 1 through 2^31

  73. ;dsp_silence_threshold=2000 ; The time in milliseconds of sound falling within the what
  74.                             ; the dsp has established as baseline silence before a user
  75.                             ; is considered be silent.  This value affects several
  76.                             ; operations and should not be changed unless the impact
  77.                             ; on call quality is fully understood.
  78.                             ;
  79.                             ; What this value affects internally:
  80.                             ;
  81.                             ; 1. When talk detection AMI events are enabled, this value
  82.                             ;    determines when the user has stopped talking after a
  83.                             ;    period of talking.  If this value is set too low
  84.                             ;    AMI events indicating the user has stopped talking
  85.                             ;    may get falsely sent out when the user briefly pauses
  86.                             ;    during mid sentence.
  87.                             ; 2. The drop_silence option depends on this value to
  88.                             ;    determine when the user's audio should begin to be
  89.                             ;    dropped from the conference bridge after the user
  90.                             ;    stops talking.  If this value is set too low the user's
  91.                             ;    audio stream may sound choppy to the other participants.
  92.                             ;    This is caused by the user transitioning constantly from
  93.                             ;    silence to talking during mid sentence.
  94.                             ;
  95.                             ; The best way to approach this option is to set it slightly above
  96.                             ; the maximum amount of ms of silence a user may generate during
  97.                             ; natural speech.
  98.                             ;
  99.                             ; By default this value is 2500ms. Valid values are 1 through 2^31

  100. ;talk_detection_events=yes ; This option sets whether or not notifications of when a user
  101.                            ; begins and ends talking should be sent out as events over AMI.
  102.                            ; By default this option is off.

  103. ;denoise=yes ; Sets whether or not a denoise filter should be applied
  104.              ; to the audio before mixing or not.  Off by default. Requires
  105.              ; func_speex to be built and installed.  Do not confuse this option
  106.              ; with drop_silence.  Denoise is useful if there is a lot of background
  107.              ; noise for a user as it attempts to remove the noise while preserving
  108.              ; the speech.  This option does NOT remove silence from being mixed into
  109.              ; the conference and does come at the cost of a slight performance hit.

  110. ;jitterbuffer=yes  ; Enabling this option places a jitterbuffer on the user's audio stream
  111.                    ; before audio mixing is performed.  This is highly recommended but will
  112.                    ; add a slight delay to the audio.  This option is using the JITTERBUFFER
  113.                    ; dialplan function's default adaptive jitterbuffer.  For a more fine tuned
  114.                    ; jitterbuffer, disable this option and use the JITTERBUFFER dialplan function
  115.                    ; on the user before entering the ConfBridge application.
複製代碼

作者: 角色    時間: 2015-6-7 21:39

本帖最後由 角色 於 2015-6-7 21:42 編輯

confbridge.conf (continued)
  1. ;pin=1234  ; Sets if this user must enter a PIN number before entering
  2.            ; the conference.  The PIN will be prompted for.
  3. ;announce_join_leave=yes ; When enabled, this option will prompt the user for a
  4.                          ; name when entering the conference.  After the name is
  5.                          ; recorded, it will be played as the user enters and exists
  6.                          ; the conference. This option is off by default.
  7. ;announce_join_leave_review=yes ; When enabled, implies announce_join_leave, but the user
  8.                                 ; will be prompted to review their recording before
  9.                                 ; entering the conference. During this phase, the recording
  10.                                 ; may be listened to, re-recorded, or accepted as is. This
  11.                                 ; option is off by default.
  12. ;dtmf_passthrough=yes  ; Sets whether or not DTMF should pass through the conference.
  13.                        ; This option is off by default.
  14. ;announcement=</path/to/file> ; Play a sound file to the user when they join the conference.

  15. ; --- ConfBridge Bridge Profile Options ---
  16. [default_bridge]
  17. type=bridge
  18. ;max_members=50                ; This option limits the number of participants for a single
  19.                                ; conference to a specific number.  By default conferences
  20.                                ; have no participant limit. After the limit is reached, the
  21.                                ; conference will be locked until someone leaves.  Note however
  22.                                ; that an Admin user will always be alowed to join the conference
  23.                                ; regardless if this limit is reached or not.

  24. ;record_conference=yes         ; Records the conference call starting when the first user
  25.                                ; enters the room, and ending when the last user exits the room.
  26.                                ; The default recorded filename is
  27.                                ; 'confbridge-<name of conference bridge>-<start time>.wav
  28.                                ; and the default format is 8khz slinear.  This file will be
  29.                                ; located in the configured monitoring directory in asterisk.conf.

  30. ;record_file=</path/to/file>   ; When record_conference is set to yes, the specific name of the
  31.                                ; record file can be set using this option.  Note that since multiple
  32.                                ; conferences may use the same bridge profile, this may cause issues
  33.                                ; depending on the configuration.  It is recommended to only use this
  34.                                ; option dynamically with the CONFBRIDGE() dialplan function. This
  35.                                ; allows the record name to be specified and a unique name to be chosen.
  36.                                ; By default, the record_file is stored in Asterisk's spool/monitor directory
  37.                                ; with a unique filename starting with the 'confbridge' prefix.

  38. ;internal_sample_rate=auto     ; Sets the internal native sample rate the
  39.                                ; conference is mixed at.  This is set to automatically
  40.                                ; adjust the sample rate to the best quality by default.
  41.                                ; Other values can be anything from 8000-192000.  If a
  42.                                ; sample rate is set that Asterisk does not support, the
  43.                                ; closest sample rate Asterisk does support to the one requested
  44.                                ; will be used.

  45. ;mixing_interval=40     ; Sets the internal mixing interval in milliseconds for the bridge.  This
  46.                         ; number reflects how tight or loose the mixing will be for the conference.
  47.                         ; In order to improve performance a larger mixing interval such as 40ms may
  48.                         ; be chosen.  Using a larger mixing interval comes at the cost of introducing
  49.                         ; larger amounts of delay into the bridge.  Valid values here are 10, 20, 40,
  50.                         ; or 80.  By default 20ms is used.

  51. ;video_mode = follow_talker; Sets how confbridge handles video distribution to the conference participants.
  52.                            ; Note that participants wanting to view and be the source of a video feed
  53.                            ; _MUST_ be sharing the same video codec.  Also, using video in conjunction with
  54.                            ; with the jitterbuffer currently results in the audio being slightly out of sync
  55.                            ; with the video.  This is a result of the jitterbuffer only working on the audio
  56.                            ; stream.  It is recommended to disable the jitterbuffer when video is used.
  57.                            ;
  58.                            ; --- MODES ---
  59.                            ; none: No video sources are set by default in the conference. It is still
  60.                            ;       possible for a user to be set as a video source via AMI or DTMF action
  61.                            ;       at any time.
  62.                            ;
  63.                            ; follow_talker: The video feed will follow whoever is talking and providing video.
  64.                            ;
  65.                            ; last_marked: The last marked user to join the conference with video capabilities
  66.                            ;              will be the single source of video distributed to all participants.
  67.                            ;              If multiple marked users are capable of video, the last one to join
  68.                            ;              is always the source, when that user leaves it goes to the one who
  69.                            ;              joined before them.
  70.                            ;
  71.                            ; first_marked: The first marked user to join the conference with video capabilities
  72.                            ;               is the single source of video distribution among all participants. If
  73.                            ;               that user leaves, the marked user to join after them becomes the source.

  74. ;language=en               ; Set the language used for announcements to the conference.
  75.                            ; Default is en (English).

  76. ; All sounds in the conference are customizable using the bridge profile options below.
  77. ; Simply state the option followed by the filename or full path of the filename after
  78. ; the option.  Example: sound_had_joined=conf-hasjoin  This will play the conf-hasjoin
  79. ; sound file found in the sounds directory when announcing someone's name is joining the
  80. ; conference.

  81. ;sound_join  ; The sound played to everyone when someone enters the conference.
  82. ;sound_leave ; The sound played to everyone when someone leaves the conference.
  83. ;sound_has_joined ; The sound played before announcing someone's name has
  84.                   ; joined the conference. This is used for user intros.
  85.                   ; Example "_____ has joined the conference"
  86. ;sound_has_left ; The sound played when announcing someone's name has
  87.                 ; left the conference. This is used for user intros.
  88.                 ; Example "_____ has left the conference"
  89. ;sound_kicked ; The sound played to a user who has been kicked from the conference.
  90. ;sound_muted  ; The sound played when the mute option it toggled on.
  91. ;sound_unmuted  ; The sound played when the mute option it toggled off.
  92. ;sound_only_person ; The sound played when the user is the only person in the conference.
  93. ;sound_only_one ; The sound played to a user when there is only one other
  94.                 ; person is in the conference.
  95. ;sound_there_are  ; The sound played when announcing how many users there
  96.                   ; are in a conference.
  97. ;sound_other_in_party; ; This file is used in conjunction with 'sound_there_are"
  98.                        ; when announcing how many users there are in the conference.
  99.                        ; The sounds are stringed together like this.
  100.                        ; "sound_there_are" <number of participants> "sound_other_in_party"
  101. ;sound_place_into_conference ; The sound played when someone is placed into the conference
  102.                              ; after waiting for a marked user. This sound is now deprecated
  103.                              ; since it was only ever used improperly and correcting that bug
  104.                              ; made it completely unused.
  105. ;sound_wait_for_leader  ; The sound played when a user is placed into a conference that
  106.                         ; can not start until a marked user enters.
  107. ;sound_leader_has_left  ; The sound played when the last marked user leaves the conference.
  108. ;sound_get_pin ; The sound played when prompting for a conference pin number.
  109. ;sound_invalid_pin ; The sound played when an invalid pin is entered too many times.
  110. ;sound_locked ; The sound played to a user trying to join a locked conference.
  111. ;sound_locked_now ; The sound played to an admin after toggling the conference to locked mode.
  112. ;sound_unlocked_now; The sound played to an admin after toggling the conference to unlocked mode.
  113. ;sound_error_menu ; The sound played when an invalid menu option is entered.
  114. ;sound_begin ; The sound played to the conference when the first marked user enters the conference.
複製代碼

作者: 角色    時間: 2015-6-7 21:43

本帖最後由 角色 於 2015-6-7 21:45 編輯

confbridge.conf (continued...2)
  1. ; --- ConfBridge Menu Options ---
  2. ; The ConfBridge application also has the ability to
  3. ; apply custom DTMF menus to each channel using the
  4. ; application.  Like the User and Bridge profiles
  5. ; a menu is passed in to ConfBridge as an argument in
  6. ; the dialplan.
  7. ;
  8. ; Below is a list of menu actions that can be assigned
  9. ; to a DTMF sequence.
  10. ;
  11. ; To have the first DTMF digit in a sequence be the '#' character, you need to
  12. ; escape it.  If it is not escaped then normal config file processing will
  13. ; think it is a directive like #include.  For example:
  14. ; \#1=toggle_mute                      ; Pressing #1 will toggle the mute setting.
  15. ;
  16. ; A single DTMF sequence can have multiple actions associated with it. This is
  17. ; accomplished by stringing the actions together and using a ',' as the delimiter.
  18. ; Example:  Both listening and talking volume is reset when '5' is pressed.
  19. ; 5=reset_talking_volume, reset_listening_volume
  20. ;
  21. ; playback(<name of audio file>&<name of audio file>)
  22.                                        ; Playback will play back an audio file to a channel
  23.                                        ; and then immediately return to the conference.
  24.                                        ; This file can not be interupted by DTMF.
  25.                                        ; Mutliple files can be chained together using the
  26.                                        ; '&' character.
  27. ; playback_and_continue(<name of playback prompt>&<name of playback prompt>)
  28.                                        ; playback_and_continue will
  29.                                        ; play back a prompt while continuing to
  30.                                        ; collect the dtmf sequence.  This is useful
  31.                                        ; when using a menu prompt that describes all
  32.                                        ; the menu options.  Note however that any DTMF
  33.                                        ; during this action will terminate the prompts
  34.                                        ; playback.  Prompt files can be chained together
  35.                                        ; using the '&' character as a delimiter.
  36. ; toggle_mute      ; Toggle turning on and off mute.  Mute will make the user silent
  37.                    ; to everyone else, but the user will still be able to listen in.

  38. ; no_op ; This action does nothing (No Operation). Its only real purpose exists for
  39.         ; being able to reserve a sequence in the config as a menu exit sequence.
  40. ; decrease_listening_volume ; Decreases the channel's listening volume.
  41. ; increase_listening_volume ; Increases the channel's listening volume.
  42. ; reset_listening_volume    ; Reset channel's listening volume to default level.

  43. ; decrease_talking_volume ; Decreases the channel's talking volume.
  44. ; increase_talking_volume ; Icreases the channel's talking volume.
  45. ; reset_talking_volume    ; Reset channel's talking volume to default level.
  46. ;
  47. ; dialplan_exec(context,exten,priority)  ; The dialplan_exec action allows a user
  48.                                          ; to escape from the conference and execute
  49.                                          ; commands in the dialplan.  Once the dialplan
  50.                                          ; exits the user will be put back into the
  51.                                          ; conference.  The possibilities are endless!
  52. ; leave_conference ; This action allows a user to exit the conference and continue
  53.                    ; execution in the dialplan.
  54. ;
  55. ; admin_kick_last  ; This action allows an Admin to kick the last participant from the
  56.                    ; conference. This action will only work for admins which allows
  57.                    ; a single menu to be used for both users and admins.
  58. ;
  59. ; admin_toggle_conference_lock ; This action allows an Admin to toggle locking and
  60.                                ; unlocking the conference.  Non admins can not use
  61.                                ; this action even if it is in their menu.

  62. ; set_as_single_video_src   ; This action allows any user to set themselves as the
  63.                             ; single video source distributed to all participants.
  64.                             ; This will make the video feed stick to them regardless
  65.                             ; of what the video_mode is set to.

  66. ; release_as_single_video_src ; This action allows a user to release themselves as
  67.                               ; the video source.  If video_mode is not set to "none"
  68.                               ; this action will result in the conference returning to
  69.                               ; whatever video mode the bridge profile is using.
  70.                               ;
  71.                               ; Note that this action will have no effect if the user
  72.                               ; is not currently the video source.  Also, the user is
  73.                               ; not guaranteed by using this action that they will not
  74.                               ; become the video source again.  The bridge will return
  75.                               ; to whatever operation the video_mode option is set to
  76.                               ; upon release of the video src.

  77. ; admin_toggle_mute_participants ; This action allows an administrator to toggle the mute
  78.                                  ; state for all non-admins within a conference.  All
  79.                                  ; admin users are unaffected by this option.  Note that all
  80.                                  ; users, regardless of their admin status, are notified
  81.                                  ; that the conference is muted.

  82. ; participant_count        ; This action plays back the number of participants currently
  83.                            ; in a conference

  84. [sample_user_menu]
  85. type=menu
  86. *=playback_and_continue(conf-usermenu)
  87. *1=toggle_mute
  88. 1=toggle_mute
  89. *4=decrease_listening_volume
  90. 4=decrease_listening_volume
  91. *6=increase_listening_volume
  92. 6=increase_listening_volume
  93. *7=decrease_talking_volume
  94. 7=decrease_talking_volume
  95. *8=leave_conference
  96. 8=leave_conference
  97. *9=increase_talking_volume
  98. 9=increase_talking_volume

  99. [sample_admin_menu]
  100. type=menu
  101. *=playback_and_continue(conf-adminmenu)
  102. *1=toggle_mute
  103. 1=toggle_mute
  104. *2=admin_toggle_conference_lock ; only applied to admin users
  105. 2=admin_toggle_conference_lock  ; only applied to admin users
  106. *3=admin_kick_last       ; only applied to admin users
  107. 3=admin_kick_last        ; only applied to admin users
  108. *4=decrease_listening_volume
  109. 4=decrease_listening_volume
  110. *6=increase_listening_volume
  111. 6=increase_listening_volume
  112. *7=decrease_talking_volume
  113. 7=decrease_talking_volume
  114. *8=no_op
  115. 8=no_op
  116. *9=increase_talking_volume
  117. 9=increase_talking_volume
複製代碼

作者: 角色    時間: 2015-6-8 23:28

本帖最後由 角色 於 2015-6-8 23:38 編輯

Example 1: The simplest ConfBridge application function

extensions.conf
  1. exten => 4000,1,ConfBridge(101);  join Room 101
複製代碼
Create an extension representing the conference meeting room 101.
The user can make a phone call to the extension of 4000 to enter the conference room. It can accommodate as many as users who dialed the extension number 40000.


Reference:
http://www.itp-redial.com/class/ ... k-conference-bridge
作者: 角色    時間: 2015-6-8 23:47

本帖最後由 角色 於 2015-6-9 01:45 編輯

Other references:
http://www.venturevoip.com/detail.php?news_id=2509

Introducing the new ConfBridge
http://www.venturevoip.com/detail.php?news_id=2509

Very comprehensive manual for ConfBridge
https://www.voztovoice.org/sites ... 0411-0853-11250.pdf




歡迎光臨 電訊茶室 (http://telecom-cafe.com/forum/) Powered by Discuz! 7.2