Вопросы и ответы

iPhone Safari WebRTC

Поддерживает ли iPhone Safari браузер технологию WebRTC?

Как пользоваться багрепортами в WCS

Багрепорты предназначены для снятия детализированных логов, которые могут значительно ускорить время техподдержки в случае, если что-то не работает или работает не так как хотелось бы.
Настоятельно рекомендуем предоставить возможность отправить сообщение об ошибке для ваших пользователей. Для этого есть специальная 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?

Для нормального использования Web Call Server должны быть открыты как минимум несколько портов:

Как настроить две разные Click2Call кнопки чтобы они регистрировались на разных серверах и звонили на разные номера?

В этом случае вместо 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

Должна ли клиентская часть Web Call Server быть развернута на Linux или можно развернуть ее под Windows?

Клиентская часть может быть развернута под Linux, Windows или другой OS потому что клиент содержит только веб-скрипты и файлы типа Javascript, CSS, images, Flash, HTML, и т.д — то что выполняется на стороне веб-браузера. Таким образом клиент может быть расположен под Linux apache или nginx сервером или на Windows сервере с использованием веб-сервера от Microsoft или того же apache.

Есть ли поддержка множественных линий в WebRTC SIP звонках?

Например если два пользователя разговаривают, а третий пользователь звонит одному из них, например первому. В этом случае первый должен иметь возможность принять звонок и поставить второго пользователя на удержание, начав разговор с третьим. Поговорив с третьим, первый пользователь должен иметь возможность завершить с ним звонок и вернуться ко второму пользователю, который все это время ждал на удержании.

Ответ:

Это пример такого звонка

User1 звонит User2
соединение установлено между User1 и User2
User3 звонит User1
User1 отвечает User3
User1 ставит на удержание User2
user2 на удержании
соединение между user1 и user3 установлено

User1 сбрасывает звонок User3
User1 возвращается к User2
соединение установлено между User1 и User2

Такая возможность была в ранних версиях продукта.

Потом мы поняли две вещи:
1. Эта функция недостаточно популярна.
2. Эта функция достаточно сложная и требует приложения достаточных усилий для корректной работы.
Дело в том что даже обычные трансферы и удержание звонка в WebRTC(Chrome) не работают без специальных обходных путей на стороне сервера.
Это увеличивает сложность системы, а включение многих линий приведет к дополнительному увеличению сложности и новым ошибкам.
Поэтому в настоящий момент мы имеем настройку на стороне сервера в flashphoner.properties:
send_busy_when_on_call=true
Эта настройка говорит серверу сбрасывать входящий звонок с BUSY, если пользователь находится в состоянии разговора.

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

Что означает «SIP/GSM» звонки? Вы поддерживаете прямые звонки на GSM телефоны?

Нет, мы не являемся GSM или SIP оператором. Но ПО может управлять звонками на GSM и PSTN телефонные номера и принимать входящие звонки с таких номеров, в том случае если вы используете SIP оператора связи, который поддерживает призимление звонков на GSM и PSTN, или если у вас есть собственный SIP-GSM шлюз для приземления звонков, или же если у вас есть специальная плата расширения, которая вставляется непосредственно в разъем сервера и програмное обеспечение для этой платы (по сути SIP-GSM шлюз на основе обычного сервера). Flashphoner ПО будет соединяться с вашим GSM оборудованием по протоколам SIP/RTP и в результате звонки Browser-GSM заработают.


 

 

 

Получить лицензию Web Call Server

Это 30-дневная ознакомительная версия. Пожалуйста заполните форму чтобы получить лицензию.


Processing...