Как настроить cisco ip телефон

Совсем недавно на нашу организацию вышел клиент, который попросил настроить IP-AТС на основе платформы Cisco 2921 и софта Cisco CallManager Express (CME). Клиентами разбрасываться не прилично в наше время, посему решили данную услугу оказать.

Взялся я за это дело не столько с целью срубить бабла для компании, сколько с целью ознакомиться как у этой самой Cisco устроена Ip-телефония, с целью саморазвития то бишь.

Ознакомился. Тема приятная; для меня как для цискаря работать гораздо удобнее нежели чем с Asterisk.

Писать про возможности CME можно много. Сегодня расскажу про самые его основы.
Попробуем решить простую задачу: есть пара телефонов — один работает по SIP, другой по SCCP, надо заставить их звонить друг на друга. Как это сделать — под катом.

Первоначальная настройка CME

Нулевым пунктом считается настройка dhcp-сервера на маршрутизаторе, так как практически все телефоны по умолчанию настроены на получение IP-адреса именно таким способом. Если кто-то подзабыл или не знал, то на Цисках это делается так:

CME#conf t
CME#(config)ip dhcp pool voicepool
CME#(config-ip-dhcp)network 192.168.101.0 255.255.255.0
CME#(config-ip-dhcp)default-router 192.168.101.1
CME#(config-ip-dhcp)option 150 ip 192.168.101.1
CME#(config-ip-dhcp)lease 0 0 30

Все настройки вроде бы очевидны. За исключением, наверное 150-ой опции. Данная опция передаёт в DHCP-настройках адрес tftp-сервера (про использование tftp-сервера в этой статье я писать не буду, но вещь это очень полезная для работы с телефонами)

По умолчанию, Cisco очень хорошо и с пониманием относится к работе протокола SCCP (в силу того, что данный протокол принадлежит самой Cisco), и не очень дружит с более распространным SIP-ом. Так, например чтобы просто разрешить звонки между SIP-телефонами, подключенными к нашей АТС необходимо сконфигурировать:

CME#conf t
CME#(config)voice service voip
CME#(config-voice)allow-connections sip to sip

Далее конфигурируем срок регистрации SIP-телефонов:

CME#conf t
CME#(config)voice service voip
CME#(config-voice)sip
CME#(config-voice-sip)registrar server expires max 3600 min 3600

Теперь необходимо создать т.н. класс кодеков — набор кодеков, которые планируется использовать:

CME#conf t
CME#(config)voice class codec 1
CME#(config-voice)codec preference 1 g711alaw
CME#(config-voice)codec preference 2 g711ulaw
CME#(config-voice)codec preference 3 g729br8

Первым будет сделана попытка использовть кодек 711alaw, если не удастся, то g711ulaw, ну и дальше интуитивно понятно.

Этих настроек будет достаточно.

Настройка для работы c SCCP

Все настройки касающиеся работы протокола SCCP происходят в разделе telephony-service. Вот необходимый нам минимум:

CME#conf t
CME#(config)telephony-service
CME#(config-telephony)max-ephones 10
CME#(config-telephony)max-dn 10
CME#(config-telephony)ip source-address 192.168.101.1 port 2000

ephone — это такая штука, которая, упрощённо говоря, символизирует собой телефон, ну то есть образ телефонного апарата в понятии CME. Параметр max-ephones отвечает, соответственно за то, какое количество SCCP-телефонов может быть зарегистрировано на данной АТС.

dn — (directory number) это такая штука, которая, упрощённо говоря, символизирует собой телефонный номер. По аналогии ясно, за что отвечает параметр max-dn.

К слову сказать, не очень правильно указывать слишком большое количество ephone и dn, ибо под каждый из этих «юнитов» CME будет выделять оперативную память при инициализации.

Плюс ко всему количество поддерживаемых ephone и dn зависит от модели платформы и версии софта.
ip source-address задаёт IP-адрес (и как следствие интерфейс) и порт, на котором будут слушаться запросы от SCCP-телефонов

Настройка CME для работы с SIP-телефонами

Все настройки касающиеся работы протокола SIP происходят в разделе voice register global. Вот необходимый нам минимум:

CME#conf t
CME#(config)voice register global
CME#(config-voice)mode cme
CME#(config-voice)source-address 192.168.101.1 port 5060
CME#(config-voice)max-dn 50
CME#(config-voice)max-pool 36

Два отличия. Первое — необходимо выполнить команду mode cme, которая как бы намекает роутеру что отныне с SIP-телефонами будет работать CME (это к тому, что с протоколом SIP у Cisco работает не только описываемый нами софт). Второе — теперь вместо ephon-ов мы будем оперировать voice-pool-ами

Регистрируем телефоны

Можно приступать к настройке нумерации и параметров регистрации телефонов.
Технология в обоих протоколах одинакова и достаточно проста — сначала создаётся dn, потом создаётся «телефон», и к телефону привязывается его номер (или несколько).
В нашем примере для авторизации телефонных аппаратов на сервере мы будем использовать их MAC-адреса. Это логично, так как на практике за определённым человеком закрепляется один и тот же телефонный аппарат и телефонный номер, а человек обычно редко перемещает своё рабочее место в офисе, а если и перемещает, то и телефончик с собой переносит.

Регистрируем SCCP-телефон

Создаём телефонный номер:

CME#conf t
CME#(config)ephone-dn 1
CME#(config-ephone-dn)number 100
CME#(config-ephone-dn)description Beauty-User
CME#(config-ephone-dn)name The Real Man

Создали телефонный номер 100, описание внутри CME — «Beauty-User», отображаемое на телефоне имя будет «The Real Man»

Создаём образ телефоного аппарата. привязываем его к MAC-адресу реального аппарата, привязываем к нему номер:

CME#conf t
CME#(config)ephone 1
CME#(config-ephone)mac-address B4A4.E328.BDEC
CME#(config-ephone)button 1:1

Привязывание телефонного аппарата (а точнее телефонной линии нашего аппарата) происходи командой button 1:1. Формат следующий — сначала набираем ключевое слово «button», потом указываем номер этой «кнопки» (первый в нашем примере), потом указываем действие, которое требуется совершить («:» — двоеточие означает, что сейчас мы привяжем к выбранной линии какой-нибудь телефонный номер) и потом параметр соответствующий действию — в нашем случае указываем телефонный номер (то есть номер настроенного заранее dn).

Вы же наверняка видели в жизнина картинках цискофон? Видели там много всяких кнопок возле экранчика? Это и есть те самые button-ы. На самом деле, каждая из этих кнопок отвечает за свою линию. А действий над ними можно совершать много (не только привязывать к какому нибудь номеру). Но это достойно отдельной статьи.

А тем временем мы можем смело включать телефон с указанным МАК-адресом в сеть, подождать пока он прогрузится, увидеть на его экранчике возле первой кнопки номер 100 и заветное имя — «The Real Man». Если мы подымем трубку, то услышым заветный зуммер

Регистрируем SIP-телефон

directory number создаётся следующим образом:

CME#conf t
CME#(config)voice register dn 1
CME#(config-voice-register-dn)number 200

Думаю, всё понятно. Описываем далее параметры для телефона:

CME#conf t
CME#(config)voice register pool 1
CME#(config-voice-register-pool)id mac 1CDF.0F4A.152E
CME#(config-voice-register-pool)number 1 dn 1
CME#(config-voice-register-pool)voice-class codec 1
CME#(config-voice-register-pool)username test password test

Привязка к первой линии первого номера происходит командой number 1 dn 1.
Командой voice-class codec 1 определяем для телефона набор допустимых кодеков (этот набор мы описывали в начале самом).
Далее командой usernamepassword задаём аутентифкационные данные.

Чтобы телефон зарегистрировался, необходимо зайти на его веб-морду и в настройках первой линии указать адрес сервера — 192.168.101.1 и аутентификационные данные. Сохраняем.
Перезагружаем.

PROFIT!

IP-адрес телефона можно узнать по информации из dhcp-пула по маку используя команду show ip dhcp binding, либо в настройках самого телефона — голосовое, либо визуально меню.

Вроде бы всё. Были описаны минимальные настройки CME чтобы на нём могли зарегистрироваться два телефона (SIP и SCCP), получив адрес через DHCP.

Источники знаний

Основной источник знаний для начала был видео-курс к CCNA Voice от Jeremy Cioara. Довольно живым языком (английским правда) рассказывается об IP-телефонии вообще и о нюансах настройки этого самого CME. Правда там ни словом не затрагивается настройка SIP-телефонов.

Очень хороший мануал, конечно, есть на cisco.com. Называется он Cisco Unified Communications Manager Express System Administration Guide. Доступен тут. Там же есть ссылка для скачивания в PDF.

В дальнейшем постараюсь рассказывать о разных нюансах настройки IP-телефонии на Cisco в общем, и о CME в частности — настройка tftp сервера для заливания прошивок на телефоны, подключение линий от ТфОП, специфика установки CME и прочие фичи.

Содержание

  1. Настройка IP-телефона Cisco 7940/7960
  2. Настройка телефона
  3. Создание файлов конфигурации для телефона
  4. Создание нового SIP на сервере
  5. Конфигурация сервера DHCP
  6. Конфигурация сервера TFTP
  7. Настройка параметров из меню
  8. Настройка телефона Cisco серии 79XX для работы с Asterisk
  9. Используется:
  10. Настройка
  11. Что не вошло в статью
  12. Cisco ip phone 7942 настройка sip

Настройка IP-телефона Cisco 7940/7960

Потребовалось на предприятии внедрить в уже существующую sip-телефонию (на Asterisk) телефоны фирмы Cisco 7960.

Подключив телефоны, увидел что загрузка останавливается на получении ip, и запроса файлов с TFTP сервера, понял, что дело не обойдется “легкой кровью”. И засел курить мануалы, и рыть интернет. По итогу после пары дней танцев с бубном все же удалось подружить эти телефоны, с уже имеющимся сервером Asterisk.

Для IP телефонов Cisco серии 79XX есть довольно неприятный момент в настройке со сторонним оборудованием – у этих аппаратов нет веб-интерфейса, все настройки производятся через XML-шаблон, который нужно править руками, что довольно неудобно. Это руководство покажет вам, как настроить IP телефоны Cisco 7940/7941/7960 или 7961 под sip-телефонию.

Как выглядит общая картина: Телефон включается, получает от DHCP-сервера ip, адрес tftp сервера, далее, с tftp телефон запрашивает файл версии прошивки, сравнивает со своей, если своя – более старая – качает новую прошивку с tftp, прошивается, скачивает дефолтный конфиг, конфиг для своего МАК-адреса, диалплан и т.п. И после этого уже подключается к серверу Asterisk. И собственно, начинает работать.

Итак, разобью всю задачу настройки на этапы:

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

Мануал по подключению, можно посмотреть здесь

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

Комбинации клавиш телефона:

Создание файлов конфигурации для телефона

Вот список файлов, которые потребуются для корректной работы телефона:

OS79XX.txt

Здесь указывается модель телефонов, а внутри файла – версия актуальной прошивки. В моём случае это версия прошивки PS03-8-12-00

P0S3-8-12-00.loads
P0S3-8-12-00.sb2
P0S3-8-12-00.bin
P0S3-8-12-00.sbin
Файлы прошивки для SIP-телефонии. Скачать можно тут, или тут

SIPXXXXXXXXXXXX.cnf
Файл конфигурации для конкретного телефона, где XXXXXXXXXXXX – его MAC-адрес телефона

где 500 номер SIP, учетной записи Asterisk,
10.20.30.40 ip сервера Asterisk

SIPDefault.cnf
Общий файл конфигурации для всех телефонов:

Нужно обязательно проверить, что бы название версии прошивки в этом файле соответствовала названию самих файлов и названию в файле OS79XX.txt

dialplan.xml

Собственно диалплан (правила набора) самого телефона. Например, для коротких номеров. Заполняется в таком виде:

TEMPLATE MATCH – номер, шаблон
TIMEOUT – ожидание
REWRITE – набор номера, при совпадении с шаблоном и окончанием таймаута.

Создание нового SIP на сервере

Заходим на наш сервер Asterisk и добавляем в файл /etc/asterisk/sip.conf наши настройки для нового телефона:

Далее при надобности правим /etc/asterisk/extensions.conf или /etc/asterisk/queues.conf

И после перезагружаем настройки Asterisk сервера тех файлов, которые меняли:

Конфигурация сервера DHCP

В моем случае есть роутер Mikrotik RB2011Ui-2Hnd.
Сам DHCP сервер уже настроен на роутере, для работы компьютеров внутри офиса.
Но что бы при получении IP адреса, телефон “знал” что нужно ему делать дальше и где искать дальше файлы – в настройках dhcp-сервера нужно создать и добавить в networks опцию 158.

Создаем, где 192.168.10.1 – локальный ip адрес моего Mikrotik :

Добавляем. (в моем случае запись уже есть, я только добавляю в нее опцию 158):

Опция 66. Опция 66 (option 66) – это аналог проприетарной опции 150 (option 150), разработанной компанией Cisco для автоматического обновления прошивок и конфигурации (Auto Provisioning) телефонов Cisco IP Phone. Данная опция содержит в себе адрес TFTP сервера, на который должен обратиться телефон, чтобы скачать прошивку и файл с конфигурацией, как только подключается к сети. Единственным различием между опцией 150 и 66, является то, что благодаря опции 150 можно указывать IP адреса для нескольких TFTP серверов, а в опции 66 можно указать только один адрес. Опция 66 является открытым стандартом IEEE, который поддерживается большинством производителей роутеров и VoIP-оборудования. Описывается в RFC 2132.

Давайте её настроим, для этого переходим на вкладку Options+ и видим следующее окно:

Важно! Прежде чем вводить IP адрес TFTP сервера в поле Value, проверьте версию RouterOS, от этого будет зависеть синтаксис данной настройки.

  • Для версий с 6.0 -6.7, значение IP адреса нужно вводить, используя одинарные кавычки – ’192.168.1.1’
  • Для версий от 6.8, значение IP адреса нужно вводить, используя следующий синтаксис – s’192.168.1.1’

Конфигурация сервера TFTP

В Mikrotik настройка tftp сводится к паре кликов, или 1 строчке в cli:

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

И собственно, нужно с помощью winbox залить туда все файлы:

Может получиться так, что телефон начнет ругаться на то, что не нашел какой-то файл на TFTPсервере. Тогда нужно будет открыть логи tftp и посмотреть, какой файл он не может найти.

Настройка параметров из меню

Некоторые параметры можно настроить вручную, из меню IP-телефона Cisco.

По умолчанию настройки в IP-телефоне Cisco 7940/7960 заблокированы. Для разблокирования нужно ввести пароль, заданный в конфигурационном файле телефона (или дефолтый – cisco ), нажав Settings > Unlock Config.

Для блокировки нажмите Lock Config или Exit.

После изменения параметров нужно их сохранить и телефон перезагрузится с новыми настройками.

Помимо основный настроек, таких как IP-адрес или адрес TFTP-сервера, при настройке вручную нужно настроить параметры SIP.

После разблокировки телефона выберите Settings > SIP Configuration. В появившемся меню установите line1_name, proxy1_address, proxy1_port – их формат описан выше. Если телефон должен авторизоваться на прокси-сервере SIP, введите также line1_authname и line1_password. По умолчанию их значение равно UNPROVISIONED.

Вот, собственно, и все. Телефон Загружен и готов к работе.

Источник

Настройка телефона Cisco серии 79XX для работы с Asterisk

В статье будут описаны нюансы настройки IP-телефона Cisco на примере цискофона 7942G.
Итак, если вы присматриваетесь к VoIP-устройствам Cisco серии 79XX, то добро пожаловать под кат.

Используется:

Cisco VoIP Phone 7942G
Asterisk 1.4.39
TFTP-server-0.49
Внимание! Инструкция подходит не для всех телефонов Cisco 79XX. См. здесь

Настройка

Комбинации клавиш в Cisco

**#** — перезагрузка телефона (через меню)
**# — разблокировка настроек (также через меню). Разблокировка нужна, например, для того чтобы поставить настройки DHCP-клиента

Смена прошивки

Итак, сначала нужно разыскать нужную прошивку для работы по SIP, т.к. по умолчанию используется версия с SCCP. Для этого есть гугл или торренты.

Далее заходим на известный всем сайт voip-info.org. По ссылке выложена информация о прошивке. Т.к. у меня версия астериска 1.4 (которая не умеет работать по tcp), то советуют брать версию 8.5.4. По этой ссылке есть много и другой полезной информации.
Таким образом, нам нужен файл cmterm-7942_7962-sip.8-5-4.zip. Все файлы которые там есть нужно вывалить в корень тфтп-сервера.

Русская локаль

Еще бы нам не помешала русская локаль. Ну т.е. чтобы все надписи на экране были на русском языке.
Я её брал из файла po-locale-ru_RU-8.4.3.1000-1.exe (тоже можно найти в интернете). Тут есть одна хитрость — при запуске программы она вываливает ошибку и потом закрывается. Но нам ведь всего лишь нужны файлы локали, установить мы их можем и сами.
Поэтому после запуска идем в папку %TEMP% (советую предварительно её очистить) и смотрим что там программа вывалит.
Там в числе прочего будет папка Russian_Russian_Federation. Вот её нам и нужно будет поместить в корень tftp-сервера.
Версия локали будет как раз 8.4.3.1000-1.

Файл кофигурации цискофона

Теперь перейдем непосредственно к файлу конфигурации. Цискофон загружает его исключительно с tftp-сервера. Сначала кажется неудобно, с другой стороны, нужно настроить всего один раз, а затем можно эти телефоны хоть штабелями закупать — настройка их будет аналогичной и займет минимум времени. Кроме того, этим Cisco обезопасил телефон от «шаловливых ручек» пользователей. Через меню сделать практически ничего нельзя.
Файл должен называться SEP .cnf.xml.
Мак-адрес записан на тыльной стороне устройства.
Определим некоторые значения:
$ASTERISK — ай-пи нашего астериска
$SERVICESURL — полный путь до скрипта, который генерирует адресную книгу (например, 192.168.0.22/asterisk/directory.php)
$ACCOUNT — пользователь/номер нашего аккаунта на астериске. Если у вас нет соответствия номер пользователь, то конфиг нужно будет соответствующим образом поменять.
$ACCOUNT_PASS — пароль от SIP-аккаунта

Теперь будем комментировать.

Все часовые пояса можно найти, например, здесь.

Следующие настройки нужны для настройки локали:

Конфигурация sip.conf астериска

Самое интересное здесь — call-limit=2. Суть в том, что можно будет получать 1 или 2 звонка (3 звонок уже на циску не пойдет — зачем её напрягать?), их можно обрабатывать на телефоне, переключаясь между ними. Больше чем 2 звонка в этом аппарате не поддерживается (возможно будет поддерживаться в новых прошивках), хотя обрабатывать 3 звонка уже достаточно накладно.

Настройка диалплана цискофона

Циско настолько умная, что может использовать свой собственный диалплан. Но тут есть обратная сторона медали. Если этот диалплан не указать, то исходящие звонки вообще ходить не будут. Точней будут, но только на номера от 0 до 9 =).

В этом конфиге мы по сути передаем всю ответственность на астериск — т.е. просто после 3-х секунд передаем номер. Более изящные номерные планы можно найти на voip-info.org.

Адресная книга абонентов

У нас есть LDAP (в связке с samba), в нем есть информация о телефонах пользователей. Так почему бы этим не воспользоваться?
Сервер LDAP, filter поиска нужно будет поменять на свои настройки.
directory.php:

Обновление. Заметьте, что на странице только 32 контакта. Почему так? Не знаю, чем это объяснить, но так реализовано в прошивке — больше чем 32 контакта не поддерживается. Впрочем, это не беда, т.к. можно реализовать при помощи софткеев механизм отображения пред. и след. страниц.

Делаем настройки для логотипа

Для начала по логам tftp смотрим куда cisco обращается за картинкой. Происходит это в момент выбора фонового изображения
через меню телефона (как разблокировать меню написано выше).
изображения из меню
/tftpboot/Desktops/320x196x4/List.xml:

Нам нужно создать одну картинку 320×196 и одну картинку в 4 раза меньше (80×49).
Logo-TN.png — эскиз.
Logo.png — полноценная картинка.
Изменять логотип нужно через меню телефона.

Что не вошло в статью

— Настройка сигналов вызовов. Да, это тоже можно делать. Другое дело — зачем? Если для вас оно имеет смысл — то дерзайте.
— Настройка directories. Есть возможность, например, читать RSS с телефона и вообще добавлять различные контент-каталоги.

Источник

Cisco ip phone 7942 настройка sip

Как известно, корпоративные телефоны Cisco 79ой серии качественные и удобные, но к сожалению, ориентированы на работу c IP АТС Cisco Unified Communications Manager и для их перенастройки на работу с другой IP АТС, например Asterisk, нужно выполнить не тривиальные действия.Главная проблема перенастройки, заключается в том, что у телефонов Cisco отсутствует привычный веб-интерфейс для конфигурирования как у других телефонов, вместо этого нужно писать xml конфигурацию и подгружать в телефон их по TFTP.

Второй момент – по умолчанию в телефонах загружена прошивка работающая по протоколу SCCP(Cisco Skinny Client Control Protocol)- проприетарный протокол созданный для VoIP продуктов Cisco, прошивку также нужно сменить на версию с поддержкой SIP.
Процесс загрузки и самонастройки телефона выглядит следующим образом:
После включения телефона, в случае использования DHCP, телефон запрашивает настройки IP и опцию 150 (option voip-tftp-servers) адресTFTP-сервера, откуда телефон автоматически загрузит файлы конфигурации и прошивку в случае необходимости. После получения настроек IP по DHCP и адреса TFTP-сервера, телефон запрашивает файлы конфигурации, среди которых основной файл SEP-MAC-адрес-телефона.cnf.xml который содержит версию прошивки которую нужно загрузить, настройки локализации, в нашем случае для России, настройки SIP линий, кнопок телефона, плана набора,адрес сервера XML сервисов и прочих настроек. Далее, телефон проверяет соответствие настроек конфигурации с теми, что загружены и в случае несоответствия загружает новые файлы.
Итак, в качестве примера используется IP телефон Cisco 7945G и IP АТС Asterisk,
нам понадобится:

В качестве платформы я использую дистрибутив CentOS. Сначала необходимо настроить DHCP-сервер и указать в опции option voip-tftp-servers адрес хоста где будет работать TFTP-сервер на котором будут лежать все загрузочные файлы для IP телефона.
Пример содержимого конфигурационого файла dhcpd.conf дистрибутива CentOS:

Телефоны будут получать IP из сети 192.168.1.0, Asterisk, TFTP-сервер, и шлюз по умолчанию будет иметь IP=192.168.1.253.

Кстати, можно обойтись без DHCP-сервера, через меню телефона назначить ему статический IP и вручную указать TFTP-сервер.
Для разблокировки настроек телефона нажать **#
Также находясь в меню можно перезагрузить телефон, для этого нажать **#**
Далее, запускаем NTP сервер для синхронизации времени на телефона, в моем случае достаточно запустить сервис ntpd из коробки, для дистрибутива CentOS.
Теперь устанавливаем http-сервер, он понадобится только если вы захотите использовать, например, корпоративный справочник на телефоне, при нажатии кнопки services, телефон по http обратится по указанному в конфигурации адресу и покажет записи, примеров создания справочников в интернете много, я лишь ограничусь самым простым примером статического справочника.
просто выложу файл xmldirectory.xml в директорию ccmcip на сервере. Его содержимое приведено ниже,а ссылка на него есть xml файле конфигурации IP-телефона, в тегах

Далее, устанавливаем и запускаем TFTP-сервер.
У меня это модуль службы xinetd, который устанавливается из пакета. Из пакетов также легко ставится DHCP-сервер и NTP-сервер.
Конфигурация службы TFTP, файл /etc/xinetd.d/tftp

Директория сервера в которой будут лежать файлы /var/lib/tftpboot , в неё следует поместить все файлы прошивок, локали и конфигурации.
Как пишут в Интернете пользователи, версия cmterm-7945_7965-sip.8-5-4.zip самая удачная, и лучше использовать именно её. Сами файлы без труда можно найти в интернете, на сайте Cisco никакие прошивки без сервисного контракта естественно не скачать.
Итак, распаковываем архив в корень TFTP, должны быть следующие файлы:

Теперь нужно скопировать файлы из po-locale-ru_RU-8.4.3.1000-1.exe. Для этого нужно запустить файл, больше ничего не нажимать(если нажать, будет выдана ошибка а директория с интересующими нас файлами будет удалена из %temp% ), затем перейти в директорию %temp% для Windows там отсортировать директории по времени создания. Нужная нам директория будет иметь имя наподобие на TFTP-сервер нужно скопировать содержимое этой директории по пути /Disk1ISTeleportRussian_Russian_FederationPROGRA

CiscoTFTPPathRussian_Russian_Federation
в директорию Russian_Russian_Federation созданную в корне TFTP-сервера, список файлов:

Теперь необходимо подготовить файл конфигурации телефона, мой телефон имеет MAC-адрес 00235E186B89 , поэтому файл будет называться SEP00235E186B89.cnf.xml
Содержимое файла конфигурации:

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

Кстати замечу что тег

говорит о том что доступ на веб-интерфейс телефона будет открыт, это полезно для отладки телефона и просмотра настроек.
Файл dialplan.xml обязательно нужен, без него с телефона ничего будет не набрать,
самый простой конфиг позвояющий набирать любые цифры:

Более сложные планы набора можно легко найти в интернете.
Следующий файл справочник xmldirectory.xml в директории
/var/www/ccmcip/var/www – корневая директория apache в CentOS.
Вот его содержимое:

Здесь в качестве примера 2 записи, ограничение прошивки на 32 записи.
Но при помощи «софт» кнопок можно реализовать постраничную прокрутку, в интернете есть примеры реализации.
Все, теперь все подготовительные работы выполнены, осталось настроить Asterisk:
В версии прошивки 8-5-4S есть поддержка UDP в качестве транспорта.
Поэтому нам нужно просто добавить абонента в sip.conf :

Здесь важна настройка qualify=yes она говорит о том что телефон нужно «пинговать» SIP опциями. Без этой настройки у меня периодически отваливалась регистрация на телефоне 7945.
Все готово, можно подключать телефон, если все корректно настроено, устройство получит IP, загрузит конфигурацию и прошивку с TFTP-сервера и перепрошьется, затем загрузит настройки русской локализации, все меню отобразятся на русском языке, затем IP-телефон зарегистрируется и будет готов к работе.

Источник

Данный телефон не имеет web интерфейса для подключения к VOIP серверам. Точнее web интерфейс есть, но он больше информативный, для дебага ошибок ядра или правильности конфигурационного файла. Все правки/изменения и различные настройки производятся в файле конфигурации.

Cisco 7940

Обновление программного обеспечения

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

Сначала на телефоне выставим адрес TFTP сервера (в нашем случае — это будет АТС 192.168.10.2). Для этого в меню телефона переходим в раздел Settings > Network Configuration > TFTP Server , далее в пункте TFTP server вводим IP адрес нашей АТС.

Сперва произведем сброс телефона в заводские настройки.

1. Выключаем телефон.
2. При включении зажимаем клавишу # до тех пора индикатор линии не станет гореть зеленым цветом.
3. Как только выполнился предыдущий пункт отпускаем клавишу # и вводим код 1234556789*0#

В момент загрузки, в логах /var/log/messages будем видеть обращения телефона к серверу, где он будет запрашивать необходимые файлы для прошивки.

Файлы конфигурации и прошивки должны находится в директории /tftpboot

Настройка конфигурации

После подтягиваяния файла прошивки и её обновлении телефон будет искать на сервере файлы с настройками телефона. Их имена будут выглядеть следующим образом SIP<MAC_ADRESS>.cnf и SIPDefault.cnf.

SIPDefault.cnf

timer_register_expires: «180»
preferred_codec: g711alaw
tos_media: 5
dtmf_inband: 1
dtmf_outofband: avt
dtmf_db_level: 3
timer_t1: 500 ; Default 500 msec
timer_t2: 4000 ; Default 4 sec
sip_retx: 10 ; Default 10
sip_invite_retx: 6 ; Default 6
timer_invite_expires: 180 ; Default 180 sec
dial_template: dialplan
tftp_cfg_dir: «./» ; Example: ./sip_phone/
sntp_server: «192.168.10.2» ; SNTP Server IP Address
sntp_mode: unicast ; unicast, multicast, anycast, or directedbroadcast (default)
time_zone: MSC ; Time Zone Phone is in
dst_offset: 1 ; Offset from Phone’s time when DST is in effect
dst_start_month: March ; Month in which DST starts
dst_start_day: «» ; Day of month in which DST starts
dst_start_day_of_week: Sun ; Day of week in which DST starts
dst_start_week_of_month: 1 ; Week of month in which DST starts
dst_start_time: 0 ; Time of day in which DST starts
dst_stop_month: Oct ; Month in which DST stops
dst_stop_day: «» ; Day of month in which DST stops
dst_stop_day_of_week: Sunday ; Day of week in which DST stops
dst_stop_week_of_month: 8 ; Week of month in which DST stops 8=last week of month
dst_stop_time: 2 ; Time of day in which DST stops
dst_auto_adjust: 1 ; Enable(1-Default)/Disable(0) DST automatic adjustment
time_format_24hr: 1 ; Enable(1 — 24Hr Default)/Disable(0 — 12Hr)
date_format: D/M/Y
dnd_control: 0 ; Default 0 (Do Not Disturb feature is off)
callerid_blocking: 0 ; Default 0 (Disable sending all calls as anonymous)
anonymous_call_block: 0 ; Default 0 (Disable blocking of anonymous calls)
dtmf_avt_payload: 101 ; Default 101
sync: 1 ; Default 1
enable_vad: 0 ; VAD setting 0-disable (Default), 1-enable
nat_enable: 0 ; 0-Disabled (default), 1-Enabled
nat_address: «» ; WAN IP address of NAT box (dotted IP or DNS A record only)
voip_control_port: 5060 ; UDP port used for SIP messages (default — 5060)
start_media_port: 16384 ; Start RTP range for media (default — 16384)
end_media_port: 16484 ; End RTP range for media (default — 32766)
nat_received_processing: 0 ; 0-Disabled (default), 1-Enabled
cnf_join_enable : 1 ; 0-Disabled, 1-Enabled (default)
semi_attended_transfer: 1 ; 0-Disabled, 1-Enabled (default)
telnet_level: 0 ; 0-Disabled (default), 1-Enabled, 2-Privileged
http_proxy_addr: «» ; Address of HTTP Proxy server
http_proxy_port: 80 ; Port of HTTP Proxy Server (80-default)
dyn_dns_addr_1: «» ; restricted to dotted IP
dyn_dns_addr_2: «» ; restricted to dotted IP
dyn_tftp_addr: «» ; restricted to dotted IP
remote_party_id: 0 ; 0-Disabled (default), 1-Enabled
call_hold_ringback: 0 ; Default 0 (Call Hold Ringback feature is off)
stutter_msg_waiting: 1 ; 0-Disabled (default), 1-Enabled
call_stats: 1 ; 0-Disabled (default), 1-Enabled

Файл SIPDefault.cnf опеределяет общие настройки для всех телефонов cisco 7940 (если их у вас несколько). Рассмотрим самые необходимые параметры:

timer_register_expires — время перерегистрации телефона (указывается в секундах)

preferred_codec — приоритетный кодек (g711ulaw устанавливается по умолчанию)

dtmf_inband – 0 выключен DTMF, 1 включен

dial_template — файл кофигурации диалплана телефона (см. ниже)

sntp_server — NTP сервер

sntp_mode — тип получения информации о NTP сервере. //Указывайте параметр unicast

time_zone – временная зона подробную информацию о временных зонах можно посмотреть здесь 

time_format_24hr — время в формате 24 часа. (0-выключено, 1-включено)

date_format — формат даты (выставляется D/M/Y)

anonymous_call_block — блокирование анонимных вызовов (звонки напрямую на порт 5060)

remote_party_id — передача параметра remotePartyId (0 – выключено, 1 — включено)

SIP<MAC_ADDRESS>.cnf

image_version: P0S3-8-12-00
proxy1_address: «192.168.10.2»
proxy1_port: 5060
proxy_register: 1
line1_name: «NUM_EXT»
line1_shortname: «NUM_EXT»
line1_authname: «NUM_EXT»
line1_contact: «NUM_EXT»
line1_displayname: «NAME_EXT»
line1_password: «PASS_EXT»
line2_name: «»
line2_authname: «»
line2_displayname: «»
line2_password: «»
phone_label: «»
phone_prompt: «admin»
phone_password: «cisco»
user_info: none

image_version — указание имени файла прошивки
proxy1_address — IP адрес или имя хоста сервера астериск
proxy1_port — порт регистрации сервера астериск
proxy_register — регистрация на АТС (0 — выключено, 1 — включено)
line1_name — имя абонента (рекомендуется указывать номер абонента)
line1_shortname — имя абонента (рекомендуется указывать номер абонента)
line1_authname — аутентификационное имя (рекомендуется указывать номер абонента)
line1_contact — имя контакта, которое будет подставляться в SIP поле Contact:
line1_displayname – отображаемое имя на экране.
line1_password – пароль для аутентификации (лучше использовать пароль до 15 символов)
phone_prompt – логин для подключения по telnet/web/SSH
phone_password – пароль для подключения по telnet/web/SSH

Диалплан

Для того, чтобы ваш телефон смог совершать вызовы, необходимо указать ему правила набора. А иначе после ввода одной цифры у вас будет происходить сброс вызова.

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

dialplan.xml

<DIALTEMPLATE>
<TEMPLATE MATCH=”pattern” Timeout=”sec” User=”type” Rewrite=”xxx”/>
</DIALTEMPLATE>

pattern – указывается шаблон набираемого номера. Также может содержать:
. (точка) — обозначение любого набираемого символа
* (звездочка) — замена одного или более символов
sec – время через которое начинается набор
type – тэг, добавляемый к номеру, регистронезависим. Может быть IP или Phone.

Приветствую, друзья. Не так давно писал статью про объединение всех устройств в симуляторе Cisco Packet Tracer. Данная статья была принята довольно тепло, что сильно обрадовало. В связи с этим, данный факт мотивировал на продолжение статей о IP телефонии. Да, на данный момент в интернете огромное количество материалов по данной тематике, будь то сайты, блоги, книги и многое другое. Однако новичку тяжело разобраться во всех терминах и еще тяжелее понять, с чего все-таки начать. Раздумывая над данной темой, родилась идея создать курс для начинающих, желающих понять основы IP телефонии.

Основы IP телефонии

Основы IP телефонии на Cisco Packet Tracer.

На фоне давно разгоревшихся споров о том, какая платформа для макетирования лучше, можно спорить вечно. И вероятно многие будут спрашивать, почему Cisco Packet Tracer? Поэтому отвечу сразу на данный вопрос. Как я и говорил в предыдущей статье, функциональность данного симулятора урезана и макетировать в нем более сложные схемы не предоставляется возможным. Для этих целей есть более мощные платформы и эмуляторы, но это в свою очередь требует некоторой квалификации от специалиста. Данный же курс, изначально, позиционировался для новичков и начинающих специалистов. Поэтому, мною была поставлена цель за несколько уроков показать, каким образом можно развернуть IP телефонию и сразу совершать звонки. С этими целями CPT справляется на отлично. Он уже имеет все нужные устройства, прост в освоении и не требователен в ресурсах.
В итоге рассмотрено 5 основных тем:

1) IP-телефония на примере двух IP телефонов.
2) Взаимодействие IP телефонов и аналоговых телефонов.
3) Использование отдельного сервера в роли DHCP и роутера в роли телефонного сервиса.
4) IP-телефония с использованием всех устройств симулятора Cisco Packet Tracer (компьютеры, смартфоны, планшеты, ноутбуки и т.д.) + настройка Wi-Fi точки доступа.
5) Объединение 2 сетей и настройка Dial плана.

Для данного проекта было решено создать канал на YouTube и выкладывать там уроки. Такой формат является очень удобным, так как можно в реальном времени наблюдать всю настройку и оставлять вопросы, замечания и пожелания в комментариях.
Планировалось записать весь мини-курс за неделю, но, к сожалению, затянулось на месяц из-за нехватки времени. Также хотел написать данную статью, после выхода первого видеоурока, но потом понял, что будет бессмысленно. Причина тому, что уроки выходили с интервалом. А это как правило говорит о том, что пока ждешь следующий урок, забываешь предыдущий. Поэтому статья ждала своего выхода после полного завершения всех видеоуроков.
Уроки начинаются с объяснением краткой теории (для желающих ознакомиться подробнее, даны ссылки) и заканчиваются подробным макетированием сети, а в описании к видеоуроку даны файлы готовых лабораторных работ.
Ниже приведен сам плейлист курса и один из видеоуроков.

Спасибо за внимание и приятного просмотра. Если возникнут вопросы, смело задавайте.

Автор

Конфигурационные файлы

Телефонные аппараты могут получать свои настройки, читая конфигурационные файлы.

Для того, чтобы телефоны получали конфигурационные файлы автоматически при загрузке:

  1. DHCP сервер должен выдавать опцию 66 с указанием IP адреса TFTP сервера (DHCP опция 66 указывает на TFTP сервер в сети).
  2. В настройках телефонов нужно указать протокол поиска конфигурационных файлов TFTP. Для этого нужно зайти в настройки телефонного аппарата Admin → Advanced → Provisioning и изменить параметр Transport protocol на tftp.
  3. В настройках телефонов AdminAdvancedProvisioning изменить параметр Provision Enable на Yes
    После перезагрузки, при получении IP адреса, телефон сделает запрос конфигурационного файла на TFTP сервере.

Переменные

При указании параметров в самом телефонном аппарате могут использоваться переменные, значения которых будут подставлены самими телефонном при чтении указанного параметра. 

Общий конфигурационный файл

Общим конфигурационным файлом для модели телефонов SPAXXX является файл с именем spa$PSN.cfg Где $PSN — это обозначение модели телефонного аппарата. 

В общий конфигурационный файл рекомендуется выносить настройки, общие для всех телефонных аппаратов одной модели. Пример общего конфигурационного файла ниже:

<flat-profile>
 
<Resync_On_Reset>Yes</Resync_On_Reset>
<Resync_Periodic></Resync_Periodic>
<Profile_Rule>/spa$PSN.cfg</Profile_Rule>
<Profile_Rule_B>/spa$MA.xml</Profile_Rule_B>
 
<Dictionary_Server_Script>serv=tftp://192.168.1.1/spa/; d0=English; x0=spa50x_30x_en_v747.xml; d1=Russian; x1=spa50x_30x_ru_v746.xml;</Dictionary_Server_Script>
<Default_Character_Encoding>UTF-8</Default_Character_Encoding>
 
<Upgrade_Enable>Yes</Upgrade_Enable>
<Upgrade_Error_Retry_Delay>3600</Upgrade_Error_Retry_Delay>
<Downgrade_Rev_Limit></Downgrade_Rev_Limit>
<Upgrade_Rule>/spa50x-30x-7-4-8a.bin</Upgrade_Rule>
 
<Time_Format>24hr</Time_Format>
<Date_Format>day/month</Date_Format>
<Time_Zone>GMT+04:00</Time_Zone>
 
</flat-profile>

Общий конфигурационный файл для модели из примера содержит «ссылки» на индивидуальный конфигурационные файлы для конкретного аппарата. Так, в опциях <Profile_Rule> и <Profile_Rule_B>
указываются имена конфигурационных файлов (а точнее пути к файлам на TFTP сервере), которые должен загружать телефон.

Индивидуальный конфигурационный файл

Индивидуальный конфигурационный файл может содержать настройки для конкретного аппарата (определяется по MAC адресу), в частности реквизиты учетной записи при подключении к серверу телефонии.

<flat-profile>
 
  <!-- Proxy and Registration -->
 
  <Proxy_1_ ua="na">сервер_регистрации</Proxy_1_>
  <Outbound_Proxy_1_ ua="na"></Outbound_Proxy_1_>
  <Use_Outbound_Proxy_1_ ua="na">No</Use_Outbound_Proxy_1_>
  <Use_OB_Proxy_In_Dialog_1_ ua="na">Yes</Use_OB_Proxy_In_Dialog_1_>
  <Register_1_ ua="na">Yes</Register_1_>
  <Make_Call_Without_Reg_1_ ua="na">No</Make_Call_Without_Reg_1_>
  <Register_Expires_1_ ua="na">900</Register_Expires_1_>
  <Ans_Call_Without_Reg_1_ ua="na">No</Ans_Call_Without_Reg_1_>
  <Use_DNS_SRV_1_ ua="na">No</Use_DNS_SRV_1_>
  <DNS_SRV_Auto_Prefix_1_ ua="na">No</DNS_SRV_Auto_Prefix_1_>
  <Proxy_Fallback_Intvl_1_ ua="na">3600</Proxy_Fallback_Intvl_1_>
  <Proxy_Redundancy_Method_1_ ua="na">Normal</Proxy_Redundancy_Method_1_>
 
  <!-- Subscriber Information -->
 
  <Display_Name_1_ ua="na">номер_абонента</Display_Name_1_>
  <User_ID_1_ ua="na">номер_абонента</User_ID_1_>
  <Password_1_ ua="na">пароль_абонента</Password_1_>
  <Use_Auth_ID_1_ ua="na">No</Use_Auth_ID_1_>
  <Auth_ID_1_ ua="na">номер_абонента</Auth_ID_1_>
  <DTMF_Tx_Method_1_ group="Ext_1/Audio_Configuration">INFO</DTMF_Tx_Method_1_>
 
</flat-profile>

Параметры конфигурационных файлов

Не обязательно описывать все параметры в конфигурационных файлах. Достаточно указать те, которые требуется установить (поменять).

Параметр Назначение
Admin_Password Пароль для доступа к административному режиму работы с конфигурацией телефона. (Только для аппарата SPA525G2).
Profile_Rule Имя (путь) конфигурационного файла, который должен быть загружен телефонов при следующей загрузке.
Dictionary_Server_Script
Upgrade_Rule
Proxy_1
Register_1
Use_DNS_SRV_ Определяет, по какому типу DNS записи будет определяться IP-адрес сервера, на которому необходимо зарегистрироваться. Если установоено в Yes то будут посылаться DNS SRV запросы. Если No то посылаются запросы DNS A-записи.
Display_Name_1
User_ID_1
Password_1
Auth_ID_1
Use_Auth_ID
DTMF_Tx_Method_1
Extension_2_

Учетная запись для линии 2 (кнопки 2). Может принимать значения 1-4 (для телефонных аппаратов с 4-мя учетными записями) или Disabled.

Установленная опция Disabled отключает линию.

Телефонным аппаратом можно управлять удалённо посредством HTTP запросов (через CURL или обычным браузером). Вот некоторые запросы, которые можно использовать:

Команда Запрос
Перезагрузка телефона http://<Phone_IP_Address>/admin/reboot
Обновление прошивки http://<Phone_IP_Address>/admin/upgrade?http://<Server_IP_Address>/<path/to/firmware.bin>
Обновление конфигурации http://<Phone_IP_Address>/admin/resync?tftp://<Server_IP_Address>/<имя конфигурационного файла>
Просмотр активной конфигурации http://<Phone_IP_Address>/admin/spacfg.xml

Если производится обновление прошивки телефона с версии младше 7-5-2b на версию старше 7-5-2b, сначала необходимо произвести обновление на 7-5-2b. Иначе телефон будет перезагружаться каждый час, пытаясь установить прошивку заново. Т.е. если производится апдейт прошивки с версии, например, 7-4-9с на 7-5-5, нужно сначала обновиться с версии 7-4-9с до версии 7-5-2b, а затем с 7-5-2b на 7-5-5

В конфигурационном файле можно использовать следующее правило для обновления прошивки:

<Upgrade_Rule ua="na">( $SWVER lt 7.5.2b )? tftp://192.168.1.1/spa50x-30x-7-5-2b.bin | tftp://192.168.1.1/spa50x-30x-7-5-5.bin </Upgrade_Rule>

В данном апгрейд-правиле условие проверки версии, телефон сам проверяет, если версия меньше 7.5.2B — скачивать 7.5.2b. Если не меньше — то 7.5.5

Установка изображения на SPA502G, SPA504G

Требования к изображению:

  • BMP
  • монохромная
  • 128х48

Стоит иметь в виду, что нижние 5 пикселей занимают кнопки типа redial, dir, dnd и прочие. Поэтому снизу до самого изображения нужно оставлять БОЛЬШЕ 5 пикселей. Вверх вплотную также не следует помещать изображение, чтобы оно не сливалось со строкой, где написаны дата и время.

Изображение нужного формата закачать на HTTP сервер, например, в директорию /var/www/localhost/htdocs/static/images/, где /var/www/localhost/htdocs — DocumentRoot

В конфигурационный файл телефонного аппарата добавить строки:

<flat-profile>
..
<BMP_Picture_Download_URL>http://ip_адрес_сервера/static/images/имя_файла.bmp</BMP_Picture_Download_URL>
<Select_Background_Picture>BMP Picture</Select_Background_Picture>
..
</flat-profile>

После этого перезагрузить телефон.

Возможно создание единой телефонной книги для всех аппаратов CISCO. Для этого на HTTP сервере нужно расположить XML файл следующего содержания:

<CiscoIPPhoneDirectory>
<Title>Заголовок телефонной книги</Title>
<Prompt>Выберите контакт</Prompt>
<DirectoryEntry>
<Name>Антон</Name>
<Telephone>104</Telephone>
</DirectoryEntry>
<DirectoryEntry>
<Name>Файбекс</Name>
<Telephone>84957485588</Telephone>
</DirectoryEntry>
</CiscoIPPhoneDirectory>

Для подключения единой телефонной книги на аппаратах CISCO, в настройках телефонного аппарата через административный WEB интерфейс, в меню Phone, секции XML Service, указать:

XML Directory Service URL: http://192.168.1.1/phonebook.xml
XML Directory Service Name: Corp phonebook

Сisco SPA50X способен обработать телефонную книгу в 86 записей (кто-то писал, что загружаемый файл с телефонной книгой не должен превышать 10240 байт или 32 записи, у меня же получилось подгрузить 86). Но в CISCO возможно создание поддиректорий, например, по подразделениям, площадкам. Таким образом единый файл разбивается на несколько файлов по площадкам и можно получить список абонентов. 

Для создания меню с вложенными подменю нужно создать XML файл и расположить его на HTTP сервере. 

Error rendering macro ‘code’: Invalid value specified for parameter ‘firstline’

<CiscoIPPhoneMenu>
<Title>Phonebook menu</Title>
<Prompt>Select sub-menu</Prompt>
<MenuItem>
<Name>Menu option 1</Name>
<URL>http://192.168.1.1/phonebook_1.xml</URL>
</MenuItem>
<MenuItem>
<Name>Menu option 2</Name>
<URL>http://192.168.1.1/phonebook_2.xml</URL>
</MenuItem>
</CiscoIPPhoneMenu>

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

Аналогичные файлы телефонной книги подойдут и для CISCO CP79XX.

Более подробное описание находится здесь: http://www.voip-info.org/wiki/view/Asterisk+Cisco+79XX+XML+Services

Настройка клавиш на панели производится в веб интерфейсе конкретного телефонного аппарата, к которому подключена панель. При просмотре интерфейса в режиме admin / advanced, доступна вкладка Attended console, на которой и представлены параметры клавиш панелей расширения. 

ВАЖНОЕ ЗАМЕЧАНИЕ: Панель работает тогда, когда зарегистрирована первая линия EXT1 на телефоне. 

Для работы с Asterisk панели расширения, нужно указать параметры:

Subscribe Expires: 900
Server Type: Asterisk
Attendant Console Call Pickup Code: *7

Код перехвата *7 соответствует комбинации pickupexten в конфигурационном файле features.conf

Каждая клавиша программируется строкой вида:

fnc=sd+blf+cp;sub=35890@192.168.1.11;nme=35890
  • fnc — это функции клавиши: 

  • sd — быстрый набор 

  • blf — отображение занятости абонента 

  • cp — перехват вызова 

  • sub — запрос для обращения к номеру абонента на АТС при вызове функции 

  • nme — номер абонента

Здесь 35890 — номер абонента, который контролируется; 192.168.1.11 — IP адрес сервера телефонии.

Таким образом, для тогда чтобы клавиша работала только для быстрого вызова, нужно прописать:

fnc=sd;sub=084992621305@192.168.2.1;nme=084992621305

Также необходимо произвести редактирование конфигурационных файлов. В номерном плане, в extensions.conf должен быть контекст

[hints]
exten => _1XX,hint,SIP/${EXTEN}

Где _1XX — маска номеров внутренних абонентов. Похожий контекст в AEL работать НЕ будет! В конфигурационном файле sip.conf, секции [globals] должны быть раскомментированы и указаны следующие параметры:

allowsubscribe=yes
subscribecontext=hints
notifyringing=yes
notifyhold=yes
callcounter=yes
limitonpeer=yes

Для новых телефонов, которые ранее не были подключены к сети 

  1. Включите телефонный аппарат 

  2. Нажмите клавишу меню

  3. Перейдите в раздел «Call Control Settings»

  4. Для параметра «SPCP Auto Detect» установите значение «No» и нажмите клавишу «Save» 

  5. Телефон перезагрузится 

  6. Подключите телефон к ЛВС, он получит IP адрес и конфигурационный файл с настройками 

Для телефонов, которые уже подключены к сети и находятся в режиме SPCP 

  1. Отключите сетевой кабель и перезагрузите телефон. 

  2. Нажмите клавишу меню 

  3. Выберите пункт «factory reset»

  4. Телефон перезагрузится 

  5. Нажмите клавишу меню 

  6. Перейдите в раздел «Call Control Settings»

  7. Для параметра «SPCP Auto Detect» установите значение «No» и нажмите клавишу «Save» 

  8. Телефон перезагрузится 

  9. Подключите телефон к ЛВС, он получит IP адрес и конфигурационный файл с настройками

<Default>
  <device>
    <deviceProtocol>SIP</deviceProtocol>
    <callManagerGroup>
      <members>
        <member  priority="0">
        <callManager>
          <ports>
            <ethernetPhonePort>2000</ethernetPhonePort>
          </ports>
          <processNodeName>10.147.163.139</processNodeName>
        </callManager>
        </member>
      </members>
    </callManagerGroup>
  <device>
</Default>

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

Можно включить логгирование на syslog сервер. Для этого, если syslog установлен на Gentoo (используется syslog-ng) необходимо в конфигурационном файле /etc/syslog-ng/syslog-ng.conf внести следующие изменения:

options {
         ...
         create_dirs(yes); #will recursively create log files/directories if necessary
        };
# The port where the logs will be sent to by the clients
source remote_log {udp(ip("SERVERIPADDRESS")
                   port(514));};
# where to log the files on the server. $HOST is a macro and will be replaced by the hostname sending the log
destination remote {file("/var/log/remote.d/$HOST.log");};
# link the source to the destination
log {source(remote_log); destination(remote);};

Создать директорию /var/log/remote.d Дать её права 777. После этого применить конфигурацию для logger сервера.

Можно использовать любой другой syslog сервер (например GrayLog)

В самом телефонном аппарате нужно выполнить следующее:

1. Configure your phone by directing your browser to:

http://<IP_address_of_Phone>/admin/advanced [WIP310: http://<IP_address_of_WIP310>/admin/ ]
Example: http://192.168.0.100/admin/advanced if the phone’s IP address is 192.168.0.100

2. Enable Debug Messages by editing the following fields:

  • Phone’s web-ui > System tab > Optional Network Configuration > Debug Server: <IP address of syslog server> Example: 192.168.0.200
    [if you are capturing with Wireshark, you do not need to use a valid syslog server’s IP address, any «fake» address can be used, example 10.0.0.1]
  • iPhone’s web-ui > System tab > Optional Network Configuration > Debug Level: 3
  • Phone’s web-ui > Ext N > SIP Settings > SIP Debug Option: full

3. Enable Syslog Messages by editing the following: [step 3b is not needed if you have enabled Debug]

Phone’s web-ui > System tab > Optional Network Configuration > Syslog Server: <IP address of syslog server> Example: 192.168.0.200

4. Scroll down and click Submit All Changes

The Phone will reboot and send all debug / syslog messages to the specified IP address of the syslog server.

[Don’t forget to make sure that your syslog server is running and that its IP address is what you configured on the phone.]

Tips

Ожидание вызова (CallWaiting)

Call waiting alerts you when you are on a call by ringing your phone and displaying a status message that another call is ringing. If you turn call waiting off, incoming calls do not ring your phone if you are on another call, and the caller hears a busy signal or message.

Второй входящий звонок может мешать оператору, отвлекать от работы. Для включения или отключения функции call waiting на телефонном аппарате: 

  1. Зайдите на WEB интерфейс телефона 

  2. Во вкладке Voice, выберите вкладку User. 

  3. В разделе «Supplementary Services» найдите опцию «CW Setting». 

  4. Выберите «yes» или «no» для включения или отключения функции. 

  5. Внизу страницы нажмите «Submit All Changes» 

Отключить гудок в ухо при поступлении второго звонка на вторую линию 

В настройках телефона Admin → Advanced → Regional изменить параметр Call Waiting Tone в секции Call Progress Tones на значение

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

<Call_Waiting_Tone>0@-10;30(.3/9.7/1)</Call_Waiting_Tone>

Функция Paging осуществляется уведомление всех абонентов, у кого телефоны SPA5XX, в локальной сети. Функция позволяется одному абоненту произвести голосовое уведомление всех остальных абонентов по громкой связи, при этом происходит автоматическое поднятие трубки на всех телефонных аппаратах. 

В настройках телефонного аппарата, в вкладке VoicePhone, в разделе Multiple Paging Group Parameters имеется параметр Group Paging Script, который определяет настройки группового уведомления:

pggrp=224.168.168.168:34560;name=All;num=800;listen=yes;

Этот параметр так же можно прописать в конфигурационном файле:

<Group_Paging_Script>pggrp=224.168.168.168:34560;name=All;num=800;listen=yes;</Group_Paging_Script>

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

http://ip/admin

Regional -> Miscellaneous -> Time Zone

Перезагрузка телефонов каждый час

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

Данной ситуации также соответствую значения следующих параметров:

  • Resync Fails On FNF: yes — file-not-found response
  • Resync Error Retry Delay: 3600

Телефоны перезагружаются в попытке получить конфигурационный файл, которого нет.

Сброс на Factory Defaults

  • For Cisco SPA phone mode SPA301 lift the handset and enter ****, enter 7373 and press #, press 1 to confirm, hang up to exit and begin the restore process, phone will be reset to the factory default settings.
  • For Cisco SPA phone models SPA502G, SPA504G, SPA508G, SPA509G press the Setup button, scroll to Factory Reset and press select, phone will be reset to the factory default settings.
  • For Cisco SPA phone model SPA501G press the Setup button, enter 73738, then press #, enter 1 to confirm, hang up to exit and begin the restore process, phone will be reset to the factory default settings.
  • For Cisco SPA phone model SPA525G press the Setup button, select Device Administration, scroll to Factory Reset, press Select, phone will be reset to
    the factory default settings.

Наши клиенты

раскажите нам о своей задаче

Как известно, корпоративные телефоны Cisco 79ой серии качественные и удобные, но к сожалению, ориентированы на работу c IP АТС Cisco Unified Communications Manager и для их перенастройки на работу с другой IP АТС, например Asterisk, нужно выполнить не тривиальные действия.Главная проблема перенастройки, заключается в том, что у телефонов Cisco отсутствует привычный веб-интерфейс для конфигурирования как у других телефонов, вместо этого нужно писать xml конфигурацию и подгружать в телефон их по TFTP.

Второй момент – по умолчанию в телефонах загружена прошивка работающая по протоколу SCCP(Cisco Skinny Client Control Protocol)- проприетарный протокол созданный для VoIP продуктов Cisco, прошивку также нужно сменить на версию с поддержкой SIP.
Процесс загрузки и самонастройки телефона выглядит следующим образом:
После включения телефона, в случае использования DHCP, телефон запрашивает настройки IP и опцию 150 (option voip-tftp-servers) адресTFTP-сервера, откуда телефон автоматически загрузит файлы конфигурации и прошивку в случае необходимости. После получения настроек IP по DHCP и адреса TFTP-сервера, телефон запрашивает файлы конфигурации, среди которых основной файл SEP-MAC-адрес-телефона.cnf.xml который содержит версию прошивки которую нужно загрузить, настройки локализации, в нашем случае для России, настройки SIP линий, кнопок телефона, плана набора,адрес сервера XML сервисов и прочих настроек. Далее, телефон проверяет соответствие настроек конфигурации с теми, что загружены и в случае несоответствия загружает новые файлы.
Итак, в качестве примера используется IP телефон Cisco 7945G и IP АТС Asterisk,
нам понадобится:

  • DHCP-сервер

  • TFTP-сервер

  • NTP-сервер

  • Прошивка SIP cmterm-7945_7965-sip.8-5-4.zip

  • Файлы русской локализации po-locale-ru_RU-8.4.3.1000-1.exe

  • HTTP-сервер для XML-сервисов, если необходимо загрузить, например, корпоративный справочник.

В качестве платформы я использую дистрибутив CentOS. Сначала необходимо настроить DHCP-сервер и указать в опции option voip-tftp-servers адрес хоста где будет работать TFTP-сервер на котором будут лежать все загрузочные файлы для IP телефона.
Пример содержимого конфигурационого файла dhcpd.conf дистрибутива CentOS:

option domain-name "localdomain";
authoritative;
option domain-name-servers 192.168.1.253;
option voip-tftp-servers code 150 = ip-address;
option voip-tftp-servers 192.168.1.253;
subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.1.10 192.168.1.250;
option broadcast-address 192.168.1.255;
option routers 192.168.1.253; }

Телефоны будут получать IP из сети 192.168.1.0, Asterisk, TFTP-сервер, и шлюз по умолчанию будет иметь IP=192.168.1.253.

Кстати, можно обойтись без DHCP-сервера, через меню телефона назначить ему статический IP и вручную указать TFTP-сервер.
Для разблокировки настроек телефона нажать **#
Также находясь в меню можно перезагрузить телефон, для этого нажать **#**
Далее, запускаем NTP сервер для синхронизации времени на телефона, в моем случае достаточно запустить сервис ntpd из коробки, для дистрибутива CentOS.
Теперь устанавливаем http-сервер, он понадобится только если вы захотите использовать, например, корпоративный справочник на телефоне, при нажатии кнопки services, телефон по http обратится по указанному в конфигурации адресу и покажет записи, примеров создания справочников в интернете много, я лишь ограничусь самым простым примером статического справочника.
просто выложу файл xmldirectory.xml в директорию ccmcip на сервере. Его содержимое приведено ниже,а ссылка на него есть xml файле конфигурации IP-телефона, в тегах

<directoryURL></directoryURL>

Далее, устанавливаем и запускаем TFTP-сервер.
У меня это модуль службы xinetd, который устанавливается из пакета. Из пакетов также легко ставится DHCP-сервер и NTP-сервер.
Конфигурация службы TFTP, файл /etc/xinetd.d/tftp

service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
bind = 192.168.1.253
}

Директория сервера в которой будут лежать файлы /var/lib/tftpboot, в неё следует поместить все файлы прошивок, локали и конфигурации.
Как пишут в Интернете пользователи, версия cmterm-7945_7965-sip.8-5-4.zip самая удачная, и лучше использовать именно её. Сами файлы без труда можно найти в интернете, на сайте Cisco никакие прошивки без сервисного контракта естественно не скачать.
Итак, распаковываем архив в корень TFTP, должны быть следующие файлы:

apps45.8-5-4TH1-6.sbn
cnu45.8-5-4TH1-6.sbn
cvm45sip.8-5-4TH1-6.sbn
dsp45.8-5-4TH1-6.sbn
jar45sip.8-5-4TH1-6.sbn
SIP45.8-5-4S.loads
term45.default.loads
term65.default.loads

Теперь нужно скопировать файлы из po-locale-ru_RU-8.4.3.1000-1.exe. Для этого нужно запустить файл, больше ничего не нажимать(если нажать, будет выдана ошибка а директория с интересующими нас файлами будет удалена из %temp%), затем перейти в директорию %temp% для Windows там отсортировать директории по времени создания. Нужная нам директория будет иметь имя наподобие {E87E99FE-6D8C-4971-B6E4-61078D70A350} на TFTP-сервер нужно скопировать содержимое этой директории по пути /Disk1ISTeleportRussian_Russian_FederationPROGRA~CiscoTFTPPathRussian_Russian_Federation
в директорию Russian_Russian_Federation созданную в корне TFTP-сервера, список файлов:

7905-kate.xml
7920-dictionary.xml
7920-font.xml
7920-kate.xml
7921-dictionary.xml
7921-font.dat
7921-kate.utf-8.xml
7921-kate.xml
7960-dictionary.xml
7960-dictionary-ext.xml
7960-font.xml
7960-kate.xml
be-sccp.jar
be-sip.jar
ipc-sccp.jar
mk-sccp.jar
mk-sip.jar
SCCP-dictionary.utf-8.xml
SCCP-dictionary.xml
SCCP-dictionary-ext.xml
tc-sccp.jar
tc-sip.jar
td-sccp.jar
td-sip.jar
7905-dictionary.xml
7905-font.xml

Теперь необходимо подготовить файл конфигурации телефона, мой телефон имеет MAC-адрес 00235E186B89, поэтому файл будет называться SEP00235E186B89.cnf.xml
Содержимое файла конфигурации:

<?xml version="1.0" encoding="UTF-8"?>
<!--Файл должен обязательно начинаться с этой строки>
<device xsi:type="axl:XIPPhone" ctiid="966" uuid="{ec039a47-2b24-d05b-6ae3-2c18e269a9df}">
<!--Содержимое тега device должно иметь такой вид, причем нужно указать uuid >
<fullConfig>true</fullConfig>
<deviceProtocol>SIP</deviceProtocol>
<sshUserId></sshUserId>
<sshPassword></sshPassword>
<devicePool>
<revertPriority>0</revertPriority>
<name>Default</name>
<dateTimeSetting>
<name>CMLocal</name>
<dateTemplate>D.M.Y</dateTemplate>
<timeZone>Russian Standard/Daylight Time</timeZone>
<ntps>
<ntp>
<name>192.168.1.253</name>
<ntpMode>Unicast</ntpMode>
<!--Я использую NTP сервер>
</ntp>
</ntps>
</dateTimeSetting>
<callManagerGroup>
<name>Default</name>
<tftpDefault>false</tftpDefault>
<members>
<member priority="0">
<callManager>
<name>192.168.1.253</name>
<!--IP адрес сервера Asterisk>
<description>Asterisk</description>
 <ports>
<ethernetPhonePort>2000</ethernetPhonePort>
<sipPort>5060</sipPort>
<securedSipPort>5061</securedSipPort>
<mgcpPorts>
<listen>2427</listen>
<keepAlive>2428</keepAlive>
</mgcpPorts>
</ports>
<processNodeName>127.0.0.1</processNodeName>
</callManager>
</member>
</members>
</callManagerGroup>
<srstInfo>
<name>Disable</name>
<srstOption>Disable</srstOption>
<userModifiable>false</userModifiable>
<ipAddr1></ipAddr1>
<port1>2000</port1>
<ipAddr2></ipAddr2>
<port2>2000</port2>
<ipAddr3></ipAddr3>
<port3>2000</port3>
<sipIpAddr1></sipIpAddr1>
<sipPort1>5060</sipPort1>
<sipIpAddr2></sipIpAddr2>
<sipPort2>5060</sipPort2>
<sipIpAddr3></sipIpAddr3>
<sipPort3>5060</sipPort3>
<isSecure>false</isSecure>
</srstInfo>
<mlppDomainId>-1</mlppDomainId>
<mlppIndicationStatus>Default</mlppIndicationStatus>
<preemption>Default</preemption>
<connectionMonitorDuration>120</connectionMonitorDuration>
</devicePool>
<sipProfile>
<sipProxies>
<registerWithProxy>true</registerWithProxy>
</sipProxies>
<sipCallFeatures>
<cnfJoinEnabled>true</cnfJoinEnabled>
<callForwardURI>x-cisco-serviceuri-cfwdall</callForwardURI>
<callPickupURI>x-cisco-serviceuri-pickup</callPickupURI>
<callPickupListURI>x-cisco-serviceuri-opickup</callPickupListURI>
<callPickupGroupURI>x-cisco-serviceuri-gpickup</callPickupGroupURI>
<meetMeServiceURI>x-cisco-serviceuri-meetme</meetMeServiceURI>
<abbreviatedDialURI>x-cisco-serviceuri-abbrdial</abbreviatedDialURI>
<rfc2543Hold>false</rfc2543Hold>
<callHoldRingback>2</callHoldRingback>
<localCfwdEnable>true</localCfwdEnable>
<semiAttendedTransfer>true</semiAttendedTransfer>
<anonymousCallBlock>2</anonymousCallBlock>
<callerIdBlocking>2</callerIdBlocking>
<dndControl>0</dndControl>
<remoteCcEnable>true</remoteCcEnable>
<retainForwardInformation>false</retainForwardInformation>
</sipCallFeatures>
<sipStack>
<sipInviteRetx>6</sipInviteRetx>
<sipRetx>10</sipRetx>
<timerInviteExpires>180</timerInviteExpires>
<timerRegisterExpires>300</timerRegisterExpires>
<!--Я поставил время 300, очень советую включить qualify на Asterisk>
<timerRegisterDelta>5</timerRegisterDelta>
<timerKeepAliveExpires>120</timerKeepAliveExpires>
<timerSubscribeExpires>120</timerSubscribeExpires>
<timerSubscribeDelta>5</timerSubscribeDelta>
<timerT1>500</timerT1>
<timerT2>4000</timerT2>
<maxRedirects>70</maxRedirects>
<remotePartyID>true</remotePartyID>
<userInfo>None</userInfo>
</sipStack>
<autoAnswerTimer>1</autoAnswerTimer>
<autoAnswerAltBehavior>false</autoAnswerAltBehavior>
<autoAnswerOverride>true</autoAnswerOverride>
<transferOnhookEnabled>false</transferOnhookEnabled>
<enableVad>false</enableVad>
<preferredCodec>none</preferredCodec>
<dtmfAvtPayload>101</dtmfAvtPayload>
<dtmfDbLevel>3</dtmfDbLevel>
<dtmfOutofBand>avt</dtmfOutofBand>
<kpml>3</kpml>
<phoneLabel>Kudryavtsev</phoneLabel>
<!--Метка которая будет выводится на телефоне в верхнем правом углу экрана, максимум 11 символов без пробелов>
<stutterMsgWaiting>2</stutterMsgWaiting>
<callStats>true</callStats>
<offhookToFirstDigitTimer>15000</offhookToFirstDigitTimer>
<silentPeriodBetweenCallWaitingBursts>10</silentPeriodBetweenCallWaitingBursts>
<disableLocalSpeedDialConfig>true</disableLocalSpeedDialConfig>
<poundEndOfDial>false</poundEndOfDial>
<startMediaPort>16384</startMediaPort>
<stopMediaPort>32766</stopMediaPort>
<sipLines>
<line button="1" lineIndex="1">
<!--Ниже в теге line button="1" Настройка первой линии, также настраиваются остальные линии, которые привязаны к боковым кнопкам слева от экрана>
<featureID>9</featureID>
<featureLabel>Ignat 100</featureLabel>
<!--Метка которая будет отображаться на экране около кнопки линии>
<proxy>192.168.1.253</proxy>
<!--IP адрес сервера Asterisk>
<port>5060</port>
<!--Порт SIP -->
<name>100</name>
<!--отобразится в верхнем правом углу экрана телефона>
<displayName>100</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>100</authName>
<authPassword>somepass</authPassword>
<--Имя и пароль для авторизации на Asterisk в примере линия 100>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber></messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>100</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
</line>
<line button="2" lineIndex="2">
<featureID>9</featureID>
<featureLabel>101</featureLabel>
<proxy>192.168.1.253</proxy>
<port>5060</port>
<name>101</name>
<displayName>101</displayName>
<autoAnswer>
<autoAnswerEnabled>2</autoAnswerEnabled>
</autoAnswer>
<callWaiting>3</callWaiting>
<authName>101</authName>
<authPassword>somepass2</authPassword>
<sharedLine>false</sharedLine>
<messageWaitingLampPolicy>3</messageWaitingLampPolicy>
<messageWaitingAMWI>0</messageWaitingAMWI>
<messagesNumber></messagesNumber>
<ringSettingIdle>4</ringSettingIdle>
<ringSettingActive>5</ringSettingActive>
<contact>101</contact>
<forwardCallInfoDisplay>
<callerName>true</callerName>
<callerNumber>false</callerNumber>
<redirectedNumber>false</redirectedNumber>
<dialedNumber>true</dialedNumber>
</forwardCallInfoDisplay>
<maxNumCalls>4</maxNumCalls>
<busyTrigger>2</busyTrigger>
</line>
</sipLines>
<externalNumberMask></externalNumberMask>
<voipControlPort>5060</voipControlPort>
<!--Порт SIP -->
<dscpForAudio>184</dscpForAudio>
<dscpVideo>136</dscpVideo>
<ringSettingBusyStationPolicy>0</ringSettingBusyStationPolicy>
<dialTemplate>dialplan.xml</dialTemplate>
<!--второй обязательный файл, его содержимое приводится ниже>
<alwaysUsePrimeLine>false</alwaysUsePrimeLine>
<alwaysUsePrimeLineVoiceMail>false</alwaysUsePrimeLineVoiceMail>
</sipProfile>
<MissedCallLoggingOption>10</MissedCallLoggingOption>
<commonProfile>
<phonePassword></phonePassword>
<backgroundImageAccess>true</backgroundImageAccess>
<callLogBlfEnabled>3</callLogBlfEnabled>
</commonProfile>
<loadInformation>SIP45.8-5-4S</loadInformation>
<!--Версия нашей прошивки SIP которая будет загружена если на телефоне отличая от неё версия-->
<vendorConfig>
<disableSpeaker>false</disableSpeaker><disableSpeakerAndHeadset>false</disableSpeakerAndHeadset><forwardingDelay>1</forwardingDelay><pcPort>0</pcPort><settingsAccess>1</settingsAccess><garp>1</garp><voiceVlanAccess>0</voiceVlanAccess><videoCapability>0</videoCapability><autoSelectLineEnable>0</autoSelectLineEnable><webAccess>0</webAccess><daysDisplayNotActive>1,7</daysDisplayNotActive><displayOnTime>07:30</displayOnTime><displayOnDuration>10:30</displayOnDuration><displayIdleTimeout>01:00</displayIdleTimeout><spanToPCPort>1</spanToPCPort><loggingDisplay>1</loggingDisplay><loadServer></loadServer><recordingTone>0</recordingTone><recordingToneLocalVolume>100</recordingToneLocalVolume><recordingToneRemoteVolume>50</recordingToneRemoteVolume><recordingToneDuration></recordingToneDuration><displayOnWhenIncomingCall>0</displayOnWhenIncomingCall><rtcp>0</rtcp><moreKeyReversionTimer>5</moreKeyReversionTimer><autoCallSelect>1</autoCallSelect><logServer></logServer><g722CodecSupport>0</g722CodecSupport><headsetWidebandUIControl>0</headsetWidebandUIControl><headsetWidebandEnable>0</headsetWidebandEnable><peerFirmwareSharing>0</peerFirmwareSharing><enableCdpSwPort>1</enableCdpSwPort><enableCdpPcPort>1</enableCdpPcPort><enableLldpSwPort>1</enableLldpSwPort><enableLldpPcPort>1</enableLldpPcPort><lldpAssetId></lldpAssetId><powerPriority>0</powerPriority><ehookEnable>0</ehookEnable><detectCMConnectionFailure>0</detectCMConnectionFailure><minimumRingVolume>0</minimumRingVolume><handsetHeadsetMonitor>1</handsetHeadsetMonitor><useEnblocDialing>1</useEnblocDialing><SWRemoteConfig>0</SWRemoteConfig><PCRemoteConfig>0</PCRemoteConfig><PortAutoLinkSync>0</PortAutoLinkSync></vendorConfig>
<userLocale>
<name>Russian_Russian_Federation</name>
<!--Здесь и ниже указывает что нужно использовать русскую локаль-->
<uid>5</uid>
<langCode>ru_RU</langCode>
<version></version>
<winCharSet>UTF-8</winCharSet>
</userLocale>
<networkLocale>Russian_Federation</networkLocale>
<networkLocaleInfo>
<name>Russian_Federation</name>
<uid>50</uid>
<version></version>
</networkLocaleInfo>
<deviceSecurityMode>1</deviceSecurityMode>
<idleTimeout>0</idleTimeout>
<authenticationURL>http://192.168.1.253/ccmcip/authenticate.jsp</authenticationURL>
<directoryURL>http://192.168.1.253/ccmcip/xmldirectory.xml</directoryURL>
<!--В моем случае ссылки не используются>
<idleURL></idleURL>
<informationURL>http://192.168.1.253/ccmcip/GetTelecasterHelpText.jsp</informationURL>
<!--В моем случае ссылка не используется>
<messagesURL></messagesURL>
<proxyServerURL></proxyServerURL>
<servicesURL>http://192.168.1.253/ccmcip/xmldirectory.xml</servicesURL>
<!--Путь к статическому файлу содержащему справочник, он откроется при нажатии на телефоне кнопки services>
<dscpForSCCPPhoneConfig>96</dscpForSCCPPhoneConfig>
<dscpForSCCPPhoneServices>0</dscpForSCCPPhoneServices>
<dscpForCm2Dvce>96</dscpForCm2Dvce>
<transportLayerProtocol>4</transportLayerProtocol>
<dndCallAlert>5</dndCallAlert>
<phonePersonalization>0</phonePersonalization>
<singleButtonBarge>0</singleButtonBarge>
<joinAcrossLines>0</joinAcrossLines>
<capfAuthMode>0</capfAuthMode>
<capfList>
<capf>
<phonePort>3804</phonePort>
<processNodeName>192.168.1.253</processNodeName>
</capf>
</capfList>
<certHash></certHash>
<encrConfig>false</encrConfig>
<advertiseG722Codec>1</advertiseG722Codec>
<mobility>
<handoffdn></handoffdn>
<dtmfdn></dtmfdn>
<ivrdn>3999</ivrdn>
<dtmfHoldCode>*81</dtmfHoldCode>
<dtmfExclusiveHoldCode>*82</dtmfExclusiveHoldCode>
<dtmfResumeCode>*83</dtmfResumeCode>
<dtmfTxfCode>*84</dtmfTxfCode>
<dtmfCnfCode>*85</dtmfCnfCode>
</mobility>
</device>

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

<!-- -->

Кстати замечу что тег

<webAccess>0</webAccess>

говорит о том что доступ на веб-интерфейс телефона будет открыт, это полезно для отладки телефона и просмотра настроек.
Файл dialplan.xml обязательно нужен, без него с телефона ничего будет не набрать,
самый простой конфиг позвояющий набирать любые цифры:

<DIALTEMPLATE>
<TEMPLATE MATCH="*" Timeout="3"/> <!-- Anything else -->
</DIALTEMPLATE>

Более сложные планы набора можно легко найти в интернете.
Следующий файл справочник xmldirectory.xml в директории
/var/www/ccmcip/var/www – корневая директория apache в CentOS.
Вот его содержимое:

<?xml version="1.0" encoding="UTF-8"?>
<CiscoIPPhoneDirectory>
<Title>Personal Directory</Title>
<Prompt>Prompt text</Prompt>
<DirectoryEntry>
<Name>Ignat</Name>
<Telephone>100</Telephone>
</DirectoryEntry>
<DirectoryEntry>
<Name>Ignat2</Name>
<Telephone>2253434</Telephone>
</DirectoryEntry>
</CiscoIPPhoneDirectory>

Здесь в качестве примера 2 записи, ограничение прошивки на 32 записи.
Но при помощи «софт» кнопок можно реализовать постраничную прокрутку, в интернете есть примеры реализации.
Все, теперь все подготовительные работы выполнены, осталось настроить Asterisk:
В версии прошивки 8-5-4S есть поддержка UDP в качестве транспорта.
Поэтому нам нужно просто добавить абонента в sip.conf:

[100]
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/255.255.255.0
type=friend
context=phones
host=dynamic
secret=somepass
dtmfmode=rfc2833
call-limit=2
disallow=all
allow=ulaw
allow=alaw
pickupgroup=1
callgroup=1
qualify=yes

Здесь важна настройка qualify=yes она говорит о том что телефон нужно «пинговать» SIP опциями. Без этой настройки у меня периодически отваливалась регистрация на телефоне 7945.
Все готово, можно подключать телефон, если все корректно настроено, устройство получит IP, загрузит конфигурацию и прошивку с TFTP-сервера и перепрошьется, затем загрузит настройки русской локализации, все меню отобразятся на русском языке, затем IP-телефон зарегистрируется и будет готов к работе.

Автор: Игнат Кудрявцев

Tags: Asterisk, IP АТС, IP-телефон, IP-телефония, SIP, SIP телефон

  • Как настраивать смарт часы с телефоном
  • Как насолить человеку по номеру телефона
  • Как насолить человеку зная номер телефона
  • Как наслать спам на телефонный номер
  • Как напечатать номер на телефоне самсунг