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

Материал из Oktell
Перейти к: навигация, поиск
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
[[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
+
{|cellpadding="10" cellspacing="0" border="0"
 +
| [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
 +
| [[Работа со статусом пользователя|Работа со статусом пользователя<<<]]
 +
| [[Работа с правилами переадресации]]
 +
| [[Работа с голосовой почтой|>>>Работа с голосовой почтой]]
 +
|-
 +
|}
  
===Методы для работы с правилами переадресации===
+
==Методы для работы с правилами переадресации==
  
 
*'''<span style="color:blue">string</span> Redirect_GetUserRules ( )'''. Возвращает XML-строку с набором существующих для текущего авторизованного пользователя правил переадресации. В случае ошибки возвращается <span style="color:blue">NULL</span>.
 
*'''<span style="color:blue">string</span> Redirect_GetUserRules ( )'''. Возвращает XML-строку с набором существующих для текущего авторизованного пользователя правил переадресации. В случае ошибки возвращается <span style="color:blue">NULL</span>.
Строка 7: Строка 13:
 
Формат возвращаемого 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="redirectrules" count="4">
 
  <data name="redirectrules" count="4">
Строка 168: Строка 174:
 
   </property_set>
 
   </property_set>
 
  </data>
 
  </data>
  </oktellcommapper>
+
  </oktellcommapper></nowiki>
  
 
В случае, если раздел <span style="color:green">abonents</span> пуст, это означает что правило применимо для всех вызовов.
 
В случае, если раздел <span style="color:green">abonents</span> пуст, это означает что правило применимо для всех вызовов.
Строка 176: Строка 182:
 
  <span style="color:blue">public enum</span> ECommType
 
  <span style="color:blue">public enum</span> ECommType
 
  {
 
  {
  Sunday = 0,        <span style="color:darkviolet">//Воскресенье</span>
+
  Sunday   = 0,        <span style="color:darkviolet">//Воскресенье</span>
  Monday = 1,        <span style="color:darkviolet">//Понедельник</span>  
+
  Monday   = 1,        <span style="color:darkviolet">//Понедельник</span>  
  Tuesday = 2,        <span style="color:darkviolet">//Вторник </span>
+
  Tuesday   = 2,        <span style="color:darkviolet">//Вторник </span>
 
  Wednesday = 3,        <span style="color:darkviolet">//Среда </span>
 
  Wednesday = 3,        <span style="color:darkviolet">//Среда </span>
  Thirsday = 4,        <span style="color:darkviolet">//Четверг </span>
+
  Thirsday = 4,        <span style="color:darkviolet">//Четверг </span>
  Friday = 5,        <span style="color:darkviolet">//Пятница </span>
+
  Friday   = 5,        <span style="color:darkviolet">//Пятница </span>
  Saturday = 6       <span style="color:darkviolet">//Суббота </span>
+
  Saturday = 6         <span style="color:darkviolet">//Суббота </span>
 
  }
 
  }
  
Строка 190: Строка 196:
 
  {
 
  {
 
  Disabled = 0,        <span style="color:darkviolet">//Отключенное </span>
 
  Disabled = 0,        <span style="color:darkviolet">//Отключенное </span>
  Enabled = 1,       <span style="color:darkviolet"> //Включено </span>
+
  Enabled = 1,       <span style="color:darkviolet">//Включено </span>
  Active = 2        <span style="color:darkviolet">//Активно </span>
+
  Active   = 2,       <span style="color:darkviolet">//Активно </span>
 
  }
 
  }
  
Строка 198: Строка 204:
 
  <span style="color:blue">public enum</span> ERedirectAbonentType
 
  <span style="color:blue">public enum</span> ERedirectAbonentType
 
  {
 
  {
  ExtNumber       = 0,       <span style="color:darkviolet">//Внешний номер </span>
+
  ExtNumber       = 0,       <span style="color:darkviolet">//Внешний номер </span>
  User       = 1,       <span style="color:darkviolet">//Пользователь </span>
+
  User           = 1,       <span style="color:darkviolet">//Пользователь </span>
  UserDepartment = 2,       <span style="color:darkviolet">//Отдел </span>
+
  UserDepartment = 2,       <span style="color:darkviolet">//Отдел </span>
  Client       = 3,       <span style="color:darkviolet">//Клиент </span>
+
  Client         = 3,       <span style="color:darkviolet">//Клиент </span>
  ClientGroup = 4       <span style="color:darkviolet">//Группа клиентов </span>
+
  ClientGroup     = 4,      <span style="color:darkviolet">//Группа клиентов </span>
 
  }
 
  }
  
Строка 210: Строка 216:
 
Формат передаваемого 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="redirectrule">
 
  <data name="redirectrule">
Строка 276: Строка 282:
 
   </property_set>
 
   </property_set>
 
  </data>
 
  </data>
  </oktellcommapper>  
+
  </oktellcommapper></nowiki>  
  
  
Строка 283: Строка 289:
 
Формат передаваемого xml (на примере):
 
Формат передаваемого xml (на примере):
  
  <?xml version="1.0" encoding="utf-16"?>
+
  <nowiki><?xml version="1.0" encoding="utf-16"?>
 
  <oktellcommapper version="80710">
 
  <oktellcommapper version="80710">
 
  <data>
 
  <data>
Строка 291: Строка 297:
 
   </property_set>
 
   </property_set>
 
  </data>
 
  </data>
  </oktellcommapper>
+
  </oktellcommapper></nowiki>
  
  
Строка 298: Строка 304:
 
Формат передаваемого xml (на примере):
 
Формат передаваемого xml (на примере):
  
  <?xml version="1.0" encoding="utf-16"?>
+
  <nowiki><?xml version="1.0" encoding="utf-16"?>
 
  <oktellcommapper version="80710">
 
  <oktellcommapper version="80710">
 
  <data>
 
  <data>
Строка 306: Строка 312:
 
   </property_set>
 
   </property_set>
 
  </data>
 
  </data>
  </oktellcommapper>
+
  </oktellcommapper></nowiki>
 +
 
 +
 
 +
{|cellpadding="10" cellspacing="0" border="0"
 +
| [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
 +
| [[Работа со статусом пользователя|Работа со статусом пользователя<<<]]
 +
| [[Работа с правилами переадресации]]
 +
| [[Работа с голосовой почтой|>>>Работа с голосовой почтой]]
 +
|-
 +
|}

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

Наверх Работа со статусом пользователя<<< Работа с правилами переадресации >>>Работа с голосовой почтой

Методы для работы с правилами переадресации

  • string Redirect_GetUserRules ( ). Возвращает XML-строку с набором существующих для текущего авторизованного пользователя правил переадресации. В случае ошибки возвращается NULL.

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

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="redirectrules" count="4">
   <property_set name="redirectrule" id="86c7eeb5-a805-493a-a557-6675b884885c">
     <property_simple key="id" value="86c7eeb5-a805-493a-a557-6675b884885c" />
     <property_cdata key="caption"><![CDATA[тест субботы]]></property_cdata>
     <property_cdata key="description"><![CDATA[]]></property_cdata>
     <property_simple key="priority" value="1" />
     <property_simple key="enabled" value="1" />
     <property_simple key="onlyforredirectstate" value="0" />
     <property_simple key="cascaderedirect" value="0" />
     <property_simple key="numberdestination" value="89050215951" />
     <property_simple key="userid" value="da803f01-ea77-40fa-bc9d-e2efb36fd5a8" />
     <property_simple key="currentstate" value="1" name="Enabled" />
     <property_collection name="extra" count="2">
       <property_set name="abonents" />
       <property_set name="time">
         <property_collection name="time" count="1">
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="6" name="Saturday" />
             <property_simple key="begin" value="10:00" />
             <property_simple key="end" value="13:00" />
           </property_set>
         </property_collection>
       </property_set>
     </property_collection>
   </property_set>
   <property_set name="redirectrule" id="6bbe38b3-094c-4424-b938-539d7e6382c5">
     <property_simple key="id" value="6bbe38b3-094c-4424-b938-539d7e6382c5" />
     <property_cdata key="caption"><![CDATA[Общая переадресация]]></property_cdata>
     <property_cdata key="description"><![CDATA[]]></property_cdata>
     <property_simple key="priority" value="2" />
     <property_simple key="enabled" value="1" />
     <property_simple key="onlyforredirectstate" value="0" />
     <property_simple key="cascaderedirect" value="0" />
     <property_simple key="numberdestination" value="31" />
     <property_simple key="userid" value="da803f01-ea77-40fa-bc9d-e2efb36fd5a8" />
     <property_simple key="currentstate" value="1" name="Enabled" />
     <property_collection name="extra" count="2">
       <property_set name="abonents">
           <property_collection name="abonents" count="2">
                <property_set name="abonent">
                 <property_simple key="type" name="1" value="ExtNumber" />
                 <property_simple key="id" name="00000000-0000-0000-0000-000000000000" />
                 <property_simple key="number" name="4952778419" />
                 <property_cdata key="description"><![CDATA[Теща]]></property_cdata>
                </property_set>
                 <property_set name="abonent">
                 <property_simple key="type" name="1" value="User" />
             <property_simple key="id" name="837afb4a-2be1-5ad3-9bba-1422f2dae0c7" />
                 <property_simple key="number" name="" />
                 <property_cdata key="description"><![CDATA[Иван Петрович]]></property_cdata>
                  </property_set>
           </property_collection>
         </property_set>
       <property_set name="time">
         <property_collection name="time" count="4">
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="3" name="Wednesday" />
             <property_simple key="begin" value="04:00" />
             <property_simple key="end" value="08:00" />
           </property_set>
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="4" name="Thursday" />
             <property_simple key="begin" value="04:00" />
             <property_simple key="end" value="08:00" />
           </property_set>
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="5" name="Friday" />
             <property_simple key="begin" value="09:00" />
             <property_simple key="end" value="16:00" />
           </property_set>
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="6" name="Saturday" />
             <property_simple key="begin" value="09:00" />
             <property_simple key="end" value="16:00" />
           </property_set>
         </property_collection>
       </property_set>
     </property_collection>
   </property_set>
   <property_set name="redirectrule" id="bcd09c4c-9b41-41e8-a62f-abfa01f3f668">
     <property_simple key="id" value="bcd09c4c-9b41-41e8-a62f-abfa01f3f668" />
     <property_cdata key="caption"><![CDATA[t3]]></property_cdata>
     <property_cdata key="description"><![CDATA[]]></property_cdata>
     <property_simple key="priority" value="3" />
     <property_simple key="enabled" value="1" />
     <property_simple key="onlyforredirectstate" value="0" />
     <property_simple key="cascaderedirect" value="0" />
     <property_simple key="numberdestination" value="" />
     <property_simple key="userid" value="da803f01-ea77-40fa-bc9d-e2efb36fd5a8" />
     <property_simple key="currentstate" value="1" name="Enabled" />
     <property_collection name="extra" count="2">
       <property_set name="abonents" />
       <property_set name="time">
         <property_collection name="time" count="4">
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="4" name="Thursday" />
             <property_simple key="begin" value="06:00" />
             <property_simple key="end" value="17:00" />
           </property_set>
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="5" name="Friday" />
             <property_simple key="begin" value="06:00" />
             <property_simple key="end" value="17:00" />
            </property_set>
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="6" name="Saturday" />
             <property_simple key="begin" value="06:00" />
             <property_simple key="end" value="17:00" />
           </property_set>
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="7" name="7" />
             <property_simple key="begin" value="06:00" />
             <property_simple key="end" value="17:00" />
           </property_set>
         </property_collection>
       </property_set>
     </property_collection>
   </property_set>
   <property_set name="redirectrule" id="8cbb1c0f-f900-41a0-a455-c6b24dac336d">
     <property_simple key="id" value="8cbb1c0f-f900-41a0-a455-c6b24dac336d" />
     <property_cdata key="caption"><![CDATA[Неинтересные люди]]></property_cdata>
     <property_cdata key="description"><![CDATA[]]></property_cdata>
     <property_simple key="priority" value="2" />
     <property_simple key="enabled" value="1" />
     <property_simple key="onlyforredirectstate" value="0" />
     <property_simple key="cascaderedirect" value="0" />
     <property_simple key="numberdestination" value="31" />
     <property_simple key="userid" value="da803f01-ea77-40fa-bc9d-e2efb36fd5a8" />
     <property_simple key="currentstate" value="1" name="Enabled" />
     <property_collection name="extra" count="2">
       <property_set name="abonents" /> 
       <property_set name="time">
         <property_collection name="time" count="2">
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="6" name="Saturday" />
             <property_simple key="begin" value="03:00" />
             <property_simple key="end" value="13:00" />
           </property_set>
           <property_set name="periodinfo">
             <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="7" name="7" />
             <property_simple key="begin" value="03:00" />
             <property_simple key="end" value="13:00" />
           </property_set>
         </property_collection>
       </property_set>
     </property_collection>
   </property_set>
 </data>
 </oktellcommapper>

В случае, если раздел abonents пуст, это означает что правило применимо для всех вызовов.

Типы возможных дней недели (поле weekday):

public enum ECommType
{
Sunday    = 0,        //Воскресенье
Monday    = 1,        //Понедельник 
Tuesday   = 2,        //Вторник 
Wednesday = 3,        //Среда 
Thirsday  = 4,        //Четверг 
Friday    = 5,        //Пятница 
Saturday  = 6         //Суббота 
}

Типы возможных состояний правил переадресации (поле currentstate):

public enum ERedirectState
{
Disabled = 0,        //Отключенное 
Enabled  = 1,        //Включено 
Active   = 2,        //Активно 
}

Типы возможных абонентов, на которых назначено правило переадресации (поле type ветки abonent):

public enum ERedirectAbonentType
{
ExtNumber       = 0,       //Внешний номер 
User            = 1,       //Пользователь 
UserDepartment  = 2,       //Отдел 
Client          = 3,       //Клиент 
ClientGroup     = 4,       //Группа клиентов 
}


  • void Redirect_SaveRule ( string xml ). Сохраняет на сервере и применяет передаваемое через XML-строку правило переадресации. В случае существования осуществляет горячую замену правила.

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

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="redirectrule">
   <property_set name="redirectrule">
     <property_simple key="id" value="8cbb1c0f-f900-41a0-a455-c6b24dac336d" />
     <property_cdata key="caption"><![CDATA[Неинтересные люди]]></property_cdata>
     <property_cdata key="description"><![CDATA[]]></property_cdata>
     <property_simple key="priority" value="2" />
     <property_simple key="enabled" value="1" />
     <property_simple key="onlyforredirectstate" value="0" />
     <property_simple key="cascaderedirect" value="0" />
     <property_simple key="numberdestination" value="31" />
     <property_simple key="userid" value="da803f01-ea77-40fa-bc9d-e2efb36fd5a8" />
     <property_simple key="currentstate" value="1" name="Enabled" />
     <property_collection name="extra" count="2">
       <property_set name="abonents">
           <property_collection name="abonents" count="2">
                <property_set name="abonent">
                 <property_simple key="type" value="1" name="usReady" />
                 <property_simple key="number" value="4952778419" />
                 <property_cdata key="description"><![CDATA[Теща]]></property_cdata>
                  </property_set>
                <property_set name="abonent">
                 <property_simple key="type" value="1" name="usReady" />
             <property_simple key="id" value="837afb4a-2be1-5ad3-9bba-1422f2dae0c7" />
                 <property_cdata key="description"><![CDATA[Иван Петрович]]></property_cdata>
                  </property_set>
           </property_collection>
         </property_set>                
       <property_set name="time">
         <property_collection name="time" count="5">
           <property_set name="periodinfo">
                 <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="1" name="Monday" />
                 <property_simple key="begin" value="00:00" />
             <property_simple key="end" value="08:00" />
                  </property_set>
                <property_set name="periodinfo">
                 <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="1" name="Monday" />
                 <property_simple key="begin" value="18:00" />
             <property_simple key="end" value="23:59" />
                  </property_set>
                <property_set name="periodinfo">
                 <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="2" name="Tuesday" />
                 <property_simple key="begin" value="00:00" />
             <property_simple key="end" value="08:00" />
                  </property_set>
                <property_set name="periodinfo">
                 <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="2" name="Tuesday" />
                 <property_simple key="begin" value="18:00" />
             <property_simple key="end" value="23:59" />
                  </property_set>
                <property_set name="periodinfo">
                 <property_simple key="format" value="HH:mm" />
             <property_simple key="weekday" value="0" name="Sunday" />
                <property_simple key="begin" value="00:00" />
             <property_simple key="end" value="23:59" />
                  </property_set>                
         </property_collection>
       </property_set>
     </property_collection>
   </property_set>
 </data>
 </oktellcommapper> 


  • void Redirect_SetEnabled ( string xml ). Меняет состояние активности для указанного в теле XML-строки правила переадресации.

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

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="id" value="3145962b-2141-4b63-960e-9fb7142e0c7b" />
     <property_simple key="enabled" value="1" />     
   </property_set>
 </data>
 </oktellcommapper>


  • void Redirect_DeleteRules ( string xml ). Удаляет указанные в теле XML-строки правила переадресации.

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

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="id" value="3145962b-2141-4b63-960e-9fb7142e0c7b" />
     <property_simple key="id" value="cf8330f4-a0bf-4779-9539-ab8ea6c49df7" />     
   </property_set>
 </data>
 </oktellcommapper>


Наверх Работа со статусом пользователя<<< Работа с правилами переадресации >>>Работа с голосовой почтой