Подключение sip-телефона Cisco 7821 и Cisco 6921 к IP АТС Asterisk

Расскажу, как подключить софтфоны от Cisco к IP АТС Asterisk, сэкономив тем самым деньги на покупке Cisco Unified Communication. Сей пост – это описания граблей, и ни в коем случае не истина в последней инстанции. Так что, если у вас будут замечания – велкам в комменты. Особенно меня волнует вопрос с tlv-файлами.

Телефоны CISCO в отличии от своих собратьев D-Link настраиваются не через меню, а получают настройки с tftp-сервера. Значит первым делом подготавливаем инфраструктуры.

Поднимаем tftp-сервер

Любителям Windows могу посоветовать сервер tftpd32.

tftpd

Ну а мы будем настраивать linux tftpd сервер.

Устанавливаем сервера и клиента

Есть два способа настройки tftpd: через xinetd и через inet.d. В новых версиях Ubuntu (а я ставил это на 15.10) inet.d нет (его надо было бы ставить пакетом openbsd-inetd). Поэтому я выбрал вариант xinetd.

Создаем файл /etc/xinetd.d/tftp такого содержания:

Где /ftp – это наша папка с контентом сервера.

Перезапускаем демона суперсервера:

Проверяем, слушает ли демон свой порт через суперсервер xinetd:

Дальше создаём  папку для контента и выставляем ей права:
Пишем что-нибудь в файлик /tftp/test и пробуем получить его.

Из клиента под windows:

Из клиента под linux:

Если на этом этапе вы получаете зависание клиента и спустя время сообщение Connection timed out – это значит, что скорее всего ваш tftp-сервер находится за NAT и пакеты от него не доходят.

Если команда status в tftp клиенте выдает Connected to $hostIp, а файл не качается – то это верный признак сервера за NAT-ом. Или же включенного файервола. Я долго не мог понять, почему у меня не работате tftp. При этом линуксовый клиенты был за NAT, а виндовый блочился виндовым файерволом. Кстати, в Windows Firewall надо разрешать именно программу tftp-клиента, а не только 69 UDP порт, т.к. он работает еще и на динамических портах.

Для того, чтобы разрешить в фейерволе на сервере tftp надо включить соответствующее правило

или выключить файервол:

Теперь приступим к настройке телефона.

Настройка DHCP

Необходимо прописать в опцию 150 DHCP сервера IP адрес нашего  TFTP сервера.

dhcp-150-2

Настройка телефона СISCO-7821

При каждой перезагрузке телефон пытается обновить свою прошивку и подкачать файл конфига. Поэтому для начала скачиваем архив со свежей прошивкой и выкладываем его содержимое на tftp сервер.

Вот ссылка на свежую прошивку для Cisco-7821 (на момент публикации это была версия sip78xx.11-0-11

cisco-7821-firmware

 

Дальше смотрим maс-адрес нашего телефона (в примере это – 00082F1AFB3A) и создаем два пустых файла с авторизацией. Вообще их должен выдавать Cisco Call Manager, но у нас его нет – поэтому создаем пустые, чтобы телефон их скачал и успокоился. На самом деле, теперь я уже и не знаю, насколько они нужны, но на всякий случай пусть здесь будет упоминание про них.

ITLSSEP00082F1AFB3A.tlv

CTLSEP00082F1AFB3A.tlv

Если их не сделать, то будет ошибка “No Trust List Installed”. Вот, что говорит нам Google по этому поводу.

 

No Trust List Installed The CTL file or the ITL file is not installed on the phone. The trust list is not configured on the Cisco Unified Communications Manager, which does not support security by default.For more information about the trust list, see the Cisco Unified Communications Manager Security Guide.

В свободной консоле запускаем команды на tftp сервере

чтобы смотреть на запросы, пришедшие на tftp-сервер.

Кстати, я рекомендовал бы вам  скачать нормальный XML-редактор, который будет сразу валидировать ваши xml-конфиги, чтобы потом не удивляться ошибкам Parse error на телефоне.

Дальше создаем файл dialplan.xml с вот таким содержимым.

Т.к. Cisco, сцука, умная то ей без этого диалплана – некуда.

Дальше в папке с названием кодировки (в моем случае Russian_Russia) создаём файл g3-tones.xml вот с таким содержимым.

cisco-7821

Ну и самое главное, основной файл настроек телефона SEP00082F1AFB3A.cnf.xml:

Конфиг для Cisco-7821 + Asterisk

SIPSERVER – IP адрес вашего Asterisk
EXTENSION – ваш номер (extension) на Asterisk
PASSWORD – пароль (secret) sip-аккаунта на asterisk
sip78xx.11-0-1-11 – имя файла прошивки для Cisco-7821
SIP69xx.9-4-1-3SR2 – имя файла прошивки для Cisco-6921

После этого можно перезагрузить телефон нажав кнопки: Settings (шестеренка), **#**. Через 5-10 секунд он уйдет в ребут, скачает прошивку и настройки, потом подключится к линии и заработает. Для загрузки на tftp я использовал WinSCP и загрузку через ssh. В качестве XML-редактора скачал EditiX. После загрузки телефона логи можно посмотреть в меню: Кнопка Settings -> Параметры администрирования -> Состояние -> Сообщение о состоянии.

cisco-6921

Конфиг для Cisco-6921 + Asterisk

Кроме конфига и прошивки остальные файлы (g3-tones и т.д.) использовал те же, что и для Cisco-7821, т.е. все хранится в общей папке на tftp.

Важные замечания

  • TFTP не работает через NAT.
  • При каскадном соединении телефонов, цискофон надо перезагружать, чтобы он отдуплился.
  • Перед закачкой XML файлов на tftp проводите их общую валидацию в вашем любимом XML-редакторе.

Настройка времени на телефоне

Долго мучался с правильной настройкой времени на телефоне. Вот, как надо было делать. Заходим по этому адресу: http://wwp.greenwichmeantime.com/time-zone/gmt-plus-3/

Ищем там свой часовой пояс. Для Москвы сейчас это GMT+3. Смотрим внизу, какие страны подпадают под этот пояс. Для GMT+3 это например Саудовская Аравия (Saudi Arabia). Соответственно в параметре timeZone пишем “Saudi Arabia Standard Time”. Дальше, перезагружаем телефон с перечитыванием конфига (Settings, **#**) телефон перечитывает конфиг и выставляет правильное время.

Скачать прошивку и конфиг

disk-save Вот моя прошивка и конфиги для cisco-7821

Ссылки

http://netwild.ru/tftp_on_linu/
Пример валидного конфига CISCO-телефона
Совместимость XML объектов и телефонов серии 79xx
Как перепрошить (видео)
https://habrahabr.ru/post/148455/
http://www.vtkt.ru/articles/phones/IP_Telephony_Cisco_and_Asterisk.php
Пример конфига для серии 79xx
Неплохой конфиг
Хорошие примеры конфигов
Видео по прошивке
Локали Cisco
Пример валидного конфига (английская локаль)
https://habrahabr.ru/post/121140/
http://www.voip-info.org/wiki/view/Asterisk+phone+cisco+79×1+xml+configuration+files+for+SIP
http://www.cisco.com/web/software/282074288/107070/cmterm-78xx.10-1-1-9-readme.html
Cisco 78xx firmware release notes
Configure Cisco-7821-SIP
Generating configuration files for phones
Настройки CUCME с нуля
Asterisk + phone 7821
IP Phone security and CTL
Поиск страны по таймзоне для параметра TimeZone конфига телефона
http://help.lptracker.ru/knowledgebase/cisco-6921/
https://zadarma.com/ru/support/instructions/cisco/cisco-6921/
Возможные TimeZone
Как мы Cisco Phone с Asterisk дружили

21 Comments

  1. У вас случаем нет последней прошивки может там все нормально?

  2. Столкнулся с такой проблемой что после прошивки на SIP-протокол перестает работать аппаратная конференция (кнопка conf.). Не сталкивались?

  3. Помогите, Телефон cp-3905, ip настройки задаю вручную, но телефон не пингуется (а должен?) и по логам даже не пытается скачать файлы с TFTP сервера, что может быть?

    1. Денис, если телефон не пингуется, он не скорее всего не получил IP адрес. Проверьте как он взаимодействует с DHCP сервером в вашей сети. Если, как вы говорите ставите вручную, то проверьте корректность этих же настроек на другом устройстве.

  4. Андрей,
    подскажите, с чем может быть связано отсутствие входящего звука? Исход работает, абонент меня слышит, а я его нет. Точно не роутер, проверят на “рядом стоящем” в сети софтфоне – все работает.

    1. Дмитрий, начните с банального – звук может быть выключен на аппарате, поломана трубка. Соответственно поменяйте трубку, если есть возможность, работайте методом исключения.

  5. Вот такая проблема:
    Cisco 7975G и CP-8841 и один CP-8865-k9-v0/
    7975 перепрошиваются на SIP, другие уже SIP.
    Но вот где взять правльные файлы конфигурации? Хотя бы для 7975? Грузить могу только через tftp.
    Вот этот подойдет: Пример валидного конфига (английская локаль)?
    Можно ли собрать все файлы которые необходимы для загрузки по ftp воедино для 7975?
    Понимаю, что много хочу, но может поможете?

    1. Сергей, доброго дня! Все материалы, которые у меня были – выложил. Попробуйте полазить по ссылкам – там что-то должно быть. В свое время перепробовал штук 20 разных конфигов, пока этот не скомпоновал.

  6. Архив с прошивкой поврежден. Перезалейте плз.
    Возможно использовать cisco 7821 с другим Sip провайдером, например с Манго-телеком?

    1. С архивом все в порядке:

      andrey@u330:~/Download/test$ wget https://tokarchuk.ru/wp-content/uploads/2016/02/cisco-7821-tftp-files.tgz
      –2018-04-28 18:06:39– https://tokarchuk.ru/wp-content/uploads/2016/02/cisco-7821-tftp-files.tgz
      Resolving tokarchuk.ru (tokarchuk.ru)… 77.37.178.45
      Connecting to tokarchuk.ru (tokarchuk.ru)|77.37.178.45|:80… connected.
      HTTP request sent, awaiting response… 200 OK
      Length: 75544832 (72M) [text/html]
      Saving to: ‘cisco-7821-tftp-files.tgz’

      cisco-7821-tftp-files.tgz 100%[==========================================================>] 72,04M 9,03MB/s in 8,7s

      2018-04-28 18:06:48 (8,28 MB/s) – ‘cisco-7821-tftp-files.tgz’ saved [75544832/75544832]

      andrey@u330:~/Download/test$ tar zxf ./cisco-7821-tftp-files.tgz
      andrey@u330:~/Download/test$ ls
      cisco-7821-tftp-files cisco-7821-tftp-files.tgz
      andrey@u330:~/Download/test$ cd ./cisco-7821-tftp-files/
      andrey@u330:~/Download/test/cisco-7821-tftp-files$ ls
      CP3905.9-4-1SR1-3.loads ITLSSEP00082F1AFB3A.tlv rootfs2.78xx.11-0-1-11.sbn sboot2.78xx.11-0-1-11.sbn sip78xx.11-0-1-11.loads
      CTLSEP00082F1AFB3A.tlv kern2.78xx.11-0-1-11.sbn rootfs78xx.11-0-1-11.sbn sboot78xx.11-0-1-11.sbn tzdatacsv.csv
      dialplan.xml kern78xx.11-0-1-11.sbn Russian_Russia SEP00082F1AFB3A.cnf.xml
      andrey@u330:~/Download/test/cisco-7821-tftp-files$

      Насчёт другого SIP-провайдера думаю да, но надо тестить в части авторизации.

  7. Здравствуйте, есть возможность помочь с прошивкой cisco 7921g под астериск?

  8. Хотел уточнить, это руководство относится к телам с прошивками 3pcc или Enterprise?

  9. прошил телефон на sip Cisco 6921 все работает. Но, проблема в том что когда я поднимаю трубку гудка нет, а бутон линии горит. вопрос почему нет гудка в трубке

Leave a Comment