SIP телефония от МегаФон.
Услуга «МультиФон» позволяет совершать и принимать вызовы от своего абонентского номера МегаФон через сеть Интернет.
Узнать:
*137#
и нажать кнопку ПозвонитьЗадать:
*137#
и нажать кнопку Позвонить
Для настройки и получения текущего режима приёма входящих вызовов можно использовать 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>
Общий скрипт для определения статуса маршрутизации:
#!/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
Скрипт вызова скрипта определения статуса маршрутизации телелефона
#!/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>
https://sm.megafon.ru/sm/client/password/change?login=79xxxxxxxxx@multifon.ru&password=ТЕКУЩИЙ_ПАРОЛЬ&new_password=НОВЫЙ_ПАРОЛЬ
Для настройки 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.ru | 5060 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
Настройка профиля МультиФон в альтернативных программных клиентах или аппаратных SIP-телефонах
Настройка МультиФон в Asterisk
Михрюткины рассказки < Как принимать домашние звонки за границей и ничего за это не платить
МультиФон, настройка в Megafon
https://github.com/wolandtel/multifon