Система видеоконференций BigBlueButton с возможностью совместной работы с Asterisk.

 Почти уверен что перед каждым ИТ отделом ставилась задача организовать видеоконференцию, или просто конференцию, например с филиалом. Решений задачи много — от дорогих аппаратных до бесплатных софтовых. Хочу обратить внимание хабрсообщества на одно из бесплатных решений этой задачи — BigBlueButton. На хабре уже была небольшая заметка о нем, я попытаюсь рассказать немного подробнее об этом решении, а так же о опыте его внедрения у нас в компании.

Сами разработчики позиционируют его как решение для обучения и проведения презентаций, заявленный функционал ничуть не мешает нам использовать его для наших бизнес-целей. На главной странице проекта есть ссылка на демонстрацию решения. В первый раз наткнувшись на BigBlueButton в поисках решения организации конференции я пошел именно по этой ссылке, то что я там увидел впечатлило и казалось, полностью подойдет под наши нужды (впрочем, так и оказалось).

Приятным сюрпризом, также, оказалось что полностью функционирующая система доступна в виде образа VMWARE прямо на сайте разработчиков, там же находится и подробная инструкция по установке. Здесь стоит отметить, что указанный образ без проблем конвертировался и запустился под hyper-v. 

Скачав и запустив образ мы практически сразу получаем решение «из коробки» (ip машина получает по dhcp). Уже в таком виде вполне можно пользоваться bbb, для этого нам понадобиться видеокамера и гарнитура. Демо конференции доступны если зайти браузером на адрес развернутого сервера.

После входа в конференцию открывается основное окно:

В верхней левой части окна отображаются участники конференции. Тут стоит отметить что участники могут быть двух типов — обычный участник и модератор. Обычный участник может слушать и смотреть конференцию. Модератор может управлять микрофонами участников, а так же давать участникам право демонстрации. Участник обладающий правом демонстрации может размещать на панели демонстрации (панель по середине) различные материалы (например документ word или powerpoint) которые будут доступны для просмотра всем участникам конференции. Также участник конференции может смотреть изображение с камеры других участников, если другой участник ее включил.

В нижней левой части располагается окно так называемых «слушателей» — это участники конференции, попавшие в нее дозвонившись на телефонный номер конференции. Этот функционал весьма интересен и полезен (нам по крайней мере) и о на его настройке я остановлюсь немного подробнее позже.

В правой части расположен чат (да-да обычный чат), в который могут писать все участники конференции. При входе в конференцию в чат пишется приглашение, которое можно настроить при создании конференции.

Более подробно работа с интерфейсом bbb описана в документе, ссылку на который я приложил в конце заметки, это реальная инструкция участника используемая нами.

Теперь я хочу рассказать о том, что собственно мы изменили «под себя»

 

В первую очередь мы поменяли часть создания\входа в конференции.

Образ распространяется как демонстрационный и изначально имеется несколько шаблонов-примеров, для того чтобы понять каким образом создаются конференции. Шаблоны находятся здесь: 

/var/lib/tomcat6/webapps/bigbluebutton/demo

Изучив их мы просто создали свой, теперь у нас при входе на сервер конференций примерно следующее:

Второе, что хотелось реализовать — дозвон в конференцию с телефонов.

 

В BigBlueButton телефония (да и вообще весь голос) поддерживается встроенным Asterisk, соответственно нам придется как-то связать существующую сеть телефонии с bbb Asterisk. Все необходимые конфигурационные файлы Asterisk лежат в

/etc/asterisk/

Собственно, нам понадобится только два файла:

bbb_sip.conf
bbb_extensions.conf

Телефония у нас в компании организована посредством Cisco CallManager, связать его с Asterisk мы можем, например, SIP-транком. Для этого на стороне Asterisk мы меняем bbb_sip.conf таким образом:

[bbbuser]
type=friend
username=bbbuser
insecure=very
qualify=no
nat=yes
host=dynamic
canreinvite=no
context=bbb-voip
disallow=all
allow=ulaw

[TO_CCM]
disallow=all
type=friend
context=bigbluebutton
host=172.31.0.2
port=5062
allow=ulaw
allow=alaw
nat=no
canreinvite=no
qualify=no
dtmfmode=rfc2833

где 172.31.0.2 — адрес нашего CCM, 5062 — транковый порт.

На стороне CCM также создается SIP-транк в сторону Asterisk, создается роут-паттерн с какого-нибудь внутреннего номера в этот транк, таким образом звонок на внутренний номер будет заворачиваться на Asterisk и в конференции.

На стороне Asterisk также был немного изменен файл bbb_extensions.conf

В разделе

[prompt]
exten => s,1,Read(CONF_NUM,conf-getconfno,5,,3,10)
exten => s,n,Goto(bbb-conference,${CONF_NUM},1)

Необходимо прописать число символов в номере конференции, у нас 5.

Также мы поменяли раздел

[bbb-conference]
include => echo-test

exten => _XXXX.,1,Agi(agi://localhost/findConference?conference=${EXTEN})
exten => _XXXX.,n,GotoIf($[${EXTEN} = ${CONFERENCE_FOUND}]?valid:invalid)
exten => _XXXX.,n(valid),Playback(conf-placeintoconf)
; exten => _XXXX.,n,MeetMe(${CONFERENCE_FOUND},cdMsT)
exten => _XXXX.,n,Set(CALLERID(name)= ${IF($["${CALLERID(name)}" = ""]?${CALLERID(num)}:${CALLERID(name)})})
exten => _XXXX.,n,Konference(${CONFERENCE_FOUND},H)
exten => _XXXX.,n(invalid),Goto(handle-invalid-conference,s,1)

Суть изменений такова: когда внешний абонент дозванивается и попадает в конференцию его CALLERNAME показывается в окне слушателей, но т.к. имя звонящего далеко не всегда передается конечной АТС в конечном итоге почти всегда в окне слушателей появляется «unknown caller», что само по себе логично, но мешает понять кто есть кто в слушающих, приведенное изменение служит для того, чтобы в случае отсутствия имени у звонящего выводился его определившийся номер телефона.

Что еще?
Платформа оказалась на удивление гибкой и дружественной к изменениям, в случае такой необходимости весь предоставляемый ею функционал можно встроить в корпоративный портал, можно автоматизировать заказ конференций, можно прикрутить еще что-нибудь к телефонии, да вообще много чего можно :)

Полезные ссылки:
Сайт разработчиков 
Группа BBB в google 
Рабочая инструкция участника видеоконференции: Скачать Инструкция_участника_видеоконференции_хабр.docx с WebFile.RU

Источник: http://habrahabr.ru/blogs/open_source/112066/

Комментарии

Изображение пользователя admin.

От себя добавлю: ровно год

От себя добавлю: ровно год назад в одну из Российских нефтяных компаний в центральный офис ставили подобную систему видеоконференций, но без Asterisk на базе OpenMeetings+RED5
Если тут говорят, что ставится из коробки, то здорово (в том случае пришлось помучаться, особенно с кривым вэб-интерфейсом openmeetings)
И еще, BigBlueButton умеет интегрироваться с: Drupal http://drupal.org/project/bbb, Moodle http://moodle.org/mod/data/view.php?d=13&rid=3524, Wordpress http://wordpress.org/extend/plugins/bigbluebutton/. Если кто увидит еще ПО, которое стыкуется с BigBlueButton - просьба отписать сдесь.

Изображение пользователя admin.

И еще, на сайте есть образ

И еще, на сайте есть образ для VMWare, с помощью которого готовый сервер видеоконференции BigBlueButton развертывается в течении 10 минут

Изображение пользователя doom2_imp.

Айрат, это же супер. Если бы

Айрат, это же супер. Если бы ты знал, как ты во время с этой штукой!!! =)

Изображение пользователя admin.

>>Если бы ты знал, как ты во

>>Если бы ты знал, как ты во время с этой штукой!!! =)
я твое последнее предложение не понял)

Изображение пользователя doom2_imp.

ну во время. как-нибудь за

ну во время. как-нибудь за рюмкой чая потом расскажу ;)

Изображение пользователя admin.

ааа))) ну рад, что помогло)))

ааа)))
ну рад, что помогло)))

Изображение пользователя admin.

Max Lapshin View profile

Max Lapshin
View profile
More options Dec 16 2010, 3:05 pm
On Thu, Dec 16, 2010 at 3:02 PM, HostBBB.com wrote:
> Max, I'm following your erllyideo project.. have you been nvolved
> with bbb for a while.

Yes. We have started works on porting BBB to erlyvideo.
-------------------
Поясню: Максим Лапшин - автор видеостримингого сервера erlyvideo приступил к портированию на него BigBlueButton, который сейчас базируется на RED5. Основные достоинства erlyvideo перед Red5: Red5 написан на java и сдорово отъедает ресурсы сервера, к тому же erlyvideo (написан на Erlang) умеет читать RTSP MPEG TS потоки в отличии от Red5. К тому же в erlyvideo можно использовать ip-камеры (если я ничего не путаю), на 4 ядра, 8GB памяти держит до 4000 подключений (по словам автора), есть возможность микшировать звук на сервере и существует набор дополнительных плагинов, например позволяющих заменить дорогостоящий видеорегистратор.

Вобщем подытожу: если у него все выйдет (доделает связку BigBlueButton+erlyvideo и будет дальше развивать последний), то это будет реальная бомба, тем более с открытым кодом и API. Думаю пойдут пачками новые плагины и форки заточенные для различных задач. К примеру тот же Zoneminder был бы на порядок круче чем сейчас и тд... Скрестим пальцы...

Изображение пользователя manofring.

слишком много диферамбов

слишком много диферамбов БББ
кроме как КРАСЯВЫМ ИНТЕРФЕЙСОМ ничем не отличается от Openmeetings, если учесть что они оба построенны на Java+OpenOffice+swftools+RED5, и к тому же опенмитинг куда быстрее развивается, и поемоему автор БББ просто тырит все с опенмитинга с его сорсов. По крайне мере все фичи в БББ появляются на полгода позже чем в ОМ. Так что ляля не надо.
З.Ы. вебморда у ОМ слегка уродлива, скажем так - никто не мешает залезть разметку и поправить. Кстати замечу, разметка уродлива тока на кирилице на буржуйских все даже ничего.

Изображение пользователя admin.

>>все фичи в БББ появляются

>>все фичи в БББ появляются на полгода позже чем в ОМ

какие там фичи то? одно и тоже. согласен, что "тырят" ибо инитерфейс один в один
но как говорю именно с интерфейсом openmeetings были проблемы. и ничерта там не просто подогнать разметку под разные браузеры/мониторы/разрешения. гемора было - караул, одно исправишь - другое загадишь.

а деферамбов тут больше не про BBB, а про erlyvideo, реально перспективный продукт.

Изображение пользователя doom2_imp.

admin wrote:Max Lapshin View

admin wrote:
Max Lapshin
View profile
More options Dec 16 2010, 3:05 pm
On Thu, Dec 16, 2010 at 3:02 PM, HostBBB.com wrote:
> Max, I'm following your erllyideo project.. have you been nvolved
> with bbb for a while.

Yes. We have started works on porting BBB to erlyvideo.


Этож "нуваще супер". + ещё один пинок по моей ленивой заднице к изучению Erlang. (:

Изображение пользователя admin.

Свежий (вчерашний) ответ от

Свежий (вчерашний) ответ от него по этой теме:

Quote:
"Как я уже писал в рассылке, мы начали процесс портирования BBB на erlyvideo, однако сейчас этот процесс приостановлен, потому что именно портировать особого смысла нет — слишком кошмарна серверная часть.

То, что за флешкой представляет из себя адскую смесь из джавы, скалы и всяких других серверов, понакачанных из интернета. Куда уж в конференциях без очереди сообщений =) «Активная кастомизация» этого продукта всё таки очень осложнена и невообразимо громоздким кодом Red5, и общей ненужной сложностью структуры.

В итоге мы сейчас делаем своё решение, какие-то вещи позаимствуем из BBB (сохраняя GPL, конечно).

А вообще — это хороший проект и хорош он прежде всего тем, что сделан, упакован и работает."

Еще бы с астериска на yate

Еще бы с астериска на yate или freeswitch портировали... а то сил нет никаких с астером бороться.

Изображение пользователя admin.

а причем тут они? SIP же

а причем тут они?
SIP же есть. транк прокинь.

Всем привет!! При установке

Всем привет!! При установке BBB в virtual masnine нет http (пустое место)??? в чем может быть проблема???

Приветствую админ подскажи

Приветствую админ подскажи где образ лежит (образ для VMWare)

Изображение пользователя doom2_imp.

http://code.google.com/p/bigb

http://code.google.com/p/bigbluebutton/wiki/BigBlueButtonVM

Танцев с бубнами можно

Танцев с бубнами можно избежать если к BigBlueButton грамотно прикручен хороший сервис. Такое, крайне удачное сочетание с платформой BBB - http://createwebinar.com. Там нет проблем с кириллическими заголовками вебинаров. Реально годный сервис - убедитесь самостоятельно. Для удобства организации имеются адресная книга, календарь событий, возможность рассылки приглашений и весьма полезная функция скачивание видеозаписи прошедшего вебинара. Также можно посмотреть видео онлайн и добавит его на Vimeo. Пока сервис доступен в бесплатном режиме. Вэлкам!

style="display:inline-block;width:728px;height:15px"
data-ad-client="ca-pub-4493870272388852"
data-ad-slot="6622567932">