Freeswitch
Сервер IP-телефонии Freeswitch в ALT Linux
Freeswitch - это очень гибкий и навороченный сервер IP телефонии, основанный на SIP сигнализации. Данная статья описывает предварительную настройку сервера Freeswitch, для получения более подробной документации рекомендуется обратиться к первоисточнику - официальной документации проекта Freeswitch.
Всё описанное ниже протестировано на Sisyphus конца марта 2016 года
Установка
apt-get install freeswitch-daemon freeswitch-sounds-ru-ru-elena-32000 freeswitch-sounds-music-32000 freeswitch-lang-ru
Настройка демонстрационного профиля vanilla
Основной конфигурационный каталог freeswitch расположен в /etc/freeswitch По умолчанию, сразу после установки, вам доступна демонастрационная конфигурация vanilla, с массой включенных функций, которые могут не понадобится в реальной жизни.
Для замены конфигурации по умолчанию - удалите содержимое /etc/freeswitch и скопируйте нужную вам из /usr/share/doc/freeswitch-daemon-1.6.6/conf/
Смена пароля по умолчанию
Переменные с настройками по умолчанию в профиле vanilla находятся в файле /etc/freeswitch/vars.xml: Первым делом поменяйте значение переменной
<X-PRE-PROCESS cmd="set" data="default_password=1234"/>
Это очень важно - в интернете существует сеть ботов, которые разыскивают серверы IP телефонии со слабыми паролями по умолчанию и используют аккаунты из них для осуществления звонков.
Вы можете сгенерировать сильный пароль командой
pwgen 12
Настройка внешнего аккаунта SIP (на примере sipnet)
Для звонков в традиционную сеть телефонии необходимо будет приобрести какой-то аккаунт SIP телефонии, позволяющий на возмездной основе возможность осуществления звонков. Для примера можно воспользоваться сетью Sipnet, у которой довольно неплохие условия выхода в мир для частных лиц.
После регистрации в сети sipnet у вас появится номер SIP аккаунта и пароль. Их необходимо будет вписать в файле vars.xml в переменные, начинающиеся с default_provider:
<X-PRE-PROCESS cmd="set" data="default_provider=example.com"/> <X-PRE-PROCESS cmd="set" data="default_provider_username=joeuser"/> <X-PRE-PROCESS cmd="set" data="default_provider_password=password"/> <X-PRE-PROCESS cmd="set" data="default_provider_from_domain=example.com"/> <X-PRE-PROCESS cmd="set" data="default_provider_register=false"/> <X-PRE-PROCESS cmd="set" data="default_provider_contact=5000"/>
Для sipnet данные переменные необходимо заполнить следующим образом:
<X-PRE-PROCESS cmd="set" data="default_provider=sipnet.ru"/> <X-PRE-PROCESS cmd="set" data="default_provider_username=0123456789"/> <!-- SIP ID в сети sipnet --> <X-PRE-PROCESS cmd="set" data="default_provider_password=пароль_sipnet"/> <!-- ваш пароль для доступа в sipnet --> <X-PRE-PROCESS cmd="set" data="default_provider_from_domain=sipnet.ru"/> <X-PRE-PROCESS cmd="set" data="default_provider_register=true"/> <X-PRE-PROCESS cmd="set" data="default_provider_contact=1000"/> <!-- контакт по умолчанию, на который будет поступать звонок из внешнего мира -->
рецепты fs_cli
осуществление звонков из fs_cli
Для создания вызова из fs_cli нужно использовать команду originate. Пример:
originate {origination_caller_id_number=1001}sofia/gateway/rostelecom/88002008686 88002008686 XML default 1001 1001
Просто проверить идёт абоненту звонок или нет:
originate user/530 &park()