Сервисное оповещение — различия между версиями
(не показано 16 промежуточных версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]] | + | {|cellpadding="10" cellspacing="0" border="0" |
+ | | [[Использование_COM_библиотеки_Oktell_из_других_приложений|Наверх]] | ||
+ | | [[Исключительные ситуации|Исключительные ситуации<<<]] | ||
+ | | [[Сервисное оповещение]] | ||
+ | | [[Работа с номерным планом|>>>Работа с номерным планом]] | ||
+ | |- | ||
+ | |} | ||
== Канал сервисного оповещения == | == Канал сервисного оповещения == | ||
Строка 7: | Строка 13: | ||
'''Типы событий:''' | '''Типы событий:''' | ||
− | + | ||
− | + | :ShutdownRequested = 101 | |
− | + | :RestartRequested = 102 | |
− | + | :ConnectionLost = 103 | |
− | + | ||
− | + | ||
− | + | :UserStateChanged = 111 | |
− | + | :Notify = 112 | |
− | + | :VoiceMail = 113 | |
− | + | :UserMessage = 114 | |
− | + | :PersonalStateChanged = 115 | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
:HALSrvRegSuccess = 201 | :HALSrvRegSuccess = 201 | ||
Строка 83: | Строка 72: | ||
'''Пример:''' | '''Пример:''' | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
<data> | <data> | ||
<event id="101" name="shutdownrequested" /> | <event id="101" name="shutdownrequested" /> | ||
</data> | </data> | ||
− | </oktellcommapper> | + | </oktellcommapper></nowiki> |
Строка 95: | Строка 84: | ||
'''Пример:''' | '''Пример:''' | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
<data> | <data> | ||
<event id="102" name="restartrequested" /> | <event id="102" name="restartrequested" /> | ||
</data> | </data> | ||
− | </oktellcommapper> | + | </oktellcommapper></nowiki> |
Строка 107: | Строка 96: | ||
'''Пример:''' | '''Пример:''' | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
<data> | <data> | ||
<event id="103" name="connectionlost" /> | <event id="103" name="connectionlost" /> | ||
</data> | </data> | ||
− | </oktellcommapper> | + | </oktellcommapper></nowiki> |
Строка 131: | Строка 120: | ||
'''Пример:''' | '''Пример:''' | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
<data> | <data> | ||
Строка 139: | Строка 128: | ||
</event> | </event> | ||
</data> | </data> | ||
− | </oktellcommapper> | + | </oktellcommapper></nowiki> |
Строка 161: | Строка 150: | ||
'''Пример:''' | '''Пример:''' | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
<data> | <data> | ||
Строка 175: | Строка 164: | ||
</event> | </event> | ||
</data> | </data> | ||
− | </oktellcommapper> | + | </oktellcommapper></nowiki> |
Строка 182: | Строка 171: | ||
'''Пример:''' | '''Пример:''' | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
<data> | <data> | ||
<event id="113" name="voicemail" /> | <event id="113" name="voicemail" /> | ||
</data> | </data> | ||
− | </oktellcommapper> | + | </oktellcommapper></nowiki> |
Строка 194: | Строка 183: | ||
'''Пример:''' | '''Пример:''' | ||
− | <?xml version="1.0" encoding="utf-16"?> | + | <nowiki><?xml version="1.0" encoding="utf-16"?> |
<oktellcommapper version="80710"> | <oktellcommapper version="80710"> | ||
<data> | <data> | ||
Строка 205: | Строка 194: | ||
</event> | </event> | ||
</data> | </data> | ||
− | </oktellcommapper> | + | </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>
Наверх | Исключительные ситуации<<< | Сервисное оповещение | >>>Работа с номерным планом |