cisco voice gateway

Приехал кошкороутер, правда видать подбитый на взлете, иногда грузился в роммон. Ну да ладно, собственно задача придумать применение этой бесполезной коробке в виде 3юнитового вентилятора. В комплекте еще шли PVDM3-64 и VWIC2-2MFT-G703, исходя из набора решил сделать мегадорогой SIP-E1 PRI шлюз. Вытянув DSP и плату E1, поставил ее в 2911, но печаль, нет лицензии на голос это мы тоже исправим.
План боевых действий:
Legacy_PBX <-> CISCO2911 <->Asterisk
1. Бесплатно получаем UC(голосовую лицензию CISCO на 12 лет)
2. Настраиваем карту
3. Подымаем поток
4. Настраиваем диалплан
Кому интересно

1. Some magic with lic
Предупреждение чтобы не ходить по граблям! начиная с IOS 15.1(4) срок тестирования 8 недель. Берем IOS 15.1(3)
Скачиваем с торрентов c2900-universalk9-mz.SPA.151-3.T.bin
заливаем на тфтп
Заливаем на кошку
copy tftp://IP/c2900-universalk9-mz.SPA.151-3.T.bin flash:
Устанавливаем его основным IOSом
conf t
boot system flash c2900-universalk9-mz.SPA.151-3.T.bin
reload
Подкючаем лицензию.
license boot module c2900 technology-package uck9
проверяем:
sh lic
Index 2 Feature: uck9
Period left: 624 weeks 6 days
Period Used: 36 minutes 33 seconds

2. Настройка Е1 карты
Для начала настроим имя пользователя и пароль на шлюзе.

conf t
aaa new-model
aaa authentication login default local
username ciscouser password 0 ololo

Собственно можно использовать CAS/CSS или передачу данных

CAS — передача сигналов, связанная с каналом. Магистральная сигнализация (например, на линии T1), в которой контрольные сигналы,например синхронизирующие и связывающие кадры, переносятся по одному каналу вместе с голосовыми сигналами и сигналами данных(воруем часть пропускной способности)
CCS — сигнализация по общему каналу (common channel signaling). Магистральная сигнализация (например, с использованием интерфейса основной скорости), в которой контрольный канал передает сигналы отдельно для голосового канала и канала данных.

Все три вида могут быть сконфигурированы на одном физическом интерфейсе.
!!ВАЖНО!! Независимые источники синхронизации на T1/E1 VWIC2 могут быть использованы только если оба контроллера используется для передачи данных.
a) Используется для звонков с CAS сигнализацией(например, R2) и настраивается командой
ds0-group N timeslots range type type
Могут быть доступны следующие виды сигнализаций:
e&m-delay-dial E & M Delay Dial
e&m-fgd E & M Type II FGD
e&m-immediate-start E & M Immediate Start
e&m-lmr E & M land mobil radio
e&m-melcas-delay MEL CAS (CEPT) E & M Delay Start
e&m-melcas-immed MEL CAS (CEPT) E & M Immediate Start
e&m-melcas-wink MEL CAS (CEPT) E & M Wink Start
e&m-wink-start E & M Wink Start
ext-sig External Signaling
fxo-ground-start FXO Ground Start
fxo-loop-start FXO Loop Start
fxo-melcas MEL CAS (Mercury) FXO
fxs-ground-start FXS Ground Start
fxs-loop-start FXS Loop Start
fxs-melcas MEL CAS (Mercury) FXS
none Null Signalling for External Call Control
r2-analog R2 ITU Q411
r2-digital R2 ITU Q421
r2-pulse R2 ITU Supplement 7
Например,
R(config)# controller e1 0/3/0
R(config-controller)# ds0-group 1 timeslots 17-23 type r2-analog

b) channel-groupдля передачи данных по E1
настраивается командой channel-group N timeslot N1-N2.
Например:
R(config)# controller e1 0/3/0
R(config-controller)# channel-group 1 timeslot 24-31

c) pri-group мы и рассмотрим далее.
card type e1 0 0 последние циферки говорят о слоте, где ищем карточку
после этого должны загореться лампочки на потоках, проверить командой
sh contr e1
isdn switch-type primary-qsig глобально указываем тип протокола физического уровня для потоков Е1 BRI/PRI, можно указывать и на интерфейсе.
voice-card 0
codec complexity flex — в случае flex имеем наибольшее к-во звонков, которые может обработать DSP
network-clock-participate wic 0 — настройка внутреннего источника синхронизации времени из слота wic 0, для внутренней синхронизации тайм-слотов Е1 (используется для TDM-каналов, коим является голосовой поток Е1);

Далее настраиваем каждый порт(у нас их два) по отдельности:
controller e1 0/0/0
framing CRC4 — тип кадра для Е1 — с CRC4, либо без CRC4. Определяет распределение битов внутри кадра. ISDN E1 PRI поддерживает Framing Multiframe с использованием Cyclic Redundancy Check 4 (CRC4) или без него
line coding hdb3 — настройка типа разделения/группировки кадров для того, чтобы устройства на обоих концах могли «понимать» когда начался и закончился очередной кадр. (HDB3 исп-ся в Е1, AMI или B8ZS — в Т1);
clock source internal — настройка источника синхронизации времени. В нашем случае internal — время берется из внутреннего источника синхронизации network-clock-participate wic 0;
pri-group timeslots 1-31 — настройка количества используемых B-каналов.
description from SIEMENS — создаем описание куда же подключен интерфейс

3. Настройка D-канала (сигнализация) для каждого из контроллеров. Интерфейсы Serial0/0/x:15.
int se 0/0/x:15
no ip addr — убираем IP адресс на ифейсе
no cdp enable — отключаем протокол cdp
isdn switch-type primary-qsig — определение протокола физического уровня для потоков Е1 BRI/PRI, мы задавали его глобально, но можно указывать и на интерфейсе.
encapsulation hdlc — определение протокола канального уровня — HDLC (протокол управления потоком Е1). Голосовые вызовы ч/з Е1 используют ресурсы TDM(Time Division MultiPlexing)-виртуальных каналов при помощи протокола HDLC, т.е. одному вызову выделяется целиком один виртуальный В-канал из 30 (Е1).
isdn protocol-emulate user — настройка эмуляции протоколов второго и третьего уровней (user — порт работает на L2-уровне в качестве TE (Terminating Equipment), а также для протоколов L3 (напр-р Q.931 или QSIG) шлюз Cisco явл-ся в данном случае slaveом (по умолчанию), а удаленная АТС соответственно на уровне L2 явл-ся NT (Network Termination) и master на уровне L3.
Network — соответственно наоборот.
Данные понятия (NT и ТЕ для L2, а также master и slave для L3, входят в базовую архитектуру ISDN).
isdn incoming-voice voice — маршрутизация входящих ISDN голосовых вызовов на голосовой модуль (voice), либо на встроенный модем (modem — если например данный шлюз выступает в роли модемного пула).
Т.е. ISDN вызовы могут обрабатываться модулем PVDM как голосовые, либо как модемные.
isdn supp-service name calling — включение сервиса передачи имени звонящего. На дисплее цифрового или IP-телефона, помимо номера, будет высвечиваться имя вызывающего абонента. В протоколах L3 (например QSIG), помимо основных сервисов вызова и приема звонков, существуют много дополнительных полезных сервисов: передача имени звонящего, передача сообщений, автодозвон и др. Поэтому можно их применить, при условии что удаленная сторона тоже поддерживает и включила данные дополнения.
isdn timer t310 таймер отвечающий за время нахождения звонка в состоянии Proceeding . Таймер начинается когда роутер получает сообщение Call Proceeding и останавливается когда звонок переходит в другую фазу, оібчно: Alerting, Connect, или Progress. Если таймер истекает а звонок не перешел в другое состояние, то роутер дропает звонок)

Если вы вдруг захотели сменить кодеки, то это та еще затея:

1) voice-port 0/0/x:15
2) sh
3) contr e1 0/0/x
4) no pri-group
5) voice card 0
6) codec complexity medium
7) и заново настраиваем карточку

4. Dialplan
ИМХО у Астериска это все делается на порядок удобнее, но жизнь заставила…
Для понимания маршрутизации звонков следует для себя уяснить
• Plain old telephone system (POTS)- цифровые и аналоговые порты(E1/FXO/FXS)
• Voice-network — IP транки к другим узлам(SIP/H323 etc)

Как прописать pots порт

dial-peer voice НОМЕР(произвольно) pots
destination-pattern ^263$
port 0/0/0:15
forward-digits all - на POTS портах cisco отрезает явно заданные циферки, или
no digit-strip - запрещает отрезать циферки.

Как прописать VOIP порт

dial-peer voice 1 voip
destination-pattern 2222T
session target ipv4:10.10.1.1

Или SIP транк
dial-peer voice 640 voip
description bos
destination-pattern ^640$
session protocol sipv2
session target ipv4:10.199.168.240:5060
session transport udp
codec g711alaw
clid substitute name

Что из себя представляет destination-pattern — собственно это номер назначения:
• + —(опционально) ТОЛЬКО в начале!! Говорит цыске что это стандартный номер E.164.
• Строка — собственно и идентифицирует номер может содержать:
[0-9][A-D]*#
Comma (,) 1 сек. пауза между цифрами.
Period (.) любая цифра.
T(опционально) Символ который показывает что строка answer-address(назначение) является переменной длины.
Percent (%), предыдущий символ повторяется 0 или более раз.
Plus (+), предыдущий символ повторяется 1 или более раз.
Circumflex (^), начало строки.
Dollar sign ($), конец строки.
Backslash symbol (\), однозначное определение символа, например \+ ищем именно +
Question mark (?), предыдущий символ повторяется 0 или 1 раз
Brackets ( [ ] ), диапазон цифр например [1-6], внутри скобок ^ означает НЕ
Parentheses ( ( ) ), шаблон соответствует регулярному выражению

prefix указав префикс на пире, мы автоматом допишем его при исходящем вызове:

dial-peer voice 204 pots
destination-pattern ^204$
prefix 659
port 0/0/0:15
forward-digits all

num-exp
У нас в организации есть собственная служба безопасности и мы хотим чтобы звонки в спец службы (101,102,итд) прилетали на этот внутренний номер(например 201), для этого используем
в режиме глобальной конфигурации:
VGW1(config)#num-exp 102 201

Как цыска обрабатывает звонки:
two-stage dialing
Если звонок пришел по ISDN, то маршрутизатор будет собирать номер цифра за цифрой, и выиграет маршрут который первый совпадет с шаблоном, это не может не огорчать, мы хотим чтобы номер назначения обрабатывался полностью, это one-stage dialing. Для его включения нужно на входящем pots пире указать команду direct-inward-dial.

hunt group Резервирование маршрутизации
Мы можем задать несколько пиров с одинаковым направлением, и в случае недоступности транка, вызов пойдет по второму, это делается с помощью preference

dial-peer voice 1 pots
destination pattern 3000
port 1/1
preference 0
!
dial-peer voice 2 pots
destination pattern 3000
port 1/2
preference 1

Если мы не хотим чтобы роутер пытался найди обходные пути используем команду huntstop

Также можно создавать server-group чтобы направлять исходящие звонки через группу серверов, если один недоступен, то вызов пойдет другому..

Также можно сделать группу перебора, звонок пришел на номер 125, а мы его отправим на нескольких операторов по очереди)

Есть еще COR(class of restriction) листы, ограничение звонков по направлениям.

Дополнения:
Если хотим привязать сип сигнализацию и\или голос к определенному интерфейсу:
Router(config)# voice serv voip
Router(conf-voi-serv)# sip
Router(conf-serv-sip)# bind control source-interface FastEthernet 0/0.34

Router(config)# voice serv voip
Router(conf-voi-serv)# sip
Router(conf-serv-sip)# bind media source-interface FastEthernet 0/0.34

Если хотим чтобы Cisco все-таки использовала порт 5060 для Options и Invite:
Router(config-sip-ua)# connection-reuse

Я например путаюсь кто есть кто:
called number (DNIS) — номер назначения
calling number (ANI) — Automatic Number Identification. Он же CallerID, идентификатор ИНИЦИАТОРА звонка.
Для передачи callerid name к сименсу следует использовать ecma

int Serial 0/0/0:15
isdn supp-service name calling profile ROSE operation-value-tag ecma

Если что-то пошло не так:
show voice port summary
show voice port
show running-config
show controller
show voice dsp
show voice call summary
show call active voice
show call history voice

Вот парочка полезных OID для мониторинга звонков:
1.3.6.1.4.1.9.9.63.1.3.3.0 — к-во активных звонков.
1.3.6.1.4.1.9.9.63.1.3.8.2.0 cvCallVolConnTotalActiveConnections — Общее к-во плечей вызова, те к-во одновременных разговоров = это значение /2
1.3.6.1.4.1.9.9.63.1.3.8.1.1 (массив) — количество активных плечей для каждого протокола (1 — H.323, 2 — SIP, 7 — POTS)
1.3.6.1.4.1.9.9.63.1.3.8.1.1.2 (массив) — количество активных плечей между SIP и конкретным протоколом (1 — H.323, 2 — SIP, 7 — POTS)
1.3.6.1.4.1.9.9.63.1.3.8.1.1.2.1 (число) — количество активных плечей SIP-H.323
1.3.6.1.4.1.9.9.63.1.3.8.1.1.2.2 (число) — количество активных плечей SIP-SIP
1.3.6.1.4.1.9.10.19.1.1.9.1.3.0.0 — общее к-во звонков PRI 0/0/0
1.3.6.1.4.1.9.10.19.1.1.9.1.3.0.1 — общее к-во звонков PRI 0/0/1

http://nettips.ru/article/cisco_2911_change_ios.html
http://netconfigure.net/index.php/en/forum-en/5-ip-telefoniya/138-isdn-e1-pri-cisco-2911-vwic3-4mft-t1-e1-pvdm3-dsp-asterisk-pbx
http://ciao-cacao.blogspot.com/2011/11/g703-e1-pri-group-channel-group-ds0.html
http://habrahabr.ru/post/141709/


Комментарии: