Asterisk: confbridge.conf
Confbridge.conf - файл конфигурации конференций в Asterisk. Содержит категории профилей пользователей конференции и профилей конференц-мостов, а также настройки меню управления конференциями.
Профили телеконференций по умолчанию
'default_user' и 'default_bridge' секции применяются автоматически для всех Конференц-Мостов (ConfBridge) вызываемых без явного указания пользователя или моста (см. Команда Asterisk ConfBridge ) Свойства меню для мостов по умолчанию отсутствуют. Если профили по умолчанию 'default_user' или 'default_bridge' удалены они будут снова добавлены при загрузке модуля.
Профиль пользователя конференц-моста
ConfBridge User Profile Options
[default_user]
[default_user]
type
Пользовательская категория (профиль).
type=user
admin
Предоставить права администратора или нет. Выкл по умолчанию.
admin=yes
marked
Метка особого пользователя. Поведение других участников конференции
может зависеть от действий маркированного пользователя.
Некоторые параметры привязанные к маркированному пользователю,
будут определять это поведение. По умолчанию выкл.
marked=yes
startmuted
Выключить микрофон участника при подключении к телеконференции. По умолчанию параметр выкл.
startmuted=yes
music_on_hold_when_empty
Проигрывать Музыку на Удержании одинокому участнику конференции.
Или участнику конференции ожидающему маркированного пользователя.
Выкл по умолчанию.
music_on_hold_when_empty=yes
music_on_hold_class
Класс MOH (Музыки на Удержании) для данного профиля пользователя.
music_on_hold_class=default
quiet
Если включено, то не проигрывать сообщения о входе/выходе из конференции других участников. Не влияет на такие сообщения, как, например, ввод пин-кода. выкл по умолчанию.
quiet=yes
announce_user_count
Сообщить кол-во участников новому пользователю конференции. По умолчанию выкл.
announce_user_count=yes
announce_user_count_all
Сообщить кол-во участников конференции всем пользователям, когда кто-нибудь входит.
Если задан номер, то оповещение будет производится только однажды,
по достижении указанного числа участников.
announce_user_count_all=yes
announce_only_user
Сообщить пользователю о входе в пустую конференцию. Включено по умолчанию.
announce_only_user=yes
wait_marked
Пользователь не становиться участником конференции, до подключения промаркированного пользователя (см. также music_on_hold_when_empty=yes). выкл по умолчанию.
wait_marked=yes
end_marked
Выкинуть всех участников (с данной опцией) из конференции, когда ее покинет последний из маркированных пользователей.
end_marked=yes
dsp_drop_silence
Данная опция отбрасывает голосовые пакеты активного участника,
в которых не распознается речь, т.е. тишину.
Включение этой опции кардинально уменьшает нагрузку на сервер
и улучшает качество звука в конференции, за счет удаления фоновых шумов.
Рекомендуется использовать для больших конференций со множеством участников.
dsp_drop_silence=yes
dsp_talking_threshold
Временной порог распознавания голосовой активности (в миллисекундах),
за которым считается, что участник держит речь.
Этот параметр влияет на разные аспекты конференции
и не должен изменяться, без явного понимания последствий
для качества звука.
Как это может повлиять:
- Аудио только тогда передается пользователям,
когда входящий аудио поток распознан. Если значение слишком расплывчатое, то говорящий, каждый раз, начиная речь, будет слышать себя некоторое время, пока DSP не распознает его, как оратора.
- Если речь распознается для отображения в событиях AMI,
слишком узкое значение может привести к тому, что за речь будет приниматься шум в помещении и отображаться, как детектирование речи в событиях AMI. В общем, если вы не используете приложений, контролирующих конференцию через AMI, можно не беспокоиться.
- Параметр 'dsp_drop_silence' использует это значение,
когда определяет начало речи после периода тишины. Если значение слишком расплывчатое, начало речи будет обрезаться детектором молчания.
По умолчанию значение 160 ms. Возможные значения от 1 до 2^31 (2147483648).
dsp_talking_threshold=128
dsp_silence_threshold
Пороговое значение тишины, за которым считается, что говорящий взял паузу, т.е. замолчал. К изменению данного параметра, надо относиться с большой осторожностью т.к. он может сильно влиять на качество вызова.
Какое влияние может оказывать:
'dsp_drop_silence' параметр, напрямую зависит от данной опции.
Если значение слишком низкое,
речь, ведущего в данный момент участника,
может звучать прерывистой для остальных слушателей.
Это вызвано тем, что DSP будет считать молчанием малейшую паузу,
обрывая оратора на полуслове
Лучше всего установить данное значение, исходя из максимальной продолжительности пауз в естественной речи
Значение по умолчанию 2500ms. Возможные значения от 1 до 2^31
dsp_silence_threshold=2000
talk_detection_events
Данная опция активирует события AMI, когда пользователь начинает или заканчивает говорить. по умолчанию выключено.
talk_detection_events=yes
denoise
Использовать или нет фильтр шума. по умолчанию выкл. func_speex должна быть скомпилирована и установлена. не путайте эту опцию с drop_silence. Denoise используется для фильтрации фонового шума в канале говорящего участника.
denoise=yes
jitterbuffer
Включает jitterbuffer (Jitter) аудио потока перед микшированием конференции.
Включение этой опции может привести к небольшим задержкам.
Данная опция использует функцию диалплана JITTERBUFFER
Для более точной настройки используйте функцию JITTERBUFFER в диалплане,
непосредственно перед вызовом команды ConfBridge.
jitterbuffer=yes
pin
Установить пин-код для входа в конференцию. О вводе пин-кода будет объявлено.
pin=1234
announce_join_leave
Если включено, новому пользователю будет предложено назвать свое имя при входе в конференцию. Записанное имя будет объявлено участникам конференции Выкл по умолчанию.
announce_join_leave=yes
announce_join_leave_review
Похоже на опцию announce_join_leave, перезаписать или подтвердить его, при помощи голосовых подсказок. Выкл по умолчанию
announce_join_leave_review=yes
dtmf_passthrough
Принимать или нет DTMF сигналы в конференции. Sets whether or not DTMF should pass through the conference. Выкл по умолчанию.
dtmf_passthrough=yes
announcement
Проиграть указанный файл пользователю входящему в конференцию.
announcement=</path/to/file>
timeout
Когда значение больше нуля, указывает через какое время в секундах, участник конференции будет автоматически выдворен из комнаты. Когда пользователь удаляется, переменной CONFBRIDGE_RESULT в его канале присваивается значение 'timeout'. По умолчанию: 0
timeout=3600
Профиль конференц-моста
ConfBridge Bridge Profile Options
[default_bridge] type=bridge ;max_members=50 ; Данный параметр устанавливает лимит участников конференции ; Когда предел достигнут, новые пользователи отвергаются ; Пользователь с правами администратора, может подключаться независимо от ; состояния лимита. По умолчанию кол-во участников конференции не ограничено. ; ;record_conference=yes ; Записывать конференцию, когда подключается первый участник и ; завершать запись, когда конференцию покидает последний участник. ; Имя файла по умолчанию: ; 'confbridge-<name of conference bridge>-<start time>.wav ; Файл сохраняется в директории заданной для записи в конфиге ; [[asterisk:cf:asterisk.conf]] ; astspooldir => /var/spool/asterisk - spool/monitor ;record_file=</path/to/file> ; Если запись конференции включена, задать специфический путь и имя файла ; записи конференции. В случае если несколько ; конференций используют один и тот же профиль, ; это может привести к проблемам в зависимости от настроек. ; Поэтому, рекомендуется использовать, только для динамических конференций ; созданных при помощи функции диалплана CONFBRIDGE
например:
exten => _7XX,1,Set(dynamic_conf=dconf-${EXTEN}-${STRFTIME(${EPOCH},,%d.%m.%Y-%H:%M:%S)}) exten => _7XX,n,Set(CONFBRIDGE(bridge,record_conference)=yes) exten => _7XX,n,Set(CONFBRIDGE(bridge,record_file)=/home/asterisk/mconf/${dynamic_conf}.wav) exten => _7XX,n,ConfBridge(${EXTEN})
;record_file_append=yes ; Продолжать запись в тот же файл конференции ; (не совсем понятно при каких условиях это может быть выполнено, на практике не удалось). ;record_options= ; Дополнительные опции MixMonitor. ;record_command=</path/to/command> ; Could not find option suitable for category 'dialplan' named 'record_command'. ; опция не поддерживается в Asterisk13 ;internal_sample_rate=auto ; Установить частоту дискретизации для микширования аудио в конференции. ; по умолчанию - автоматически ; возможная частота от 8000-192000. ; ;mixing_interval=40 ; Устанавливает внутренний интервал микширования в миллисекундах для конференц-моста. ; Это число задает, как плотно или свободно микшируется аудио для конференции. ; Для улучшения производительности устанавливается больший интервал. ; Использование большего интервала, увеличивает кол-во задержек в конференц-мосте. ; Допустимые значения 10, 20, 40 или 80. По умолчанию 20мс. ;
Настройки Видео-конференции
Настройка обработки и распределения видео в конференции.
;video_mode = follow_talker; Данная опция устанавливает режим распределения видео от участников конференц-моста ; Примечание: участники моста, передающие и принимающие видео, ; должны использовать один и тот же видео кодек. ; (т.к. видео поддерживается только в режиме passthrough) ; Jitterbuffer рекомендуется выключать. ; В отличии от полноценной видео конференции, ; когда все участники могут видеть друг друга в многочисленных окнах ; в Asterisk возможно наблюдать только одного. ; Что, однако, позволяет использовать стандартные софтфоны ; и IP телефоны с поддержкой видео. ; Собственно, от кого транслируется видео и описывают доступные режимы. ; ; --- РЕЖИМЫ --- ; none: Видео не транслируется, но можно включить командой меню в любой момент. ; ; follow_talker: Видео передается от говорящего участника, если он его транслирует. ; ; last_marked: Видео от вошедшего последним маркированного участника конференции ; транслируется всем остальным. ; ; first_marked: Видео от первого вошедшего маркированного участника конференции ; транслируется всем остальным. Если он покидает очередь, то от следующего.
;language=en ; Язык сообщений конференции, для данного профиля. ; по умолчанию (English). ;regcontext=conferences ; Контекст в котором регистрируется имя конференции, как расширение диалплана.
Звуковые файлы профиля конференции
Все звуковые файлы используемые в конференции,
могут быть заданы индивидуально для каждого профиля.
Используемый формат: <fs medium>имя_опции = <имя файла или полный путь к файлу></fs>.
Если указано только имя файла, оно должно быть расположено
в директории по умолчанию, например: /var/lib/asterisk/sounds .
;sound_join ; Сообщение о входе в конференцию. ;sound_leave ; Сообщение о выходе из конференции. ;sound_has_joined ; Представление присоединившегося пользователя, с именем записанным при входе: ; Example "_____ has joined the conference" ;sound_has_left ; Представление покидающего конференцию пользователя по имени: ; Example "_____ has left the conference" ;sound_kicked ; Сообщение пользователю, который будет выкинут из конференции. ;sound_muted ; Сообщение о отключении микрофона. ;sound_unmuted ; Сообщение о включении микрофона. ;sound_only_person ; Воспроизводится, когда пользователь является единственным человеком в конференции. ;sound_only_one ; Сообщение что остались только два участника тет-а-тет. ;sound_there_are ; Сколько пользователей в конференции. ;sound_other_in_party; ; Используется совместно с sound_there_are ; "sound_there_are" <кол-во участников> "sound_other_in_party" ;sound_place_into_conference ;(устарело) Сообщение, когда к конференции присоединяется участник ожидавший маркированного пользователя. ;sound_wait_for_leader ; Сообщение проигрывается участнику ожидающему лидера (маркированного участника). ;sound_leader_has_left ; Сообщение, что лидер покинул конференцию. ;sound_get_pin ; Приглашение ввести пин-код. ;sound_invalid_pin ; Сообщение о неверном пин-коде. ;sound_locked ; Сообщение пользователя, который пытается подключиться к заблокированной конференции. ;sound_locked_now ; Сообщение админу о блокировке конференции. ;sound_unlocked_now; Сообщение о разблокировке конференции. ;sound_error_menu ; Сообщение о неверном вводе опции меню. ;sound_begin ; Сообщение о первом маркированном пользователе присоединившимся к конференции.
Опции меню конференц-моста
ConfBridge Menu Options
Приложение ConfBridge, также имеет возможность, создания кастомизированных DTMF меню
для каждого канала использующего его. Как и профили пользователей и мостов,
меню указывается как аргумент команды ConfBridge в диалплане Asterisk.
Далее приводится список действий меню, которые могут быть назначены DTMF сигналам
Если в качестве первого символа DTMF кода используется решетка '#',
вы должны экранировать ее, иначе она будет интерпретирована как #инклюд.
\#1=toggle_mute
один и тот же DTMF код, может быть назначен нескольким действиям, перечисленным через запятую ' , '.
5=reset_talking_volume, reset_listening_volume
; playback(<name of audio file>&<name of audio file>) ; Воспроизвести звуковой файл в канал ; и немедленно вернуться в конференцию. ; Этот файл не может быть прерван DTMF ; Несколько файлов могут быть заданы через амперсанд '&' ; playback_and_continue(<name of playback prompt>&<name of playback prompt>) ; Воспроизвести звуковой файл ; с возможность DTMF ввода во время воспроизведения. ; Можно использовать, например, ; для описания пунктов DTMF меню. ; Как только DTMF сигнал будет обработан, ; воспроизведение прервется ; и будет выполнено указанное действие. ; Несколько файлов могут быть заданы через амперсанд '&' ; toggle_mute ; Вкл/Выкл микрофон. ; no_op ; Ничего (No Operation). Its only real purpose exists for ; being able to reserve a sequence in the config as a menu exit sequence. ; decrease_listening_volume ; Уменьшить громкость слышимости канала. ; increase_listening_volume ; Увеличить громкость слышимости канала. ; reset_listening_volume ; Сбросить громкость по умолчанию. ; decrease_talking_volume ; Уменьшить громкость речи. ; increase_talking_volume ; Увеличить громкость речи. ; reset_talking_volume ; Сбросить громкость речи. ; ; dialplan_exec(context,exten,priority) ; Покинуть конференцию и выполнить команду диалплана. ; leave_conference ; Покинуть конференцию и продолжить выполнение диаплана. ; ; admin_kick_last ; Выкинуть последнего участника из конференции. ; Это действие может выполнить только админ использующей одно и тоже меню с пользователем. ; ; admin_toggle_conference_lock ; Заблокировать/Разблокировать вход в конференцию. ; только для админов ; set_as_single_video_src ; Позволяет любому участнику установить себя источником видео, ; независимо от режима распределения видео. ; release_as_single_video_src ; Позволяет участнику отменить трансляцию своего видео. ; Возвращает трансляцию видео согласно режиму заданному ; для профиля конференц-моста. ; admin_toggle_mute_participants ; Выключить микрофон (лишить права голоса) ; всех участников без прав администратора. ; ; participant_count ; Огласить кол-во участников конференции.
Примеры меню конференц-моста
[sample_user_menu] type=menu *=playback_and_continue(conf-usermenu) *1=toggle_mute 1=toggle_mute *4=decrease_listening_volume 4=decrease_listening_volume *6=increase_listening_volume 6=increase_listening_volume *7=decrease_talking_volume 7=decrease_talking_volume *8=leave_conference 8=leave_conference *9=increase_talking_volume 9=increase_talking_volume [sample_admin_menu] type=menu *=playback_and_continue(conf-adminmenu) *1=toggle_mute 1=toggle_mute *2=admin_toggle_conference_lock ; only applied to admin users 2=admin_toggle_conference_lock ; only applied to admin users *3=admin_kick_last ; only applied to admin users 3=admin_kick_last ; only applied to admin users *4=decrease_listening_volume 4=decrease_listening_volume *6=increase_listening_volume 6=increase_listening_volume *7=decrease_talking_volume 7=decrease_talking_volume *8=no_op 8=no_op *9=increase_talking_volume 9=increase_talking_volume