|
|
Строка 1: |
Строка 1: |
− | [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]]
| + | '''Типы событий:''' |
| | | |
− | == Канал сервисного оповещения ==
| |
| | | |
− | Сервисные события системы поступают по каналу события <span style="color:darkred">OnCommunicate</span>. Параметризованные строкой с XML содержимым в UTF-16. Формат поступающих xml обсуждаем. Общие принципы формирования структуры xml параметров представлены [[Форматы и договоренности|здесь]], примеры конкретных реализация представлены в текущем разделе. При использовании режима XmlLogging (метод <span style="color:darkred">SetXmlLogging</span>), все генерируемые xml-параметры на выходе размещаются в '''CommonLog''' с заголовком xmlevent.
| + | :<pre>ShutdownRequested = 101 </pre> |
| + | :RestartRequested = 102 |
| + | :ConnectionLost = 103 |
| | | |
| | | |
− | '''Типы событий:'''
| + | :UserStateChanged = 111 |
− | {|cellpadding="0" cellspacing="0" border="0"
| + | :Notify = 112 |
− | |:ShutdownRequested
| + | :VoiceMail = 113 |
− | |= 101
| + | :UserMessage = 114 |
− | |-
| + | :PersonalStateChanged = 115 |
− | |:RestartRequested
| + | |
− | |= 102
| + | |
− | |-
| + | |
− | |:ConnectionLost
| + | |
− | | = 103
| + | |
− | |-
| + | |
− | |
| + | |
− | |
| + | |
− | |-
| + | |
− | |:UserStateChanged
| + | |
− | | = 111
| + | |
− | |-
| + | |
− | |:Notify
| + | |
− | | = 112
| + | |
− | |-
| + | |
− | |:VoiceMail
| + | |
− | | = 113
| + | |
− | |-
| + | |
− | |:UserMessage
| + | |
− | | = 114
| + | |
− | |-
| + | |
− | |:PersonalStateChanged
| + | |
− | | = 115
| + | |
− | |-
| + | |
| | | |
| | | |
− | |:HALSrvRegSuccess
| + | :HALSrvRegSuccess = 201 |
− | | = 201
| + | |
− | |-
| + | |
− | |}
| + | |
| :HALSrvRegTimeout = 202 | | :HALSrvRegTimeout = 202 |
| :HALDeviceFound = 203 | | :HALDeviceFound = 203 |
Строка 77: |
Строка 51: |
| :ConferenceNotifyInvite = 267 | | :ConferenceNotifyInvite = 267 |
| :ConferenceUserStateChanged = 268 | | :ConferenceUserStateChanged = 268 |
− |
| |
− |
| |
− | Описание и примеры событий 101 - 114 приведены ниже в текущем разделе, а остальных - в соответствующих им разделах.
| |
− |
| |
− |
| |
− | *'''<span style="color:darkred">ShutdownRequested</span> (101)'''. Возникает при запросе администратором oktell выгрузки клиентских (или клиентского) приложения. Дублируется в канале события <span style="color:darkred">OnServiceMessage</span> канале (13101 - Shutdown).
| |
− |
| |
− | '''Пример:'''
| |
− |
| |
− | <?xml version="1.0" encoding="utf-16"?>
| |
− | <oktellcommapper version="80710">
| |
− | <data>
| |
− | <event id="101" name="shutdownrequested" />
| |
− | </data>
| |
− | </oktellcommapper>
| |
− |
| |
− |
| |
− | *'''<span style="color:darkred">RestartRequested</span> (102)'''. Возникает в случае падения TCP канала связи с сервером. Дублируется в канале события <span style="color:darkred">OnServiceMessage</span> канале (13102 - Restart).
| |
− |
| |
− | '''Пример:'''
| |
− |
| |
− | <?xml version="1.0" encoding="utf-16"?>
| |
− | <oktellcommapper version="80710">
| |
− | <data>
| |
− | <event id="102" name="restartrequested" />
| |
− | </data>
| |
− | </oktellcommapper>
| |
− |
| |
− |
| |
− | *'''<span style="color:darkred">ConnectionLost</span> (103)'''. Возникает в случае падения TCP канала связи с сервером. Дублируется в канале события <span style="color:darkred">OnServiceMessage</span> канале (13103 - ConnectionLost).
| |
− |
| |
− | '''Пример:'''
| |
− |
| |
− | <?xml version="1.0" encoding="utf-16"?>
| |
− | <oktellcommapper version="80710">
| |
− | <data>
| |
− | <event id="103" name="connectionlost" />
| |
− | </data>
| |
− | </oktellcommapper>
| |
− |
| |
− |
| |
− | *'''<span style="color:darkred">UserStateChanged</span> (111)'''. Возникает при смене состояния текущего зарегистрированного пользователя на сервере. Изменяется только сервером. Также вместе с состоянием приходит флаг-признак переадресации. Для изменения состояния по инициативе клиентского приложения существует метод <span style="color:darkred">SetUserState</span> ( <span style="color:blue">string</span> xml ), который посылает запрос серверу на проведения смены состояний. Сервер может отказать по своему усмотрению.
| |
− |
| |
− | '''Возможные состояния:'''
| |
− |
| |
− | :usDisconnected = 0. Пользователь отключен. Для текущего пользователя - отсутствие связи с сервером логики.
| |
− | :usReady = 1. Пользователь на месте в готовом состоянии, не занят в задачах, линия свободна.
| |
− | :usLunch = 2. Оператор в перерыве.
| |
− | :usOff = 3. Пользователя нет на месте. Выставляется, если пользователь не снял трубку в ходе поступающего вызова в течение установленного времени. Фильтрует дальнейшее поступление звонков
| |
− | :usFullbusy = 5. Пользователь занят в задаче или в разговоре
| |
− | :usReserved = 6. Пользователь зарезервирован задачей (быстрое состояние)
| |
− | :usWOphone = 7. Пользователь зарегистрирован, но линия отсутствует, отключена или в неопределенном состоянии.
| |
− |
| |
− | Состояния пользователей также используются в других событиях и методах (например событие <span style="color:darkred">PersonalStateChanged</span> (115) или метод <span style="color:darkred">SetUserState</span> )
| |
− |
| |
− | '''Пример:'''
| |
− |
| |
− | <?xml version="1.0" encoding="utf-16"?>
| |
− | <oktellcommapper version="80710">
| |
− | <data>
| |
− | <event id="111" name="userstatechanged">
| |
− | <property_simple key="newstate" value="7" name="usWOphone" />
| |
− | <property_simple key="redirect" value="0" />
| |
− | </event>
| |
− | </data>
| |
− | </oktellcommapper>
| |
− |
| |
− |
| |
− | *'''<span style="color:darkred">Notify</span> (112)'''. Возникает при поступлении системного уведомления, которые генерирует сервер или нижняя прослойка клиентского приложения. Существуют различные типы(направления). По аналогии с клиентским приложением oktell уведомления содержат признаки: автоскрытие, цвет, тип, время поступления, признак сохранения в БД (в случае TRUE можно в разделе истории уведомлений увидеть), отправитель, текст. Каждый тип уведомления имеет свой установленный цвет отображения и иконку (это делается для привыкания к аналоговой информации и последующего быстрого подсознательного реагирования). Свойство "цвет" используется только типом nltColor поступающих уведомлений.
| |
− |
| |
− | Типы уведомлений - флаговые, но ходят по одному.
| |
− |
| |
− | :nltNone = 0x00000,
| |
− | :nltControlEvent = 0x00002, Контрольное событие
| |
− | :nltPBXinfo = 0x00008, Служебная информация АТС
| |
− | :nltInformation = 0x00010, Общая информация
| |
− | :nltIncomingCall = 0x00020, Входящий вызов
| |
− | :nltTimer = 0x00080, ??
| |
− | :nltCallbackOrder = 0x00100, Заказ на встречный звонок
| |
− | :nltApplication = 0x00200, Сообщение клиентского приложения
| |
− | :nltApplicationWarn = 0x00400, Предупреждение клиентского приложения
| |
− | :nltApplicationInfo = 0x00800, Общая информация клиентского приложения
| |
− | :nltApplicationErr = 0x01000, Ошибка клиентского приложения
| |
− | :nltColor = 0x40000, Окошко изменяемого цвета из сценариев
| |
− |
| |
− | '''Пример:'''
| |
− |
| |
− | <?xml version="1.0" encoding="utf-16"?>
| |
− | <oktellcommapper version="80710">
| |
− | <data>
| |
− | <event id="112" name="notify">
| |
− | <property_simple key="guid" value="00000000-0000-0000-0000-000000000000" />
| |
− | <property_simple key="autohide" value="1" />
| |
− | <property_simple key="backcolor_argb" value="0" />
| |
− | <property_simple key="type" value="8" name="nltPBXinfo" />
| |
− | <property_simple key="datetime" value="12.07.2008 18:35:06" />
| |
− | <property_simple key="dbsaved" value="1" />
| |
− | <property_cdata key="sender"><![CDATA[Системная АТС]]></property_cdata>
| |
− | <property_cdata key="text"><![CDATA[Зарегистрирована линия 16016]]></property_cdata>
| |
− | </event>
| |
− | </data>
| |
− | </oktellcommapper>
| |
− |
| |
− |
| |
− | *'''<span style="color:darkred">VoiceMail (113)</span>'''. Возникает при поступлении нового голосового сообщения. Тело сообщения отсутствует, служит для отображения статусной пиктограмки, запрос на получение почты производится в соответствующем модуле.
| |
− |
| |
− | '''Пример:'''
| |
− |
| |
− | <?xml version="1.0" encoding="utf-16"?>
| |
− | <oktellcommapper version="80710">
| |
− | <data>
| |
− | <event id="113" name="voicemail" />
| |
− | </data>
| |
− | </oktellcommapper>
| |
− |
| |
− |
| |
− | *'''<span style="color:darkred">UserMessage</span> (114)'''. Поступление сообщения от другого пользователя системы через внутренний мессенджер.
| |
− |
| |
− | '''Пример:'''
| |
− |
| |
− | <?xml version="1.0" encoding="utf-16"?>
| |
− | <oktellcommapper version="80710">
| |
− | <data>
| |
− | <event id="112" name="usermessage">
| |
− | <property_simple key="guid" value="37ccb224-ff71-3836-c410-a73782ef8d19" />
| |
− | <property_simple key="datetime" value="12.07.2008 20:29:11" />
| |
− | <property_simple key="senderid" value="d03a522f-b399-aa37-cb2a-943cf24d113e" />
| |
− | <property_cdata key="sendername"><![CDATA[Бочкарев Евгений]]></property_cdata>
| |
− | <property_cdata key="text"><![CDATA[Зайди плиз как освободишься..]]></property_cdata>
| |
− | </event>
| |
− | </data>
| |
− | </oktellcommapper>
| |