Конференц-связь в IP-PBX Elastix на базе ConfBridge

Возникла необходимость организовать IP-PBX Elastix v2.5 конференц-зал. Просто, что бы в нем могли собраться сразу несколько сотрудников и что-то обсудить. Задача осложнялась только тем, что необходимо было обеспечить возможность подключать к конференц-связи внешних абонентов. Поэтому встроенных возможностей Elastix оказалось недостаточно.
Реализовывать задачу будем на базе функционала ConfBridge. Начнем с его настройки. Добавим в файл "/etc/asterisk/confbridge_custom.conf" следующие строки, тем самым задав параметры по умолчанию:

[general]

[default_bridge]
type=bridge
language=ru
record_conference=no
video_mode=none

[default_user]
type=user
admin=no
marked=no
startmuted=no
music_on_hold_when_empty=yes
quiet=no
announce_user_count=yes
announce_user_count_all=yes
announce_only_user=yes
wait_marked=no
end_marked=no
dsp_drop_silence=yes
talk_detection_events=no
denoise=yes
jitterbuffer=yes
announce_join_leave=no
dtmf_passthrough=no

Создадим конференц-зал под номером 00. Идея заключается в том, что любой внутренний абонент может позвонить на специальный сервисный номер *00. Тем самым он как бы входит в конференц-зал и всего его участники могут одновременно разговаривать друг с другом. Для этого модернизируем план нумерации, добавив в файл "/etc/asterisk/extensions_custom.conf" следующие строки:

[macro-confbridge]
exten => s,1,ChannelRedirect(${BRIDGEPEER},confbridge,*00,1)
exten => s,n,agi(googletts.agi,"Конференц-связь запущена.",ru)
exten => s,n,Answer()
exten => s,n,ConfBridge(00)
exten => s,n,agi(googletts.agi,"Конференц-связь остановлена.",ru)
exten => s,n,Hangup

[confbridge]
exten => *00,1,agi(googletts.agi,"Конференц-связь запущена.",ru)
exten => *00,n,Answer()
exten => *00,n,ConfBridge(00)
exten => *00,n,agi(googletts.agi,"Конференц-связь остановлена.",ru)
exten => *00,n,Hangup

Для чего нужен макрос "macro-confbridge" станет ясно немного позже.
Один из вариантов, посредством, которого внешний абонент может зайти в конференц-зал, это позвонить на специальный номер ТСОП. В этом случае необходимо в разделе "Inbound Routes" создать для него специальный "Custom Destinations".

IP-PBX ElastixНо такой метод подключения внешних абонентов не очень удобен. Правильнее всего, когда организатор конференции имеет возможность обзвонить всех участников и пригласить их в конференц-зал. Реализуем и такую возможность. Для этого добавим в файл "/etc/asterisk/features_applicationmap_custom.conf" строку: "confbridge => *00,self/both,Macro,confbridge". А в "/etc/asterisk/globals_custom.conf" – "DYNAMIC_FEATURES=apprecord#confbridge". Теперь любой внутренний абонент во время разговора, нажав *00 на клавиатуре телефона, переведет сразу и себя, и вызываемого абонента в конференц-зал.

Похожие публикации

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>