Схема предназначена:
- для агента, чтобы он мог выбирать причину технического перерыва с последующим переходом в технический перерыв. Свой профиль агент должен знать по подписке на событие agent_info_event.
- для супервизора, чтобы он мог переводить произвольного агента в технический перерыв с заданной причиной. Профиль агента супервизор может знать по подписке на конфигурацию очередей.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="monitor.xsd"/> <!-- event --> <xs:element name="event"> <xs:complexType> <xs:complexContent> <xs:extension base="baseEventType"> <xs:choice> <xs:element name="full" type="fullType"/> <xs:element name="partial" type="partialType"/> </xs:choice> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <!-- resultFullType --> <xs:complexType name="fullType"> <xs:sequence> <xs:element name="profile" type="profileType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- resultPartialType --> <xs:complexType name="partialType"> <xs:sequence> <xs:element name="action" type="actionType" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <!-- actionType --> <xs:complexType name="actionType"> <xs:sequence> <xs:element name="profile" type="profileType" maxOccurs="unbounded"/> </xs:sequence> <xs:attribute name="type" type="actionTypeContent"/> </xs:complexType> <!-- profileType --> <xs:complexType name="profileType"> <xs:sequence maxOccurs="unbounded"> <xs:element name="reason" type="reasonType"/> </xs:sequence> <xs:attribute name="name" type="xs:string"/> </xs:complexType> <!-- reasonType --> <xs:complexType name="reasonType"> <xs:attribute name="name" type="xs:string"/> <xs:attribute name="en" type="xs:string"/> <xs:attribute name="ru" type="xs:string"/> </xs:complexType> <!-- actionTypeContent --> <xs:simpleType name="actionTypeContent"> <xs:restriction base="xs:string"> <xs:enumeration value="added"/> <xs:enumeration value="removed"/> <xs:enumeration value="changed"/> </xs:restriction> </xs:simpleType> </xs:schema>
Примеры:
full:
<?xml version="1.0"?> <event name="queue_profile_event" timestamp="1970/01/01 07:00:00"> <full> <profile name="test"> <reason name="124" en="124" ru="124"/> <reason name="busy" en="Busy" ru="Занят"/> <reason name="callback" en="Callback" ru="Обратный звонок"/> <reason name="dinner" en="Dinner" ru="Обед"/> <reason name="handle_call" en="Call handling" ru="Обработка вызова"/> <reason name="locality_transfer" en="Transfering to another locality" ru="Передача в другой населенный пункт"/> <reason name="not_available" en="" ru=""/> <reason name="rest" en="Rest" ru="Отдых"/> </profile> <profile name="new"> <reason name="busy" en="Busy" ru="Занят"/> <reason name="custom_reason" en="" ru=""/> </profile> <profile name="default"> <reason name="busy" en="Busy" ru="Занят"/> </profile> <profile name="103"> <reason name="busy" en="Busy" ru="Занят"/> <reason name="dinner" en="Dinner" ru="Обед"/> <reason name="124" en="124" ru="124"/> <reason name="handle_call" en="Call handling" ru="Обработка вызова"/> <reason name="callback" en="Callback" ru="Обратный звонок"/> <reason name="rest" en="Rest" ru="Отдых"/> <reason name="locality_transfer" en="Transfering to another locality" ru="Передача в другой населенный пункт"/> </profile> </full> </event>
partial:
<?xml version="1.0"?> <event name="queue_profile_event" timestamp="1970/01/01 07:00:00"> <partial> <action type="changed"> <profile name="profile2"> <reason name="busy" en="Busy" ru="Занят"/> <reason name="callback" en="Callback" ru="Обратный звонок"/> </profile> </action> <action type="removed"> <profile name="profile3"> <reason name="busy" en="Busy" ru="Занят"/> </profile> </action> <action type="added"> <profile name="profile1"> <reason name="busy" en="Busy" ru="Занят"/> </profile> </action> </partial> </event>
Добавить комментарий