FreeSWITCH + WebRTC + sipML5
WebRTC - открытая программная структура (framework) обеспечивающая коммуникации в реальном времени (Real Time Communications) в веб браузере, т.е. передавать аудио/видео данные в высоком качестве, между браузерами и другими приложениями в режиме точка-точка.
Включает в себя компоненты, для создания веб-разработчиками приложений голосовой и видео связи, используя Javascript API.
Поддерживается браузерами Chrome, Opera, Firefox.
Проект WebRTC предлагает полный стек протоколов для голосовой связи.
На данный момент поддерживаются G.711, G.722, iLBC и iSAC аудио кодеки,
а также VP8 видео кодек. Имеется несколько SIP клиентов написанных на Javascript, такие как -
SipML5,sip-js,jsSIP,SIPjs
С помощью транспорта Websocket (ws://) WebRTC SIP клиенты могут взаимодействовать с голосовыми серверными приложениями, такими как Asterisk, FreeSWITCH и др.
Рассмотрим пример подключения WebRTC софтфона sipML5 к FreeSWITCH, через WebSocket соответственно
Добавьте в файле /usr/local/freeswitch/sip_profiles/internal.xml в разделе <settings> следующую строку:
<param name="ws-binding" value=":5066"/>
Где 5066 порт TCP WebSocket (ws).
В консоли FreeSWITCH примените настройки командой:
#fs_cli
freeswitch@internal> sofia profile internal rescan reload restart
затем командой sofia status profile internalпроверим статус websocket:
freeswitch@internal> sofia status profile internal
================================================================================================= Name internal Domain Name N/A Auto-NAT false DBName sofia_reg_internal Pres Hosts 123.123.123.0,192.168.0.231 Dialplan XML Context public Challenge Realm auto_from RTP-IP 192.168.0.231 Ext-RTP-IP 123.123.123.0 SIP-IP 192.168.0.231 Ext-SIP-IP 123.123.123.0 URL sip:mod_sofia@123.123.123.0:5060 BIND-URL sip:mod_sofia@123.123.123.0:5060;maddr=192.168.0.231;transport=udp,tcp WS-BIND-URL sip:mod_sofia@192.168.0.231:5066;transport=ws HOLD-MUSIC local_stream://default OUTBOUND-PROXY N/A CODECS IN G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM CODECS OUT G7221@32000h,G7221@16000h,G722,PCMU,PCMA,GSM TEL-EVENT 101 DTMF-MODE rfc2833 CNG 1300 SESSION-TO 450 MAX-DIALOG 340 NOMEDIA false LATE-NEG false PROXY-MEDIA false ZRTP-PASSTHRU false AGGRESSIVENAT false CALLS-IN 7467 FAILED-CALLS-IN 43 CALLS-OUT 3050 FAILED-CALLS-OUT 65 REGISTRATIONS 247
Скачайте софтфони в директорию вашего веб сервера и задайте права пользователя:
chown -R apache.apache sipML5
затем откройте страницу софтфона в веб браузере Chrome или Firefox последней версии.
в режиме expert задайте IP адрес сервера и порт WebSocket:
ws://123.123.123.0:5066
В режиме вызова задайте sip username, sip password. Звездочкой отмечены обязательные поля.
Когда все готово можно звонить.
При совершении входящих и исходящих вызовов Chrome запросит разрешение на использование микрофона и камеры.
Настройки > Показать дополнительные настройки > Личные данные > Настройки контента > камера и микрофон >