Показаны сообщения с ярлыком VoIP. Показать все сообщения
Показаны сообщения с ярлыком VoIP. Показать все сообщения

четверг, 27 октября 2011 г.

DHCP сервер на маршрутизаторе Cisco для телефонов AVAYA

Задача:

Имеется небольшая сеть филиала с некоторым количеством IP телефонов. Необходимо  динамически раздавать адреса компьютерам и телефонам. Кроме того, телефоны необходимо перемещать в голосовой  VLAN и сообщать им дополнительные настройки путем загрузки файла конфигурации с TFTP сервера.


DATA VLAN - 1, native
Voice VLAN - 2

IP конфигурация:

DATA - 10.1.1.0/24
VOICE - 172.16.1.0/24

Решение:

Реализуем DHCP сервер на маршрутизаторе Cisco. 
Процесс загрузки телефонов при этом будет выглядеть так:
1. Телефон получает DHCP адрес в native VLAN (DATA) и опцию 191. Эта опция указывает телефону его Voice VLAN.
2. Телефон меняет свой VLAN на Voice VLAN и делает новый DHCP запрос, уже тегируя пакеты.
3. Телефон получает новый IP адрес уже из Voice VLAN. Кроме того, телефон получает дополнительно опцию 224, указывающую на TFTP сервер с файлом настроек.
3. Телефон загружает файл настроек с TFTP сервера и подключается к телефонной станции.


Настройки Cisco:

ip dhcp excluded-address 10.1.1.1
ip dhcp excluded-address 172.16.1.1
!
ip dhcp pool DHCP_POOL
   network 10.1.1.0 255.255.255.0
   default-router 10.1.1.1
   option 191 ascii VLAN-A:2.
   lease 14
!
ip dhcp pool DHCP_PHONE_POOL
   network 172.16.1.0 255.255.255.0
   default-router 172.16.1.1
   option 224 ascii Nortel-i2004-B,prov=Х.Х.Х.Х; - адрес Вашего TFTP сервера
   lease 14
!
interface FastEthernet0/0
 ip address 10.1.1.1 255.255.255.0
 duplex auto
 speed auto
 no keepalive
!
interface FastEthernet0/0.2
 encapsulation dot1Q 2
 ip address 172.16.1.1 255.255.255.0
!
interface FastEthernet0/1
 ip address 200.200.200.201 255.255.255.252
 duplex auto
 speed auto

Настройки Procurve:

hostname "ProCurve Switch 2610-48-PWR"
vlan 1
   name "DEFAULT_VLAN"
   untagged 1-52
   exit
vlan 2
   name "PHONE"
   tagged 1-52
   voice 
   exit

Для телефонов других серий, возможно, понадобится использование других опций.

Ссылки:
AVAYA IP Telephony Deployment Technical Configuration Guide

вторник, 27 сентября 2011 г.

LLQ на VTI

Cisco  не поддерживает настройку очередей на логических интерфейсах (например, VTI) напрямую.
При попытке повесить соответсующую service-policy на логический интерфейс получим подобную ошибку(иногда, впрочем политика не применяется совершенно молча):

R(config)#int tu0
R(config-if)#service-policy output LLQ-POLICY
Low Latency Queueing feature is not supported in user defined class of parent level policy

При необходимости настроить LLQ на логическом интерфейсе нужно применять вложенные политики, причем в родительской политике должен применяться шейпинг:


policy-map child 
 class voice 
 priority 512 
 class class-default
  fair-queue
policy-map parent
 class class-default 
 shape average 2000000
 service-policy child 
interface tunnel0 
 service-policy output parent
 
Ссылки:
Implementing Tunnels 

четверг, 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

вторник, 14 июня 2011 г.

Изменение Codec Complexity

Перед изменением параметра codec complexity на Cisco ISR'ах необходимо убрать voice порты. Для E1 это делается так:

1. Погасить соответствующий voice-port
R(config)#voice-port 0/3/0:15
R(config-voiceport)#shutdown

2. Убрать pri-group timeslots с соответствующего контроллера:
R(config)# controller E1 0/3/0
R(config-controller)#no pri-group timeslots 1-31


Иначе появляется ошибка вида:

R (config)#voice-card 0
R (config-voicecard)#codec complexity high
% Can't change codec complexity while voice port exist.
% Please remove all voice ports on this voice card first
% before changing codec complexity.