Bigbluebutton setup html5 dev клиент для входа на встречу с вызовом api join пустой html response
Мы искали новый html5-клиент для большой синей кнопки, чтобы протестировать его спецификации для оценки и тестирования.
Мы начали с того, что следовали установочному документу bigbluebutton 1.0 вместе с заменой текущего репозитория пакетов на bigbluebutton-2, как упомянуто в документации, затем следовали демонстрации api, установка клиента html5 и установка клиента html5 dev на Ubuntu 16.05 linux vm, работающем на облачных вычислениях Google Vm.
Для запуска пакета метеоров мы успешно использовали результаты pm2-meteor и pm2-meteor.
Установка ядра bigbluebutton-2.0, dev была успешной, и это статус проверки клиента, который мы получили -
За исключением sip-соединений, поскольку он показывает успех для всех компонентов, мы думали, что теперь все должно работать так, как ожидалось. Таким образом, при попытке bigbluebutton-api с секретами от bbb-conf на
https://server_domain/html5 client/check возвращает
{"html5clientStatus":"running"}
Журналы pm2-meteor ничего не показывают по этому запросу проверки, но когда я загружаюсь - https://server_domain/html5client
Я получаю "несанкционированный" ответ, и это в журналах -
0|bigblueb | error: CLIENT LOG: [object Object]
0|bigblueb | language=en-US, userAgent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36, width=1366, height=768, width=1366, height=637, bbbVersion=2.0-rc, location=http://livetuitions.urtutors.com/html5client, meetingId=null, requesterUserId=null, requesterToken=null, logoutURL=null, sessionToken=null
Итак, я считаю, что метеор работает правильно, не знаю, откуда html5client/check
API работает, поэтому я проверил
sudo service bbb-html5 status
● bbb-html5.service - BigBlueButton HTML5 service
Loaded: loaded (/usr/lib/systemd/system/bbb-html5.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Wed 2018-03-14 07:40:29 UTC; 31min ago
Process: 18077 ExecStart=/usr/share/meteor/bundle/systemd_start.sh (code=exited, status=1/FAILURE)
Main PID: 18077 (code=exited, status=1/FAILURE)
Mar 14 07:40:28 online-teaching-prod systemd_start.sh[18077]: MongoDB shell version v3.6.3
Mar 14 07:40:29 online-teaching-prod systemd_start.sh[18077]: connecting to: mongodb://127.0.0.1:27017/html5client
Mar 14 07:40:29 online-teaching-prod systemd_start.sh[18077]: 2018-03-14T07:40:29.094+0000 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll),
Mar 14 07:40:29 online-teaching-prod systemd_start.sh[18077]: 2018-03-14T07:40:29.095+0000 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
Mar 14 07:40:29 online-teaching-prod systemd_start.sh[18077]: connect@src/mongo/shell/mongo.js:251:13
Mar 14 07:40:29 online-teaching-prod systemd_start.sh[18077]: @(connect):1:6
Mar 14 07:40:29 online-teaching-prod systemd_start.sh[18077]: exception: connect failed
Mar 14 07:40:29 online-teaching-prod systemd[1]: bbb-html5.service: Main process exited, code=exited, status=1/FAILURE
Mar 14 07:40:29 online-teaching-prod systemd[1]: bbb-html5.service: Unit entered failed state.
Mar 14 07:40:29 online-teaching-prod systemd[1]: bbb-html5.service: Failed with result 'exit-code'.
Итак, я подумал, что мой Mongodb не подключается на локальном хосте, поэтому я попытался -
sudo service mongod status
mongod.service - High-performance, schema-free document-oriented database
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/mongod.service.d
└─override.conf
Active: active (running) since Wed 2018-03-14 07:40:20 UTC; 32min ago
Docs: https://docs.mongodb.org/manual
Main PID: 17571 (mongod)
Итак, он работал и монго тоже открывает оболочку монго, так что никаких проблем там я считаю.
Но в любом случае, так как моя установка dev env html5 переопределяет этот сервис, теперь я подумал, что, возможно, meteor также не может подключиться к mongodb, поэтому для его тестирования я попытался запустить, используя
http://mconf.github.io/bigbluebutton-api-js/
создать конференц-звонок с моим секретным и API-адресом. Ответ создания встречи был успешным.
Таким образом, это означает, что метеор может подключаться к mognodb, но не к html5 client.
Итак, чтобы проверить установку по умолчанию, я попробовал присоединиться в качестве докладчика, посетителя из сгенерированных URL-адресов api-js.
Флэш-клиент успешно загружен, и я могу использовать все компоненты во флеш-версии.
Итак, чтобы протестировать html5 client аналогичным образом -
1) Я попытался использовать существующий токен сеанса, который был у меня во флэш-клиенте, и открыл -
https://livetuitions.urtutors.com/html5client/join?sessionToken=j2h4lllp5hmpthaw
Теперь я перенаправил свой браузер на https://livetutions.urtutors.com/html5client/
но ничего не показывает на экране (так что я думаю, что может быть проблема с приложением настроек макета) или html5 client перенаправляется на неверную конечную точку / параметры или проблему с сертификатом ssl.
Чтобы исключить проблему с сертификатом ssl, я попытался запустить -
https://www.ssllabs.com/ssltest/analyze.html?d=livetuitions.urtutors.com&latest
что привело к рейтингу, так что я думаю, сертификаты не проблема здесь.
Хотя, когда мы следовали разделу о настройке let encrypt в документации по настройке, мы генерировали сертификаты с помощью следующей команды:
letsencrypt --webroot -w /var/www/bigbluebutton-default/ -d livetuitions.urtutors.com certonly
Итак, я подозреваю, что они были сгенерированы для корневого каталога nginx bbb-demos по умолчанию, а не для версии html5 dev, которую я использую.
Или это может быть, что мой экземпляр Meteor Dev Server (~/dev/bigbluebutton/bigbluebutton-html5)
развернут / настроен неправильно.
В любом случае, я не уверен относительно причины, по которой я вижу пустой html в браузере после присоединения к html5 client, поэтому после проверки журналов pm2 после нажатия на вызов присоединиться и посетить собрание от apimate, который я получил -
0|bigblueb | ~~~~ REDIS RECEIVED: UserRegisteredRespMsg {"envelope":{"name":"UserRegisteredRespMsg","routing":{"sender":"bbb-apps-akka"}},"core":{"header":{"name":"UserRegisteredRespMsg","meetingId":"e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881"},"body":{"meetingId":"e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881","userId":"w_kg5xefvekhtu","name":"User 9802715","role":"VIEWER"}}}
0|bigblueb | info: User 'w_kg5xefvekhtu' is trying to validate auth token for meeting 'e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881'
0|bigblueb | ~~~~ REDIS PUBLISHING: {"envelope":{"name":"ValidateAuthTokenReqMsg","routing":{"sender":"bbb-apps-akka"}},"core":{"header":{"name":"ValidateAuthTokenReqMsg","meetingId":"e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881","userId":"w_kg5xefvekhtu"},"body":{"userId":"w_kg5xefvekhtu","authToken":"g0xl4bx2zvab"}}}
0|bigblueb | info: Created dummy user id=w_kg5xefvekhtu token=g0xl4bx2zvab meeting=e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881
0|bigblueb | ~~~~ REDIS RECEIVED: ValidateAuthTokenRespMsg {"envelope":{"name":"ValidateAuthTokenRespMsg","routing":{"msgType":"DIRECT","meetingId":"e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881","userId":"w_kg5xefvekhtu"}},"core":{"header":{"name":"ValidateAuthTokenRespMsg","meetingId":"e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881","userId":"w_kg5xefvekhtu"},"body":{"userId":"w_kg5xefvekhtu","authToken":"g0xl4bx2zvab","valid":true,"waitForApproval":false}}}
0|bigblueb | info: User 'w_kg5xefvekhtu' is joining meeting 'e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881'
0|bigblueb | ~~~~ REDIS PUBLISHING: {"envelope":{"name":"UserJoinMeetingReqMsg","routing":{"sender":"bbb-apps-akka"}},"core":{"header":{"name":"UserJoinMeetingReqMsg","meetingId":"e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881","userId":"w_kg5xefvekhtu"},"body":{"userId":"w_kg5xefvekhtu","authToken":"g0xl4bx2zvab"}}}
0|bigblueb | info: Removing system messages from: (w_kg5xefvekhtu)
0|bigblueb | ~~~~ REDIS RECEIVED: UserJoinedMeetingEvtMsg {"envelope":{"name":"UserJoinedMeetingEvtMsg","routing":{"msgType":"BROADCAST_TO_MEETING","meetingId":"e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881","userId":"w_kg5xefvekhtu"}},"core":{"header":{"name":"UserJoinedMeetingEvtMsg","meetingId":"e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881","userId":"w_kg5xefvekhtu"},"body":{"intId":"w_kg5xefvekhtu","extId":"w_kg5xefvekhtu","name":"User 9802715","role":"VIEWER","guest":false,"authed":false,"waitingForAcceptance":false,"emoji":"none","presenter":false,"locked":true,"avatar":"https://livetuitions.urtutors.com/client/avatar.png"}}}
0|bigblueb | info: Validated auth token as true user=w_kg5xefvekhtu meeting=e63fe056dd094d57eda400e8a8b49bef4a5716f3-1521015841881
0|bigblueb | info: Added chat from= to=SYSTEM_MESSAGE time=1521015968383
что говорит о том, что добавление пользователя было успешным, и это ответ, который я получаю в браузере -
что предполагает ожидаемый ответ от всех трех вызовов - "enter", "info", "_timesync".
Поэтому я попытался загрузить тот же токен с помощью флеш-клиента, и он работает как шарм -
https://livetuitions.urtutors.com/client/BigBlueButton.html?sessionToken=3b1pfrn4l8hdyr4d
Может ли кто-нибудь здесь помочь мне найти / отладить / исправить эту проблему или какую дополнительную информацию я могу предоставить, которая может помочь в выявлении / отладке / устранении проблемы, чтобы я мог загрузить и протестировать html5 client bigbluebutton
---------------- Переключен на стандартный Bigbluebutton-HTML5----------
Поэтому, когда модуль dev screenhare не работал, я попытался остановить приложение meteor и перезапустил службу bbb-html5. что привело к успеху. поэтому я подумал, что все должно работать сейчас и вуаля, все работает (в основном хорошо).
В журнале изменений я прочитал, что html5 теперь также поддерживает ScreenShare, но он не работал с клиентом html5 по умолчанию, с которым я установил (sudo apt-get install bbb-html5)
[Я думаю, это из-за проблемы с сертификатом / ssl, размещенной здесь по адресу - /questions/3499309/kak-ispolzovat-letsencrypt-nginx-sertifikatyi-dlya-ant-sign-jar-dlya-podpisi-rasshirenij-screenshare.
Итак, пару проблем, которые я нашел здесь, были 1) Аудио продолжало отключаться. Пришлось снова и снова проходить эхо-тест. [Я пытался изменить /var/www/bigbluebutton/client/conf/config.xml, чтобы разрешить пропуск проверки звука из конфигурации, но не эффект после перезапуска conf] 2) Видео продолжало отключаться с этим сообщением в консоли при взаимодействии с чатом, другим элементы экрана -
21:09:58.876 User shared webcam w_4eawbbe3zwxu
21:10:06.979 CLIENT LOG (ERROR): Camera share has not suceeded in 10000
21:10:06.981 CLIENT LOG (INFO): Unsharing webcam
21:10:06.981 User unshared webcam w_4eawbbe3zwxu
21:10:07.262 Sending message: {"type":"video","role":"share","id":"stop","cameraId":"w_4eawbbe3zwxu"}
21:10:07.263 CLIENT LOG (INFO): Stopping WebRTC peer
21:10:07.263 Disposing WebRtcPeer
21:10:07.269 Disposing WebRtcPeer
3) Screenshare также не работает.
Может ли кто-нибудь может помочь в устранении / обнаружении возможных проблем в любом из этих 3 компонентов.
Привет,
Итак, в соответствии с предложением @Fred, чтобы проверить вещи с новым скриптом автоматической сборки для bigbluebutton.
Он успешно работал на новой виртуальной машине Ubuntu 16.04, работающей на GCE, с 8 ГБ оперативной памяти. Поэтому, чтобы проверить состояние систем, я попытался снова загрузить клиент bigbluebutton в своем браузере и обнаружил, что все системы работоспособны.
[PS Мне пришлось установить пакет bbb-check из Ubuntu ppa для доступа к веб-интерфейсу пользователя, поэтому я предполагаю, что он все еще не является частью сценария bbb-install.sh.]
Кроме того, после проверки статуса клиента я обнаружил, что bigbluebutton не использует ssl. Так что я снова предполагаю, что это все еще не часть bbb-install.sh. Но если это так, как вы упомянули в ответе ниже, то здесь может быть проблема / ошибка.
Кроме того, файлы конфигурации, которые перезагружаются после перезапуска bbb-conf, отображаются как -
Итак, я предполагаю, что установка dev env также не является частью сценария сборки. В любом случае, чтобы протестировать html5 client, я попытался установить его и проверить состояние сервиса bbb-html5.
Итак, для установки html5 нам нужны были узел, метеор, mongodb и т. Д., Которые были недоступны, поэтому я предполагаю, что bbb-install.sh может не обрабатывать их,
Кроме того, по какой-то причине после установки mongodb на мою Ubuntu с помощью apt (mongodb-org) служба mongod не создавалась. Итак, я искал альтернативный вариант передачи переменных env, таких как MONGO_URL, в bbb-conf как часть конфигурации / свойств bigbluebutton. Но я не нашел ни одного. Хотя я видел такую опцию при настройке среды разработки с помощью bbb-html5 при использовании pm2-meteor, который использовал переменные dev env, такие как nodeenv, mongourl и т. Д., Для передачи на метеоритный сервер bbb html5, поэтому не уверен, как это происходит. обрабатывается в скрипте bbb-install.sh или как передать эти переменные в bbb-conf для всех операций, таких как перезапуск, проверка, запуск, остановка и т. д. [потому что это в конечном итоге потребовалось бы нам, как мы бы хотели Храните базу данных распределенной и отделенной от машины, обрабатывающей bbb-клиента для масштабирования.
В любом случае, поэтому я создал сервис вручную и запустил его для тестирования. Затем я попытался запустить службу bbb-html5 с -
sudo service bbb-html5 start
он не запускается с ошибками, показанными ниже -
kladdha_bhl68@online-teaching-dev-classroom:~$ sudo /usr/share/meteor/bundle/systemd_start.sh
cat: programs/server/assets/app/config/settings-production.json: No such file or directory
MongoDB shell version v3.6.3
connecting to: mongodb://127.0.0.1:27017/html5client
MongoDB server version: 3.6.3
{ "dropped" : "html5client", "ok" : 1 }
/usr/share/meteor/bundle/programs/server/node_modules/fibers/future.js:280
throw(ex);
^
TypeError: Object.getOwnPropertyDescriptors is not a function
at insert (packages/mongo/collection.js:435:12)
at updateVersions (packages/autoupdate.js:125:20)
at packages/autoupdate.js:189:3
at Function.time (/usr/share/meteor/bundle/programs/server/profile.js:309:28)
at /usr/share/meteor/bundle/programs/server/boot.js:423:13
at /usr/share/meteor/bundle/programs/server/boot.js:464:5
at Function.run (/usr/share/meteor/bundle/programs/server/profile.js:510:12)
at /usr/share/meteor/bundle/programs/server/boot.js:462:11
Таким образом, я предполагаю, что он не может найти конф. (Настройки-production.json)
Итак, чтобы найти его, я попытался (sudo find / -iname "settings-"), но не получил результатов. Итак, я предполагаю, что это не было сгенерировано как часть bbb-install.sh. Теперь я думаю, следует ли снова создать и настроить эти параметры и протестировать этот скрипт установки или вернуться к исходным настройкам и отладить эту ошибку, чтобы продолжить работу как можно раньше.
Может кто-нибудь предложить что-нибудь, что может помочь.
1 ответ
Очень подробный пост - вы знаете, как обходить BigBlueButton. Вы настраиваете на ВМ? Можете ли вы установить новую 64-разрядную виртуальную машину Ubuntu 16.04 и установить новую копию с помощью недавно выпущенного сценария bbb-install.sh, см.
https://github.com/bigbluebutton/bbb-install
Это должно помочь вам с BigBlueButton 2.0-beta + SSL + HTML5. Если это работает, то вы можете сравнить вышеописанное с работающим сервером и, скорее всего, быстро найти проблему на вашем сервере.
Попробуйте описанное выше и дайте нам знать, если это поможет вам.