Freeswitch: различия между версиями
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 2: | Строка 2: | ||
Freeswitch - это очень гибкий и навороченный сервер IP телефонии, основанный на SIP сигнализации. | Freeswitch - это очень гибкий и навороченный сервер IP телефонии, основанный на SIP сигнализации. | ||
Данная статья описывает предварительную настройку сервера Freeswitch, для получения более подробной документации рекомендуется обратиться к первоисточнику - [https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+Explained официальной документации проекта Freeswitch]. | |||
Всё описанное ниже протестировано на Sisyphus конца марта 2016 года | Всё описанное ниже протестировано на Sisyphus конца марта 2016 года | ||
---- | ---- | ||
Строка 9: | Строка 11: | ||
== Настройка == | == Настройка демонстрационного профиля vanilla == | ||
Основной конфигурационный каталог freeswitch расположен в /etc/freeswitch | Основной конфигурационный каталог freeswitch расположен в /etc/freeswitch | ||
По умолчанию, сразу после установки, вам доступна демонастрационная конфигурация vanilla, с массой включенных функций, которые могут не понадобится в реальной жизни. | По умолчанию, сразу после установки, вам доступна демонастрационная конфигурация vanilla, с массой включенных функций, которые могут не понадобится в реальной жизни. | ||
Строка 48: | Строка 50: | ||
<X-PRE-PROCESS cmd="set" data="default_provider_register=true"/> | <X-PRE-PROCESS cmd="set" data="default_provider_register=true"/> | ||
<X-PRE-PROCESS cmd="set" data="default_provider_contact=1000"/> <!-- контакт по умолчанию, на который будет поступать звонок из внешнего мира --> | <X-PRE-PROCESS cmd="set" data="default_provider_contact=1000"/> <!-- контакт по умолчанию, на который будет поступать звонок из внешнего мира --> | ||
</pre> | |||
== рецепты fs_cli == | |||
=== клиентские устройства за NAT === | |||
добавить в /etc/freeswitch/sip_profiles/internal.xml | |||
<pre> | |||
<param name="apply-nat-acl" value="nat.auto"/> | |||
</pre> | |||
freeswitch увидя такой флаг будет включать вызов для абонента, в контакте которого есть серый адрес - через IP, с которого этот абонент регистрируется. | |||
При включении этой опции не нужен SIP ALG, его рекомендуется отключать, оставляя только nf_conntrack_sip на шлюзах с NAT'ом. | |||
=== осуществление звонков из fs_cli === | |||
Для создания вызова из fs_cli нужно использовать команду originate. Пример: | |||
<pre> | |||
originate {origination_caller_id_number=1001}sofia/gateway/rostelecom/88002008686 88002008686 XML default 1001 1001 | |||
</pre> | </pre> | ||
Просто проверить идёт абоненту звонок или нет: | |||
<pre> | |||
originate user/530 &park() | |||
</pre> | |||
[[Категория:Серверы]] | [[Категория:Серверы]] |
Текущая версия от 15:11, 6 апреля 2017
Сервер 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
клиентские устройства за NAT
добавить в /etc/freeswitch/sip_profiles/internal.xml
<param name="apply-nat-acl" value="nat.auto"/>
freeswitch увидя такой флаг будет включать вызов для абонента, в контакте которого есть серый адрес - через IP, с которого этот абонент регистрируется. При включении этой опции не нужен SIP ALG, его рекомендуется отключать, оставляя только nf_conntrack_sip на шлюзах с NAT'ом.
осуществление звонков из fs_cli
Для создания вызова из fs_cli нужно использовать команду originate. Пример:
originate {origination_caller_id_number=1001}sofia/gateway/rostelecom/88002008686 88002008686 XML default 1001 1001
Просто проверить идёт абоненту звонок или нет:
originate user/530 &park()