Статистика коммутаций

Материал из Oktell
Перейти к: навигация, поиск
Наверх Работа с заказами на встречные звонки<<< Статистика коммутаций >>>Работа с логикой АТС

Методы для работы со статистикой коммутаций

  • string CommStat_GetJournal ( string xml ). Возвращает набор данных об осуществленных системой коммутациях, удовлетворяющих передаваемому в параметре фильтру и доступных текущему авторизованному пользователю по правам контроля. В передаваемом параметре устанавливаются интересующие периоды времени и дат, направление вызовов, конкретные номера и пользователи системы. Также допускается фильтровать звонки, осуществленные колл-центром. Выборка, полученная в результате применения фильтра, возвращается в объеме 1000 первых строк. В зависимости от сложности фильтра и объема таблицы коммутаций в БД запрос может производиться некоторое значительное время (10-20 секунд). Это необходимо иметь в виду при построении визуального модуля. В критичных ко времени задачах вызов метода необходимо осуществлять в асинхронном потоке.

Пример формата параметра-фильтра для поиска записей:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="dateformat" value="dd.MM.yyyy" />
     <property_simple key="timeformat" value="HH:mm" />
     <property_simple key="startdate" value="02.09.2008" />
     <property_simple key="stopdate" value="02.09.2008" />
     <property_simple key="starttime" value="08:00" />
     <property_simple key="stoptime" value="18:00" />
     <property_simple key="connectiontype" value="2" />
     <property_simple key="inner" value="" />
     <property_simple key="outer" value="" />
     <property_simple key="length" value="0:00:01" />
     <property_simple key="operator" value="00000000-0000-0000-0000-000000000000" />
     <property_simple key="task" value="00000000-0000-0000-0000-000000000000" />
     <property_simple key="callcenter" value="1" />
   </property_set>
 </data>
 </oktellcommapper>


В случае, если какие то поля фильтра не указаны, они будут замещены значениями по умолчанию. Однако в случае указания их значения должны соответствовать ожидаемым величинам.

  • dateformat, timeformat - строковые представления формата передаваемых значений дат и времени.
  • startdate, stopdate - границы интервала дат, внутри которого осуществляется поиск записей.
  • starttime, stoptime - границы интервала времени, внутри которого осуществляется поиск записей. Одновременно с широким интервалом дат происходит вырезание интервала времени из каждого попадающего в интересующий интервал дат дня.
  • connectiontype - тип коммутации. Варианты: все(-1), входящие(1), исходящие(2), внутренние(3).
  • inner - внутренний номер, участвующий в коммутации.
  • outer - номер или часть номера абонента.
  • length - минимальная длительность коммутации в формате "H:mm:ss".
  • operator - id конкретного пользователя системы.
  • callcenter - признак фильтрации звонков call-центра по задачам (1 - не фильтруются, 0 - фильтруются).

Пример выходного значения:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="commutationjournal" count="3">
   <property_set name="statrecord">
     <property_simple key="id" value="88025c13-380c-4af7-86bc-ad68ba2edfa0" />
     <property_simple key="idchain" value="ea8ced25-507c-4760-90ce-ed5e7b3c33e6" />
     <property_simple key="idprev" value="" />
     <property_simple key="idnext" value="" />
     <property_simple key="timestart" value="04.09.2008 17:58:08" />
     <property_simple key="timeanswer" value="04.09.2008 17:58:10" />
     <property_simple key="timestop" value="04.09.2008 17:58:12" />
     <property_simple key="reasonstart" value="4" />
     <property_simple key="reasonstop" value="2" />
     <property_simple key="stopside" value="0" />
     <property_simple key="alineid" value="254aa1fc-4e18-4ad3-99ea-eb52417dd5a2" />
     <property_simple key="blineid" value="cf8330f4-a0bf-4779-9539-ab8ea6c49df7" />
     <property_simple key="aoutnumber" value="" />
     <property_simple key="boutnumber" value="12" />
     <property_simple key="alinenum" value="16016" />
     <property_simple key="blinenum" value="15001" />
     <property_simple key="auserid" value="da803f01-ea77-40fa-bc9d-e2efb36fd5a8" />
     <property_simple key="buserid" value="67e62e9a-a400-4f26-a1ac-b535e17a44f7" />
     <property_simple key="anumberdialed" value="12" />
     <property_simple key="bnumberdialed" value="" />
     <property_simple key="isrecorded" value="1" />
     <property_simple key="connectiontype" value="3" />
     <property_cdata key="astr"><![CDATA[Петр]]></property_cdata>
     <property_simple key="bstr" value="z01" />
     <property_simple key="fromcc" value="0" />
     <property_simple key="isbetweenusers" value="1" />
     <property_simple key="idrecdir" value="0" />
     <property_simple key="length" value="00:00:01" />
     <property_simple key="answerlength" value="00:00:02" />
   </property_set>
   <property_set name="statrecord">
     <property_simple key="id" value="caf4fbd7-a75a-4755-af71-56cd0feaffea" />
     <property_simple key="idchain" value="59f5066d-85f8-4b7b-bb75-278d92b82809" />
     <property_simple key="idprev" value="" />
     <property_simple key="idnext" value="" />
     <property_simple key="timestart" value="04.09.2008 17:58:01" />
     <property_simple key="timeanswer" value="04.09.2008 17:58:01" />
     <property_simple key="timestop" value="04.09.2008 17:58:04" />
     <property_simple key="reasonstart" value="4" />
     <property_simple key="reasonstop" value="3" />
     <property_simple key="stopside" value="1" />
     <property_simple key="alineid" value="254aa1fc-4e18-4ad3-99ea-eb52417dd5a2" />
     <property_simple key="blineid" value="00000000-0000-0000-0000-000000000000" />
     <property_simple key="aoutnumber" value="" />
     <property_simple key="boutnumber" value="03" />
     <property_simple key="alinenum" value="16016" />
     <property_simple key="blinenum" value="IVR" />
     <property_simple key="auserid" value="da803f01-ea77-40fa-bc9d-e2efb36fd5a8" />
     <property_simple key="buserid" value="ab000000-0000-0000-0000-000000000000" />
     <property_simple key="anumberdialed" value="03" />
     <property_simple key="bnumberdialed" value="" />
     <property_simple key="isrecorded" value="0" />
     <property_simple key="connectiontype" value="2" />
     <property_cdata key="astr"><![CDATA[Петр]]></property_cdata>
     <property_simple key="bstr" value="IVR" />
     <property_simple key="fromcc" value="0" />
     <property_simple key="isbetweenusers" value="0" />
     <property_simple key="idrecdir" value="0" />
     <property_simple key="length" value="00:00:02" />
     <property_simple key="answerlength" value="00:00:00" />
   </property_set>
   <property_set name="statrecord">
     <property_simple key="id" value="17e0f64e-b24e-4654-b937-1b27ac882acd" />
     <property_simple key="idchain" value="047f4b28-9436-4806-bba4-fecc11710f6a" />
     <property_simple key="idprev" value="" />
     <property_simple key="idnext" value="" />
     <property_simple key="timestart" value="04.09.2008 17:14:30" />
     <property_simple key="timeanswer" value="04.09.2008 17:14:32" />
     <property_simple key="timestop" value="04.09.2008 17:14:43" />
     <property_simple key="reasonstart" value="4" />
     <property_simple key="reasonstop" value="2" />
     <property_simple key="stopside" value="1" />
     <property_simple key="alineid" value="cf8330f4-a0bf-4779-9539-ab8ea6c49df7" />
     <property_simple key="blineid" value="80af2224-2d73-4af0-8f66-d2ad92c6c035" />
     <property_simple key="aoutnumber" value="" />
     <property_simple key="boutnumber" value="21" />
     <property_simple key="alinenum" value="15001" />
     <property_simple key="blinenum" value="15002" />
     <property_simple key="auserid" value="67e62e9a-a400-4f26-a1ac-b535e17a44f7" />
     <property_simple key="buserid" value="48038abc-3a2f-4625-a775-4bff61ffa32a" />
     <property_simple key="anumberdialed" value="21" />
     <property_simple key="bnumberdialed" value="" />
     <property_simple key="isrecorded" value="1" />
     <property_simple key="connectiontype" value="3" />
     <property_simple key="astr" value="z01" />
     <property_simple key="bstr" value="z02" />
     <property_simple key="fromcc" value="0" />
     <property_simple key="isbetweenusers" value="1" />
     <property_simple key="idrecdir" value="0" />
     <property_simple key="length" value="00:00:10" />
     <property_simple key="answerlength" value="00:00:02" />
   </property_set>
 </data>
 </oktellcommapper>


  • void CommStat_RemoveRecords ( string xml ) Позволяет обладающему на то правом пользователю удалять файлы с записями разговоров. В передаваемом параметре указываются идентификаторы коммутаций, требующих очистки признака записи (idconnection или id).

Пример формата параметра-фильтра для поиска записей:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="id" value="10000000-0000-0000-0000-000000000000" />
     <property_simple key="id" value="20000000-0000-0000-0000-000000000000" />
     <property_simple key="id" value="30000000-0000-0000-0000-000000000000" />     
   </property_set>
 </data>
 </oktellcommapper>


  • bool CommStat_DownloadFile ( string xml ). Осуществляет загрузку файла с записью разговора, соответствующего коммутации, идентификатор которой передается в параметре (idconnection или id). Возвращает TRUE в случае успешной загрузки, FALSE в противном случае. В передаваемом параметре помимо идентификатора коммутации передается также путь на диске, куда следует разместить файл после закачки (path), путь должен включать также имя файла. В случае существования файла, он будет заменен.

Пример формата параметра-фильтра для поиска записей:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="id" value="10000000-0000-0000-0000-000000000000" />
     <property_cdata key="path"><![CDATA[C:\Temp\1.wav]]></property_cdata>
   </property_set>
 </data>
 </oktellcommapper>


  • bool CommStat_DownloadFilesInChainSimple ( string xml ). Осуществляет загрузку файлов с записями коммутаций по ID цепочки (параметр idchain или id). Возвращает TRUE в случае успешной загрузки (хотя бы один файл загружен), FALSE в противном случае. В передаваемом параметре помимо идентификатора коммутации передается также путь к каталогу на диске, куда следует разместить файлы после закачки (path). В случае существования файлов в каталоге с теми же именами, они будет заменены.

Пример формата параметра-фильтра для поиска записей:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="idchain" value="123456789-1234-1234-1234-1234567890AB" />
     <property_cdata key="path"><![CDATA[C:\Temp\Chain\]]></property_cdata>
   </property_set>
 </data>
 </oktellcommapper>


  • string CommStat_DownloadFilesInChain ( string xml ). Осуществляет загрузку файлов с записями коммутаций по ID цепочки (параметр idchain или id). Возвращает XML строку с информацией о всех коммутациях в цепочке (аналогичной журналу коммутаций), дополненной полным путем размещения и размерностью полученного файла в байтах (если коммутация имеет файл и он загружен). В передаваемом параметре помимо идентификатора коммутации передается также путь к каталогу на диске, куда следует разместить файлы после закачки (path). В случае существования файлов в каталоге с теми же именами, они будет заменены.

Пример формата параметра-фильтра для поиска записей:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="id" value="123456789-1234-1234-1234-1234567890AB" />
     <property_cdata key="path"><![CDATA[C:\Temp\Chain]]></property_cdata>
   </property_set>
 </data>
 </oktellcommapper>


Пример формата возвращаемого значения, если коммутации по указанной цепочке не найдены

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="chainrecords" count="1">
   <property_set name="result">
     <property_simple key="result" value="0" name="success" />
   </property_set>
 </data>
 </oktellcommapper>


Пример формата возвращаемого значения (в цепочке одна коммутация, присутствует запись)

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data name="chainrecords" count="1">
   <property_set name="result">
     <property_simple key="result" value="0" name="success" />
     <property_collection name="files" count="1">
       <property_set name="commutation">
         <property_simple key="id" value="35094d61-8acc-4797-b334-8098aaaa13ee" />
         <property_simple key="idchain" value="eec44cd3-f60f-494e-b457-b41a495e9640" />
         <property_simple key="idprev" value="" />
         <property_simple key="idnext" value="" />
         <property_simple key="timestart" value="01.11.2008 13:23:32" />
         <property_simple key="timeanswer" value="01.11.2008 13:23:34" />
         <property_simple key="timestop" value="01.11.2008 13:25:09" />
         <property_simple key="reasonstart" value="4" />
         <property_simple key="reasonstop" value="2" />
         <property_simple key="stopside" value="1" />
         <property_simple key="alineid" value="cf8330f4-a0bf-4779-9539-ab8ea6c49df7" />
         <property_simple key="blineid" value="80af2224-2d73-4af0-8f66-d2ad92c6c035" />
         <property_simple key="aoutnumber" value="" />
         <property_simple key="boutnumber" value="21" />
         <property_simple key="alinenum" value="15001" />
         <property_simple key="blinenum" value="15002" />
         <property_simple key="auserid" value="67e62e9a-a400-4f26-a1ac-b535e17a44f7" />
         <property_simple key="buserid" value="48038abc-3a2f-4625-a775-4bff61ffa32a" />
         <property_simple key="anumberdialed" value="21" />
         <property_simple key="bnumberdialed" value="" />
         <property_simple key="isrecorded" value="1" />
         <property_simple key="connectiontype" value="3" />
         <property_simple key="astr" value="Никитин Виктор" />
         <property_simple key="bstr" value="Алексеев Константин" />
         <property_simple key="fromcc" value="0" />
         <property_simple key="isbetweenusers" value="1" />
         <property_simple key="idrecdir" value="0" />
         <property_cdata key="filepath"><![CDATA[C:\Temp\Chain\mix_15001_15002__2008_11_01__13_23_32_990.wav]]></property_cdata>
         <property_simple key="filesize" value="153188" />
       </property_set>
     </property_collection>
   </property_set>
 </data>
 </oktellcommapper> 


Возможные варианты результатов выполнения запроса на закачку файлов.

public enum EDownloadChainResult
{
               success              = 0, //Успешное выполнение
               nullparam            = 1, //Передан пустой параметр
               guidemptychain       = 2, //Передан пустой код цепочки
               incorrectpath        = 3, //Указанный путь некорректен, недоступен или отсутствует право записи
               exception            = 4, //Исключение при закачке и сохранение (с описанием)
}


  • string CommStat_GetMyCalls ( string xml ). Возвращает набор данных об осуществленных системой коммутациях с участием текущего авторизованного пользователя, удовлетворяющих передаваемому в параметре фильтру. В передаваемом параметре устанавливаются интересующие период дат, направление вызовов, конкретный номер. Выборка, полученная в результате применения фильтра, возвращается в объеме 1000 первых строк. В зависимости от сложности фильтра и объема таблицы коммутаций в БД запрос может производиться некоторое время, но значительно меньшее чем при построении статистики АТС. Это необходимо иметь в виду при построении визуального модуля. В критичных ко времени задачах вызов метода необходимо осуществлять в асинхронном потоке.

Пример формата параметра-фильтра для поиска записей:

<?xml version="1.0" encoding="utf-16"?>
 <oktellcommapper version="80710">
 <data>
   <property_set>
     <property_simple key="dateformat" value="dd.MM.yyyy" />
     <property_simple key="timeformat" value="HH:mm" />
     <property_simple key="startdate" value="02.09.2008" />
     <property_simple key="stopdate" value="02.09.2008" />
     <property_simple key="number" value="425" />
     <property_simple key="media" value="1" />
     <property_simple key="type" value="2" />
   </property_set>
 </data>
 </oktellcommapper>


В случае, если какие то поля фильтра не указаны, они будут замещены значениями по умолчанию. Однако в случае указания их значения должны соответствовать ожидаемым величинам.

  • dateformat, timeformat - строковые представления формата передаваемых значений дат и времени.
  • startdate, stopdate - границы интервала дат, внутри которого осуществляется поиск записей.
  • number - номер или часть номера абонента.
  • media - среда оппозитного канала: все (0), внешняя (1), внутренняя (2), смешанная (3).
  • type - тип вызова: все (0), входящие (1), исходящие (2).


Наверх Работа с заказами на встречные звонки<<< Статистика коммутаций >>>Работа с логикой АТС