Тестирование примеров на основе WebRTC iOS SDK
WCS iOS SDK поставляется с двумя примерами для тестирования: Streaming Min и Phone Min. Скачать SDK и примеры можно по этой ссылке.
Запускаем примеры в Xcode и тестируем на iPhone и iPad
Доступные примеры:
- Streaming Min — минимальное приложение для отправки потокового видео на сервер и воспроизведения потокового видео с сервера по технологии WebRTC.
- Phone Min — минимальное приложение для видеочата или SIP-звонков через Web Call Server.
Скачиваем WCS iOS SDK
Разворачиваем скачанный архив и открываем примеры в Xcode. Подключаем iPhone или iPad через USB и выбираем его в настройках как цель сборки.
Запускаем сборку и приложение запускается на iPhone в режиме отладки.
Замечание: Тестовые примеры не будут работать в эмуляторах, т.к. Требуют подключения камеры и микрофона, с которым в эмуляторах могут быть проблемы. Для тестирования нужно подключить iPhone или iPad через USB.
Если возникли проблемы с компиляцией примеров, скорректируйте файловые ссылки как показано на скриншоте ниже.
- cd WCSExample/FPWCSApi.framework
- rm -f FPWCSApi
- rm -f Headers
- ln -sf Versions/A/FPWCSApi FPWCSApi
- ln -sf Versions/A/Headers Headers
Тестируем пример Streaming Min для WebRTC трансляций из iOS SDK
Так выглядит простой интерфейс примера Streaming Min. Он содержит всего два поля:
- Connect
- Stream name
Для теста вы можете вписать адрес демо-сервера ws://wcs5-us.flashphoner.com:8080 либо использовать ваш собственный тестовый Web Call Server.
После того, как соединение с сервером будет установлено, приложение перейдет в состояние ‘Connected’ , показанное на скриншоте ниже. Отключиться от сервера можно нажав Disconnect.
Далее нужно ввести название потока и нажать Play или Publish в зависимости от того что нужно сделать. ‘Play’ воспроизводит видеопоток с сервера. ‘Publish’ отправляет видеопоток с камеры смартфона на сервер.
Публикация потока выглядит как показано на скриншоте ниже. В данном случае видеопоток с фронтальной камеры iPhone отправляется на сервер. В небольшом видеоокне отображается видео с камеры. Чтобы остановить трансляцию и передачу данных нужно нажать на ‘Unpublish’.
Видеопоток, отправленный с iOS-устройства на сервер можно воспроизвести в браузере, например Google Chrome. Для этого нужно воспользоваться примером Demo / Streaming Min по ссылке https://wcs5-us.flashphoner.com:8888. Скриншот страницы показан ниже.
Для того чтобы воспроизвести видеопоток в iOS-приложении нужно нажать Play. Перед этим нужно отправить видеопоток с таким именем на сервер с другого мобильного приложения или браузера. Завершить воспроизведение можно нажав ‘Stop’.
Отправить тестовый видеопоток на сервер можно с другого устройства (iPhone или iPad) или из браузера Google Chrome. Для этого нужно воспользоваться примером Demo / Streaming Min по ссылке https://wcs5-us.flashphoner.com:8888. Ниже показана отправка видеопотка из браузера Google Chrome по технологии WebRTC. В левом верхнем углу отображается видео с веб-камеры браузера Chrome, которое отправляется на сервер под именем ‘stream2’.
Таким образом, мы протестировали пример Streaming Min и убедились в корректной передаче видео между веб-браузером и мобильным приложением на базе iOS SDK.
В интерфейсе приложения Streaming Min также присутствует кнопка ‘Switch Camera’ для переключения между фронтальной и основной камерами на iPhone или iPad.
Тестируем пример Phone Min для звонка из iOS приложения на городской телефон посредством SIP / PSTN шлюза
Пример Phone Min может использоваться для трех основных сценариев:
- Звонок на мобильный или стационарный телефон через SIP-шлюз
- Видеочат с веб-браузерами и другими мобильными устройствами
- Видеозвонок между мобильным приложением и программным телефоном SIP, таким как Bria, Linphone, и т.д.
В этом примере мы сделаем звонок на городской телефон из iOS-приложения. Для этого запускаем Phone Min и вводим данные для соединения с сервером:
SIP-данные для установки соединения и авторизации на SIP-сервере:
ws://wcs5-us.flashphoner.com:8080 | Адрес демо-сервера или адрес вашего Web Call Server |
WCS1 | SIP — имя пользователя |
12345678 | SIP — пароль |
sipnet.ru | SIP — доменное имя |
5060 | SIP — порт |
Все эти данные вы можете получить у вашего SIP-провайдера или администратора цифровой АТС.
При попытке коненекта, приложение перейдет в статус ‘Connecting’ как показано на скриншоте ниже.
Далее приложение покажет статус ‘Registered’. Это означает что авторизация на SIP-шлюзе прошла успешно и можно начинать делать звонки.
Для звонка вводим номер городского или мобильного телефона и нажимаем ‘Call’. После этого приложение переходит в статус ‘Ringing’ — исходящий вызов.
Когда вызываемый абонент берет трубку телефона, устанавливается разговор и приложение переходит в состояние Established. Для завершения звонка нажмите ‘Hangup’.
Таким образом, мы сделали аудио звонок из мобильного приложения на стационарную телефонную сеть через SIP-оператора.
Тестируем WebRTC видеочат между iOS-приложением и веб-браузером в приложении Phone Min
Это второе применение примера Phone Min и iOS SDK. Напомним, что есть три основных применения для данного примера:
- Звонок на мобильные телефоны через SIP
- Видеочат с браузером
- Видозвонок на SIP-софтфон
Для видеочата необходимо при коннекте ввести следующие данные:
Параметры для установки соединения видеочата с сервером:
ws://wcs5-us.flashphoner.com:8080 | Адрес демо-сервера или адрес вашего Web Call Server |
1000 | Произвольное имя пользователя |
12345678 | Произвольный пароль |
wcs5-us.flashphoner.com | Доменное имя Web Call Server |
0 | В качестве порта указать 0 |
Указание в качестве доменного имени ‘wcs5-us.flashphoner.com’ говорит серверу, что мобильное приложение будет работать в режиме видеочата без использования SIP.
Авторизация по-умолчанию отключена и можно использовать произвольный логин и пароль. Сконфигурировать авторизацию можно будет в дальнейшем на стороне сервера.
Если данные указаны верно, мобильное приложение видеочата переходит в статус ‘Connected’.
Далее открываем пример Demo / Video Chat в браузере Chrome по ссылке https://wcs5-us.flashphoner.com:8888, устанавливаем соединение с сервером и делаем вызов на мобильное приложение Phone Min с именем пользователя 1000.
В результате между браузером Google Chrome и мобильным приложением Phone Min устанавливается двухсторонний видеочат. На скриншоте ниже показано как выглядит видеочат из мобильного приложения.
Завершить видеочат можно как со стороны браузера, так и с мобильного приложения, нажав Hangup.
Тестируем видеозвонок между iOS приложением Phone Min и программным SIP телефоном Bria через OpenSIPs
Третьим применением примера Phone Min являются видеозвонки с софтфонами и устройствами, работающими по протоколу SIP. Для того чтобы сделать такой звонок нужно иметь цифровую АТС либо SIP-провайдера, поддерживающего видеовызовы.
В этом тесте в качестве цифровой АТС используется сервер OpenSIPs, который дает созвониться двум SIP-телефонам, одним из которых будет мобильное приложение Phone Min на основе iOS SDK, а другим Bria.
Откроем Phone Min и введем SIP-данные для соединения с OpenSIPs. Если вы используете другую цифровую АТС, вам нужно обратиться к администратору системы для получения SIP-аккаунта и авторизации на цифровой АТС.
SIP-данные для авторизации на сервере OpenSIPs:
ws://wcs5-us.flashphoner.com:8080 | Адрес демо-сервера или адрес вашего Web Call Server |
10009 | SIP — имя пользователя |
12345678 | SIP -пароль |
87.87.87.87 | SIP — домен |
5060 | SIP — порт |
После успешного прохождения авторизации, приложение перейдет в статус ‘Registered’.
Далее проходим авторизацию на SIP софтфоне Bria, используя похожие SIP-параметры, и делаем видеовызвов в сторону мобильного приложения, которое авторизовалось под именем 10009. После ответа мобильного приложения на входящий звонок, Bria покажет что соединение установлено. Видео с веб-камеры отображается в правом нижнем углу видеоэкрана над надписью ‘Sending your video’.
Мобильное приложение переходит в статус “Established” и делает тоже самое что и SIP-софтфон — отображает входящее видео и отправляет видео с камеры iPhone.
Завершить звонок можно как со стороны Bria так и с мобильного приложения, нажав ‘Hangup’.
Таким образом мы протестировали двухсторонний SIP-видеозвонок между программным телефоном Bria4 и мобильным приложением Phone Min на базе iOS WCS SDK.
Итоги тестирования приложений Streaming Min и Phone Min
В результате мы протестировали два мобильных приложения на базе iOS SDK:
Streaming Min
- Отправка видеопотока на сервер и воспроизведение в браузере Chrome
- Отправка видеопотока из браузера Chrome и воспроизведение в мобильном приложении
Phone Min
- Звонок на стационарный (PSTN) телефон через SIP-шлюз
- Видеочат между мобильным приложением и веб-браузером
- Видеозвонок с SIP-софтфоном Bria через SIP-сервер OpenSIPs
Для получения дополнительной информации по разработке с помощью WCS iOS SDK перейдите в раздел Внедрение
Загрузить Web Call Server 5
Системные требования: Linux x86_64, 1 core CPU, 2 Gb RAM, Java
Установка:
- wget https://flashphoner.com/download-wcs5.2-server.tar.gz
- Распаковать и установить с помощью скрипта 'install.sh'
- Запустить сервер с помощью команды 'service webcallserver start'
- Открыть веб-интерфейс https://host:8444 и активировать вашу лицензию
Если вы используете серверы Amazon EC2, то скачивать ничего не нужно.