Сервисное оповещение — различия между версиями
Строка 8: | Строка 8: | ||
'''Типы событий:''' | '''Типы событий:''' | ||
− | :ShutdownRequested | + | :ShutdownRequested = 101 |
− | :RestartRequested | + | :RestartRequested = 102 |
− | :ConnectionLost | + | :ConnectionLost = 103 |
− | :UserStateChanged | + | :UserStateChanged = 111 |
− | :Notify | + | :Notify = 112 |
− | :VoiceMail | + | :VoiceMail = 113 |
− | :UserMessage | + | :UserMessage = 114 |
− | :PersonalStateChanged | + | :PersonalStateChanged = 115 |
− | :HALSrvRegSuccess | + | :HALSrvRegSuccess = 201 |
− | :HALSrvRegTimeout | + | :HALSrvRegTimeout = 202 |
− | :HALDeviceFound | + | :HALDeviceFound = 203 |
− | :HALDeviceLost | + | :HALDeviceLost = 204 |
− | :HALLightenKey | + | :HALLightenKey = 211 |
− | :HALHeadsetParams | + | :HALHeadsetParams = 212 |
− | :HALClearNFieldNow | + | :HALClearNFieldNow = 213 |
− | :HALClearNFieldNext | + | :HALClearNFieldNext = 214 |
− | :TMInterfaceConfirm | + | :TMInterfaceConfirm = 121 |
− | :TMInterfaceReserve | + | :TMInterfaceReserve = 122 |
− | :TMInterfaceClose | + | :TMInterfaceClose = 123 |
− | :CommutationStarted | + | :CommutationStarted = 231 |
− | :CommutationStopped | + | :CommutationStopped = 232 |
− | :FaxStarted | + | :FaxStarted = 233 |
− | :FaxStopped | + | :FaxStopped = 234 |
− | :FaxFilesReceived | + | :FaxFilesReceived = 235 |
− | :RingStarted | + | :RingStarted = 236 |
− | :RingFinished | + | :RingFinished = 237 |
− | :ACMStarted | + | :ACMStarted = 238 |
− | :ACMFinished | + | :ACMFinished = 239 |
− | :FlashHoldAction | + | :FlashHoldAction = 240 |
− | :ChainStateChange | + | :ChainStateChange = 241 |
− | :LineStateChange | + | :LineStateChange = 242 |
− | :CallDetected | + | :CallDetected = 243 |
− | :ConferenceListChanged | + | :ConferenceListChanged = 261 |
− | :ConferenceCompositionChanged | + | :ConferenceCompositionChanged = 262 |
− | :ConferenceCompetitorStateChanged | + | :ConferenceCompetitorStateChanged = 263 |
− | :ConferenceEntranceRequest | + | :ConferenceEntranceRequest = 264 |
− | :ConferenceEntranceDenied | + | :ConferenceEntranceDenied = 265 |
− | :ConferenceEntrancePermitted | + | :ConferenceEntrancePermitted = 266 |
− | :ConferenceNotifyInvite | + | :ConferenceNotifyInvite = 267 |
− | :ConferenceUserStateChanged | + | :ConferenceUserStateChanged = 268 |
+ | |||
Описание и примеры событий 101 - 114 приведены ниже в текущем разделе, а остальных - в соответствующих им разделах. | Описание и примеры событий 101 - 114 приведены ниже в текущем разделе, а остальных - в соответствующих им разделах. | ||
Строка 101: | Строка 102: | ||
'''Возможные состояния:''' | '''Возможные состояния:''' | ||
− | :usDisconnected | + | :usDisconnected = 0. Пользователь отключен. Для текущего пользователя - отсутствие связи с сервером логики. |
− | :usReady | + | :usReady = 1. Пользователь на месте в готовом состоянии, не занят в задачах, линия свободна. |
− | :usLunch | + | :usLunch = 2. Оператор в перерыве. |
− | :usOff | + | :usOff = 3. Пользователя нет на месте. Выставляется, если пользователь не снял трубку в ходе поступающего вызова в течение установленного времени. Фильтрует дальнейшее поступление звонков |
− | :usFullbusy | + | :usFullbusy = 5. Пользователь занят в задаче или в разговоре |
− | :usReserved | + | :usReserved = 6. Пользователь зарезервирован задачей (быстрое состояние) |
− | :usWOphone | + | :usWOphone = 7. Пользователь зарегистрирован, но линия отсутствует, отключена или в неопределенном состоянии. |
Состояния пользователей также используются в других событиях и методах (например событие <span style="color:darkred">PersonalStateChanged</span> (115) или метод <span style="color:darkred">SetUserState</span> ) | Состояния пользователей также используются в других событиях и методах (например событие <span style="color:darkred">PersonalStateChanged</span> (115) или метод <span style="color:darkred">SetUserState</span> ) | ||
Строка 128: | Строка 129: | ||
Типы уведомлений - флаговые, но ходят по одному. | Типы уведомлений - флаговые, но ходят по одному. | ||
− | :nltNone | + | :nltNone = 0x00000, |
− | :nltControlEvent | + | :nltControlEvent = 0x00002, Контрольное событие |
− | :nltPBXinfo | + | :nltPBXinfo = 0x00008, Служебная информация АТС |
− | :nltInformation | + | :nltInformation = 0x00010, Общая информация |
− | :nltIncomingCall | + | :nltIncomingCall = 0x00020, Входящий вызов |
− | :nltTimer | + | :nltTimer = 0x00080, ?? |
− | :nltCallbackOrder | + | :nltCallbackOrder = 0x00100, Заказ на встречный звонок |
− | :nltApplication | + | :nltApplication = 0x00200, Сообщение клиентского приложения |
− | :nltApplicationWarn | + | :nltApplicationWarn = 0x00400, Предупреждение клиентского приложения |
− | :nltApplicationInfo | + | :nltApplicationInfo = 0x00800, Общая информация клиентского приложения |
− | :nltApplicationErr | + | :nltApplicationErr = 0x01000, Ошибка клиентского приложения |
− | :nltColor | + | :nltColor = 0x40000, Окошко изменяемого цвета из сценариев |
'''Пример:''' | '''Пример:''' |
Версия 08:44, 20 марта 2014
Канал сервисного оповещения
Сервисные события системы поступают по каналу события 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"> <event id="101" name="shutdownrequested" /> </oktellcommapper>
- RestartRequested (102). Возникает в случае падения TCP канала связи с сервером. Дублируется в канале события OnServiceMessage канале (13102 - Restart).
Пример:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <event id="102" name="restartrequested" /> </oktellcommapper>
- ConnectionLost (103). Возникает в случае падения TCP канала связи с сервером. Дублируется в канале события OnServiceMessage канале (13103 - ConnectionLost).
Пример:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <event id="103" name="connectionlost" /> </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"> <event id="111" name="userstatechanged"> <property_simple key="newstate" value="7" name="usWOphone" /> <property_simple key="redirect" value="0" /> </event> </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"> <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> </oktellcommapper>
- VoiceMail (113). Возникает при поступлении нового голосового сообщения. Тело сообщения отсутствует, служит для отображения статусной пиктограмки, запрос на получение почты производится в соответствующем модуле.
Пример:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <event id="113" name="voicemail" /> </oktellcommapper>
- UserMessage (114). Поступление сообщения от другого пользователя системы через внутренний мессенджер.
Пример:
<?xml version="1.0" encoding="utf-16"?> <oktellcommapper version="80710"> <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> </oktellcommapper>