Телефоны Cisco CP-7906 и Cisco CP-7911 считаются аппаратами начального уровня, недорогие и массовые, но уже сняты с производства и продажи. 7911 гораздо интереснее по дизайну и удобству использования, чем 6921 и тем более 6911, которые позиционируется им на замену, имея равные цену и функционал. Кроме того, 6911 требует CallManager минимум 8 версии, для работы с второй линией и другим необходимым функционалом, что требует уже дополнительных лицензий.
Поэтому было решено прикупить бывших уже в употреблении, хорошо сохранившихся телефончиков, про запас, ибо потом их будет раздобыть сложнее. Купленные телефоны оказались со старой прошивкой, прошиты для протокола SIP, отказавшись работать с нашим сервером 7 версии.

Этому их пришлось научить, и здесь хочу описать процесс прошивки телефона cisco 7906/7911 для работы по протоколу SCCP с Cisco CallManager.

Процесс во всей простоте


Первым делом подключаем телефон кроссом к компьютеру, в свойствах подключения задается статический адрес, например 192.168.0.1, запускается TFTPD и WireShark поможет следить за процессом.

Задаем опцией 66 наш компьютер 192.168.0.1
Указываем пул DHCP из той же подсети.

официальных документах указывается опция 150, так вот, это работает не всегда. В случае полного сброса с опцией 150 в телефон начинает искать tftp по адресам 49.54.56.46, 49.57.56.46, 49.57.50.46 и т.д., причем если задать через DHCP адреса из этой же подсети, телефон просто выдумает новый адрес).



Сброс производится зажатием на телефоне цифровой клавиши # а затем подключением питания, с блока питания или по PoE.

После включения телефон проморгается лампочками, и начнет мигать красный диод под трубкой с частотой около 2 герц. В это время нужно ввести код сброса, если это перешивка с SIP на SCCP или наоборот, то код «Total Hard Reset» 3491672850*#. После чего индикатор начнет мигать как стробоскоп, в этот момент форматируется флеш.

По окончанию процесса стирания старых данных он перезагрузится и в этот момент начнет искать DHCP сервер c опцией, указывающей на TFTP.

При получении настроек от сервера, начинает с TFTP сервера стягивать текстовый файл term06.default.loads или term11.default.loads, в зависимости от модели.

Этот файл представляет собой список файлов загружаемой конфигурации.

Мне пришлось открывать его в блокноте и стирать все лишние заголовки, оставив только имена файлов, только после этого продолжалась загрузка.

В моем случае его содержимое стало выглядеть так:
jar11sccp.8-4-3-16.sbn
cnu11.8-4-3-16.sbn
apps11.8-4-3-16.sbn
dsp11.8-4-3-16.sbn
cvm11sccp.8-4-3-16.sbn
Дальше телефон стягивает все необходимые файлы с tftp и перегружается, мигнув лампочками, рисует чашку кофе и пытается регистрироваться на сервере. В этот момент можно его отключать от стенда и отпускать на волю в рабочую сеть, он сможет самостоятельно обновиться дальше, в моем случае до SCCP11.9-1-1SR1S.

Authentication Failed


Еще один сценарий, с долго пролежавшими на складе аппаратами, и уже не способными самостоятельно прошиться до свежей версии.

Только что распечатанные из заводской упаковки телефоны видят новую прошивку, но при попытке её загрузить пишут на экран и в логи: Authentication Failed. После этого они регистрируются на CUCM и могут работать с английской локалью, соответственно все меню на английском. Оказалось что с версии 11.8-2-2ES1 нельзя напрямую обновиться до 11.9-1-1SR1S. Нужно сделать Soft Reset командой 123456789*0# и подсунуть 11.8-4-3-16, как было описано выше. Отличие лишь в более коротком «эффекте красного стробоскопа», ведь при этом стирается только файлы с настройками.



В дополнение приведу более полное описание команд сброса:
*стянуто отсюда.

#Soft Reset

The code for the soft factory reset is: 123456789*0#
A soft reset does the following:
5. deletes key files on the phone including /etc/init.tab
6. reboots
7. phone recovers default loads file from TFTP server

#Total Hard Reset

The code for the total hard reset is: 3491672850*#
A total hard reset formats /flash0 blowing away everything except CNU. All settings and personalization of the phone is removed.

#Hard Reset with Network Setting Preservation

The code for the network preservation hard reset is: *7412369#085
And it also does a complete format of /flash0 — yet it preserves the network settings so that after the format, any static IP and other network settings are preserved. The settings are stored in volatile RAM, so it is important to not remove power to the phone during this process.

Всем спасибо за внимание. Надеюсь, это пригодится таким же начинающим сетевикам, как и я, сэкономить время.

Комментарии (5)


  1. zhovner
    18.04.2019 10:48

    Телефоны Cisco так удобны в использовании, что процесс прошивки заслуживает целой статьи.

    Вот как выглядит типичный опыт использования телефонов Cisco с SIP:

    • Ищешь торрент трекер с прошивками, ведь с официального сайта их скачать нельзя.
    • Выбираешь правильную версию прошивки с SIP (последняя не подходит в ней сломан SIP), не ошибись случайно выбрав версию с SCCP или MGCP
    • Поднимаешь DHCP сервер и накручиваешь опции с указанием TFTP сервера
    • Запускаешь TFTP сервер и кладешь прошивку по правильному пути с нужным именем.
    • Гуглишь специальную секретную комбинацию вроде *#123123123# в котором телефон действительно скачает прошивку а не сделает что-то неправильно.
    • Пишешь три конфига: SEP<MAC-адрес>сnf.xml, даилплан (не помню как называется файл) и еще какой-то. Суешь их на TFTP сервер.
    • Целый день разбираешься почему входящие проходят через раз, экспериментируешь с пробросом портов, NAT halper-рами
    • Когда наконец все настроено, обнаруживаешь, что с утра телефон почему-то не принимает входящие. Перезагрузка решает проблему.
    • Проблема повторяется каждый день. Находишь, что оказывается телефон не восстанавливает связь после обрыва и если ночью пропадает интернет, то телефон не переподключается к SIP серверу сам.
    • Находишь ветку на форуме с 2006 года с обсуждением этой проблемы.
    • В качестве решения советуют держать SIP-сервер в локальной сети с телефонами.
    • ?????
    • Выбрасываешь Cisco, покупаешь Yaelink, вбиваешь за пять минут в веб-интерфейсе логин-пароль от SIP аккаунта и пользуешься несколько лет без проблем.


    Все описанное выше справедливо для телефона cisco 7965. Знаю, что в более новых телефонах, SIP умеет переподключаться, но это не отменяет дебильную переусложненность настройки. Полагаю, что это сделано специально для того чтобы существовал рынок фирменных сертификаций и курсов.


    1. denzill
      18.04.2019 10:48

      Ищешь торрент трекер с прошивками, ведь с официального сайта их скачать нельзя.

      не правда, я качал с cisco.com. Там поискать правда нужно.
      Выбираешь правильную версию прошивки с SIP (последняя не подходит в ней сломан SIP), не ошибись случайно выбрав версию с SCCP или MGCP

      ну тут как повезет, с моими 30-ю 7911 никаких проблем с последней прошивкой.
      Поднимаешь DHCP сервер и накручиваешь опции с указанием TFTP сервера

      две строки в конфиге. делается один раз и навсегда.
      Запускаешь TFTP сервер и кладешь прошивку по правильному пути с нужным именем.

      см. выше
      Гуглишь специальную секретную комбинацию вроде *#123123123# в котором телефон действительно скачает прошивку а не сделает что-то неправильно.

      на cisco.com есть документация, которую нужно нагуглить, это да.
      Пишешь три конфига: SEP<MAC-адрес>сnf.xml, даилплан (не помню как называется файл) и еще какой-то. Суешь их на TFTP сервер.

      dialplan.xml и sipdefault.cnf один на все телефоны.
      В качестве решения советуют держать SIP-сервер в локальной сети с телефонами.

      Бывает иначе? Можно подробнее этот момент?

      P.S. 7965 у нас нет, есть один 7945. Я его воткнул в сеть, поправил конфиг и зыбыл про то, что он вообще есть.


      1. DaemonGloom
        18.04.2019 10:48

        Бывает иначе? Можно подробнее этот момент?

        Да, можно держать SIP-сервер в интернете и все устройства подключать к нему. Если есть куча мелких филиалов без L2 связности — так гораздо удобнее. Да и помогает собрать гетерогенную телефонию с аппаратными телефонами, софт-клиентами на ПК и мобильниках.


  1. zhovner
    18.04.2019 10:48

    Задаем опцией 66 наш компьютер 192.168.0.1
    В официальных документах указывается опция 150, так вот, это работает не всегда

    код «Total Hard Reset» 3491672850*#

    При получении настроек от сервера, начинает с TFTP сервера стягивать текстовый файл term06.default.loads или term11.default.loads, в зависимости от модели.

    Оказалось что с версии 11.8-2-2ES1 нельзя напрямую обновиться до 11.9-1-1SR1S. Нужно сделать Soft Reset командой 123456789*0# и подсунуть 11.8-4-3-16, как было описано выше.

    Вот это технологии. Все для людей.


    1. denzill
      18.04.2019 10:48

      Вот это технологии. Все для людей.


      А перевод звонка в 7911 та еще ламбада. :)