понедельник, 21 апреля 2014 г.

Телефонная книга для panasonic kx-ut123.

При настройке panasonic kx-ut123 столкнулся с тем что нет информации про синтаксис XML файла телефонной книги не в одном официальном и неофициальном источнике. После переписки с техподдержкой и недели тестов были получены настройки.



<?xml version="1.0" encoding="utf-8"?>
<ppxml xmlns="http://panasonic/sip_phone" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://panasonic/sip_screen sip_screen.xsd">
<Screen name="screen1" version="2.0">
<PhoneBook version="1.0">
<Personnel id="1">
<Name>Test User01</Name>
<Ruby>Test01</Ruby>
<PhoneNums>
<PhoneNum type="ext">6789</PhoneNum>
<PhoneNum type="company">382719</PhoneNum>
<PhoneNum type="mobile">928378</PhoneNum> </PhoneNums>
</Personnel>
<Personnel id="2">
<Name>Test User01</Name>
<Ruby>Test01</Ruby>
<PhoneNums>
<PhoneNum type="ext">6789</PhoneNum>
</PhoneNums>
<PhoneNums>
<PhoneNum type="ext">6789</PhoneNum>
<PhoneNum type="company">382719</PhoneNum>
<PhoneNum type="mobile">928378</PhoneNum>
<PhoneNum type="home">6789</PhoneNum>
<PhoneNum type="etc">382719</PhoneNum>
<PhoneNum type="ext1">6058</PhoneNum>
<PhoneNum type="company1">777058</PhoneNum>
<PhoneNum type="mobile1">888012</PhoneNum>
<PhoneNum type="home1">6058</PhoneNum>
<PhoneNum type="etc1">777058</PhoneNum>
</PhoneNums>
</Personnel>
</PhoneBook>
</Screen>
</ppxml>

19 комментариев:

  1. Пробую указать на ваш пример в web-интерфейсе телефона:
    Telephone - Application Settings - Network Phonebook URL - http://url/phonebook.xml
    Однако после перезапуска телефона адресная книга пуста. Может подскажете возможную проблему?

    ОтветитьУдалить
  2. А ты пробовал заходить на страницу http://url/phonebook.xml? она должна отобразиться как обычная XML страница. только сейчас у себя заметил ошибку в кавычках. Сейчас подправлю.

    ОтветитьУдалить
  3. Михаил, сразу не отписал по вопросу.
    Насчет кавычек я быстро разобрался, проблема была в другом -- я не включил Network - Application Settings - Enable Application [YES]
    Книга подгрузилась (вернее она подгружается при каждом обращении к ней).
    Но самое плохое, что она не задействуется при входящем звонке. То есть я хотел распространить ее на все телефоны в офисе, а она в плане определения абонента по входящему звонку оказалась босполезна :(

    ОтветитьУдалить
  4. Не могу подгрузить с сервера больше 54 записей, если в каждом Personnel одна запись PhoneNum. Иначе ещё меньше. В чём может быть проблема?

    ОтветитьУдалить
  5. Я вот поэкспериментировал и такие выводы:
    1. ошибка при чрезмерно большой телефонной книге: "0103 -
    Can not handle elements (Too much Elements)", что само говорит о каком-то аппаратном/программном ограничении телефона
    2. в документации UT_XML_DevelopersGuide_Rev1.20.pdf везде красной нитью проходит URL для телефонной книжки с параметром "?max_rec=20", что как бы намекает на определенный стиль использования книги
    3. в упомянутом мануале в разделе "5.2.8. PhoneBook" атрибут id может иметь значение в диапазоне 1-20
    4. попробовал составить адресную книгу с заполнением всех допустимых элементов и атрибутов, подгружается книжка только до 21 элемента иначе валится с ошибкой 0103

    В итоге отказался от такой реализации телефонной книги, веду свою книгу на asterisk'е и из диалплана делаю обращение к ней с последующим занесением в CallerName.

    ОтветитьУдалить
    Ответы
    1. Не совсем понял если честно...
      Задача состоит в том, чтобы сотрудник на телефоне мог найти внутренний номер другого сотрудника по фамилии.
      Телефонная книга внутри аппарата не должна замещаться корпоративной (так как некоторые любят вести свои списки для быстрого набора)
      Как это реализуется через Астериск?

      Удалить
  6. Телефонная книга книга телефона ведется локально владельцем телефона. Имеется возможность через web-интерфейс ее выгрузить и через этот же web-интерфейс загрузить на другой аппарат. Какого-либо API для автоматизации этого процесса в настоящий момент нет. Только ручками.
    Обсуждаемая здесь сетевая телефонная книга как раз и является корпоративной в вашем понимании. При обращении к ней ее содержимое автоматически подгружается из какого-либо ресурса (выделенная база данных/LDAP/прочее) и ведется на корпоративном уровне. Так вот эта самая сетевая книга подгружается на телефон порциями по 20 сотрудников.
    Вопрос: как же ей пользоваться такой ущербной?
    Ответ: подразумевается использование поиска по части имени сотрудника -- ввел имя/фамилию, получил выборку абонентов, удовлетворяющих заданным критериям.

    В моем случае вопрос использования адресной книги состоит не в наборе номера сотрудника, а в отображении имени звонящего для входящих вызовов. Таким образом моя адресная книга набита не именами сотрудников (компания у нас небольшая), а именами клиентов.

    ОтветитьУдалить
    Ответы
    1. А не проще вообще вынести книгу за пределы телефона например на web страницу и добавить возможность отправить звонок клиенту и на свой телефон?

      Удалить
  7. Тоже пытаюсь победить эту задачу.
    Ни у кого решения за этот период не появилось насчет телефонной книге более чем на 100 номеров в данных моделях?
    Каким образом в вышепредоставленном примере выделить корректность введения 1 внутреннего номера с именем и фамилией?

    ОтветитьУдалить
  8. veulk:
    Плохо в этом блоге нет уведомления о сообщениях в теме :( Ответ запоздал на две недели.
    1. Таки нужно определиться с понятием телефонной книги: это локальная телефонная книга аппарата или сетевая телефонная книга, которая подгружается с сетевого ресурса? Вы о какой говорите?
    2. Не совсем понятна фраза "корректность выделения 1 внутреннего номера с именем и фамилией". В примере одному абоненту с сопоставлено свойство с описанием имени/фамилии и нескольких телефонных номеров . Сопоставление имя-телефон вполне логично, понятно и корректно. Или я не понял вашего вопроса?

    ОтветитьУдалить
  9. Есть один способ, расширить сетевую книгу с 20 записей до сколько нужно. Это создать меню с группами. Один минус, при разговоре , сетевая книга не отображается :(

    ОтветитьУдалить
    Ответы
    1. Да есть import адресной книги но этот способ не подойдет если у вас много телефонов и часто меняются сотрудники.

      Удалить
  10. Всем привет. Столкнулся с проблемой, когда вывод сетевой адресной книги kx-ut113 ограничен 20 записями. Связался с тех.поддержкой Панасоника, они подсказала, в какую сторону копать, дали пример.
    В общем схема такая:
    1. Делаем БД, куда заносим все контакты.
    2. На веб-сервер кидаем пхп скрипт, который будет забирать из БД только те записи, что выйдут по запросу на телефоне.
    3. В телефоне ставим Network Phonebook URL = http://192.168.1.1/pbs2.php

    Например, юзер нажимает телефонную книгу, нажимает "поиск", вводит "Alex". Телефон отправляет GET name=Alex. Скрипт обращается к базе и формирует xml со всеми пользователями, удовлетворяющими запросу, который скармливает телефону. Таким образом удается обойти ограничение в 20 записей.

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

    https://drive.google.com/open?id=0B5oj79IPn-2FZ0FZZ0RESHE0X1E

    ОтветитьУдалить
    Ответы
    1. Отличный скрипт :) немного его сделал под себя т.к. у меня все SIP пользователи хранятся в MySQL просто интегрировал в нее

      Удалить
    2. Не подскажешь как связался в техподдержкой?

      Удалить
  11. Листаю https://panasonic.net/cns/pcc/support/sipphone/download/TGP6/TGP600_HDV_XML_DevelopersGuide_Rev2.50.pdf
    и очень интересна функция XMLAPP_INCOMING_URL
    вроде как при входящем звонке должен отправлять некий запрос по этому URL. Но вот беда, сниффером вижу что даже не пытается... А уж что в ответ ожидает вообще загадака :(

    ОтветитьУдалить
    Ответы
    1. Там вообще много интересных функций, которые хотелось бы как-то реализовать, но информации в документации недостаточно, эксперименты ни к чему не привели :(
      XMLAPP_INCOMING_URL: по номеру входящего в общей базе искать абонента, отображать доп. информацию по нему
      XMLAPP_IDLING_URL: отображать информацию о погоде / днях рождения / ...
      Вот эти функции я бы покопал для интереса, но после пары дней экспериментов как-то забил :(

      Удалить
    2. Я тоже думал именно так о них, но аппарат даже запроса не делает на сервер. Я вписал туда свой HTTP, подсунул пустой XML. С надеждой, что он сейчас начнёт соединяться, а там посмотрим. Но он даже не соединяется, а ошибку на дисплее пишет - 01А1 что ли...

      Удалить