Работа с номерным планом — различия между версиями

Материал из Oktell
Перейти к: навигация, поиск
 
(не показано 10 промежуточных версии этого же участника)
Строка 1: Строка 1:
[[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
+
{|cellpadding="10" cellspacing="0" border="0"
 +
| [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
 +
| [[Сервисное оповещение|Сервисное оповещение<<<]]
 +
| [[Работа с номерным планом]]
 +
| [[Работа со статусом пользователя|>>>Работа со статусом пользователя]]
 +
|-
 +
|}
  
 
==Методы для работы с отображением номерного плана==
 
==Методы для работы с отображением номерного плана==
Строка 6: Строка 12:
  
  
*'''<span style="color:blue">string GetPersonalStates</span> ( )'''. Возвращает состояния объектов номерного плана. Объемный XML установленного образца. Формат обсуждаем. Перечень всех номеров с кодами <span style="color:blue">GUID</span>, префиксами набора, признаком типа номера, в случае если номер индивидуальный стандартный - состояние объекта. Также для каждого стандартного номера перечислены все объекты, входящие в структуру номера. По каждому объекту - код, тип (<span style="color:darkred">user</span>, <span style="color:darkred">fxsline</span>, <span style="color:darkred">usbline</span>, <span style="color:darkred">sipline</span>) и ссылкой на отдел, на который назначен. В случае если объект входит в несколько номеров, информация по нему дублирутся в каждом номере.
+
*'''<span style="color:blue">string</span> GetPersonalStates ( )'''. Возвращает состояния объектов номерного плана. Объемный XML установленного образца. Формат обсуждаем. Перечень всех номеров с кодами <span style="color:blue">GUID</span>, префиксами набора, признаком типа номера, в случае если номер индивидуальный стандартный - состояние объекта. Также для каждого стандартного номера перечислены все объекты, входящие в структуру номера. По каждому объекту - код, тип (<span style="color:darkred">user</span>, <span style="color:darkred">fxsline</span>, <span style="color:darkred">usbline</span>, <span style="color:darkred">sipline</span>) и ссылкой на отдел, на который назначен. В случае если объект входит в несколько номеров, информация по нему дублирутся в каждом номере.
  
  
 
'''Формат возвращаемого xml (на примере):'''
 
'''Формат возвращаемого xml (на примере):'''
  
  <?xml version="1.0" encoding="utf-16"?>
+
  <nowiki><?xml version="1.0" encoding="utf-16"?>
 
  <oktellcommapper version="80710">
 
  <oktellcommapper version="80710">
 
  <data name="personal" count="2">
 
  <data name="personal" count="2">
Строка 41: Строка 47:
 
   </property_set>
 
   </property_set>
 
  </data>
 
  </data>
  </oktellcommapper>
+
  </oktellcommapper></nowiki>
  
  
 
Поле <span style="color:green">isgroup</span> означает не групповой номер сам по себе, а любой непростой номер, по которому не передается состояния. Возможные  типы непростых номеров (поле <span style="color:green">grouptype</span>):
 
Поле <span style="color:green">isgroup</span> означает не групповой номер сам по себе, а любой непростой номер, по которому не передается состояния. Возможные  типы непростых номеров (поле <span style="color:green">grouptype</span>):
  
:standard = 0,        //Стандартный групповой.  
+
:standard = 0,        <span style="color:darkviolet">//Стандартный групповой.</span>
:fast = 1,        //Быстрый набор.  
+
:fast = 1,        <span style="color:darkviolet">//Быстрый набор. </span>
:ivr = 2        //Запуск сценария IVR.  
+
:ivr = 2        <span style="color:darkviolet">//Запуск сценария IVR. </span>
  
  
 
Типы элементов, участвующих в формировании стандартных номеров (поле <span style="color:green">type</span> ветки <span style="color:green">reactobject</span>):
 
Типы элементов, участвующих в формировании стандартных номеров (поле <span style="color:green">type</span> ветки <span style="color:green">reactobject</span>):
  
:user  = 0,        //Пользователь  
+
:user  = 0,        <span style="color:darkviolet">//Пользователь </span>
:fxsline  = 1,        //Внутреннаяя аналоговая линия  
+
:fxsline  = 1,        <span style="color:darkviolet">//Внутреннаяя аналоговая линия </span>
:usbline  = 2,        //USB линия  
+
:usbline  = 2,        <span style="color:darkviolet">//USB линия </span>
:sipline  = 3        //Внутренний SIP-канал  
+
:sipline  = 3        <span style="color:darkviolet">//Внутренний SIP-канал </span>
  
  
Строка 67: Строка 73:
 
'''Пример:'''
 
'''Пример:'''
  
 
+
  <nowiki><?xml version="1.0" encoding="utf-16"?>
  <?xml version="1.0" encoding="utf-16"?>
+
 
  <oktellcommapper version="80710">
 
  <oktellcommapper version="80710">
 
  <data>
 
  <data>
Строка 76: Строка 81:
 
   </event>
 
   </event>
 
  </data>
 
  </data>
  </oktellcommapper>
+
  </oktellcommapper></nowiki>
 +
 
 +
{|cellpadding="10" cellspacing="0" border="0"
 +
| [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
 +
| [[Сервисное оповещение|Сервисное оповещение<<<]]
 +
| [[Работа с номерным планом]]
 +
| [[Работа со статусом пользователя|>>>Работа со статусом пользователя]]
 +
|-
 +
|}

Текущая версия на 08:05, 26 марта 2015

Наверх Сервисное оповещение<<< Работа с номерным планом >>>Работа со статусом пользователя

Методы для работы с отображением номерного плана

Набор методов и событий для реализации модуля отображения объектов номерного плана и их состояний. Методы осуществления вызовов в разделе логики АТС (здесь).


  • string GetPersonalStates ( ). Возвращает состояния объектов номерного плана. Объемный XML установленного образца. Формат обсуждаем. Перечень всех номеров с кодами GUID, префиксами набора, признаком типа номера, в случае если номер индивидуальный стандартный - состояние объекта. Также для каждого стандартного номера перечислены все объекты, входящие в структуру номера. По каждому объекту - код, тип (user, fxsline, usbline, sipline) и ссылкой на отдел, на который назначен. В случае если объект входит в несколько номеров, информация по нему дублирутся в каждом номере.


Формат возвращаемого xml (на примере):

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="personal" count="2">
   <property_set name="number" id="ea156be4-b496-4ddc-9217-fa708cb3a904">
     <property_simple key="guid" value="ea156be4-b496-4ddc-9217-fa708cb3a904" />
     <property_simple key="prefix" value="12" />
     <property_cdata key="caption"><![CDATA[Сметчики]]></property_cdata>
     <property_simple key="isgroup" value="1" />
     <property_simple key="grouptype" value="0" name="standard" />
     <property_collection name="elements" count="2">
       <property_set name="reactobject" id="cf8330f4-a0bf-4779-9539-ab8ea6c49df7">
         <property_simple key="guid" value="cf8330f4-a0bf-4779-9539-ab8ea6c49df7" />
         <property_cdata key="department" value="37ccb224-ff71-3836-c410-a73782ef8d19"><![CDATA[Сметный отдел]]></property_cdata>
         <property_simple key="type" value="0" name="user" />
       </property_set>
       <property_set name="reactobject" id="3145962b-2141-4b63-960e-9fb7142e0c7b">
         <property_simple key="guid" value="3145962b-2141-4b63-960e-9fb7142e0c7b" />
         <property_cdata key="department" value="00000000-0000-0000-0000-000000000000"><![CDATA[Прочие подразделения]]></property_cdata>
         <property_simple key="type" value="1" name="fxsline" />
       </property_set>
     </property_collection>
   </property_set>
   <property_set name="number" id="a4bb8d39-082a-4fde-957b-ff14ddd66f4e">
     <property_simple key="guid" value="a4bb8d39-082a-4fde-957b-ff14ddd66f4e" />
     <property_simple key="prefix" value="03" />
     <property_cdata key="caption"><![CDATA[Портал знакомств - Главное меню]]></property_cdata>
     <property_simple key="isgroup" value="1" />
     <property_simple key="grouptype" value="2" name="ivr" />
   </property_set>
 </data>
 </oktellcommapper>


Поле isgroup означает не групповой номер сам по себе, а любой непростой номер, по которому не передается состояния. Возможные типы непростых номеров (поле grouptype):

standard = 0, //Стандартный групповой.
fast = 1, //Быстрый набор.
ivr = 2 //Запуск сценария IVR.


Типы элементов, участвующих в формировании стандартных номеров (поле type ветки reactobject):

user = 0, //Пользователь
fxsline = 1, //Внутреннаяя аналоговая линия
usbline = 2, //USB линия
sipline = 3 //Внутренний SIP-канал


  • void SetListenPersonalChanges ( bool newvalue ). Осуществляет подписку/отписку от режима прослушивания серверных сообщений о факте смены состояния одним из объектов номерного плана. Рекомендуется в целях экономии ресурсов и трафика подключаться только при работе с интерфейсом номерного плана, и отписываться при закрытии интерфейса. На старте работы с интерфейсом - загружать весь перечень и выстраивать по нему, после чего отслеживать изменения. События поступают через канал сервисного оповещения OnCommunicate


  • PersonalStateChanged (115). Событие смены состояния объектом номерного плана. Возникает только в случае подписки на события этого типа методом SetListenPersonalChanges.


Пример:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <event id="115" name="personalstatechanged">
     <property_simple key="guid" value="916351c3-be6a-4a29-877a-6c8c4b54f8af" />
     <property_simple key="newstate" value="1" name="usReady" />
   </event>
 </data>
 </oktellcommapper>
Наверх Сервисное оповещение<<< Работа с номерным планом >>>Работа со статусом пользователя