Статья №321
Удаленная телефонная книга XML
Отображение контактной информации на телефоне, из раздела "Мои контакты". Проверенно на Yealink SIP-T22.
Есть множество вариантов к решению поставленной задачи. Предлагаемый мой вариант не является идеалом, а всего лишь пример реализации.
1. БД MS SQL server 2005, поэтому создаем хранимую процедуру. (по мотивам http://r.oktell.ru/wiki/252/ )
CREATE PROCEDURE spravkatel
@first [int],
@ret2 [nvarchar] (200) output,
@ret [nvarchar] (200) output
AS
BEGIN
SELECT top 1 @ret2=[name], @ret=[ID] FROM [oktell].[dbo].[A_Clients]
where [ID] NOT IN
(SELECT top (@first) [id]
FROM [oktell].[dbo].[A_Clients] ORDER BY [NAME]) ORDER BY [NAME]
END
GO
<br/>
<br/>
2. Создаем сценарий.
Логика сценария:
1) Удаляем файл с телефонной книгой (при наличии).
2) Создаем новый файл с начальными значениями.
3) Запускаем хранимую процедуру с входящим параметром. (От 0 и далее)
4) Получаем от хранимой процедуры имя клиента и его ID.
5) Определяем кол-во телефонных номеров у клиента.
6) Определяем сами номера и добавляем информацию в файл.
Далее по кругу с 3 пункта. Сценарий заканчивает свою работу, когда хранимая процедура возвращает пустые значения и вносятся все значения в XML файл.
3. Размещаем созданный файл HTTP, TFTP, FTP, HTTPS и подключаем его к телефону.
В итоге, после запуска сценария, данные из модуля "Мои контакты" будут сохранены в файл, который и будут открывать телефоны. (запуск сценария можно автоматизировать служебной задачей.)
- Телефонная книга XML.oscr (5 Kb)