Всем прекрасен Мультифон, почему бы его не настроить для FreeSWITCH. Самому порой не хочется придумывать конфигурацию с нуля и поэтому проще ее скопировать с форума и вставить себе в конфигурацию.
Для начала, необходимо, чтобы вызовы, приходящие на номер Мегафона - шли на Мультифон. Для этого необходимо выполнить ряд запросов к серверам Multifon. В тексте ниже 79267774433 - Ваш номер Мегафона, к которому подключена услуга Мультифон. XYZxyz - пароль к услуге. Запросы можно делать с помощью wget.
Запросить текущее состояние:Код:
wget -qO - https://sm.megafon.ru/sm/client/routing?login=79267774433@multifon.ru&password=XYZxyz
Ответ будет таким:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<response>
<result>
<code>200</code>
<description>OK</description>
</result>
<routing>1</routing>
</response>
Как разобраться:
Код ответа;описание; значение
101; Password contains invalid symbols or too long. Allowed symbols are: upper and lower case latin characters and digits, and have from 8 till 20 characters in length; Неправильный пароль
102; Parameters incorrect; Услуга не подключена
200; Ok; В routing содержится текущая настройка маршрутизации:
0 = Только GSM
1 = Только ПК
2 = ПК и GSM
404; Subscription Not Found; Подписка не найдена: ошибка в логине
Установить маршрутизацию:Код:
wget -qO - "https://sm.megafon.ru/sm/client/routing/set?login=79267774433@multifon.ru&password=XYZxyz&routing=X"
Где X - тип маршрутизации(0 = Только GSM, 1 = Только ПК, 2 = ПК и GSM)
Сервис ответит в описанном выше формате.
Информация выше актуально и для FreeSWITCH, и для Asterisk, и для любой другой SIP звонилки - эти манипуляции необходимо проделать, чтобы Мегафон знал куда направлять вам вызовы: на SIP, на SIM карту или и туда и туда.
Настройки для FreeSWITCH покажу на примере создания отдельного Sofia профайла:
Код:
<profile name="providers">
<domains>
<domain name="all" alias="false" parse="false"/>
</domains>
<settings>
<param name="context" value="providers-incoming"/>
<param name="sip-port" value="5081"/>
<param name="dialplan" value="XML"/>
<param name="rtp-ip" value="$${local_address}"/>
<param name="sip-ip" value="$${local_address}"/>
<param name="auth-calls" value="false"/>
<param name="apply-inbound-acl" value="itsp"/>
<param name="disable-register" value="true"/>
<param name="disable-transfer" value="true"/>
</settings>
<gateways>
<gateway name="multifon79267774433">
<param name="username" value="79267774433"/>
<param name="realm" value="sbc.megafon.ru"/>
<param name="from-user" value="79267774433"/>
<param name="from-domain" value="multifon.ru"/>
<param name="password" value="XYZxyz"/>
<param name="extension" value="from_79267774433"/>
<param name="expire-seconds" value="60"/>
<param name="register" value="true"/>
<param name="register-transport" value="udp"/>
<param name="retry-seconds" value="30"/>
<param name="ping" value="25"/>
<!-- Напоминание для себя в плане набора -->
<!-- https://sm.megafon.ru/sm/client/routing/set?login=79267774433@multifon.ru&password=XYZxyz&routing=1 -->
<!-- 0 = Только GSM
1 = Только ПК
2 = ПК и GSM
взято с сайта http://freeswitchforum.com -->
</gateway>
</gateways>
</profile>
После удачной регистрации все входящие на этот номер будут попадать в контекст "providers-incoming" на добавочный "from_79267774433".
Как может выглядеть контекст:
Код:
<context name="providers-incoming">
<extension name="inc_multifon">
<condition field="destination_number" expression="^(from_79267774433)$">
<action application="log" data="INFO ==incoming=[$1]==="/>
<action application="bridge" data="{absolute_codec_string='PCMA,PCMU'}sofia/gateway/multifon79267774433/79267774422"/>
</condition>
</extension>
</context>
В данном примере мы вызов, пришедший к нам через Мультифон - отправляем через эту же учетку Мультифона на другой мегафоновский номер. Проверено - работает. То есть через одну и ту же учетную запись - мы получили 2 канала - на вход и выход.
Согласно
комментариев Vlad1983 добавил в профиль и также в autoload_configs/acl.conf.xml нужно добавить:
Код:
<list name="itsp" default="deny">
<node my="multifon" type="allow" cidr="193.201.229.35/32"/>
</list>