Сервисное оповещение — различия между версиями
(не показано 9 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | {|cellpadding="10" cellspacing="0" border="0" | |
+ | | [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]] | ||
+ | | [[Исключительные ситуации|Исключительные ситуации<<<]] | ||
+ | | [[Сервисное оповещение]] | ||
+ | | [[Работа с номерным планом|>>>Работа с номерным планом]] | ||
+ | |- | ||
+ | |} | ||
+ | == Канал сервисного оповещения == | ||
+ | |||
+ | Сервисные события системы поступают по каналу события <span style="color:darkred">OnCommunicate</span>. Параметризованные строкой с XML содержимым в UTF-16. Формат поступающих xml обсуждаем. Общие принципы формирования структуры xml параметров представлены [[Форматы и договоренности|здесь]], примеры конкретных реализация представлены в текущем разделе. При использовании режима XmlLogging (метод <span style="color:darkred">SetXmlLogging</span>), все генерируемые xml-параметры на выходе размещаются в '''CommonLog''' с заголовком xmlevent. | ||
+ | |||
+ | |||
+ | '''Типы событий:''' | ||
− | : | + | :ShutdownRequested = 101 |
:RestartRequested = 102 | :RestartRequested = 102 | ||
:ConnectionLost = 103 | :ConnectionLost = 103 | ||
Строка 51: | Строка 63: | ||
: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). | ||
+ | |||
+ | '''Пример:''' | ||
+ | |||
+ | <nowiki><?xml version="1.0" encoding="utf-16"?> | ||
+ | <oktellcommapper version="80710"> | ||
+ | <data> | ||
+ | <event id="101" name="shutdownrequested" /> | ||
+ | </data> | ||
+ | </oktellcommapper></nowiki> | ||
+ | |||
+ | |||
+ | *'''<span style="color:darkred">RestartRequested</span> (102)'''. Возникает в случае падения TCP канала связи с сервером. Дублируется в канале события <span style="color:darkred">OnServiceMessage</span> канале (13102 - Restart). | ||
+ | |||
+ | '''Пример:''' | ||
+ | |||
+ | <nowiki><?xml version="1.0" encoding="utf-16"?> | ||
+ | <oktellcommapper version="80710"> | ||
+ | <data> | ||
+ | <event id="102" name="restartrequested" /> | ||
+ | </data> | ||
+ | </oktellcommapper></nowiki> | ||
+ | |||
+ | |||
+ | *'''<span style="color:darkred">ConnectionLost</span> (103)'''. Возникает в случае падения TCP канала связи с сервером. Дублируется в канале события <span style="color:darkred">OnServiceMessage</span> канале (13103 - ConnectionLost). | ||
+ | |||
+ | '''Пример:''' | ||
+ | |||
+ | <nowiki><?xml version="1.0" encoding="utf-16"?> | ||
+ | <oktellcommapper version="80710"> | ||
+ | <data> | ||
+ | <event id="103" name="connectionlost" /> | ||
+ | </data> | ||
+ | </oktellcommapper></nowiki> | ||
+ | |||
+ | |||
+ | *'''<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> ) | ||
+ | |||
+ | '''Пример:''' | ||
+ | |||
+ | <nowiki><?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></nowiki> | ||
+ | |||
+ | |||
+ | *'''<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, Окошко изменяемого цвета из сценариев | ||
+ | |||
+ | '''Пример:''' | ||
+ | |||
+ | <nowiki><?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></nowiki> | ||
+ | |||
+ | |||
+ | *'''<span style="color:darkred">VoiceMail (113)</span>'''. Возникает при поступлении нового голосового сообщения. Тело сообщения отсутствует, служит для отображения статусной пиктограмки, запрос на получение почты производится в соответствующем модуле. | ||
+ | |||
+ | '''Пример:''' | ||
+ | |||
+ | <nowiki><?xml version="1.0" encoding="utf-16"?> | ||
+ | <oktellcommapper version="80710"> | ||
+ | <data> | ||
+ | <event id="113" name="voicemail" /> | ||
+ | </data> | ||
+ | </oktellcommapper></nowiki> | ||
+ | |||
+ | |||
+ | *'''<span style="color:darkred">UserMessage</span> (114)'''. Поступление сообщения от другого пользователя системы через внутренний мессенджер. | ||
+ | |||
+ | '''Пример:''' | ||
+ | |||
+ | <nowiki><?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></nowiki> | ||
+ | |||
+ | {|cellpadding="10" cellspacing="0" border="0" | ||
+ | | [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]] | ||
+ | | [[Исключительные ситуации|Исключительные ситуации<<<]] | ||
+ | | [[Сервисное оповещение]] | ||
+ | | [[Работа с номерным планом|>>>Работа с номерным планом]] | ||
+ | |- | ||
+ | |} |
Текущая версия на 08:07, 26 марта 2015
Наверх | Исключительные ситуации<<< | Сервисное оповещение | >>>Работа с номерным планом |
Канал сервисного оповещения
Сервисные события системы поступают по каналу события OnCommunicate. Параметризованные строкой с XML содержимым в UTF-16. Формат поступающих xml обсуждаем. Общие принципы формирования структуры xml параметров представлены здесь, примеры конкретных реализация представлены в текущем разделе. При использовании режима XmlLogging (метод SetXmlLogging), все генерируемые xml-параметры на выходе размещаются в CommonLog с заголовком xmlevent.
Типы событий:
- ShutdownRequested = 101
- RestartRequested = 102
- ConnectionLost = 103
- UserStateChanged = 111
- Notify = 112
- VoiceMail = 113
- UserMessage = 114
- PersonalStateChanged = 115
- HALSrvRegSuccess = 201
- HALSrvRegTimeout = 202
- HALDeviceFound = 203
- HALDeviceLost = 204
- HALLightenKey = 211
- HALHeadsetParams = 212
- HALClearNFieldNow = 213
- HALClearNFieldNext = 214
- TMInterfaceConfirm = 121
- TMInterfaceReserve = 122
- TMInterfaceClose = 123
- CommutationStarted = 231
- CommutationStopped = 232
- FaxStarted = 233
- FaxStopped = 234
- FaxFilesReceived = 235
- RingStarted = 236
- RingFinished = 237
- ACMStarted = 238
- ACMFinished = 239
- FlashHoldAction = 240
- ChainStateChange = 241
- LineStateChange = 242
- CallDetected = 243
- ConferenceListChanged = 261
- ConferenceCompositionChanged = 262
- ConferenceCompetitorStateChanged = 263
- ConferenceEntranceRequest = 264
- ConferenceEntranceDenied = 265
- ConferenceEntrancePermitted = 266
- ConferenceNotifyInvite = 267
- ConferenceUserStateChanged = 268
Описание и примеры событий 101 - 114 приведены ниже в текущем разделе, а остальных - в соответствующих им разделах.
- ShutdownRequested (101). Возникает при запросе администратором oktell выгрузки клиентских (или клиентского) приложения. Дублируется в канале события OnServiceMessage канале (13101 - Shutdown).
Пример:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data> <event id="101" name="shutdownrequested" /> </data> </oktellcommapper>
- RestartRequested (102). Возникает в случае падения TCP канала связи с сервером. Дублируется в канале события OnServiceMessage канале (13102 - Restart).
Пример:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data> <event id="102" name="restartrequested" /> </data> </oktellcommapper>
- ConnectionLost (103). Возникает в случае падения TCP канала связи с сервером. Дублируется в канале события OnServiceMessage канале (13103 - ConnectionLost).
Пример:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data> <event id="103" name="connectionlost" /> </data> </oktellcommapper>
- UserStateChanged (111). Возникает при смене состояния текущего зарегистрированного пользователя на сервере. Изменяется только сервером. Также вместе с состоянием приходит флаг-признак переадресации. Для изменения состояния по инициативе клиентского приложения существует метод SetUserState ( string xml ), который посылает запрос серверу на проведения смены состояний. Сервер может отказать по своему усмотрению.
Возможные состояния:
- usDisconnected = 0. Пользователь отключен. Для текущего пользователя - отсутствие связи с сервером логики.
- usReady = 1. Пользователь на месте в готовом состоянии, не занят в задачах, линия свободна.
- usLunch = 2. Оператор в перерыве.
- usOff = 3. Пользователя нет на месте. Выставляется, если пользователь не снял трубку в ходе поступающего вызова в течение установленного времени. Фильтрует дальнейшее поступление звонков
- usFullbusy = 5. Пользователь занят в задаче или в разговоре
- usReserved = 6. Пользователь зарезервирован задачей (быстрое состояние)
- usWOphone = 7. Пользователь зарегистрирован, но линия отсутствует, отключена или в неопределенном состоянии.
Состояния пользователей также используются в других событиях и методах (например событие PersonalStateChanged (115) или метод SetUserState )
Пример:
<?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>
- Notify (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>
- VoiceMail (113). Возникает при поступлении нового голосового сообщения. Тело сообщения отсутствует, служит для отображения статусной пиктограмки, запрос на получение почты производится в соответствующем модуле.
Пример:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <data> <event id="113" name="voicemail" /> </data> </oktellcommapper>
- UserMessage (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>
Наверх | Исключительные ситуации<<< | Сервисное оповещение | >>>Работа с номерным планом |