![image](https://habrastorage.org/getpro/habr/post_images/e27/dae/e2a/e27daee2a3dde79b9cd0300671fa366c.gif)
IP-телефоны от Cisco, например, популярный 7911G (на анигифе именно он) и более старшие модели, поддерживают возможность выполнения http-запросов для создания сервисов, в частности, телефонного справочника организации.
Как всё это работает. Мы настраиваем скрипт на веб-сервере, которых в ответ на GET-запрос от телефона возвращает строго определённый XML, отображаемый телефоном. Для телефонной книги сначала отображается список отделов:
<CiscoIPPhoneMenu> <MenuItem> <Name>Administration</Name> <URL>http://webserver/phone/telbook.asp?depid=10</URL> </MenuItem> </CiscoIPPhoneMenu>
При выборе отдела телефон делает второй запрос по адресу из URL и отображает уже список сотрудников и их телефонов.
Вот картинка и пример структуры для списка из официального хелпа:
<CiscoIPPhoneDirectory> <Title>Заголовок</Title> <Prompt>Подсказка/подзаголовок</Prompt> <DirectoryEntry> <Name>Имя</Name> <Telephone>Телефон</Telephone> </DirectoryEntry> </CiscoIPPhoneDirectory>
![](https://habrastorage.org/getpro/habr/post_images/11f/ba6/aec/11fba6aec587450e326db633e5b61584.jpg)
Со стороны администратора телефонов требуется прописать вызов нашего скрипта при нажатии какой-то из клавиш или выборе пункта меню, конкретно с 7911G мы используем Application->Help.