REMB расшифровывается как расчетный максимальный битрейт получателя (Receiver Estimated Maximum Bitrate).
Вопросы и ответы
WebRTC NACK – это отрицание подтверждения. Один из механизмов корректировки ошибок доставки в WebRTC.
Поддерживает ли iPhone Safari браузер технологию WebRTC?
Багрепорты предназначены для снятия детализированных логов, которые могут значительно ускорить время техподдержки в случае, если что-то не работает или работает не так как хотелось бы.
Настоятельно рекомендуем предоставить возможность отправить сообщение об ошибке для ваших пользователей. Для этого есть специальная Javascript функция и это не займет много времени.
Есть несколько настроек, с помощью которых конфигурируется багрепортинг:
1. flashphoner.xml
<push_log>true</push_log>
Эта настройка говорит веб-клиенту отправлять логи клиента на сервер и сохранять их там.
Все логи браузера, которые попадают в debug консоль будут буферизованы и отправлены на WCS сервер по RTMFP или Websocket протоколу. Таким образом, при использовании SSL Websockets, эта операция будет безопасной и отправляемые логи не могут быть перехвачены, т.к. используется шифрование.
2. Серверные логи структурированы в следующем виде:
— client_logs
— server_logs
— bug_reports
При создании багрепорта, файл багрепорта будет размещен в каталоге bug_reports.
В начале этого файла будет указан путь к папке, которая содержит полный набор логов для клиента, который инициировал этот багрепорт.
Другая возможность отладки — это использование tcpdump. WCS может использовать tcpdump для сохранения трафика конкретного пользователя для SIP, RTP и SRTP и ICE (WebRTC traffic).
Для этого нужно будет установить соответствующую настройку.
flashphoner.properties
client_dump_level=0
0 — сохранять только логи сервера и не сохранять трафик
1 — сохранять логи сервера и SIP трафик
2 — сохранять логи сервера, SIP и остальной трафик. Остальной трафик будет включать в себя RTP, SRTP, ICE, DTLS, STUN, RTCP трафик, который обрабатывается на тех же портах.
Таким образом, опция client_dump_level=2 вызовет наиболее детальную запись логов и трафика. Рекомендуется иметь быстрые и вместительные SSD диски объемом около 100 гигабайт чтобы уверенно использовать такой режим отладки на боевом сервере.
client_log_level=info
Есть три уровня детализации логов сервера:
info — INFO log4j.properties
debug — DEBUG log4j.properties
trace — TRACE log4j.properties
Каждый пользователь имеет свой контекст логов на стороне сервера.
Когда пользователей отправляет багрепорт, его контекст логгирования переключается в уровень детализации, указанный в этой настройке.
И наконец, функция Flashphoner client side API sendBugReport();
Эта функция как раз отвечает за отправку багрепорта. Дайте вашим пользователям написать простой багрепорт, например «нет звука» и нажать кнопку «отправить» для того чтобы ускорить решение возможных проблем.
Краткое резюме, как включить режим багрепортинга с полной отладкой:
Client flashphoner.xml:
<push_log>true</push_log>
Server flashphoner.properties
client_dump_level=2
client_log_level=trace
Для нормального использования Web Call Server должны быть открыты как минимум несколько портов:
В этом случае вместо account.xml и вместо callee.xml
у вас должны использоваться динамческие скрипты, например account.php и callee.php
эти скрипты должны быть прописаны в конфиге flashphoner.properties
соответственно они должны отдавать нужные xml чтобы схема работала.
На клиенте Click2Call.js используется Javascript функция loginByToken("token") для логина, и callByToken("token") для звонка.
Например вы можете в JS сделать чтобы для первой кнопки вызывалась функция loginByToken("button1") и callByToken("callee1")
и для второй loginByToken("button2") и callByToken("callee2").
Пример:
Логин кнопки
1. loginByToken("button1")
2. WCS сервер отправляет запрос вашему PHP скрипту: account.php?token=button1
3. Ваш скрипт отдает XML для первого сервера(похожий на account.xml).
Звонок кнопки
1. callByToken("callee1")
2. WCS сервер отправляет запрос вашему PHP скрипту: callee.php?token=callee1
3. Ваш скрипт отдает XML для первого сервера(похожий на callee.xml).
Аналогично для других кнопок.
Дополнительная информация доступна здесь:
http://docs.flashphoner.com/display/WCS/Click2call
http://docs.flashphoner.com/display/WCS/Click2call+Quick+Start
Клиентская часть может быть развернута под Linux, Windows или другой OS потому что клиент содержит только веб-скрипты и файлы типа Javascript, CSS, images, Flash, HTML, и т.д — то что выполняется на стороне веб-браузера. Таким образом клиент может быть расположен под Linux apache или nginx сервером или на Windows сервере с использованием веб-сервера от Microsoft или того же apache.