четверг, 30 июня 2011 г.

Конфигурирование шлюза E1-SIP на Cisco 3845

Схема сети:



Офисная АТС соединена с Cisco 3845 линией E1. С другой стороны Cisco соединяется с АТС на основе Asterisk. В статье рассмотрена только настройка Cisco. Альтернативную статью с примером настройки Asterisk'а можно найти здесь.


Оборудование:
1.  Шасси ISR 3845
PID: CISCO3845

2.  Карта E1 VWIC
PID: VWIC2-1MFT-T1/E1, "VWIC2-1MFT-T1/E1 - 1-Port RJ-48 Multiflex Trunk - T1/E1 on Slot 0 SubSlot 3"

3. DSP ресурсы рассчитываюся на сайте Cisco с помощью DSP Calculator http://www.cisco.com/web/applicat/dsprecal/dsp_calc.html

PID: PVDM2-64
PID: PVDM2-16

Модули PVDM2 вставляются в соответствующие слоты на Motherboard, начиная со слота PVDM0.

Хотя голос в потоке E1 уже является оцифрованным и уже передается в кодеке g711, DSP ресурсы все равно требуются для пакетизации, поэтому без модулей PVDM обойтись не удастся.



При использовании карты VWIC2-1MFT-T1/E1 необходимо сначала выбрать тип карты:
R(config)# card type e1 0 - Выбор типа карты E1 или T1
R(config)# isdn switch-type primary-net5 Выбор типа сигнализации ISDN
R(config)# network-clock-participate wic 3 – Карта получает сихронизацию от централизованного источника.

При настройке контроллера E1 на маршрутизаторе и PBX должны быть согласованы 3 параметра:
Framing
Linecoding
Clock Source

R(config)# controller e1 0/3/0
R(config-controller)# framing NO-CRC4 – Для E1 можно настроить или запретить контроль четности.
R(config-controller)# clock source line источник синхронизации. По умолчанию, это линия. В данном случае источником на линии яляется PBX.
Подробнее о синхронизации тут.
R(config-controller)# pri-group timeslots 1-31 – Формируем ISDN PRI группу. Канал 0 используется для служебной информации.

Проверка этапа:
R #sh controllers e1
E1 0/3/0 is up.
  Applique type is Channelized E1 - balanced
  Cablelength is Unknown
  No alarms detected.
  alarm-trigger is not set
  Version info Firmware: 20090408, FPGA: 13, spm_count = 0
  Framing is NO-CRC4, Line Code is HDB3, Clock Source is Line.
  Data in current interval (562 seconds elapsed):
     0 Line Code Violations, 0 Path Code Violations
     22 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
     21 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 1 Unavail Secs
  Total Data (last 60 15 minute intervals):
     7795 Line Code Violations, 94 Path Code Violations,
     2 Slip Secs, 0 Fr Loss Secs, 3 Line Err Secs, 0 Degraded Mins,
     2 Errored Secs, 0 Bursty Err Secs, 1 Severely Err Secs, 45305 Unavail Secs

R #show voice port summary
                                           IN       OUT
PORT            CH   SIG-TYPE   ADMIN OPER STATUS   STATUS   EC
=============== == ============ ===== ==== ======== ======== ==
0/3/0:15        01  isdn-voice  up    dorm none     none     y
0/3/0:15        02  isdn-voice  up    dorm none     none     y
0/3/0:15        03  isdn-voice  up    dorm none     none     y
0/3/0:15        04  isdn-voice  up    dorm none     none     y
0/3/0:15        05  isdn-voice  up    dorm none     none     y
0/3/0:15        06  isdn-voice  up    dorm none     none     y
0/3/0:15        07  isdn-voice  up    dorm none     none     y
0/3/0:15        08  isdn-voice  up    dorm none     none     y
0/3/0:15        09  isdn-voice  up    dorm none     none     y
0/3/0:15        10  isdn-voice  up    dorm none     none     y
0/3/0:15        11  isdn-voice  up    dorm none     none     y
0/3/0:15        12  isdn-voice  up    dorm none     none     y
0/3/0:15        13  isdn-voice  up    dorm none     none     y
0/3/0:15        14  isdn-voice  up    dorm none     none     y
0/3/0:15        15  isdn-voice  up    dorm none     none     y
0/3/0:15        17  isdn-voice  up    dorm none     none     y
0/3/0:15        18  isdn-voice  up    dorm none     none     y
0/3/0:15        19  isdn-voice  up    dorm none     none     y
0/3/0:15        20  isdn-voice  up    dorm none     none     y
0/3/0:15        21  isdn-voice  up    dorm none     none     y
0/3/0:15        22  isdn-voice  up    dorm none     none     y
0/3/0:15        23  isdn-voice  up    dorm none     none     y
0/3/0:15        24  isdn-voice  up    dorm none     none     y
0/3/0:15        25  isdn-voice  up    dorm none     none     y
0/3/0:15        26  isdn-voice  up    dorm none     none     y
0/3/0:15        27  isdn-voice  up    dorm none     none     y
0/3/0:15        28  isdn-voice  up    dorm none     none     y
0/3/0:15        29  isdn-voice  up    dorm none     none     y
0/3/0:15        30  isdn-voice  up    dorm none     none     y
0/3/0:15        31  isdn-voice  up    dorm none     none     y

После этого Cisco формирует последовательный интерфейс Serial0/3/0:15.
Проверка этапа:
R#sh isdn status
Global ISDN Switchtype = primary-net5
ISDN Serial0/3/0:15 interface
        dsl 1, interface ISDN Switchtype = primary-net5
    Layer 1 Status:
        ACTIVE
    Layer 2 Status:
        TEI = 0, Ces = 1, SAPI = 0, State = MULTIPLE_FRAME_ESTABLISHED
    Layer 3 Status:
        0 Active Layer 3 Call(s)
    Active dsl 1 CCBs = 0
    The Free Channel Mask:  0xFFFF7FFF
    Number of L2 Discards = 0, L2 Session ID = 0
    Total Allocated ISDN CCBs = 0

Конфигурируем кодеки
R(config)#voice class codec 1
R(config-class)#codec preference 1 g729r8 – любые, какие нравятся и поддерживаются соседями
R(config-class)#codec preference 2 g711alaw

Конфигурируем “Dial Peers”
R(config)# dial-peer voice 1000 voip Конфигурация VoIP
R(config-dial-peer)# destination-pattern 1... Указываем номер назначения
R(config-dial-peer)# session protocol sipv2
R(config-dial-peer)# session target ipv4:172.1.1.1 Указываем SIP сервер назначения
R(config-dial-peer)# dtmf-relay rtp-nte
R(config-dial-peer)# no vad
R(config-dial-peer)# voice-class codec 1 - Кодеки, сконфигурированные  абзацем выше
R(config-dial-peer)# forward-digits all Если не хотим чтобы Cisco отбрасывала первую «1» при совпадении с адреса назначения с шаблонов, указанном 
командой destination-pattern 
R(config)# dial-peer voice 2000 pots Линия E1 конфигурируется как POTS
R(config-dial-peer)# destination-pattern 2...
R(config-dial-peer)# direct-inward-dial
R(config-dial-peer)# port 0/3/0:15 – Привязка диал-пира к физической линии


Проверка этапа:

R#show dial-peer voice summary
dial-peer hunt 0
TAG
TYPE
AD
MIN
OPER PREFIX
DEST-PATTERN
PRE
FER
PASS
THROUGH
SESS-TARGET
OUT
STAT

PORT
1000
voip
up
up
1...
0
syst
ipv4:172.1.1.1
6

2000
pots
up
up
2...
0


up
0/3/0:15



Разрешаем  SIP
R(config)#voice service voip
R(conf-voi-serv)#sip


Проверка этапа:

R#show sip service

SIP Service is up

Конфигурируем “SIP User-Agent”
R(config)#sip-ua
R(config-sip-ua)#sip-server ipv4:172.1.1.1 – IP адрес Asterisk’а


Troubleshooting

R# debug dialpeer
R# debug voip dialpeer
R# show call active voice
R# show isdn service
R# show derived-config

5 комментариев:

  1. Спасибо за статью, по мере чтения возникло пара вопросов:
    1. какие номера телефонов в Asterisk`e? 1ХХХ?
    2. какие номера телефонов в AТС`e? 2ХХХ?

    ОтветитьУдалить
  2. Что будет, если кроме астера E1 потребляет АТС сопряженная с CISCO ... и как правильно настроить на Cisco сигнализацию, чтобы при исчерпаниии свободных тайм-слотов на астер приходил BUSY, а не сбой вызова?

    ОтветитьУдалить
  3. к сожалению подписаться не могу... сайт дамп гонит ... помогите люди добрые.... с астером у меня всё ок.... а вот циско... ну не я её рулю

    ОтветитьУдалить
  4. понимаю, что транзитом циско не гонит на астер DTMF. либо сигнализация приходит неправильная, в случае, если емкость забита.... Луше не придумал, чем по анализу CEL таблицы выкидывать в вебморде сбой вызова...

    ОтветитьУдалить

Примечание. Отправлять комментарии могут только участники этого блога.