Настройка SIP агента мережі IMS (Белтелеком) на маршрутизаторі CISCO

В даний час в Білорусі оператор електрозв'язку Белтелеком посилено впроваджує телефонний зв'язок на базі мережі 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-сервер dns:ims.beltel.by:5060
connection-reuse
host-registrar

Про успішну реєстрацію буде видно з команди:

sh sip-ua status register

Далі створюємо 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

Таким чином ми отримуємо ЅІРовский номер в нашу телефонну мережу без додаткового стороннього обладнання і в цифровому вигляді.

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

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.