четверг, 25 августа 2016 г.

Как обновить прошивку телефонов на CME

Доброго времени суток!

  Для обновления прошивок сначала загружаем необходимую версию с сайта cisco.com. Рассмотрим пример с телефонами модели SCCP 8941 и SIP 3905. С сайта загружаем прошивки: cmterm-8941_8945-sccp.9-3-4-17.zip и cmterm-3905.9-4-1-0.zip. Далее их нужно скопировать на CME. Я буду использовать TFTP-сервер tftpd32.exe. Каждый архивный zip-файл содержит несколько файлов. Например на cmterm-8941_8945-sccp.9-3-4-17.zip:
BOOT8941_8945.0-0-1-0.bin.sgn
SCCP8941_8945.9-3-4-17.loads
SCCP8941_8945.9-3-4-17.bin1.sgn
SCCP8941_8945.9-3-4-17.bin2.sgn
SCCP8941_8945.9-3-4-17.bin3.sgn
SCCP8941_8945.9-3-4-17.bin4.sgn
SCCP8941_8945.9-3-4-17.bin5.sgn
SCCP8941_8945.9-3-4-17.bin6.sgn
SCCP8941_8945.9-3-4-17.bin7.sgn
SCCP8941_8945.9-3-4-17.bin8.sgn
SCCP8941_8945.9-3-4-17.bin9.sgn
  Можно разархивировать zip-файл и каждого файла отдельно скопировать. Это будет чуть дольше. Мы используем другой метод. Сначала разархивируем zip-файл. Потом используя архиватор 7-zip мы обратно архивируем с форматом .tar. Теперь у нас получилось: cmterm-8941_8945-sccp.9-3-4-17.tar и cmterm-3905.9-4-1-0.tar. Почему tar ? Потому что, Call Manager Express использует этот формат.
  После этого каждого архива разархивируем на CME с помощью следующей команды:
archive tar /xtract tftp://192.168.10.5/cmterm-8941_8945-sccp.9-3-4-17.tar flash:
archive tar /xtract tftp://192.168.10.5/cmterm-3905.9-4-1-0.tar flash:
Здесь 192.168.10.5 - IP-адрес нашего компьютера с прошивками.
Теперь на CME включаем tftp-сервер и настраиваем его, чтобы он отправлял эти образы на запросы телефонов:
tftp-server flash:BOOT8941_8945.0-0-1-0.bin.sgn
tftp-server flash:SCCP8941_8945.9-3-4-17.loads
tftp-server flash:SCCP8941_8945.9-3-4-17.bin1.sgn
tftp-server flash:SCCP8941_8945.9-3-4-17.bin2.sgn
tftp-server flash:SCCP8941_8945.9-3-4-17.bin3.sgn
tftp-server flash:SCCP8941_8945.9-3-4-17.bin4.sgn
tftp-server flash:SCCP8941_8945.9-3-4-17.bin5.sgn
tftp-server flash:SCCP8941_8945.9-3-4-17.bin6.sgn
tftp-server flash:SCCP8941_8945.9-3-4-17.bin7.sgn
tftp-server flash:SCCP8941_8945.9-3-4-17.bin8.sgn
tftp-server flash:SCCP8941_8945.9-3-4-17.bin9.sgn
Для 3905:
tftp-server flash:APP3905.9-4-1-0.zz
tftp-server flash:CP3905.9-4-1-0.loads
Теперь для привязки этих прошивок к конкретным моделям телефонов делаем следующую команду:
Для SCCP:
telephony-service
load 8941 SCCP8941_8945.9-3-4-17
Для SIP:
voice register global
load 3905 CP3905.9-4-1-0

При поиске неисправностей можно использовать команду debug tftp events. Удачного Всем дня!

воскресенье, 14 августа 2016 г.

Cisco PVDM3 DSP Кредиты, сложность кодеков

Доброго времени суток!

Часто на практике для многих опытных инженеров вычисление ресурсов PVDM-модулей вызывает определенную трудность. Сегодня попробуем поглубже рассмотреть данную тему. Каждый PVDM-модуль обеспечивает определенное количество каналов, в зависимости номера указанной в парт номере. Например, PVDM3-16 поддерживает 16 каналов или 16 звонков с кодеком G711 на режиме flex. А что такое режим flex ?
При звонке некоторые кодеки на обработку потребляют больше ресурсов, чем другие. Чтобы знать какой кодек потребляет больше или меньше ресурсов, используется такое понятие, как сложность кодека или codec complexity. В PVDM3 есть 3 типа сложности кодеков:
Высокая сложность(high) - поддерживает звонки с кодеками G728, G723, G729, G729b.
Средняя сложность(medium) - поддерживает звонки с кодеками G711, G726, G729a, G729ab.
Гибкая сложность (flex) - поддерживает от 6 до 16 звонков в зависимости от используемых кодеков.
Для выделения ресурсов при звонках в PVDM3 использует понятие "кредит". Кредит - это часть ресурсов, которая потребляется при звонке. Например, звонки с кодеком высокой сложности потребляет 24 кредитов, а со средней сложности - 20 кредитов. На CME это можно проверить со следующей командой:

show voice dsp capabilities slot 0
DSP Type: SP2600 -16 
Card 0 DSP id 1 Capabilities:
    Credits   240 ,  G711Credits 15,  HC Credits  24,  MC Credits  20,
    FC Channel  16,  HC Channel  10,  MC Channel  12,
    Conference 8-party credits:
     G711  30 ,  G729  60 ,  G722  60 ,  ILBC  120

Здесь 240 - это максимально доступный кредит на данном DSP. HC - high complexity, MC-medium complexity, FC-flex complexity. Количество каналов вычисляется вот так:
HC Channel=Maximum Credits/HC Credits= 240/24 = 10
MC Channel=Maximum Credits/MC Credits= 240/20 = 12
Конференция с 8 участниками с кодеком G729 потребляет 60 кредитов.

                                     Рассмотрим пример с выделением ресурсов

На CME настроена следующая конфига:

dspfarm profile 1 transcode
codec g711alaw                      
codec g711ulaw
codec g729ar8
codec g729abr8
codec g729r8
maximum sessions 3              
associate application SCCP 

dspfarm profile 2 conference  
codec g711alaw                   
codec g711ulaw
codec g729ar8
codec g729abr8
codec g729r8
maximum sessions 1               
associate application SCCP    

dspfarm profile 3 mtp
codec g711ulaw
maximum sessions hardware 2               
associate application SCCP

А теперь проверим кредиты командой show voice dsp group all:
DSP groups on slot 0:
dsp 1:
  State: UP, firmware: 37.3.6
  Max signal/voice channel: 16/16
  Max credits: 240, Voice credits: 240, Video credits: 0
  num_of_sig_chnls_allocated: 4
  Transcoding channels allocated: 5
  Group: FLEX_GROUP_VOICE, complexity: FLEX
    Shared credits: 78, reserved credits: 0
    Signaling channels allocated: 4
    Voice channels allocated: 0
    Credits used (rounded-up): 0
  Group: FLEX_GROUP_CONF, complexity: CONFERENCE
    Shared credits: 0, reserved credits: 60
    Codec: CONF_G729, maximum participants: 8
    Sessions per dsp: 4
  Group: FLEX_GROUP_XCODE, complexity: HIGH
    Shared credits: 0, reserved credits: 72
    Transcoding channels allocated: 0
    Credits used (rounded-up): 0
  Group: FLEX_GROUP_HW_MTP, complexity: LOW
    Shared credits: 0, reserved credits: 30
    Transcoding channels allocated: 0

    Credits used (rounded-up): 0

Дополнительно используем выходные данные команды show voice dsp capabilities slot 0.
FLEX_GROUP_HW_MTP  - группа для MTP. Резервный кредит на 2 сессий - 30. На каждую сессию = 30/2 = 15 кредитов. Почему 15 ? Это кредит для сессий с кодеком G711 (show voice dsp capabilities slot 0).
FLEX_GROUP_XCODE - группа для транскодинга. Резервный кредит на 3 сессий - 72 с высокой сложностью (complexity: HIGH). На каждую сессию = 72/3 = 24 кредитов. G729r8 является кодеком с высокой сложностью. Если его удалить, то сложность будет средний.
FLEX_GROUP_CONF - группа для конференц-бриджа. Резервный кредит на 1 сессию - 60. По выходным данным команды show voice dsp capabilities slot 0, для конференций с кодеком G729 необходимы 60 кредитов.
FLEX_GROUP_VOICE - группа для Voice Termination. Общий кредит - 78. Этот кредит используется при звонке с аналоговых (FXO, FXS), цифровых (PRI) портов. На данном CME есть 4 FXO порта. Запись Signaling channels allocated: 4 показывает, что выделено 4 канала для 4 порта.
Максимальный кредит = 78+60+72+30 = 240.

Для записи данного поста использовались следующие статьи:
https://supportforums.cisco.com/document/123126/cisco-pvdm2-and-pvdm3-dsp-creditmips-allocation
https://supportforums.cisco.com/document/123061/understanding-output-show-voice-dsp-group-all
http://www.cisco.com/c/en/us/support/docs/voice/h323/14069-codec-complexity.html

пятница, 12 августа 2016 г.

Медиа-ресурсы для конференций на CME

Доброго времени суток!

Сегодня рассмотрим регистрацию медиа-ресурсов на Cisco Callmanager Express. Медиа-ресурсы используется для обработки голосовых пакетов.Они выполняют следующие функции:

Transcoding - используется для преобразования кодеков. Например, с G711 на G729.
Conferencing - для микширование аудио-потоков
Media Termination Point -  используется для соединения двух голосовых сессий с одинаковым кодеком с двух сторон, но разными интервалами пакетирования. Например, G711alaw и G711ulaw.
Ещё есть Voice Termination, MoH, Announciator. но их сегодня рассматривать не будем. Для выполнения выше указанных функций используется как и аппаратные ресурсы, так и програмные. Например, для транскодирования нужен только аппаратные ресурсы, а конференция и MTP могут выполняться на аппаратных и програмных ресурсах. Но програмные ресурсы загружает ЦП. В качестве аппаратных ресурсов часто используется PVDM-модули с установленным Digital Signal Processor (DSP). Есть несколько вариантов PVDM-модулей: PVDM3-16, PVDM3-32, PVDM3-64, PVDM3-128 и т.д.Для того, чтобы узнать какой модуль имеется на вашей CME, необходимо сделать команду show inventory. Например:

show inventory
NAME:   "PVDM3 DSP DIMM with 16 Channels on Slot 0 Subslot 4", DESCR:  "PVDM3 DSP DIMM with 16 Channels "
PID:  PVDM3-16

Каждый PVDM-модуль могут содержать несколько DSP. Раньше каждый DSP выполнял только одну функцию. Например: один DSP для транскодинга, один для конференций и т.д. В этом случае ресурсы неэффективно использовались. Поэтому предложили эти процессоры объединить в одну общую ферму, так называемую dspfarm. Таким образом, один DSP может использоваться и для транскодинга, и для конференций.
Теперь рассмотрим настройку:

voice-card 0               слот 0 с PVDM-модулем
dsp services dspfarm   объединяем в DSP-ферму

interface Loopback 0
ip address 10.10.10.10 255.255.255.255

sccp local Loopback0                                        интерфейс для сигнализаций SCCP
sccp ccm 10.10.10.10 identifier 1 version 7.0  IP-адрес для регистраций медиа-ресурсов
sccp                                                                    включаем протокол sccp

dspfarm profile 1 transcode    создаем профайл для транкодинга
codec g711alaw                       указываем список кодеков
codec g711ulaw
codec g729ar8
codec g729abr8
codec g729r8
maximum sessions 3              максимальное количество сессий
associate application SCCP    включаем протокол SCCP для профайла
no shutdown                            включаем (по умолчанию выключен)

dspfarm profile 2 conference  создаем профайл для конференций
codec g711alaw                        указываем список кодеков
codec g711ulaw
codec g729ar8
codec g729abr8
codec g729r8
maximum sessions 1                максимальное количество сессий
associate application SCCP     включаем протокол SCCP для профайла
no shutdown                             включаем (по умолчанию выключен)

sccp ccm group 1                                            создается группа ccm для регистраций ресурсов
associate ccm 1 priority 1                               задаем приритет серверов
associate profile 1 register TRANSCODE    имя, под котрым будет регистрироваться транскодер
associate profile 2 register CONFERENCE имя, под котрым будет регистрироваться конференц

Теперь их будем регистрировать на CME:
telephony-service
sdspfarm units 2                              количество используемых профайлов
sdspfarm tag 1 TRANSCODE        регистрируем транскодер
sdspfarm tag 2 CONFERENCE     регистрируем конференц-мост
conference hardware                      используем аппаратные ресурсы для конференций

Статус регистраций можно проверить командой show dspfarm porfile. Если статус стоит ASSOCIATED, то медиа-ресурсы успешно зарегистрированы.
Дополнительно, командой show dspfarm dsp active можно посмотреть список медиа-ресурсов, которые используется в данный момент.

В следующих статьях более подробно напишу про DSP. Хорошего всем дня!