В настоящее время в Беларуси оператор электросвязи Белтелеком усиленно внедряет телефонную связь на базе сети IMS. Предоставляется оборудование в пользование. Представляет оно собой обычный ADSL модем, но со встроенным SIP клиентом.

Но у нас есть CISCO 2951 с поднятой телефонией. Возникла мысль, а можно ли настроить такой телефонный номер без оборудования Белтелеком и напрямую в маршрутизаторе.

При разборе настроек в модеме выяснилось следующее. VoIP подается по отдельному PVC (VCI/VPI=2/35) в режиме IP/DHCP:



Модем получает настройки IP и шлюза по DHCP.



Нам важно запомнить адрес шлюза, для дальнейшей настройки на CISCO.

При заключении договора выдаются следующие данные:

Номер телефона: +37517xxxxxxx
Login: +37517xxxxxxx@ims.beltel.by

Необходимо также узнать пароль к сервису IMS: passIMS. У меня в маршрутизаторе Cisco установлена ADSL2 and ADSL2 High-Speed WAN Interface Cards.

Настраиваем сначала подключение по нужному PVC(2/35).

interface ATM0/1/0.2 point-to-point
 ip address dhcp
 no ip proxy-arp
 ip nat outside
 ip virtual-reassembly in
 atm route-bridged ip
  pvc 2/35
  encapsulation aal5snap

.02 в имени интерфейса выбрана произвольно, так как у меня уже есть одно соединение на этом же интерфейсе.

sh int atm 0/1/0.2

убеждаемся что интерфейс поднялся и IP адрес получен.

Настройки SIP серверов тоже можно увидеть в модеме, если предварительно в telnet дать следующую команду: sendcmd 3 webd setconfig voippagedisp y.



Будем использовать один из SIP серверов, а именно 10.56.0.9. Далее необходимо прописать маршруты.

ip route 10.56.0.9 255.255.255.255 10.233.64.1
ip route 10.56.0.10 255.255.255.255 10.233.64.1
ip route 10.56.0.11 255.255.255.255 10.233.64.1

10.56.0.10 и 10.56.0.11 — это адрес RTP сервера обслуживающего аудио поток. Так как ims.beltel.by не имеет в DNS записи, то прописываем ее руками.

ip host ims.beltel.by 10.56.0.9

Теперь переходим к непосредственной настройки sip-ua. Здесь есть особенность, авторизация должна проходить с указанием домена, т.е. вида +37517xxxxxxx@ims.beltel.by. Поэтому используем еще параметр number.

sip-ua
 credentials number +37517xxxxxxx username +37517xxxxxxx@ims.beltel.by password <i>PassIMS</i> realm ims.beltel.by
 authentication username +37517xxxxxxx password <i>PassIMS</i> realm ims.beltel.by
 retry invite 3
 retry response 3
 retry bye 3
 retry cancel 3
 retry register 5
 registrar dns:ims.beltel.by:5060 expires 3600 auth-realm ims.beltel.by
 sip-server dns:ims.beltel.by:5060
 connection-reuse
 host-registrar

Об успешной регистрации будет видно из команды:

sh sip-ua register status

Далее создаем dial-peer для исходящих звонков.

dial-peer voice 8017 voip
 description #toIMS#
<i> translation-profile outgoing fromIMS</i>
 destination-pattern 8017[2,3,5].T
 session protocol sipv2
 session target sip-server
 session transport udp
 voice-class codec 1
 dtmf-relay rtp-nte
 no vad

Необходимо также обязательно подменять свой внутренний номер на номер выданный Белтелекомом, чтобы звонок обслуживался. Это делается через translation-profile.

voice translation-rule 1
 rule 1 /.*/ /+37517xxxxxxx/

voice translation-profile fromIMS
translate calling 1

Так как у меня используются телефоны Cisco 6921, то для входящего звонка просто прописан параметр secondary на внутреннем номере.

ephone-dn  1  dual-line
 number 1234 secondary +37517xxxxxxx no-reg both

Таким образом мы получаем SIPовский номер в нашу телефонную сеть без дополнительного стороннего оборудования и в цифровом виде.

Update: С недавнего времени Белтелеком начал работать по UDP протоколу. Поэтому для входящих соединений уже не получится вписать secondary номер. Необходимо делать dial-peer с входящим правилом.

Примерно такой:

dial-peer voice 9192 voip
 description #Incoming_IMS#
 translation-profile incoming incomIMS
 session protocol sipv2
 session target dns:ims.beltel.by
 session transport udp
 incoming called-number +37517xxxxxxx
 voice-class codec 1
 dtmf-relay rtp-nte

где translation-profile incoming incomIMS это правило сопоставления номера IMS вашему внутреннему, на который необходимо принять звонок.

Например:

voice translation-rule 5
 rule 1 /.*/   /1234/

voice translation-profile incomIMS
  translate called 5
Поделиться с друзьями
-->

Комментарии (7)


  1. alexkuzko
    02.06.2016 01:20

    Отличная работа! А вы, случайно, их GPON не пробовали заменить?


    1. mhs
      02.06.2016 13:28

      Это аналогично GPON только я описываю вариант с медной линией. По оптике тоже самое, но будет проблема напрямую завести GPON в маршрутизатор. Как вариант пробовал переключать GPON модем в режим router (на VoIP VLANe ) и дальше прописав на CISCO маршрут — настройки дальше аналогичные статьи.
      P.S. Адреса VoIP шлюза для Витебской области. В других областях они отличаются. Можно поискать в гугле.


  1. lolipop
    02.06.2016 20:11

    Кто бы рассказал, как добиться того же самого для МГТС. Возможность вытащить нужные вланы на порты имеется.


    1. mhs
      03.06.2016 09:23

      Добрый день. Не совсем понял, а в чем ньюансы МГТС? Как они телефонную подают на абонента?


      1. lolipop
        03.06.2016 11:41

        у меня стоит дома коробочка от линксис и меня расстраивает двойное ЦАП/АЦП. технология там тот же ims, но у меня не вышло зарегистрироваться через софтфон. максимум — позвонить себе на свою городскую линию без регистрации.


        1. mhs
          03.06.2016 16:31

          По идеи должно все получиться. Нужно детально смотреть настройки Linksys — и как пробросить vlan голосовой.
          Я использовал вот этот софтфон http://phonerlite.de/ для теста. Он легкий и хороший log подключения показывает.
          Изначально добейтесь чтобы с PC пинговался VoIP шлюз, который прописан в Linksys в статусе соединения.


          1. lolipop
            08.06.2016 13:15

            да не, линксис это мой личный, хочется как раз его и подключить к мгтс.