понедельник, 7 октября 2019 г.

Как обновить прошивку на телефонах Cisco с 3PCC (Third Party Call Control)

ОБНОВЛЕНИЕ: С момента написания статьи прошло много времени. Поменялись некоторые условия. Кратко: миграцию 3CPP/MPP прошивки на Enterprise провести можно, но для этого потребуются дополнительные лицензии. Сам не проверял, ссылки на детальные гайды от Cisco в конце статьи. Тем не менее, миграция возможна не для всех телефонов, требуется обратить внимание на ревизию аппаратной платформы.
 
    Хотел бы поделиться своими изысканиями, которые пришлось провести для решения на ровном месте возникшей проблемы. Проблема следующего характера: вновь заказанные телефоны почему-то не хотели регистрироваться на имеющемся у заказчика Cisco Call Manager'е. Путем невероятнейшей мозговой активности с использованием метода пристального взгляда было обнаружено, что телефоны, которые были заказаны, имели специальную прошивку - Third Party Call Controll (3PCC).
 
   Выяснилась следующая деталь. Cisco поставляет свои телефоны в двух редакциях. Первая - обычные телефоны с прошивкой типа Enterprise - стандартная SIP-прошивка, позволяющая регистрировать телефоны на Cisco UCM/CME без каких-либо проблем в автоматическом или ручном режиме. Вторая редакция - это специальная редакция 3CPP, которая позволяет регистрировать телефоны Cisco на любых других IP АТС, например, на Asterisk.


   Второй тип телефонов имеет специальное значение SKU/Part Number (он же артикул). В коде будет присутствовать шифр 3CPP. Ниже представлен список таких артикулов, доступных для заказа:
   CP-7811-3PCC-K9=
   CP-7821-3PCC-K9=
   CP-7841-3PCC-K9=
   CP-7861-3PCC-K9=
   CP-8811-3PCC-K9=
   CP-8831-3PCC-K9=
   CP-8841-3PCC-K9=
   CP-8851-3PCC-K9=
   CP-8861-3PCC-K9=
   Первым логично возникшим вариантом решения проблемы стало попробовать прошить телефоны на "правильную" прошивку. Для тех, кто задается вопросом, как прошить Cisco IP Phone модели 78xx/88xx с 3PCC на Enterprise firmware, ответ - НИКАК. Не тратьте время. Если телефоны заказаны по ошибке, возвращайте производителю или поставщику и просите новые, без 3PCC в артикуле.
   На просторах интернетов было найдено подтверждение на форуме в виде ссылки на багтрекер (баг закрыт для общего доступа, так что ссылку не выкладываю) со следующей формулировкой:

   Conditions:
   Upgrading 7821 from 3PCC firmware to Cisco enterprise firmware

   Workaround:
   Cross-upgrades between 3PCC and Enterprise firmware are NOT allowed for any Cisco IP phones.
   
   Не смотрите, что в описании бага присутствует только 7821. Аналогичное поведение демонстрируют все телефоны 88xx/78xx серий. Там же на форумах присутствует объяснение, что телефоны эти (Enterprise и 3PCC) имеют вплоть до аппаратных отличий, поэтому прошить невозможно.
   Что касается простого обновления софта 3PCC на более новую версию, то нижеследующая инструкция проверена. Подтверждаю, что она полностью рабочая.
  1. Перед началом работы у вас должен быть развернут TFTP сервер.
  2. Качаем архив в формате .zip с сайта Cisco. Например, cmterm-8845_65.12-6-1-0001-668.zip
  3. На сервере TFTP распаковываем архив в папку. Вообще я использовал ноут в качестве TFTP сервера, но говорят, что если использовать в качестве TFTP сервера CUCM, то тоже должно работать. Поверим на слово. Во втором варианте софт нужно будет залить на CUCM.
  4. Подключаем телефон к сети, настраиваем базовые сетевые параметры с помощью DHCP или вручную - не важно. Главное, чтобы телефон был доступен в сети и имел необходимые параметры (шлюз по умолчанию, адрес, маску) для доступа к TFTP серверу. 
  5. Далее два варианта, оба рабочие:
   а) Вариант первый: в браузере прописываем ссылку следующего вида http://<PhoneIPAddress>/admin/upgrade?tftp://<TFTPServerIPAddress> /<PhoneLoadsName>.loads, где:
  • PhoneIPAddress - адрес телефона,
  • TFTPServerIPAddress - адрес TFTP сервера,
  • PhoneLoadsName.loads - имя файла с расширением loads, который будет найден в распакованном ранее архиве. В моем случае он выглядел так: sip8845_65.12-6-1-0001-668.loads;

   б) Вариант второй: в браузере вводим следующий URL: http://<IP Phone IP Address>/admin/advanced, где IPPhoneIPAddress - адрес телефона. 
   Необходимо зайти на вкладку Voice, далее пройти в меню Provisioning. Далее в поле Upgrade Rule field, прописываем ссылку на TFTP сервер tftp://<TFTP Server IP Address>/<путь, если не корневая директория>/<Firmware name>.loads (exemple: tftp://1.1.1.1/sip88xx.10-3-1-20.loads).

   Далее во всех инструкциях сказано, что необходимо поставить галочку на Enable Enterprise Image Upgrade и выбрать Yes, но в новых версиях софта это поле полностью отсутствует по причинам, описанным выше (не поддерживается замена ПО с 3PCC на Enterprise).
   Последний шаг: проверить, что в поле Firmware upgrade установлено значение Yes, Submit All Changes.
 
ОБНОВЛЕНИЕ: Ниже представлены ссылки на гайды от производителя о том, как все же провести миграцию. Мною не проверялись, так что используйте страх, риск и купленный Smartnet.

4 комментария:

  1. БРЕД полнейший,
    https://www.cisco.com/c/dam/en/us/products/collateral/collaboration-endpoints/unified-ip-phone-7800-series/phone-firmware-mig-bulk-provis.pdf

    Нужно покупать отдельные лицензии, но можно.

    ОтветитьУдалить
    Ответы
    1. Люблю такую безапелляционность и уверенность. Тем не менее, спасибо за обновление. Увидел, что теперь это можно делать. Обязательно добавлю обновление в статью.

      Удалить
  2. На телефоне CP-7861-K9 (обычном, не 3PCC) данная инструкция по обновлению (ни один из способов) почему то не работает. Веб морды у этого телефона нет, через tftp обновляться тоже ни в какую не хочет (ни ссылкой, ни явным указыванием tftp сервера в настройках телефона). Самое забавное что инструкция с сайта Cisco тоже не работает, телефон просто не хочет ничего качать (их несколько), но при этом сам работает, звонит (файлы прошивки правильные, файл loads там присутствует).
    При этом данная инструкция (оба способа) работают на телефоне SPA502G. Их обновил.
    Есть какие то мысли почему может не обновляться CP-7861?

    ОтветитьУдалить
  3. Сам спросил, сам отвечу. Мало ли может пригодится кому.
    Обычный CP-7861-K9 обновляется (например) путём установки TFTP-сервера на который кидаются файлы прошивки, обязательно должен быть файл *.loads. У каждого такого телефона есть своё имя "SEP'mac-адрес телефона'". Прошивается телефон путём указания в настройках сети в телефоне адреса TFTP сервера, к файлам прошивки добавляется файл SEP'мак-адрес телефона'.cnf.xml , в строчке 'sip78xx.версия прошивки' написана текущая версия прошивки, новая копируется с имени файла с расширением *.loads, например, была версия 12.5, а нужно обновиться на 14, надо переименовать строчку на 'sip78xx.14-0-1-0201-169'. Зайти в настройки телефона, состояние, убедиться что обновление не началось автоматически (начнёт крутиться кружок в правом верхнем углу) и ребутнуть телефон. После этого если все сделано правильно телефон подтянет новую прошивку и перезагрузится сам.

    ОтветитьУдалить