Кирилл Золотавин
01.06.2020
8256

Конфигурирование и обзор возможностей видеоконференции стандартными средствами Asterisk 16

Начиная с 15-й версии Asterisk появился полноценный функционал организации видеоконференций, но наблюдались некоторые проблемы в виде рассыпания видеокартинки. В 16 версии данный функционал был доработан и улучшен режим работы с мультипотоком «SFU»(когда приходящие видео потоки рассылаются всем участникам конференции, которые поддерживают прием нескольких потоков, т.е. получаем полноценный MCU на базе Asterisk). В статье использовались файлы: […]

Начиная с 15-й версии Asterisk появился полноценный функционал организации видеоконференций, но наблюдались некоторые проблемы в виде рассыпания видеокартинки. В 16 версии данный функционал был доработан и улучшен режим работы с мультипотоком «SFU»(когда приходящие видео потоки рассылаются всем участникам конференции, которые поддерживают прием нескольких потоков, т.е. получаем полноценный MCU на базе Asterisk).

P.S. Все описанные действия в статье необходимо выполнять от имени суперпользователя (root). Установка и настройка производилась на предустановленной системе CentOS 7 + Asterisk 16 + FreePBX 15+PjSIP.

В статье использовались файлы:

cyber_mega_phone_2k-master.zip — простое клиентское приложение на стороне браузера, созданное для тестирования многопотоковых возможностей Asterisk на основе библиотеки JsSIP.

Инструкция

1.                      Выполним предварительные настройки FreePBX, для этого перейдём в WEB панель управления FreePBX через интернет обозреватель(Opera, Firefox, Google Chrome, Yandex Browser….) по ссылке вида: http://IP_адрес_сервера_Asterisk/ В примере ссылка имеет вид: http://192.168.170.163/

WEB панель FreePBX

2.                      Пройдём авторизацию во FreePBX, нажмём «FreePBX Administration», введем «username и password» и нажмём «Continue»

Авторизация во FreePBX

3.                      Перейдем в меню Settings -> Advanced Settings и  включим «Asterisk Builtin mini-HTTP server»

Enable the mini-HTTP Server — установите значение «true»
Enable Static Content — установите в значение «true»
Enable TLS for the mini-HTTP Server — установите в значение «true»
HTTP Bind Address — установите значение «0.0.0.0»
HTTP Bind Port — установите значение «8088»
HTTPS Bind Address — установите значение «0.0.0.0»
HTTPS Bind Port — установите значение «8089»
HTTPS TLS Certificate Location – установите директорию расположения SSL сертификата(по умолчанию: /etc/asterisk/keys/integration/certificate.pem, рекомендуется использовать  LetsEncrypt  сертификат вместо самоподписанного или приобрести сертификат )
HTTPS TLS Private Key Location — установите директорию расположения приватного ключа сгенерированного вместе с SSL сертификатом(по умолчанию: /etc/asterisk/keys/integration/webserver.key, рекомендуется использовать  LetsEncrypt  ключ вместо самоподписанного или приобрести сертификат)

Переход в меню Advanced Settings
Настройка Asterisk Builtin mini-HTTP server
P.S.Более подробно о генерации LetsEncrypt сертификата можно узнать из статьи «Установка SSL-сертификата от LetsEncrypt» : https://voxlink.ru/kb/asterisk-configuration/ustanovka-ssl-sertifikata-ot-letsencrypt/

4.           Перейдем в меню Settings -> Advanced Settings и  включим возможность подключения по WebSocket

ws — 0.0.0.0 – All — установите значение «Yes»
wss — 0.0.0.0 – All — установите значение «Yes»

Переход в меню SIP Settings
Настройка WebSocket

5.           Выполним подключение по SSH к серверу IP АТС Asterisk. В зависимости от используемой системы(Windows, Linux, MacOS), подключение по SSH можно выполнить с использованием различного дополнительного программного обеспечения(Putty), либо системного терминала.

6.           Создадим гостевую кастом учетную запись PJsip:

# nano /etc/asterisk/pjsip_custom.conf

Следующего вида:

[guest]
type=aor
max_contacts=5 ;Ограничения максимально зарегистрированных Sip User agent на данную учетную запись
[guest]
type=endpoint
context=from-internal ;Контекст для осуществления исходящих звонков
direct_media=no ;Обработкой медиа трафика будет заниматься Asterisk
disallow=all
allow=ulaw,vp8,h264;Разрешенные кодеки
aors=guest
max_audio_streams=10 ; максимальное количество аудио каналов
max_video_streams=10 ; максимальное количество видео каналов
webrtc=yes ;разрешить использовать WebRTC
use_avpf=yes
rtcp_mux=yes
media_encryption=dtls
dtls_verify=fingerprint
dtls_cert_file=/etc/asterisk/keys/voxlink.crt
dtls_private_key=/etc/asterisk/keys/voxlink.key
dtls_setup=actpass
dtls_rekey=0
Настройка кастом PJsip учетной записи
P.S.Более подробно о настройке SSL/DTLS сертификата можно из статей «Настройка WebRTC в Asterisk 13: https://voxlink.ru/kb/asterisk-configuration/nastrojka-webrtc-v-asterisk-13/» и «Установка модуля WebRTC во FreePBX: https://voxlink.ru/kb/freepbx/ustanovka-modulya-webrtc-vo-freepbx/»

7. Создадим дополнительный профиль телеконференции:

# nano /etc/asterisk/confbridge_custom.conf

Следующего вида:

[sfubridge]
type=bridge
video_mode=sfu ;включения режима работы видео в мультипотоке
[sfuuser]
type=user
music_on_hold_when_empty=yes ;Проигрывание музыки ожидания если в конференции один участник
music_on_hold_class=default ; Класс музыки ожидания используемый по умолчанию
[sfumenu]
type=menu
*=playback_and_continue(conf-usermenu)
*1=toggle_mute ;включение/отключение микрофона
1=toggle_mute ;включение/отключение микрофона
Настройка профиля конференции

8. Создадим два экстена для проверки видео конференц связи:

# nano /etc/asterisk/extensions_custom.conf

Следующего вида:

exten => 911,1,Answer() ; Эхо тест
  same => n,StreamEcho(3)
  same => n,Hangup()

exten => 912,1,Answer() ; Конференц комната с задействованным профилем конференции 
  same => n,ConfBridge(912,sfubridge,sfuuser,sfumenu)
  same => n,Hangup()
Создание двух экстенов
<em>P.S.Не менее важным моментом является то что Asterisk должен быть собран с поддержкой SRTP. Более подробно можно узнать изстатьи «TLS SRTP для драйвера PJSIP в Asterisk 15: https://voxlink.ru/kb/asterisk-configuration/tls-srtp-dlya-drajvera-pjsip-v-asterisk-15/»</em>

9. Приступим к установке Cyber Mega Phone:

# cd /var/www/html/
# git clone https://github.com/asterisk/cyber_mega_phone_2k.git
# mv cyber_mega_phone_2k cmp2k
Скачивание Cyber Mega Phone в корневую директорию Apache

10. Перейдём в WEB панель управления Cyber Mega Phone через интернет обозреватель(Opera, Firefox, Google Chrome, Yandex Browser….) по ссылке вида: https://IP_адрес_сервера_Asterisk/cmp2k/ и выполним базовую настройку созданной нами кастом учетной записи PJsip переходом по кнопке «Account» и заполнением следующих полей:

ID – ID учетной записи PJsip(в рамках данной статьи: guest)
Authorization password — пароль учетной записи PJsip(в рамках данной статьи: guest)
Host IP/Name – IP адрес или доменное имя сервера АТС(в рамках данной статьи генерировался сертификат на доменное имя: meet-voxlink.ddns.net)
Register – снимаем регистрацию с учетной записи
Extension – экстен конференц комнаты

Настройка учетной записи в Cyber Mega Phone

Заполнив все данный учетной записи выполним подключение к серверу АТС нажатием клавиши «Connect» и выполним подключение к конференц комнате нажатием клавиши «Call»

Подключение к серверу АТС
Организация звонка в конференц комнату
Собранная конференц комната из трех участников
Пример прохождения звонка в CLI консоли
Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments

Остались вопросы?

Я - Кондрашин Игорь, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование

ближайшие курсы

ближайшие Вебинары

ONLINE

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.