antiCisco blogs


блоги по технологиям и оборудованию cisco от инструкторов

Опубликовано 28 Сентябрь , 2010

“Этим стулом мастер Гамбс начинает…”

Преамбула

Давно обещал Сержу статью.

Давно хотел собрать в кучу свои записки.

Давно хотел лабу для тестирования голосовых фич.

Решено: Зайцев калечить пачками. Быть серии публикаций.

Особенности: Статьи будут писаться в стиле “акын”. Темы и последовательность статей будут выбираться методом тоталитарного произвола.

Амбула

Задача стратегическая:
Построить лабу, на которой можно было бы отлаживать всякие голосовые фичи и читать курсы CVOICE, CIPT.
Задача тактическая:
Собрать часть схемы, выделенную голубой рамкой.
Запустить на маршрутизаторе HQ1 CUCME (Cisco Unified Communication Manager Express он же Call Manager Express), зарегистрировать на нём 3 IP-телефона. Сделать “штоб звонило”.
Процесс:
Берём маршрутизатор (у меня это  2811 c E1 и одним Serial-интерфейсом).
Проверяем стоящий на нём IOS: Advanced Enterprise Services , 12.4(24)T — ага, вполне подходит. Чистим конфиг. Втыкаем F0/0 в коммутатор (там же будут торчать и телефоны).

Проводим базовую настройку

Будет маршрутизатором офиса “HQ” компании “1”
Router(config)#hostname HQ1

В моей сети помимо голоса будут передаваться ещё и данные, поэтому запланируем две IP-сети: 172.16.Х.0/24 — сеть данных и 172.17.Х.0/24 — голосовая сеть.

Создаём субинтерфейс для сети данных
HQ1(config)#int F0/0.16

Укладываем его в 16 VLAN
HQ1(config-subif)#encapsulation dot1Q 16

Вешаем IP-адрес
HQ1(config-subif)#ip add 172.16.1.1 255.255.255.0

А теперь для голосовой сети
HQ1(config-subif)#int F0/0.17

Укладываем его в 17 VLAN
HQ1(config-subif)#encapsulation dot1Q 17

Вешаем IP-адрес
HQ1(config-subif)#ip add 172.17.1.1 255.255.255.0

Чёта лампочка не горит…
HQ1(config-subif)#int F0/0
HQ1(config-if)#no sh — Семён Семёныч…

*Sep 14 12:48:19.490: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Sep 14 12:48:20.490: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

Запускаем мастер настройки CUCME
HQ1(config)#telephony-service setup

Предупреждают, что команда по запуску мастера настройки CUCME, устарела и функционал у неё слабый, но ничего страшного — нам для начала сойдёт.

Warning: <telephony-service setup> command has been deprecated.
For installation help, please check CME System Administrator Guide.
-Ай баюсь, баюсь!

— Cisco IOS Telephony Services Setup —

Далее нам предлагают настроить DHCP-сервер, для раздачи IP-адресов телефонам. В принципе, ничего не мешает настроить DHCP самостоятельно, и не обязательно именно на этом устройстве.

Соглашаемся на настройку DHCP
Do you want to setup DHCP service for your IP Phones? [yes/no]: y
Configuring DHCP Pool for Cisco IOS Telephony Services :

Задаём сеть/маску, шлюзом и TFTP ставим себя (точнее свой интерфейс который смотрит в голосовую сеть)
IP network for telephony-service DHCP Pool:172.17.1.0
Subnet mask for DHCP network :255.255.255.0
TFTP Server IP address (Option 150) :172.17.1.1
Default Router for DHCP Pool :172.17.1.1

Далее следует запрос собственно на запуск мастера настройки CUCME. Да!
Do you want to start telephony-service setup? [yes/no]: y
Configuring Cisco IOS Telephony Services :

Рабочий адрес CUCME — им он будет подписываться. Указываю IP, смотрящий в голосовую сеть.
Enter the IP source address for Cisco IOS Telephony Services :172.17.1.1

Порт работы протокола SCCP — оставляем по умолчанию.
Enter the Skinny Port for Cisco IOS Telephony Services :  [2000]:

Указываем количество телефонов, которые хотим зарегистрировать. В наличии 3, но мало ли…
How many IP phones do you want to configure :  [0]: 10

Будут ли у нас телефоны с 2 линиями? Будут, но потом. Отказываюсь.
Do you want dual-line extensions assigned to phones? [yes/no]: no

Язык интерфейса телефонов. Особо толковые жмут 11.
What Language do you want on IP phones :
0  English
1  French
2  German
3  Russian
4  Spanish
5  Italian
6  Dutch
7  Norwegian
8  Portuguese
9  Danish
10 Swedish
11 Japanese

[0]: 3 — А вы правда вбили «11»?

В разных странах Call Progress (характер гудков, которые мы слышим в трубке) отличаются по частоте и длительности. Выбираем родные.
Which Call Progress tone set do you want on IP phones :
0  United States
1  France
2  Germany
3  Russia
4  Spain
5  Italy
6  Netherlands
7  Norway
8  Portugal
9  UK
10  Denmark
11  Switzerland
12  Sweden
13  Austria
14  Canada
15  Japan
[0]: 3

Выбираем из какого диапазона будут получать номера телефоны. Указываем первый номер диапазона
What is the first extension number you want to configure (maximum 32 digits): 1101

Предлагают включить DID и голосовую почту. Откажемся — инфраструктура пока ещё не готова.
Do you have Direct-Inward-Dial service for all your phones? [yes/no]: no
Do you want to forward calls to a voice message service? [yes/no]: no

Если вы допустили ошибку, отвечая на вопросы мастера или передумали — ещё не всё потеряно.
Do you wish to change any of the above information? [yes/no]: no

—- Setup completed config —

Я ещё люблю вот так делать (исключать ручками адрес шлюза из пула).
HQ1(config)#ip dhcp excluded-address 172.17.1.1

Теперь пора на коммутатор (у меня 2960).

Делаем порт, смотрящий на маршрутизатор транком.
Switch1(config)#int g0/1
Switch1(config-if)#switchport mode trunk

На коммутаторах Cisco, по умолчанию, включён протокол STP, у которого порт до состояния “нормально работает” (Forwarding) доходит за 50 секунд, чего вполне хватает для истечения тайм-аута на ожидание ответа от DHCP. Результат — телефон не получает адрес. Плохо.

Включаем RSTP (быстрый STP).
Switch1(config)#spanning-tree mode rapid-pvst

Заходим в режим конфигурирования сразу всех трёх интерфейсов к которым подключены телефоны.
Switch1(config)#interface range fastEthernet 0/1 — 3

Переводим порты статически в режим доступа.
Switch1(config-if-range)#switchport mode access

Укладываем порты в DATA-VLAN. В этом VLAN окажутся компы, которые будут подключаться к сети сквозь телефоны.
Switch1(config-if-range)#switchport access vlan 16
% Access VLAN does not exist. Creating vlan 16

Задаём на портах голосовой VLAN. — А в этом окажутся сами телефоны.
Switch1(config-if-range)#switchport voice vlan 17
% Access VLAN does not exist. Creating vlan 17

Для того чтобы изменения топологии RSTP оказывали наименьшее влияние на работу телефонии исключаем все не-транки из RSTP.
Switch1(config)#spanning-tree portfast default

Втыкаем питание и сеть в телефоны (У меня 7940), телефоны в коммутатор, коммутатор в маршрутизатор.
Ждём, ждём, ждём — фигня какая-то — не регистрируются, пишут какие-то штуки непонятные с чужими айпишниками. Похоже, мои коллеги тут уже поиграли.
Ничего страшного — сбросим к заводским настройкам.
1.Вытаскиваем питание
2.Зажимаем #
3.Втыкаем питание
4.Ждём несколько секунд
5.Отпускаем #
Пишет: “Reset key seq detected”
6. Жмём “123456789*0#
Пишет: “Save network cfg” 1=Yes, 2=No
7.Кому процесс доставил удовольствие — могут нажать 1
8.Жму 2
9.Жду

ОПА!
Телефон получил номер 1101.

Повторяю процедуру для оставшихся.
Все зарегистрировались, номерочки получили. Друг другу звонят.

Итого: Имеем IP-телефонию с базовым набором фич в отдельно взятом офисе

Смотрите в следующих сериях: Шлюз добавить по вкусу.

UPD: Исправил опечатку на картинке.

 

Опубликовано: Маршрутизаторы и коммутаторы

 

18 комментариев “Про голос. Собираем лабу 1. CUCME Basics.”

comment rss - Trackback

  1. Это произошло!
    Сегодня будет праздник 🙂

  2. Akhmetov:

    Отличная статья! Ждем продолжения.

  3. volanddt:

    Очень познавательная статья. Только начал интересоваться cvoice и тут такой подарок. Огромное спасибо за труд и присоединяюсь к «ждущим продолжения».

  4. j_vw:

    Титанический труд 😉
    Проблемка в том, что «Сизифов».
    Да и продолжение, в таком ключе, полная бессмыслица.
    Есть публикации, которые доходили и до более внятных вещей…
    Но, вот, дальше…Тупик 😉
    Уж, если хотите описать методику создания НОРМАЛЬНОГО стенда, то опирайтесь на admin guide по CCME (и делайте описание «по пунктам»)

    А, так, вот вам «Убить Била за две минуты без реального оборудования»:
    http://www.brainbump.net/tutorials/voice/CMEusingGNS3.htm

    P.S. Там еще много чего интересного есть 😉
    P.P.S. Вот дойдете до более серьезных вещей, класса: COR, написания правильных рулей, регистрации FXS по SCCP, тогда дам пару советов 😉
    P.P.P.S Найдите, лучше, дамп курса IPTX 😉

    • Чтобы было понятнее: Серж Трюхан АКА solo — CCVP и инструктор.
      Насколько я понимаю, его задача (этого поста) сделать вводную. И его статьи примерно по курсу голосовому пойдут, чтобы ссылаться для непонятливых или тех, кто пришел на продвинутый курс, не слушая базового. Так что не стоит ругать Getting Started. Вы же не ругаетесь на команду setup, хотя она почти ничего не дает настроить 🙂

      • j_vw:

        Да не ругаю я…. 😉
        Я ратую за понимание процесса… 😉
        А то народ понастроит, как тут сказано…
        Вопросов, потом будет больше чем ответов 😉

        P.S. Не видел ни одной нормальной статьи, где на фразу:
        Continue with configuration dialog?
        Было предложено ответить «Yes» 😉
        Тут тоже самое 😉
        P.P.S. Инструктор не Бог. Кое чего и сам не знает…. 😉
        P.P.P.S Опять же после «Похоже, мои коллеги тут уже поиграли.» обычно требуется уже не сброс а принудительное обновление паршивки…. Но это уже другая история… 😉

        • Ilya:

          Ну вот 🙂 не успел Серега собраться с мыслями и накропать титанический труд для начинающих, как его обвинили в непрофессионализме :)))

          Давайте не забывать, что книг (и даже переводных для нечитающих на родном языке любого цискаря — английском) — валом. Перепечатывать их дело глупое. Задача статей в блоге — либо постепенно объяснять азы понятным языком, либо расписывать какие-то интересные моменты, которые мало где можно найти.

          Инструктор — не Бог, конечно, но думаю, Вы не представляете, где начинается его «не знает».

    • solo:

      2Fedia
      Серж, спасибо за поддержку, приятно

      2j_vw
      Каждый раз чувствую себя не уютно, когда приходится объяснять очевидные вещи.
      Вот и сейчас.

      Статьи служат для достижения МОИХ целей.
      Написаны они таким образом, чтобы делать это эффективно.

      Многим это может не нравиться. Да.
      Надеюсь на понимание.

      Что такое «дамп курса IPTX»?

      С уважением, Сергей Трюхан.

      • j_vw:

        Я никого не хотел обидеть.
        Я высказал свое мнение.
        Просто, регулярно нарываюсь на статьи, где народ зарегит два телефона, напишет один диалпир и все….
        А на продолжение ни у кого сил-энергии-желания-знаний, наверное, не хватает…
        И здесь натыкаюсь на вариант полутора шагов…
        Успехов, если решитесь продолжить….
        Под «Дампом» имелась в виду литература и лабы с курса IPTX.

  5. j_vw:

    Я уже извинился 😉
    Просто не поверил, что «титанический труд» будет продолжен 😉
    Те самые действия, что здесь предприняты, уже не однократно описаны с помощью различных «понятных языков» а вот до продолжения так никто и не добрался 😉
    «объяснять азы понятным языком»
    «расписывать какие-то интересные моменты, которые мало где можно найти»
    Всеми руками «ЗА» 😉
    По поводу «как глубока кроличья нора» …..
    Вспоминается свое обучение..
    Вопрос инструктору: «а можно сделать на телефоне кнопку а-ля «Panasonic? Т.е. нажал — вышел в линию, пришел звонок — нужная кнопка замигала». Ну, привыкли люди….
    Ответ: «Нельзя»…..
    А ведь, даже в материалах IPTX достаточно сведений, как это можно сделать…..Ну, не совсем стандартно… 😉

  6. ASQ:

    Сергей, отличная статья с хорошей подачей.
    Ждем продолжения цикла!

  7. Akhmetov:

    Насчет ISR G2
    При попытке ввести команду telephony-service setup получаем отлуп

    TEL(config)#telephony-service setup
    Warning: command has been deprecated.
    For installation help, please check CME System Administrator Guide.
    Goodbye!

  8. aZL:

    imho у cisco курс CVOICE вообще бестолковый (в разное время сталкивался с 5.0 и 6.0). Впечатление, что он не менялся с конца 90-х годов. Книга «Передача голосовых данных по сетям Cisco Frame Relay, ATM и IP» (Ciscopress) — весьма неплоха для базовых вещей а-ля теорема Найквиста, психоакустика-кодеки dial-peer, но, опять же, в плане технологии — старьё. Понятия терминации и оригинации вызова, особенности разл. сигнализаций, gatekeeper, трансляции вызовов, SIP/H323, IVR и пр. вообще не рассматриваются, зачастую сами инструкторы не в теме и мало что понимают вне рамок курса (из практики — CVOICE 6.0 в УЦ Микротест), приходится курить мануалы и форумы. Unified Communications — отдельная песня. Как я понимаю, CUCME (CCME) только частично рассматривается в уч.курсе CUCM? А ведь для SOHO подобное решение достаточно интересно, можно было бы организовать отдельный курс по CUCME…
    Это я так, наболело, занимаюсь VoIP 8 лет и в своё время многие вопросы приходилось решать методом проб и ошибок.

    • solo:

      >imho у cisco курс CVOICE вообще бестолковый (в разное время сталкивался с 5.0 и 6.0).
      > Впечатление, что он не менялся с конца 90-х годов.

      CVOICE 5 и 6 — совершенно разные курсы.
      5.0 — Розовая водичка на тему, что VOIP — это круто и как бонус пару диалпиров.
      6.0 — Почти полный курс GWGK. Шлюзы и гейткиперы описаны неплохо.

      >зачастую сами инструкторы не в теме и мало что понимают вне рамок курса
      (из практики – CVOICE 6.0 в УЦ Микротест),

      К огромному сожалению такое действительно иногда встречается.
      Хочу заступиться за незнакомого коллегу:
      Инструктор Cisco — «раб» документа CAG (там написано что, сколько и как ему говорить).
      НО!
      По поводу «вне рамок»:
      Ни капли не хочу Вас обидеть, но «А вы заплатили за «вне рамок?»

      Мой опыт: человек приходит на самый дешёвый начальный курс (поьмоему это был ICND)
      и требует, чтобы препод был не ниже CCIE RS|SP, потому что у него есть вопросы
      по MPLSTE поверх 111 в 222 с 333 в качестве транспорта.

      Далее: содержание человека «знает CVOICE» стоит гораздо меньше, чем «гуру по UC»,
      если задачей стоит чтение CVOICE.

      >Как я понимаю, CUCME (CCME) только частично рассматривается в уч.курсе CUCM?
      >А ведь для SOHO подобное решение достаточно интересно, можно было бы организовать
      >отдельный курс по CUCME…

      Курса CUCM не существует.
      Cуществует курс CIPT 1|2, там рассматривается CUCM. Экспресса там нет вообще.
      Он рассматривается в курсе IPTX(старый) или IIUC2(новый) и ещё с февраля будет
      читаться в составе курса CVOICE8.0

      >Это я так, наболело, занимаюсь VoIP 8 лет и в своё время многие вопросы приходилось
      >решать методом проб и ошибок.

      Именно так!

  9. aZL:

    Я и имел ввиду CIPT, просто правильное название подзабылось.

    Конечно, идти на ICND и задавать вопросы MPLS — жесть. Однако, в рамках любого курса рассматривать проблемные вопросы (некий troubleshooting) всё-таки хотелось бы. Ведь сам курс можно скачать и почитать самостоятельно, верно ведь? Я ратую за то, что люди должны приходить на курс уже с определённым уровнем знаний, а с помощью преподавателя эти знания структуировать и углублять. Плохо, что преподаватели зачастую вообще не имеют практики…

    Ещё один пример: курс IDS (RedCenter). Да, читал его умный парень, но ни на каплю не отступив от содержания. Хотелось коснуться IOS IPS, ответ: «Этого в курсе нет и касаться этого не будем». Печально.

    Кстати, учился много где — у вас понравилось больше всего. (ICND1/2 в 2001 и не так давно ONT у Ильи). Так держать!

    PS С Новым годом!

  10. aZL:

    Общую канву можно сформулировать так:
    «Чем дальше мы учимся, тем меньше гугл помогает»

» Оставить комментарий

Вы должны войти чтобы прокомментировать.