В продолжение статьи первой: Автоматическое обновление IP-телефонов в 3CX. Часть первая. Теория, как и обещал, расскажу, как же все это работает на практике.
Итак, при подключении IP-телефона в локальную сеть IP-телефон отправляет широковещательный запрос (SIP NOTIFY) и сообщает свой MAC-адрес и текущее положение:
![image](https://habrastorage.org/files/dc9/3e5/807/dc93e58072424432a9ccd5bfe919fe12.jpg)
на что 3CX-сервер реагирует и после IP-телефон появляется в системе 3CX в разделе «Телефоны» со статусом «Новый»:
![image](https://habrastorage.org/files/39d/96c/e1e/39d96ce1e2bb4aba86f17f71ae51e400.jpg)
Далее может быть два сценария развития событий.
Сценарий 1. Ручное конфигурирование
Речь идет о том, что IP- телефон новый, ранее нам о нем ничего было неизвестно и IP-телефон был просто добавлен в парк телефонов. Наша задача присвоить ему внутренний номер в системе и натянуть общий шаблон настроек для телефонов данного типа.
Для этого кликаем по телефону из списка правой кнопкой мыши и выбираем один из пунктов из ниспадающего списка:
![image](https://habrastorage.org/files/32c/bd8/f8f/32cbd8f8f2884b8892cf64def46935e4.jpg)
Если выберем пункт первый, то откроется меню добавления внутреннего номера:
![image](https://habrastorage.org/files/aae/e6e/41f/aaee6e41fc914db6803f6234f3db944c.jpg)
Вводим данные пользователя и переходим на вкладку «Автонастройка телефона»
![image](https://habrastorage.org/files/82a/712/8e8/82a7128e8a1d4e4fa4493300ba408225.jpg)
Система автоматически заполнила поля: MAC-адрес и Модель, далее уже идут индивидуальные настройки для данного IP-телефона, где мы можем поменять:
В этом же меню задается список BLF для конкретного пользователя:
![image](https://habrastorage.org/files/946/e32/2eb/946e322eb167470abd114e606de584d8.jpg)
Т.е. мы добавляем именно те внутренние номера, которые должен или может отслеживать пользователь.
Далее нажимаем на кнопку сохранить и конфигурационный файл со всем индивидуальными настройками, уходит на IP-телефон.
![image](https://habrastorage.org/files/08e/3a5/055/08e3a50554524c93ba03dad68b07931a.jpg)
Из лога видно, что телефон зарегистрировался и подписался на BLF, которые мы ему прописали:
![image](https://habrastorage.org/files/643/ee9/fc0/643ee9fc05e44e09ade8668617df1d5d.jpg)
Кроме того, если вы обратите внимание, то система автоматически прописывает заведенный в 3CX старкод (*20*) для захвата вызова.
Если выбрать пункт второй – Присвоить существующему внутреннему номеру, то выбирается ранее созданный номер со всеми настройками и просто сохраняется:
![image](https://habrastorage.org/files/22c/028/53d/22c02853d6cf4521b2ae9a5b75b844df.jpg)
После этого телефон выполнит те же действия.
Сценарий 2. Автоматическое обновление или заранее создаем виртуальный парк телефонов.
Для того чтобы процесс максимально автоматизировать в будущем, так или иначе в начале придется покорпеть над индивидуальными настройками для каждого IP-телефона + шаблон для каждой модели.
Итак, задача: у нас есть новые IP-телефоны, мы знаем, кому какой IP-телефон должен быть установлен и соответственно у нас есть все данные для настройки (MAC-адрес, внутренний номер и т.д.).
Для решения задачи нам надо создать общий шаблон для модели, где мы вносим общие данные, плюс для удобства указываем, что IP-телефон каждый день в заданное время будет обращаться на наш сервер и проверять наличие изменений в конфигурационном файле. Это делается посредством контрольной суммы, IP-телефон отправляет запрос, получает ответ от сервера, сверяет контрольную сумму, и если она отличается от текущий в IP-телефоне, то будет залит новый конфигурационный файл.
![image](https://habrastorage.org/files/d72/3c2/d7e/d723c2d7e38b43fdbfb30438b176efbf.jpg)
Сохраняем шаблон.
Далее идем в раздел «Внутренние номера» и создаем номера с привязкой к MAC-адресу + индивидуальные настройки:
![image](https://habrastorage.org/files/177/e13/9fc/177e139fcde843d38686c79b9e538b67.jpg)
Как видно на скриншоте все поля пустые и их необходимо заполнить:
И далее общие настройки.
В чем отличие между Сценарием 1 и Сценарием 2? Разница заключается лишь в том, что создавая новый парк телефонов, вы избавляетесь от лишней работы — распаковки телефона, подключения к сети, поймать его в системе сделать настройки, после упаковать или сразу отнести к пользователю на стол и так для каждого аппарата.
Сценарий 2 дает возможность сэкономить на этом время, так как все что нам нужно знать от IP-телефона – это MAC-адрес, а он, как правило, написан на самой коробке. А дальше, вы можете просто отдать телефон сотруднику, который установит его себе на стол и после подключения IP-телефона в сеть, IP-телефон автоматически (без дополнительного вмешательства) получить все настройки, который были созданы нами ранее.
Итак, при подключении IP-телефона в локальную сеть IP-телефон отправляет широковещательный запрос (SIP NOTIFY) и сообщает свой MAC-адрес и текущее положение:
![image](https://habrastorage.org/files/dc9/3e5/807/dc93e58072424432a9ccd5bfe919fe12.jpg)
на что 3CX-сервер реагирует и после IP-телефон появляется в системе 3CX в разделе «Телефоны» со статусом «Новый»:
![image](https://habrastorage.org/files/39d/96c/e1e/39d96ce1e2bb4aba86f17f71ae51e400.jpg)
Далее может быть два сценария развития событий.
Сценарий 1. Ручное конфигурирование
Речь идет о том, что IP- телефон новый, ранее нам о нем ничего было неизвестно и IP-телефон был просто добавлен в парк телефонов. Наша задача присвоить ему внутренний номер в системе и натянуть общий шаблон настроек для телефонов данного типа.
Для этого кликаем по телефону из списка правой кнопкой мыши и выбираем один из пунктов из ниспадающего списка:
![image](https://habrastorage.org/files/32c/bd8/f8f/32cbd8f8f2884b8892cf64def46935e4.jpg)
- Добавить внутренний номер – создается новый номер
- Присвоить существующему внутреннему номеру – выбирается один из существующих внутренних номеров
Если выберем пункт первый, то откроется меню добавления внутреннего номера:
![image](https://habrastorage.org/files/aae/e6e/41f/aaee6e41fc914db6803f6234f3db944c.jpg)
Вводим данные пользователя и переходим на вкладку «Автонастройка телефона»
![image](https://habrastorage.org/files/82a/712/8e8/82a7128e8a1d4e4fa4493300ba408225.jpg)
Система автоматически заполнила поля: MAC-адрес и Модель, далее уже идут индивидуальные настройки для данного IP-телефона, где мы можем поменять:
- Пароль для доступа к веб-интерфейсу
- Язык на дисплее экрана – удобно, если у вас мультиязычная компания
- Часовой пояс – опять же, сотрудники могут работать удаленно и в разных часовых поясах
- Метод автонастройки – пользователь локальный или удаленный
- Интерфейс – куда должен обращаться телефон для проверки обновления конфигурационных файлов (в зависимости локальный или удаленный пользователь)
- Задать приоритет кодеков
В этом же меню задается список BLF для конкретного пользователя:
![image](https://habrastorage.org/files/946/e32/2eb/946e322eb167470abd114e606de584d8.jpg)
Т.е. мы добавляем именно те внутренние номера, которые должен или может отслеживать пользователь.
Далее нажимаем на кнопку сохранить и конфигурационный файл со всем индивидуальными настройками, уходит на IP-телефон.
![image](https://habrastorage.org/files/08e/3a5/055/08e3a50554524c93ba03dad68b07931a.jpg)
Из лога видно, что телефон зарегистрировался и подписался на BLF, которые мы ему прописали:
![image](https://habrastorage.org/files/643/ee9/fc0/643ee9fc05e44e09ade8668617df1d5d.jpg)
Кроме того, если вы обратите внимание, то система автоматически прописывает заведенный в 3CX старкод (*20*) для захвата вызова.
Если выбрать пункт второй – Присвоить существующему внутреннему номеру, то выбирается ранее созданный номер со всеми настройками и просто сохраняется:
![image](https://habrastorage.org/files/22c/028/53d/22c02853d6cf4521b2ae9a5b75b844df.jpg)
После этого телефон выполнит те же действия.
Сценарий 2. Автоматическое обновление или заранее создаем виртуальный парк телефонов.
Для того чтобы процесс максимально автоматизировать в будущем, так или иначе в начале придется покорпеть над индивидуальными настройками для каждого IP-телефона + шаблон для каждой модели.
Итак, задача: у нас есть новые IP-телефоны, мы знаем, кому какой IP-телефон должен быть установлен и соответственно у нас есть все данные для настройки (MAC-адрес, внутренний номер и т.д.).
Для решения задачи нам надо создать общий шаблон для модели, где мы вносим общие данные, плюс для удобства указываем, что IP-телефон каждый день в заданное время будет обращаться на наш сервер и проверять наличие изменений в конфигурационном файле. Это делается посредством контрольной суммы, IP-телефон отправляет запрос, получает ответ от сервера, сверяет контрольную сумму, и если она отличается от текущий в IP-телефоне, то будет залит новый конфигурационный файл.
![image](https://habrastorage.org/files/ac9/bbe/26d/ac9bbe26d09c4a82a512d5c63d91d15a.jpg)
![image](https://habrastorage.org/files/d72/3c2/d7e/d723c2d7e38b43fdbfb30438b176efbf.jpg)
Сохраняем шаблон.
Далее идем в раздел «Внутренние номера» и создаем номера с привязкой к MAC-адресу + индивидуальные настройки:
![image](https://habrastorage.org/files/177/e13/9fc/177e139fcde843d38686c79b9e538b67.jpg)
Как видно на скриншоте все поля пустые и их необходимо заполнить:
- MAC-адрес – указываем MAC адрес IP-телефона
- Модель – выбираем модель нужного IP-телефона
И далее общие настройки.
В чем отличие между Сценарием 1 и Сценарием 2? Разница заключается лишь в том, что создавая новый парк телефонов, вы избавляетесь от лишней работы — распаковки телефона, подключения к сети, поймать его в системе сделать настройки, после упаковать или сразу отнести к пользователю на стол и так для каждого аппарата.
Сценарий 2 дает возможность сэкономить на этом время, так как все что нам нужно знать от IP-телефона – это MAC-адрес, а он, как правило, написан на самой коробке. А дальше, вы можете просто отдать телефон сотруднику, который установит его себе на стол и после подключения IP-телефона в сеть, IP-телефон автоматически (без дополнительного вмешательства) получить все настройки, который были созданы нами ранее.