udvnl
После установки FreeSWITCH почти готов к работе, в нём по умолчанию есть 20 абонентов с номерами 1000-1019. пароль по умолчанию для абонентов VoIP указан в файле /usr/local/freeswitch/conf/vars.xml и равен 1234.
В директории /usr/local/freeswitch/conf/derectory/default находятся 20 xml файлов, каждый из которых отвечает за абонента с соответствующим номером. Можем добавлять абонентов копированием файлов с подстановкой данных.
Из коробки freeswitch частично работоспособен.
При наборе номера идёт задержка 10 секунд, после установки соединения, через 30 секунд разговорное состояние прерывается.
Исправим это, оттредактирова пару конфигурационных файлов:
Символы начало и конец комментариев,
Редектируем файл c глобальными переменными vars.xml
sudo nano /etc/freeswitch/vars.xml
Изменим пароль по умолчанию с 1234 на 1111 (устраняем задержку в 10 секунд при наборе номер), там же поменяем профиль с external на internal, приведя строки к следующему виду:
Перейдём к sip профилям. Сейчас мы будм использовать профиль internal (внутренний). Причина срывов связи у меня заключается в неправильной настройки сети SIP сервера. отредактируем его заменив пару строк:
Freeswitch имеет модульную структуру, подключаемые модули можно посмотреть в файле modules.conf.xml
Отредактируем его, подключив mod_xml_rpc, включающий поддержку WEB API, расскоментировав строку с этим модулем.
Подробнее о модуле
Описание команд можно найти здесь:
Большинство команд в домашнем использовании не нужно.
На этом можно сказать первоначальная настройка SIP сервера закончена.
Перезапустим FreeSWITCH
Попробуем организовать воздействие на SIP сервер с целью внешнего (со стороны сервера УД MajorDoMo) управления вызовами.
Проверка работы SIP сервера, организация видеовызова и небольшая интеграция с MajorDoMo
Попробуем организовать проверку работы нашей VoIP АТС.
Для начала я использую на ПК с Windows Sip клиенты MicroSIP (мне больше всех сипфонов понравился) и Linphone. На смартфоне с Android Linphone и ряд других.
На Raspberry Pi консольный клиент Linphonec (но в нём на данный момент ограниченная работоспособность)
Приведу для примера настройки MicroSIP: 

Сетевый настройки, настройки нат и прочее пока не рассматриваю, для начала всё делаем в своей локальной сети.
Приблизительно такие же настройку и у других SIP клиентов.
Внимание! Старайтесь в настройке кодеков, особенно видео, чтоб предпочтительные были одинаковы. У меня установлен VP8.
Сделаем видеовызов с одного клиента на другой: 
В качестве иллюстрации, я сделал звонок на одном ПК с двух sip клиентов. Включена отладочная информация
Так же можно и с двух ПК провести набор и ПК-Смартфон. Главное чтоб они были в одной сети.
Перейдем к небольшой интеграции с системой «Умного Дома»
Проверим работу WEB API
Набрав в браузере http://IP_RASPBERRY:8080/ попадаем на заглушку вебстраницы.
Запустить вебстраницу мне не удалось, но я особо и не пробовал, т.к. это не влияет на работоспособность voip сервера. Внешние команды просмотра и управления через API вполне работают.
О модуле xml_rpc
Набрав в браузере запрос получаем отображение статуса FS:
Откроем консоль MajorDoMo и выполним этот запрос консоли:
Получаем: 
Сейчас сделаем вызов с инициатором которого будет наша система «Умного Дома»:
Идея в том, чтобы инициировать звонок (с помощью функции originate) со стороны «MajorDomo» абоненту с номером 1003 (MicroSip), а потом состоявшийся вызов переводить в план набора для исходящих вызовов на абонента 1007 (смартфон Android sip клиент Linphone). Команда API выглядит так: originate user/1003 1007 XML default инициирование вызов в консоли номер 1003, после поднятия (или автоподнятия) трубки вызывается номер 1007 из плана набора default и видеозвонок поступает на смартфон.
Переводим её в понятный вид для MajorDoMo и браузера:
Вначале звонит один софтфон, спустя несколько секунд идёт звонок на второй. Ради эксперемента, последний вызов я поставил оба sip клиента в режим автоответа.
Видеовызов установился автоматически. 
Эту же команду можно поставить и в сценарии, действия и т.д.
На этом заканчиваю эту часть, единственное отмечу полу деятельности для последующей как настройки так и интеграции, довольно большое.
Этот способ довольно лёгкий, можно сделать и использовать Websocket, и управление по DTMF с мобильного телефона, так же имеется возможность использования технологии WebRTC и прикрутить к Web серверу УД SIP клиент.
ИТ База знаний
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Популярное и похожее
Рассказываем про FXO и FXS
VoIP кодеки – подробное описание и характеристики
DHCP: Опция 150 и 66
Сигнализация H.323
3CX Phone System — совместимость, описание
Инструменты измерения производительности VoIP
Про Session Description Protocol
Atcom A68
Еженедельный дайджест
FreeSWITCH – управление XML конфигами через CURL
Статья прислана через ShareIT
Всем известно, что FreeSWITCH (FS) работает на конфигах XML. Все настройки пользователей (directory), dialplan и прочие, настраиваются именно в этих XML конфигах. Но, зачастую, очень хочется управлять пользователями и диалпланом «на лету», то есть, не перезагружая вручную модули и не касаясь FS в принципе. Кроме этого все будет настраиваться через веб-интерфейс, что в общем-то, достаточно удобно.
Для того, чтобы такую возможность воплотить в жизнь, в FS есть модуль mod_xml_curl. Также нужна будет база MySQL или PgSQL и веб сервер, на котором будет лежать PHP скрипт для формирования XML конфига.
Описывать как поднимать и настраивать Apache и MySQL я не стану. Уверен, что вы можете без труда сделать это самостоятельно. Опишу лишь основной алгоритм действий, который необходимо провести.
Настройка
Сначала, нам нужно в базу добавить базу и таблицу, например, в MySQL. Для этого выполняем:
Далее заполняем таблицу данными:
После того, как у нас есть данные в базе пишем PHP скрипт, который будет эти данные выдергивать и формировать XML:
Выкладываем этот скрипт в папку веб сервера, для того чтобы к нему можно было обратиться.
И настраиваем в FS модуль по адресу ../freeswitch/conf/autoload_configs/xml_curl.conf.xml , в котором указываем путь до вашего php-скрипта. Например, так:
Перезагружаем мод в FS и если все сделали правильно, то теперь данные о пользователе будут браться из базы.
Проверить можно так: в CLI FS пишем xml_curl debug_on и пробуем зарегистрировать пользователя. Если все правильно, то в папке /tmp будет создан XML файл с конфигом зарегистрированного пользователя. Если что то пошло не так — анализируем ошибки.
После того как все заработало, можно написать для себя веб-морду с помощью которой вы будете заводить/изменять/удалять пользователя.
Было полезно?
Почему?
😪 Мы тщательно прорабатываем каждый фидбек и отвечаем по итогам анализа. Напишите, пожалуйста, как мы сможем улучшить эту статью.
😍 Полезные IT – статьи от экспертов раз в неделю у вас в почте. Укажите свою дату рождения и мы не забудем поздравить вас.
freeswitchforum.com
FreeSWITCH is a registered trademark of Anthony Minessale. Official FreeSWITCH site.
Часовой пояс: UTC + 4 часа
Первоначальная настройка
| Страница 1 из 1 | [ Сообщений: 9 ] |
|
| Автор | Сообщение | |
|---|---|---|
| DalBat |
|


