Страницы

пятница, 29 ноября 2013 г.

OmniPCX Enterprise Установка новых лицензий и сохранение существующих (Installing OPS files)

OmniPCX Enterprise Установка новых лицензий и сохранение существующих
(Installing OPS files)
Общий порядок действий:
1. Сохранить текущий файл лицензий на компьютер;
2. Передать на сервер файл с обновленными лицензиями;
3. Активировать новые лицензии; 
4. Убедиться в установке новых лицензий.
1. Общая процедура сохранения файла лицензий на компьютер (локальный носитель).
   1.1. Сохраняем существующие лицензии на диск АТС:
       -  Подключаемся к АТС по telnet;
       - Заходим в swinst (пароль по умолчанию SoftInst - важны регистры);
       -  Выбираем пункт  1 <Easy menu>:
              1       Easy menu
              2       Expert menu
              Q      Exit
         Your choice [1..2, Q] ? 1

       - Выбираем пункт 5 <Backup OPS files on cpu disk>
              1       DECT registration
              2       Backup database on cpu disk
              3       Restore database from cpu disk
              4       Database re-init
              5       Backup OPS files on cpu disk
              6       Restore OPS from cpu disk
              7       Stop the telephone
              8       Start the telephone
              9       Set new internet address
             10      Stop the system
             Q       Go back to previous menu
       Your choice [1..10, Q] ? 5

   1.2. Копируем файлы на локальный носитель (диск компьютера):
       - Запускаем командную строку (флажок + R, cmd, enter);
       - Переходтм в папку, в которую хотим сохранить файлы:
         C:\Users\Admin>d:
         D:\>cd D:\OPSBeckUp

       - Заходим на АТС по ftp:
         D:\OPSBeckUp>ftp 192.168.2.7
         Связь с 192.168.2.7.

         Пользователь (192.168.2.7:(none)): mtcl

         Пароль:


      - задаем двоичный формат передачи данных:
        ftp> bin
        200 Type set to I.

   - переходим в папку сервера /usr4/BACKUP/IMMED содержащую файл mao-acc, просматриваем содержимое папки и копируем файл на компьютер:
       ftp> cd /usr4/BACKUP/IMMED

       ftp> dir
       -rw-rw-r--   1 root     3        35727512 Nov 26 14:19 mao-acc 
       ftp> mget *
       200 Type set to I.
       mget mao-acc?

       - переходим в папку сервера /usr4/BACKUP/OPS содержащую основную часть сохраненных лицензий, просматриваем содержимое папки и копируем их на компьютер: 
          ftp> cd /usr4/BACKUP/OPS
          250 CWD command successful.
          ftp> dir
          total 160
          -rw-rw-r--   1 root     3            8419 Nov 26 14:20 I04004A.hw
          -rw-rw-r--   1 root     3           10583 Nov 26 14:20 I04004A.swk
          -rw-r--r--   1 root     3           31381 Nov 26 14:20 I04004A.zip
          -rw-rw-r--   1 root     3            8419 Nov 26 14:20 hardware.mao
          -rw-r--r--   1 root     3            6766 Nov 26 14:20 hardware.old
          -rw-rw-r--   1 root     3              64 Nov 26 14:20 ops.lis

          ftp> mget *
        

       - закрывает текущую ftp сессию:
          ftp>quit

   - На диске компьютера в директории из под которой был выполнен вход в ftp (в примере D:\OPSBeckUp) должны сохраниться файлы

      mao-acc  
      I04004A.hw
      I04004A.swk
      I04004A.zip
      hardware.mao
      hardware.old
      ops.lis

   2. Передать на сервер файл с обновленными лицензиями:
       - Сохраняем на локальном диска файлы с обновленными лицензиями, например в папку  "D:\NewLicenses";
       - Заходим в командную строку (cmd), переходим в папку с новыми лицензиями "D:\NewLicenses"
         C:\Users\Admin>d:
         D:\>cd D:\NewLicenses

       - Заходим на АТС по ftp:
         D:\OPSBeckUp>ftp 192.168.2.7
         Связь с 192.168.2.7.

         Пользователь (192.168.2.7:(none)): mtcl

         Пароль:
         230 User mtcl logged in.

      - задаем двоичный формат передачи данных:
        ftp> bin
        200 Type set to I.
      - переходим в папку сервера /usr4/BACKUP/OPS и удаляем старые файлы лицензий  xxx.hw, xxx.swk, xxx.zip и xxx.mao:          ftp> cd /usr4/BACKUP/OPS
          250 CWD command successful.
          ftp> del  xxx.hw
          ftp> del  xxx.swk
          ftp> del  xxx.zip
          ftp> del  xxx.mao

      - переписываем новые файлы:
         ftp> mput *

      - закрывает текущую ftp сессию:
          ftp>quit

3. Активировать новые лицензии:
       -  Подключаемся к АТС по telnet;
       - Заходим в swinst (пароль по умолчанию SoftInst - важны регистры);
       -  Выбираем пункт  1 <Easy menu>:
              1       Easy menu
              2       Expert menu
              Q      Exit
         Your choice [1..2, Q] ? 1

       - Выбираем пункт 6 <Restore OPS from cpu disk>
              1       DECT registration
              2       Backup database on cpu disk
              3       Restore database from cpu disk
              4       Database re-init
              5       Backup OPS files on cpu disk
              6       Restore OPS from cpu disk
              7       Stop the telephone
              8       Start the telephone
              9       Set new internet address
             10      Stop the system
             Q       Go back to previous menu
       Your choice [1..10, Q] ? 6

В процессе установки распечатается сравнение существующих лицензий с обновленными. Изменения будут выделены цветом. 
После чего будет предложено подтвердить операцию - подтвеждаем.
Предложат активировать либо симулировать активацию. Для проверки необходимости перезагрузки системы после активации новых лицензий делаем симуляцию.
После симуляции система сообщит требуется ли перезагрузка АТС после ввода лицензий.
Если требуется перезагрузка и у нас нет отказаустойчивой конфигурации, то делаем установку в нерабочее время.
Если есть резервный сервер:
 - Устанавливаем лицензии на резервны сервер - смотрим командой twin;
 - Перезагружаем резервный сервер команда reboot;
 - После перезагрузки ждем когда сервера засенхронизируються, на выводе команды twin статус всех сервисов кроме memloader redundancy должны быть , memloader redundancy - KO

Transmission CPU-CPU : OК
monitel redundancy : OК
memloader redundancy : KO
All applications redundancy : OК
   - Меняем ролями главный CPU и Twin CPU - команда bascul;
  - Снова заливаем лицензии на резервные процессор - бывший основной и проверяем синхронизацию, теперь статус всех сервисов должен быть  OК.

4. Убедиться в установке новых лицензий:
 Посмотреть обновленные лицензии можно командой spadmin.
PANIC flag = 0 в пункте 1 свидетельствует об спешной установке лицензий.




пятница, 1 ноября 2013 г.

Настройка преобразования dtmf от CUCM (RFC2833) к провайдеру (inband G711) по SIP trunk

           Да задали мне недавно весьма интересную задачку. А именно у заказчика развернут Cisco Unified Communication Manager (CUCM) 8.6 версии, который по средством шлюза Cisco ISR 2821 подключен к провайдеру. Подключения между   CUCM и ISR 2821 и провайдером осуществлено через SIP trunk рис.1. 

        Рис.1. Схема подключения.

            Вроде бы все хорошо, да вот dtmf  сигнал  между абонентами заказчика и провайдером не работал. Пообщавшись с провайдером я понял, что провайдер за бесплатно понимает только чистый  inband G711 dtmf, при чем при наличии какого либо упоминания про  RFC2833 нужно доплачивать монету. Расстроившись жадности провайдера я начал искать возможность транскодировать сигнал.
          Вот и задача: CUCM умеет только RFC2833 dtmf а провайдер только inband G711 dtmf, необходимо с помощью Cisco ISR 2821 транскодировать RFC2833 dtmf в inband G711 dtmf.
            Проглядев просторы интернета я нашел статьи как это сделать, за что большое спасибо их авторам:
Статья Михалыча - к сожалению упущен важный момент необходимость CCME;
Пост Nickulichev Alexander - все хорошо, вот только я долго не мог понять что к чему относиться и где именно нужно регистрировать  ресурс для транскодинга, и зачем мне CCME если у меня есть полноценный CUCM.

       Поэтому решил предложить свое описание решения данной задачи.

1. Создаем dial-peer на CUCM c  dtmf-relay rtp-nte;
dial-peer voice 7000 voip
    description to CUCM 7xxx
    destination-pattern 7...
    session protocol sipv2
    session target ipv4:192.168.1.2
    codec g711alaw
    dtmf-relay rtp-nte
    no vad

2. Создаем dial-peer на ISP без dtmf-relay;
 dial-peer voice 1 voip
    description to ISP 0xxxxxxxxx 
    destination-pattern 0.........
    session protocol sipv2
    session target ipv4:192.168.10.1
     codec g711alaw
    no vad

3. Определяем ресурс для dspfarm;
 voice-card 
    dsp services dspfarm

А вот тут самое интересное, для активации транскодинга dsp ресурс должен быть зарегистрирован на локальном CCME иначе CUBE он же IPIPGW не начнет транскодировать.

4. Настраиваем взаимодействие sccp на взаимодействие с локальным ссme;
 sccp local FastEthernet0/0 - определяем интерфейс, через который будем взаимодействовать                                                      с CCME 
 sccp ccm 192.168.1.1 identifier 1 version 7.0  - определяем адрес CCME   приоритет и версию                                                                                    CCME 
 sccp - просто включаем протокол sccp 

5. Определяем sccp группу;
  sccp ccm group 1
     associate ccm 1 priority 1 - ассоциируем ccme в группу где ccm 1
                                                     соответствует sccp ccm с identifier 1
     associate profile 1 register TRANSCODER - ассоциируем с dspfarm profile 1 и определяем имя                                                                              регистрации на ccme TRANSCODER 
6. Создаем dspfarm для транскодирования;
 dspfarm profile 1 transcode  
    codec g711alaw
    maximum sessions 4
    associate application SCCP
    shutdown

7.Активируем локальный CCME на один из интерфейсов в примере на 192.168.1.1.;
 telephony-service
   sdspfarm units 1
   sdspfarm transcode sessions 4 - максимальное количество сессий для транскодирования
   sdspfarm tag 1 TRANSCODER - имя профайла для транскодирования
   max-ephones 1
   max-dn 1
   ip source-address 192.168.1.1 port 2000 strict-match
   create cnf-files 

Вот и должно наступить счастье. По крайней мере у меня все заработало.











вторник, 15 октября 2013 г.

Пользователи, Конфигурация SSH, шифрование пароля

Пользователи, Конфигурация SSH, шифрование пароля
 (Users, SSH configuration, password encryption)

1. Без использования механизма aaa

1. Конфигурируем Hostname: hostname MyDev
1. Конфигурируем Domain name: ip domain-name mydev.lab
2. Генерируем Encryption keys:
     crypto key generate rsa
        Haw many bits in the modules [512]: 1024 – для SSH version 2 не менее  768 бит, cisco не рекомендует использовать ключ менее 1024 бит. 
3.  Активируем SSH version 2: ip ssh version 2
4. Создаем локального пользователя: username cisco secret cisco
Для имени пользователя и пароля крайне не рекомендуется использовать распространенные пароли, как в примере "cisco"!
5. активируем доступ по SSH протоколу:
line vty 0 15
transport input ssh

login local ? – активация использования локальной базы пользователей для подключения 

2. C использования механизма aaa

Пункты 1-3 оставим без изменений
4. Для примера - создадим пользователя с открытым паролем и после зашифруем его:
username cisco privilege 15 password 0 20_psw_11
service password-encryption
5. Активируем протокол ААА для организации доступа по username::password. (до активации ААА в системе обязательно должен быть заведен хотя бы один пользователь), иначе отключившись от сессии, вы потом не сможете подключится.
aaa new-model
aaa authentication login default local - Определяем использовать локальную базу пользователей
aaa authorization exec default local - Отменяем дополнительную авторизацию на enable, пользователь должен быть с privilege 15 
6. активируем доступ по SSH протоколу:
line vty 0 15
transport input ssh


среда, 9 октября 2013 г.

Cisco NAT translation and port mapping (Cisco NAT трансляция и проброс портов)

Cisco NAT translation and port mapping
Cisco NAT трансляция и проброс портов

        В данной статье кратко описываться основные принципы настройки NAT (от англ. Network Address Translation — «преобразование сетевых адресов») на Cisco устройствах.
Рассмотрим 3 варианта:

1. Динамический NAT с преобразование запросов от приватных (private) адресов из внутренней сети в публичный (public) адрес провайдера;
2. Динамический NAT с преобразование запросов от приватных (private) адресов из внутренней сети в пул публичных (public) адресов провайдера;
3. Статический NAT для проброса портов во внутреннюю сеть.

1. Динамический NAT с преобразование запросов от приватных (private) адресов из внутренней сети в публичный (public) адрес провайдера

     Данная NAT трансляция наверное наиболее используема, так как применяется для организации доступа хостов локальной сети к интернет ресурсом. Как известно частные адреса, часто используемые для построения локальных сетей, не маршрутизируются. А следовательно для всех запросы от локальных хостов в интернет необходимо преобразовывать адрес источника (source address)  в адрес выделенный провайдером и наоборот.

Для описания примера используется топология приведенная ниже на рис.1.










Рис.1 Топология для описания примера.

      В  примере необходимо транслировать запросы от хостов сети 192.168.1.0/24 в интернет в запросы от адреса 1.1.1.1.

      Для этого на маршрутизаторе необходимо провести следящие настройки:

1.2 Определяем inside и outside интерфейсы для NAT трансляции (inside интерфейс из которого трафик попадает из сети в маршрутизатор, outside интерфейс из которого трафик попадает из маршрутизатора в сеть). В нашем примере интерфейс Fa0/0 – inside, интерфейс Fa0/1 – outside:

interface fa0/0
   ip nat inside
interface fa0/1
    ip nat outside

1.2 Определяем список доступа для сети которую необходимо транслировать (192.168.1.0/24):

ip access list standard NAT_INSIDE_NET
     permit 192.168.1.0 0.0.0.255

1.3 Включаем  NAT трансляцию адресов пакетов с адресом источника (source) из сети заданной в access list NAT_INSIDE_NET и выходящих через интерфейс fa0/1:

  ip nat inside source list NAT_INSIDE_NET interface fa0/1 overload.

        Вот и все, что необходимо для организации динамической трансляции. Однако нужно быть внимательным, очень часто упускают оператор overload, который определяет возможность перезаписи ранее используемы трансляций.

2. Динамический NAT с преобразование запросов от приватных (private) адресов из внутренней сети в пул публичных (public) адресов провайдера

        Данный тип трансляции используется, когда у компании выделен не один публичный адрес, а несколько, например, как на рис.2: 1.1.1.1 и 1.1.1.2.  


Рис.2 Топология для описания примера.

          В примере необходимо транслировать запросы от хостов сети 192.168.1.0/24 в интернет в запросы от адресов 1.1.1.1 или 1.1.1.2. Наличие нескольких адресов позволяет значительно увеличить возможное количество трансляций, хотя на мой взгляд данная технология имеет смысл только для огромных компаний.
        Для этого на маршрутизаторе необходимо провести настройки такие же, как в пунктах  1.1 и 1.2 а далее:

2.1 Определим пул адресов в которые будем транслировать:
  
  ip nat pool OUTSIDE_POOL 1.1.1.1 1.1.1.2 netmask 255.255.255.252

2.2 Включаем  NAT трансляцию адресов пакетов с адресом источника (source) из сети заданной в access list NAT_INSIDE_NET и выходящих через интерфейс fa0/1 в адреса пула OUTSIDE_POOL:

  ip nat inside source list NAT_INSIDE_NET pool OUTSIDE_POOL overload.

3. Статический NAT для проброса портов во внутреннюю сеть

       Пожалуй, данный вид трансляции не менее популярный, чем первый. Популярность данного вида вызвана необходимость получать доступ из внешней сети (internet) к внутренним ресурсам. Но как это сделать, если мы преобразовываем все адреса внутренней сети в единственный внешний адрес, еще и с неизвестным портом.
         Для понимания данной технологии рассмотрим пример  проброса запроса  поступающего на внешний адрес 1.1.1.1 порт 80 на внутренний хост (пусть это будет WEB сервер) 192.168.1.10 порт 80 рис.3.


Рис.3 Топология для описания примера.

3.1 Для этого на маршрутизаторе необходимо задать статическую трансляцию, которая определяет однозначное правило преобразование как для входящих, так и для исходящих пакетов:

  ip nat inside source static  tcp 192.168.1.10 80 1.1.1.1 80 overload.

    Данная команда для всех пакеты выходящие из интерфейса fa0/1 c source адресом 192.168.1.10 и tcp портом 80 будет преобразовывать source адрес на 1.1.1.1 с tcp портом 80, а все пакеты поступающие на интерфейс fa0/1 c адресом получателя (destination address)  1.1.1.1 и tcp портом 80 преобразовывать в пакеты с адресом получателя 192.168.1.10 и tcp портом 80.




среда, 5 июня 2013 г.

CUCM Call Pickup

Call Pickup

Call Pickup – позволяет вызову пришедшему на один телефон быть перехваченному на другом телефоне.

Разделают 3 варианта Call Pickup:
1.       Обычный «Call Pickup» для заданной группs;
2.       Перехват звонка из чужой группы «Group Call Pickup»;
3.       Перехват звонка из другой, ассоциированной группы «Other Call Pickup».

Обычный «Call Pickup» для заданной группы

Данный вид перехвата наиболее простой и востребованный, когда абоненту назначается группа для перехвата, в которой он может перехватить входящий вызов.
Ниже представлен сценарий таково перехвата:
1.       Абонент 7211 из группы Sales звонит абоненту 7202 из группы Manager;
2.       Абонент 7202 из группы Manager отсутствует, поэтому вызов входящий на его телефон прихватывает абонент 7201 из группы Manager;
3.       Устанавливается соединение между абонентом 7201 из группы Manager и абонентом 7211 из группы Sales.

Настройка:
1.       Создаем Call Pickup Groupe:
- Навигация = Cisco Unified CM Administration;
- Меню = Call Routing->Call Pickup Group;
- Жмем [Add New].
















2.       Определяем Значения Call Pickup Group:
              - Call Pickup Group Name * = Manager_PkG ;
- Call Pickup Group Number * = 7800;
- Description  = Manager Pickup Group (Не обязательно);
- Жмем [Save].
 

3.  Создаем Softkey Template:
- Навигация = Cisco Unified CM Administration;
- Меню = Device->Device Settings->Softkey Template;


                          
                        - Лучше выбрать уже существующий Softkey Template и скопировать его;
 
4.       Назначаем имя Softkey Template:
- Name = Manager_Pk;
- Жмем [Save];
- Переходим на конфигурацию Softkey, нажав напротив Related links = Configure Softkey Layout кнопку [Go];
- Перемещаем Softkey Pick Up (PickUp) из группы «Unselected Softkey» в группу «Selected Softkeys (ordered by position)**»;
- Применяем конфигурацию кнопка [Apply Config];
- Сохраняем конфигурацию кнопка [Save];
- Повторяем действие для состояние «off Hook», поле «Select a call state to configure»;

5.       Назначаем телефону созданный Softkey Template:
- Выбираем нужный телефон (Навигация = Cisco Unified CM Administration;
- Меню = Device->Phone;
 

- Жмем [Найти] и выбираем интересующий нас телефон;
- В настройках телефона (для всех телефонов группы), раздел «Device Information» поле «Softkey Template», устанавливаем созданный нами «Softkey Template»;

- Для активации функции на номер, переходим в соответствующую линию;
- В разделе «Call Forward and Call Packup Settings» в поле «call Pickup Group» устанавливаем созданную нами Pickup Group – «Manager_PkG»;
                           - Не забываем применить изменения [Apply Config] и сохранить их [Save].

*После этого группа перехвата должна работать, в некоторых случаях необходимо сбросить телефон [Reset], [Restart].

Перехват звонка из чужой группы «Group Call Pickup»


Данный вид перехвата можно определить, как мало востребованный. Его смысл в том, что при звонке телефона из чужой группы пользователь перехватывает этот звонок введя номер группы.  Сразу же возникаю вопросы со знанием номера соответствующей группы, и умения определить из какой группы звонит телефон.
Ниже представлен сценарий таково перехвата:
1.       Абонент 7211 из группы Sales звонит абоненту 7212 из группы Sales;
2.       Абонент 7212 из группы Sales отсутствует, поэтому вызов входящий на его телефон прихватывает абонент 7202 из группы Manager нажав Soft key [GPickUp] и введя номер группы Sales;
3.       Устанавливается соединение между абонентом 7202 из группы Manager и абонентом 7212 из группы Sales.

 
Настройка:
Настройка группы и телефонов описана выше, для добавления этой функции достаточно на телефоне определить Soft key [GPickUp], при нажатии на которую будет предложено ввести номер группы для перехвата, после чего осуществиться перехват.

Перехват звонка из ассоциированной группы «Other Call Pickup»


Очень полезный вид перехвата. Его смысл в том, сотрудник может перехватить как вызов в своей группе, так и в любой из ассоциированных групп, нажатием одной кнопки «oPickup».
При нажатии кнопки система сначала ищет входящие звонки в локальной группе, а затем в ассоциированных группах, в порядке их перечисления в окне «Selected Call Pickup Groups ».
Ниже представлен сценарий таково перехвата:
1.       Абонент 7211 из группы Sales звонит абоненту 7212 из группы Sales;
2.       Абонент 7212 из группы Sales отсутствует, поэтому вызов входящий на его телефон прихватывает абонент 7202 из группы Manager нажав Soft key [oPickup];
3.       Система осуществляет поиск в группе Manager, не найдя активных вызовов система переходит в группу Sales и осуществляет прихват вызова на абонента  7212;
4.       Устанавливается соединение между абонентом 7202 из группы Manager и абонентом 7212 из группы Sales.
 
Настройка:
Настройка группы и телефонов описана выше, для добавления этой функции нужно:
1.       В нужную Pickup Groups  ассоциируем определенную группу, не забываем сохранить:
 
2 на телефоне определить Soft key [oPickup]:

Вот пожалуй и весь обзор сервиса Call Pick Up Cisco Unified Communication Manager.