МультиФон

SIP телефония от МегаФон.

Услуга «МультиФон» позволяет совершать и принимать вызовы от своего абонентского номера МегаФон через сеть Интернет.

http://multifon.ru/

Включение по USSD

  • Вставить SIM в телефон
  • Набрать на клавиатуре *137# и нажать кнопку Позвонить

URL запросы

Переключение режима приема входящих звонков (маршрутизации)

Для настройки и получения текущего режима приёма входящих вызовов можно использовать HTTPs запрос с подстановочными параметрами:

PHONEНомер телефона в формате 79xxxxxxxxx
PASSWORDПароль
Значение Описание Пример
0 Приём только на мобильный
https://sm.megafon.ru/sm/client/routing/set?login=PHONE@multifon.ru&password=PASSWORD&routing=0
1 Только SIP (на сервер Asterisk)
https://sm.megafon.ru/sm/client/routing/set?login=PHONE@multifon.ru&password=PASSWORD&routing=1
2 Параллельный вызов
https://sm.megafon.ru/sm/client/routing/set?login=PHONE@multifon.ru&password=PASSWORD&routing=2
Просмотр текущей настройки
https://sm.megafon.ru/sm/client/routing/?login=PHONE@multifon.ru&password=PASSWORD

Пример ответа на запрос:

<?xml version="1.0" encoding="UTF-8"?>
<response>
	<result>
		<code>200</code>
		<description>OK</description>
	</result>
	<routing>1</routing>
</response>

Примеры скриптов

Общий скрипт для определения статуса маршрутизации:

MultiFon.sh
#!/bin/sh
 
URL="https://sm.megafon.ru/sm/client/routing/"
 
# Получение текущего статуса
ROUTING=$(curl --url $URL"?login=$PHONE@multifon.ru&password=$PASSWORD" -v3 $PROXY|grep routing|cut --complement -b '1-9,11-20')
 
if  [ "$ROUTING" = "1" ]
    then
        # Все в порядке
        exit 0
    else
        # Установим статус в 1
        ROUTING=$(curl --url $URL"set?login=$PHONE@multifon.ru&password=$PASSWORD&routing=1" -v3 $PROXY)
        exit 1
fi
exit

Скрипт вызова скрипта определения статуса маршрутизации телелефона

MultiFon_1.sh
#!/bin/sh
 
export PROXY="--proxy "proxy:3128""
export PHONE=79xxxxxxxxx
export PASSWORD=ПАРОЛЬ
 
MultiFon.sh
echo "$PHONE=$?"
 
exit

Баланс

Баланс лицевого счета

https://sm.megafon.ru/sm/client/balance/?login=PHONE@multifon.ru&password=PASSWORD

Пример ответа на запрос:

<?xml version="1.0" encoding="UTF-8"?>
<response>
	<result>
		<code>200</code>
		<description>OK</description>
	</result>
	<balance>693.75</balance>
</response>

Изменение пароля

FIXME

https://sm.megafon.ru/sm/client/password/change?login=79xxxxxxxxx@multifon.ru&password=ТЕКУЩИЙ_ПАРОЛЬ&new_password=НОВЫЙ_ПАРОЛЬ

Настройка Asterisk

Для настройки Asterisk в файл sip.conf нужно добавить строку с регистрацией (входом) на sbc.megafon.ru:

register => 79xxxxxxxxx@multifon.ru:ПАРОЛЬ:79xxxxxxxxx@sbc.megafon.ru:5060/79xxxxxxxxx

и описать номер:

[multifon]
;allow=all
allow=alaw
allow=ulaw
allow=g723
allow=g723.1
allow=g729
dtmfmode=inband
username=79xxxxxxxxx
type=peer
secret=ПАРОЛЬ
host=sbc.megafon.ru
fromuser=79xxxxxxxxx
fromdomain = multifon.ru
port=5060
insecure=port,invite
context = in

В файле extensions.conf нужно описать номер с соответствующих контекстах.

В консоли можно проверить регистрацию SIP транка у провайдера

Настройка межсетевого экрана

АдресПортыОписание
sbc.megafon.ru5060 TCP и UDPУстановка соединений, обмена статусами (SIP)
193.201.229.19от 6000 до 65534 UDP Передача данных (RTP)

Пример для iptables:

Asterisk=АДРЕС_СЕРВЕРА_ASTERISK
MultiFon_WAN=sbc.megafon.ru
MultiFon_WAN_2=193.201.229.19
 
iptables -A FORWARD -o $WAN_IF -s $Asterisk -d $MultiFon_WAN_1 -p tcp --dport 5060 -m state --state NEW -j ACCEPT
iptables -A FORWARD -o $WAN_IF -s $Asterisk -d $MultiFon_WAN_1 -p udp --dport 5060 -j ACCEPT
iptables -A FORWARD -o $WAN_IF -s $Asterisk -d $MultiFon_WAN_2 -p udp --dport 6000:65534 -j ACCEPT
iptables -A FORWARD -o $WAN_IF -s $Asterisk -d $MultiFon_WAN_2 -p udp --dport 5060 -j ACCEPT

Ссылки

multifon/multifon.txt · Последние изменения: 2018-01-23 15:37 (внешнее изменение)
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki