Jump to: navigation, search

Presence Definition Document Examples

This section provides an example of the presence definition document that allows you to customize the states available to Knowledge Workers in the UC Connector web client drop-down menu.

Example of Custom State Definitions Document

Important.png In this example, localization has been inserted into the file to allow for simplicity, but other options are available as long as the file follows the rules of the Presence Definition XML Schema.

The example below shows a possible customization of the presence.xml file.

<?xml version="1.0" encoding="utf-8"?>
<presence xmlns="http://genesyslab.com/schemas/ucc/presence"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://genesyslab.com/schemas/ucc/presence presence.xsd">

  <state icon="ready.png" id="ready">
  <display>
    <menuText>Set Ready</menuText>
    <statusText>Ready for next call</statusText>
    </display>
    <genesysAgent ready="true"/>
 </state>

 <state icon="acw.png" id="acw">
 <display>
   <statusText>Working after call</statusText>
   </display>
 <display language="fr">
   <statusText>Travail apres appel</statusText>
   </display>
 <display language="de">
   <statusText>Arbeiten nach Anruf</statusText>
   </display>
   <genesysAgent ready="false" mode="acw" />
 </state>

 <state id="away" icon="away.png">
 <display>
    <menuText>Set away</menuText>
    <statusText>Away from the desk</statusText>
    </display>
    <genesysAgent ready="false" mode="away" />
 </state>

 <state id="lunch" icon="away.png">
 <display>
    <menuText>Lunch</menuText>
    <statusText>Away for a lunch</statusText>
    </display>
    <genesysAgent ready="false" mode="away">
      <reason ext="true">500</reason>
   </genesysAgent>
 </state>

 <state id="auto-away" icon="away.png">
 <display>
    <statusText>Automatic away</statusText>
    </display>
    <genesysAgent ready="false" mode="away">
       <reason>timeout</reason>
    </genesysAgent>
 </state>

 <state id="busy-preview" icon="busy.png">
 <display>
    <menuText>On a call</menuText>
    <statusText>On a remote call</statusText>
    </display>
    <genesysAgent ready="false" mode="acw">
       <reason>redirect</reason>
   </genesysAgent>
 </state>

 <state id="reject" icon="busy.png">
 <display><statusText>Busy after reject</statusText></display>
   <genesysAgent ready="false" mode="auxwork">
    <reason>reject</reason>
   </genesysAgent>
 </state>

 <auto>
    <event name="preview-timeout" onevent="auto-away" />
    <event name="preview-reject" onevent="reject" postevent="ready" />
    <event name="preview-redirect" onevent="busy-preview"/>
 </auto>
</presence>

Presence Definition XML Schema

<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://genesyslab.com/schemas/ucc/presence"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:uccp="http://genesyslab.com/schemas/ucc/presence"
elementFormDefault="qualified">
<annotation>
<documentation>Presence states specification in Smart Link solution
</documentation>
</annotation>
<element name="presence">
<annotation>
<documentation>The root element of Smart Link presence containing all
state definitions
</documentation>
</annotation>
<complexType>
<sequence>
<element name="state" type="uccp:StateType" minOccurs="1" maxOccurs="unbounded">
<annotation>
<documentation>Definition of a distinct state</documentation>
</annotation>
</element>
<element name="auto" type="uccp:AutoStateEvents" minOccurs="0" maxOccurs="1">
<annotation>
<documentation>Automatic state transitions executed by UCC
</documentation>
</annotation>
<key name="event-name">
<selector xpath="event" />
<field xpath="@name" />
</key>
</element>
<element name="composite" minOccurs="0" maxOccurs="unbounded">
<annotation>
<documentation>Definitions of composite multi-channel states.</documentation>
</annotation>
<complexType>
<sequence>
<any>
<annotation>
<documentation>
The schema for complex combined presence states across multiple channels is to
be defined.
Not yet implemented.
</documentation>
</annotation>
</any>
</sequence>
</complexType>
</element>
</sequence>
</complexType>
<key name="state-id">
<selector xpath="state" />
<field xpath="@id" />
</key>
<keyref name="auto-ref" refer="uccp:state-id">
<selector xpath="auto/*" />
<field xpath="@onevent" />
</keyref>
<keyref name="auto-ref-post" refer="uccp:state-id">
<selector xpath="auto/*" />
<field xpath="@postevent" />
</keyref>
</element>
<complexType name="StateText">
<annotation>
<documentation>
Localizable strings for state-related GUI.
</documentation>
</annotation>
<all>
<element name="menuText" type="string" minOccurs="0">
<annotation>
<documentation>
The text that is displayed as GUI menu string.
Absent element means GUI menu is not available (such state can only be
entered automatically and cannot be requested from the menu)
</documentation>
</annotation>
</element>
<element name="statusText" type="string" minOccurs="0">
<annotation>
<documentation>Text string displayed as current status indicator
when in this state.
Absent element means that the status is not reflected in the status bar.
</documentation>
</annotation>
</element>
</all>
<attribute name="language" type="language" use="optional" />
</complexType>
<complexType name="StateType">
<annotation>
<documentation>Full definition of a state consists of GUI string in one or more
languages,
matching Genesys agent states and UC states.
</documentation>
</annotation>
<sequence>
<element name="display" type="uccp:StateText" minOccurs="1"
maxOccurs="unbounded">
<annotation>
<documentation>GUI appearance of the state</documentation>
</annotation>
</element>
<element name="genesysAgent" type="uccp:GenesysAgentState" minOccurs="1"
maxOccurs="unbounded">
<annotation>
<documentation>Genesys agent state matching this state definition.
UCC user will transition to this state if Genesys agent status
event is received matching this element.
</documentation>
</annotation>
</element>
</sequence>
<attribute name="id" type="ID">
<annotation>
<documentation>Unique ID of the state. It can be used to reference
this state from the "auto" section or "partial" section.
</documentation>
</annotation>
</attribute>
<attribute name="icon" type="anyURI">
<annotation>
<documentation>
Graphic representation of this state in GUI.
Use HTTP URL or one of the pre-defined icon identifiers in the
"tag:ucc.genesyslab.com,2013:icons/status/" namespace
</documentation>
</annotation>
</attribute>
</complexType>
<complexType name="AutoStateEvents">
<sequence>
<element name="event" type="uccp:AutoState" minOccurs="0" maxOccurs="4" />
</sequence>
</complexType>
<complexType name="AutoState">
<annotation>
<documentation>
State transition after event occurrence.
</documentation>
</annotation>
<attribute name="name" use="required">
<simpleType>
<restriction base="token">
<enumeration value="preview-reject" />
<enumeration value="preview-timeout" />
<enumeration value="preview-redirect" />
</restriction>
</simpleType>
</attribute>
<attribute name="onevent" type="IDREF" use="required">
<annotation>
<documentation>The state that is automatically entered after
the event. It must refer to a defined state id.
</documentation>
</annotation>
</attribute>
<attribute name="postevent" type="IDREF" use="optional">
<annotation>
<documentation>
The state after the timer. Must refer to one of the defined states by its id.
If not specified, the state prior to the event will be restored.
This element is only used if the corresponding duration time is set in CME.
</documentation>
</annotation>
</attribute>
</complexType>
<complexType name="GenesysAgentState">
<annotation>
<documentation>Definition of Genesys agent state</documentation>
</annotation>
<all>
<element name="reason" minOccurs="0" maxOccurs="1">
<annotation>
<documentation>Reason code of the state. Any string.</documentation>
</annotation>
<complexType>
<simpleContent>
<extension base="string">
<attribute name="in">
<annotation>
<documentation>
Whether to match or use the reason in AttributeReasons or
AttributeExtensions.
</documentation>
</annotation>
<simpleType>
<restriction base="token">
<enumeration value="reasons"></enumeration>
<enumeration value="extensions"></enumeration>
</restriction>
</simpleType>
</attribute>
<attribute name="keyname" type="string" default="ReasonCode">
<annotation>
<documentation>
Which data key to use
</documentation>
</annotation>
</attribute>
</extension>
</simpleContent>
</complexType>
</element>
</all>
<attribute name="ready" type="boolean" use="required">
<annotation>
<documentation>
Whether the definition concerns "ready" or "not ready" agent state.
</documentation>
</annotation>
</attribute>
<attribute name="mode" type="uccp:GenesysAgentMode" default="none">
<annotation>
<documentation>
Agent mode in the event/request. Not all modes may be supported by T-Server.
</documentation>
</annotation>
</attribute>
</complexType>
<simpleType name="GenesysAgentMode">
<restriction base="token">
<enumeration value="none" />
<enumeration value="manual" />
<enumeration value="acw" />
<enumeration value="legal" />
<enumeration value="auxwork" />
<enumeration value="away" />
<enumeration value="back" />
</restriction>
</simpleType>
</schema>

Feedback

Comment on this article:

blog comments powered by Disqus
This page was last modified on June 27, 2016, at 14:20.