Feedback
|
Table Of Contents
Cisco Unified Presence Interoperability Guide Release 6.0(1)
Industry Standards Requirements
Back-End Subscription Description
Notification From Foreign Server Description
Instant Messaging Applications
Downloading Serviceability SOAP WSDL Files
Unified Communicator Change Notifier (UCCN)
Cisco Unified Presence SOAP Interface
Adding Recent Communication History
Retrieving Recent Communication History
Publishing Long-Term Presence Status
Unpublishing Long-Term Presence Status
Obtaining Documentation, Obtaining Support, and Security Guidelines
Cisco Product Security Overview
Cisco Unified Presence Interoperability Guide Release 6.0(1)
Revised: October 13, 2008
This document describes the overall architecture of the Cisco Unified Presence system and provides a detailed description of the messages and interfaces that are related to Cisco Unified Presence and the CTI gateway.
Contents
This document covers the following topics:
•
Instant Messaging Applications
•
Unified Communicator Change Notifier (UCCN)
•
Cisco Unified Presence SOAP Interface
•
Obtaining Documentation, Obtaining Support, and Security Guidelines
Overall Architecture
Cisco Unified Presence contains the following main pieces: IP Phone Messenger (IPPM), proxy, and Cisco Unified Presence. It also works with third-party SIMPLE-based instant messaging clients. An entity can send the Cisco Unified Presence Engine a SUBSCRIBE message through the proxy. After policy is applied, the Cisco Unified Presence Engine sends the appropriate presence status in NOTIFY messages. Also, a SIMPLE interface exists that is available external to the Enterprise. Figure 1 shows the overall Cisco Unified Presence system architecture.
Figure 1 Cisco Unified Presence System Architecture
Address of Record Definition
In this architecture, a single Address of Record (AOR) represents or addresses a user. This AOR typically takes the form username@domain.com. The user who is represented by this AOR may have multiple devices and/or components of state. The AOR itself gets provisioned as a distinct resource on the Cisco Unified Presence Engine, whereas the individual does not.
Some components of state get received through a PUBLISH from the client (through the proxy). The Cisco Unified Presence Engine retrieves other components of state through a series of back-end subscriptions. The back-end sources of state must get provisioned at the Cisco Unified Presence Engine. Each component of state gets assigned a provisioned priority.
Composition and Filtering
Figure 2 shows generically how composition and filtering are applied after the components of state are collected.
Figure 2 Presence Data Model Processing
Persona composition policy governs the combination of all components of state. After the state is composed, privacy (presentity asserted) and watcher (subscriber asserted) filtering rules get applied to modify the composed state prior to sending to the watcher. The privacy filters remain outside the scope of this interface document because they involve a non-SIMPLE means for a presentity to define filtering rules concerning who can watch what subset of persona state. The subscriber determines watcher filtering rules.
SIMPLE Interface
This section describes the SIP (Session Initiation Protocol) for Instant Messaging and Presence Leveraging Extensions (SIMPLE) interface for Cisco Unified Presence.
Introduction
The SUBSCRIBE, NOTIFY, and PUBLISH interfaces for the presence event package that Cisco Unified Presence provides comply to the SIMPLE specifications that are provided in the "Industry Standards Requirements" section. This section provides the expected contents of each field in the messages, specifically for the Enterprise Presence application, and describes how those contents correlate to the provisioned information on Cisco Unified Presence.
Industry Standards Requirements
The following list shows the applicable industry standards that describe the SIMPLE interface that is supported for the presence package by the Cisco Unified Presence Engine:
•
RFC3261—SIP: Session Initiation Protocol
•
RFC3265—Session Initiation Protocol (SIP)-Specific Event Notification
•
RFC3856—A Presence Event Package for the Session Initiation Protocol (SIP)
•
RFC 3863—Presence Information Data Format (PIDF)
•
RFC3903—Session Initiation Protocol (SIP) Extension for Event State Publication
•
RFC4480—RPID: Rich Presence: Extensions to the Presence Information Data Format (PIDF)
•
RFC4480—A Data Model for Presence
•
draft-ietf-simple-prescaps-ext-03—User Agent Capability Extension to Presence Information Data Format (PIDF)
•
draft-ietf-simple-event-list-07—A Session Initiation Protocol (SIP) Event Notification Extension for Resource Lists
Other pidf Extensions
Because the Cisco Unified Presence Engine is agnostic to pidf extensions, any Presence User Agent Client or Presence User Agent Server that interfaces with the Cisco Unified Presence Engine must be prepared to handle these extensions.
Call Flows
This section provides examples of call flows to show the interfaces into and out of Cisco Unified Presence.
Figure 3 shows the messaging exchange for a client to log in to the Cisco Unified Presence.
Figure 3 Call Flow for a Client Log In to the Cisco Unified Presence
Figure 4 shows the messaging exchange for Client 2 to PUBLISH its own state to the Cisco Unified Presence, as well as the messaging exchange for a separate Client 1 to subscribe to that presence state.
Figure 4 Call flow for PUBLISH and Subscribe to Local Resource
Figure 5 shows the messaging exchange for the case when a client subscribes to the presence state of a resource that is not stored locally on the Cisco Unified Presence Engine. In this scenario, the Cisco Unified Presence Engine will create a back-end subscription to the Cisco Unified Presence that has the presence state stored locally to retrieve the state and send it on in a NOTIFY to the watcher/subscriber.
Figure 5 Call Flow for SUBSCRIBE to Foreign Resource
Figure 6 shows the call flow into and out of the instant messaging clients. Each client registers with the Cisco Unified Presence registrar and publishes its own status. Each client then subscribes to the status of its buddy and receives notifications. At this point, either client can send an instant message to the other.
Figure 6 Call Flow for Instance Messenges
Subscription Description
Example 1 shows the SUBSCRIBE message that gets sent from the watcher device to Cisco Unified Presence. Table 1 describes the Headers that need mapping to the provisioned information for Cisco Unified Presence. For the other headers, refer to the appropriate SIMPLE/SIP specification.
On a refresh SUBSCRIBE, only the expiration time gets extended. The characteristics that define the subscription, that is, the other bold fields, should not change in a refresh SUBSCRIBE. If the client wants to change the characteristics of the subscription, terminate the existing subscription and create a new subscription.
Example 1 Subscribe message
SUBSCRIBE sip:xten3@compB.cisco.com:5060;transport=tcp SIP/2.0Via: SIP/2.0/TCP 57.1.1.15:5060;branch=7d37939e-f68c2040-34226455-fb8872e6-1Via: SIP/2.0/UDP 57.1.1.15:5051;received=57.1.1.15From: <sip:ippm4@compB.cisco.com>;tag=82c1000To: <sip:xten3@compB.cisco.com:5060;transport=TCP>Call-ID: 4207647f-178-2f538b99-8c4@57.1.1.15Csque: 166 SUBSCRIBEContact: <sip:ippm4@57.1.1.15:5060>Content-Length: 0Event: presenceAccept: application/pidf+xmlExpires: 300User-Agent: MeetingPlace/5.1P-Asserted-Identity: <sip:ippm4@compB.cisco.com>
Subscription Response
No message body/payload exists in the response to the subscription. It comes in the Notify, per RFC3903.
Notification Description
Example 2 shows a Notify request that is sent by Cisco Unified Presence to a watcher for an authorized subscription. Table 2 provides a description of the usage portions of the message that are in bold.
Example 2 Notification Description
NOTIFY sip:ippm4@compB.cisco.com:5060 SIP/2.0Call-ID: 42078b79-e0-30e78af6-8c4@57.1.1.15From: <sip:xten3@compB.cisco.com:5060;transport=TCP>;tag=52fc53aeTo: <sip:ippm4@compB.cisco.com>;tag=82d1158Event: presenceCSeq: 1073741825 NOTIFYContact: <sip:57.1.1.14:5060>Content-Length: 599Content-Type: application/pidf+xmlSubscription-State: active;expires=300Via: SIP/2.0/UDP 57.1.1.14:5060;branch=z9hG4bK76d2e702-1dd2-11b2-8fe0-b1c8ef4f8c83Max-Forwards: 69<?xml version="1.0" encoding="UTF-8"?><presence entity="sip:xten3@compB.cisco.com" xmlns="urn:ietf:params:xml:ns:pidf"><dm:person xmlns:dm=" urn:ietf:params:xml:ns:pidf:data-model" id="p1" ><r:activities xmlns:r="urn:ietf:params:xml:pidf:rpid"><ce:available xmlns:ce=" urn:cisco:params:xml:ns:pidf:rpid"/></r:activities></dm:person><tuple xmlns="urn:ietf:params:xml:ns:pidf" id="t31"><contact priority="1">sip:xten3@57.1.1.15</contact><sc:sercvaps xmlns:sc="urn:ietf:params:xml:ns:pidf:servcaps"><sc:audio>true</sc:audio><sc:video>false</sc:video><sc:text>true</sc:text></sc:servcaps><r:user-input xmlns:r="urn:ietf:params:xml:ns:pidf:rpid:status:rpid">active</r:user-input><status><basic>open</basic></status></tuple><tuple xmlns="urn:ietf:params:xml:ns:pidf" id="t32"><contact priority="1">sip:xten4@57.1.1.16</contact><sc:sercvaps xmlns:sc="urn:ietf:params:xml:ns:pidf:servcaps ><sc:audio>true</sc:audio><sc:video>false</sc:video><sc:text>true</sc:text></sc:servcaps><ce:model xmlns:ce=urn:cisco:params:xml:pidf:rpid>Cisco 7960</ce:model><r:user-input xmlns:es="urn:ietf:params:xml:ns:pidf:rpid:status:rpid">active</r:user-input><status><basic>open</basic></status></tuple></presence>
Event List Notification
Example 3 shows a NOTIFY request for the state of a list subscription. The Require header gets included with a value of eventlist for a Notification that is due to a list subscription.
Example 3 Notify Request of the State of a List Subscription
NOTIFY sip:handset0@10.21.91.156:5060 SIP/2.0Call-ID: 2085017328@10.21.91.156From: <sip:publisher@cisco.com>;tag=970c4542To: <sip:publisher@cisco.com>Event: presenceCSeq: 2045 NOTIFYContact: <sip:10.89.51.203:5060>Content-Length: 1344Content-Type: multipart/related;type="application/rlmi+xml";start="<972014@10.89.51.203>";boundary="9720 1414-1dd1-11b2-b"Require: eventlistSubscription-State: terminated;reason=timeoutVia: SIP/2.0/UDP 10.89.51.203:5060;branch=z9hG4bK9721baee-1dd1-11b2-b7c3-f9efc6ad7818Max-Forwards: 69--97201414-1dd1-11b2-bContent-Transfer-Encoding: binaryContent-ID: <972014@10.89.51.203>Content-Type: application/rlmi+xml;charset="UTF-8"<?xml version="1.0" encoding="UTF-8"?><list xmlns="urn:ietf:params:xml:ns:rlmi" uri="sip:publisher@cisco.com" version="0" fullState="true"><resource uri="sip:scalar1@cisco.com"><instance cid="971a00@10.89.51.203" id="1" state="active"/></resource><resource uri="sip:scalar2@cisco.com"><instance cid="971a28@10.89.51.203" id="1" state="active"/></resource></list>--97201414-1dd1-11b2-bContent-Transfer-Encoding: binaryContent-ID: <971a00@10.89.51.203>Content-Type: application/pidf+xml<?xml version="1.0" encoding="UTF-8"?><presence entity="sip:scalar1@cisco.com" ><dm:person xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" id="p1" ><r:activities xmlns:r="urn:ietf:params:xml:ns:pidf:rpid" ><ce:available xmlns:ce="urn:cisco:params:xml:ns:pidf:rpid "/></r:activities></dm:person><tuple xmlns="urn:ietf:params:xml:ns:pidf" id="t31"><contact priority="1">sip:scalar1@57.1.1.15</contact><sc:sercvaps xmlns:sc="urn:ietf:params:xml:ns:pidf:servcaps"><sc:audio>true</sc:audio><sc:video>false</sc:video><sc:text>true</sc:text></sc:servcaps><r:user-input xmlns:r="urn:ietf:params:xml:ns:pidf:rpid:status:rpid">active</r:user-input><status><basic>open</basic></status></tuple><tuple xmlns="urn:ietf:params:xml:ns:pidf" id="t32"><contact priority="1">sip:xten4@57.1.1.16</contact><sc:sercvaps xmlns:sc="urn:ietf:params:xml:ns:pidf:servcaps">><sc:audio>true</sc:audio><sc:video>false</sc:video><sc:text>true</sc:text></sc:servcaps><r:user-input xmlns:r="urn:ietf:params:xml:ns:pidf:rpid:status:rpid">active</r:user-input><status><basic>open</basic></status></tuple></presence>--97201414-1dd1-11b2-bContent-Transfer-Encoding: binaryContent-ID: <971a28@10.89.51.203>Content-Type: application/pidf+xml<?xml version="1.0" encoding="UTF-8"?><presence entity="sip:scalar2@cisco.com"><dm:person xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" id= "p2"><r:activities xmlns:r="urn:ietf:params:xml:ns:pidf:rpid" ><ce:available xmlns:ce="urn:cisco:params:xml:ns:pidf:rpid "/></r:activities></dm:person><tuple xmlns="urn:ietf:params:xml:ns:pidf" id="t31"><contact priority="1">sip:scalar2@57.1.1.15</contact><sc:sercvaps xmlns:sc="urn:ietf:params:xml:ns:pidf:servcaps"><sc:audio>true</sc:audio><sc:video>false</sc:video><sc:text>true</sc:text></sc:servcaps><r:user-input xmlns:es="urn:ietf:params:xml:ns:pidf:rpid:status:rpid" >active</r:user-input><status><basic>open</basic></status></tuple><tuple xmlns="urn:ietf:params:xml:ns:pidf" id="t32"><contact priority="1">sip:xten4@57.1.1.16</contact><sc:sercvaps xmlns:sc="urn:ietf:params:xml:ns:pidf:servcaps"><sc:audio>true</sc:audio><sc:video>false</sc:video><sc:text>true</sc:text></sc:servcaps><ce:model xmlns:ce=urn:cisco:params:xml:pidf:rpid>Cisco 7960</ce:model>>active</r:user-input><status><basic>open</basic></status></tuple></presence>--97201414-1dd1-11b2-b--Publication Description
Example 4 shows a Publish request that is sent to Cisco Unified Presence from a Presence UAC. Table 3 describes the usage portions of the message that are in bold.
Example 4 Publish Request
PUBLISH sip:xten3@compB.cisco.com:5060;transport=tcp SIP/2.0Via: SIP/2.0/TCP 57.1.1.15:5060;branch=42fe6223-25e92eae-dd09f88a-7fcf9be6-1To: <sip:xten3@57.1.1.15>From: xten3<sip:xten3@compB.cisco.com>;tag=5577e92bVia: SIP/2.0/UDP 57.1.1.83:6756;received=57.1.1.83;rport=6756;branch=z9hG4bK-d87543-1071201803-1--d87543-Call-ID: 3178d777074bee32CSeq: 1 PUBLISHContact: <sip:xten3@57.1.1.83:6756>Expires: 3600Max-Forwards: 69Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBEContent-Type: application/pidf+xmlUser-Agent: eyeBeam release 8888a stamp 16336 (sn:a0d46d0c5ff5ecfbb8d8)P-Asserted-Identity: < sip:xten3@compB.cisco.com >Event: presenceContent-Length: 591<?xml version="1.0" encoding="UTF-8"?><presence xmlns="urn:ietf:params:xml:ns:pidf"xmlns:r="urn:ietf:params:xml:ns:pidf:rpid"xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model"xmlns:ce="urn:cisco:params:xml:ns:pidf:rpid"xmlns:ci="urn:ietf:params:xml:ns:pidf:cipid"xmlns:sc="urn:ietf:params:xml:ns:pidf:servcaps"xmlns:so="urn:cisco:params:xml:ns:pidf:source"entity="sip:xten3@57.1.1.15"><dm:person id="p3"><r:activities ><ce:available /></r :activities ></dm:person><tuple id="t0"><contact priority="1">sip:xten3@57.1.1.15</contact><so:source> Manually set by persona </so:source><sc:servcaps><sc:audio>true</sc:audio><sc:video>false</sc:video><sc:text>true</sc:text></sc:servcaps><ce:model xmlns:ce=urn:cisco:params:xml:pidf:rpid>Cisco 7960</ce:model><r:user-input>active</r:user-input><status><basic>open</basic></status></tuple></presence>
Publication Response
No message body/payload occurs in the response to the publication. All presence status gets retrieved from Cisco Unified Presence via SUBSCRIBE/NOTIFY requests as per RFC3903.
Back-End Subscription Description
When some or all the state for a user is not stored locally at Cisco Unified Presence, it may create a back-end subscription to the element that is responsible for storing that state. Refer to the "Subscription Description" section for an example of a SUBSCRIBE message.
Table 4 Back-end Subscription Header Descriptions
Header Name Description Mapping to ProvisioningRequestURI
This field contains the URI of the presentity to be watched. This may differ from the URI of the presentity that was received.
Cisco Unified Presence provides a provisioned mapping of local presentity URIs to foreign back-end presentity URIs when applicable.
An example would include a subscription that is received by Cisco Unified Presence for a whole persona, 'sip:joe@cisco.com', that may result in a back-end subscription to obtain phone state for the phone that is owned by Joe, 'sip:5555@cm.cisco.com'.
P-Asserted-Identity
This header gets set to the original watcher identity that Cisco Unified Presence receives. That identity comes from the P-Asserted-Identity, Remote-Party-ID, or from headers as described in Table 3.
Not applicable
From
This header gets set to the original watcher identity that Cisco Unified Presence receives. That identity comes from the P-Asserted-Identity, Remote-Party-ID, or from headers as described in Table 3.
Not applicable
Expires
This field contains the relative expiration time of the back-end subscription.
This value comes from either a foreign, server-specific, provisioned value, or a global default value for all back-end subscriptions.
Event
For Enterprise Presence, ensure that the value of this field specifies "presence." This specification does not cover other Event packages.
Not applicable
Accept
This field gets sent the list of accepted mime types for the subscription that Cisco Unified Presence received from the original watcher.
The following mime types get used for Cisco Unified Presence for an Event type of "presence":
•
application/pidf+xml
•
application/cpim-pidf+xml
Note
If Cisco Unified Presence received additional mime types, they get transmitted to the foreign server.
Notification From Foreign Server Description
The foreign server that receives a back-end subscription request from Cisco Unified Presence sends the state of the requested resource back to Cisco Unified Presence in a NOTIFY request. Example 3 shows a NOTIFY request in the "Notification Description" section.
The main difference occurs because NOTIFY requests from foreign servers need to also contain a User-Agent header as described in Table 5.
Instant Messaging Applications
This section provides information that is related to instant messaging applications. The following standard provides the basis for the Cisco Unified Presence instant messaging interface:
RFC3428—Session Initiation Protocol (SIP) Extension for Instant Messaging
Subscription Description
Instant messaging applications subscribe to the presence status of each buddy that you have provisioned. You can configure the duration of the subscription, and it gets refreshed as long as the user is logged in to the instant messaging application. All subscriptions get terminated when the user logs out.
Notification Description
The instant messaging application receives presence event notifications from Cisco Unified Presence while the subscription remains active. See "Notification Description" section for more information.
Publication Description
The instant messaging application publishes status changes to Cisco Unified Presence whenever the user logs in, logs out, or manually overrides his status. See the "Publication Description" section for more information.
Register Description
Example 5 shows an example Register request by which clients receive instant messages. Table 6 provides a description of the Register Description fields.
Example 5 Register Request
REGISTER sip:cisco.com:5060;transport=tcp SIP/2.0Via: SIP/2.0/TDP 172.18.201.90:5060;branch=z9hG4bK-8337e00To: xten4<sip:xten4@comB.cisco.com>From: xten4<sip:xten4@compB.cisco.com>;tag=5577e92bCall-ID: 5543173d19-c8-6825acfd-767b@comB.cisco.comCSeq: 101 REGISTERContact: <sip:xten4@172.18.201.90:5060>;q=0.5Max-Forwards: 69P-Asserted-Identity: <sip:xten3@cisco.com>Expires: 3600Content-Type: text/plain; charset=UTF-8User-Agent: CSCO/IPPM-1.0Content-Length: 0
Message Description
Example 6 shows an example Message request that gets sent between clients. Table 7 provides a description of the Message Description fields.
Example 6 Message Description
MESSAGE sip:xten4@esp.compB.cisco.com:5060;transport=tcp SIP/2.0Via: SIP/2.0/TDP 172.18.201.90:5060;received=172.18.201.90;branch=z9hG4bK-8337e00To: xten4<sip:xten4@cisco.com>From: xten3<sip:xten3@compB.cisco.com>;tag=5577e92bCall-ID: 43173d19-c8-6825abfd-767b@comB.cisco.comCSeq: 101 MESSAGEContact: <sip:xten3@57.1.1.2:5060>Max-Forwards: 69P-Asserted-Identity: <sip:xten3@cisco.com>Content-Type: text/plain; charset=UTF-8User-Agent: CSCO/IPPM-1.0Content-Length: 12Hello xten4!
CTI Gateway
The Computer Telephony Integration (CTI) gateway supports receiving and sending messages, as defined in ECMA 323, third edition, between a client and a CTI gateway.
Events
CTI Gateway supports the following events:
•
Connection cleared
•
Delivered
•
Established
•
Diverted
•
Failed
•
Held
•
Retrieved
•
Transferred
•
Originated
•
Conferenced
•
Do not disturb
•
Forwarding
•
Service completion failure
Services
CTI gateway supports the following services:
•
Make call
•
Answer call
•
Clear connection
•
Deflect
•
Hold
•
Retrieve
•
Consultation
•
Single step transfer
•
Transfer
•
Conference call
•
Alternate
•
Reconnect
•
Generate digits
•
Set forwarding
•
Set DND
•
Get forwarding
•
Get DND
System Services
CTI gateway supports the following system services:
•
Start Monitor
•
Stop Monitor
•
Request System Status
•
Get CSTA Features
Connection States
CTI gateway supports the following connection states:
•
Alerting
•
Connected
•
Failed
•
Held
•
Initiated
•
Null
Error Conditions
CTI gateway supports the following error conditions:
•
serviceNotSupported
•
invalidMonitorObjectType
•
invalidCrossReferenceIdentifier
•
invalidCallingDeviceIdentifier
•
invalidCalledDeviceIdentifier
•
noCallToAnswer
•
invalidConnectionIdentifier
•
invalidConnectionState
•
noConnectionToClear
•
invalidDestination
•
invalidDestinationDeviceObject
•
invalidDivertingDeviceIdentifier
•
invalidHeldDeviceIdentifier
•
invalidHeldDeviceState
•
NoHeldCall
•
invalidParameterValue
•
invalidForwardingDestination.
Network Management Interface
For Release 6.0(1), be aware that Cisco Unified Presence adds Administrative XML Layer (AXL) commands for the following functions:
•
Cisco Unified Personal Communicator user configuration
•
Cisco Unified Communications Manager name
•
Troubleshooter
For more information on working with the AXL APIs, refer to the Cisco Unified Communications Manager Developers Guide for Release 6.0(1).
Note
For Cisco Unified Presence, commands that are specific to Cisco Unified Communications Manager are disabled.
AXL Versioning Support
To improve backward compatibility, Cisco Unified Presence Release 6.0(1) introduces AXL schema versioning. In upcoming releases, the AXL schema will be numbered the same as the corresponding Cisco Unified Presence release. This approach maintains AXL backward compatibility for one full release cycle.
Developers have the option in Cisco Unified Presence Release 6.0(1) to request a specific AXL schema version (either 1.0 or 6.0(1)); however, both these schema versions are identical. If a specific schema version is not requested, the AXL 1.0/6.0(1) schema automatically gets used and an appropriate response gets returned, which will have no backward compatibility issues for several releases.
Cisco highly recommends that developers include the version of AXL schema on which an AXL request is based because support for unversioned requests might be removed in future releases of Cisco Unified Presence.
For those developers who are using the AXL APIs executeSQLQuery and updateSQLquery, changes have occurred to the Cisco Unified Presence 6.0(1) database schema that affect the direct SQL query approach.
To help developers plan for AXL versioning, Table 8 provides the approach that Cisco will follow in supporting upcoming releases.
•
Cisco will support AXL requests without version information for only three releases following the 6.0(1) release; after that, requests without version information might be rejected.
•
AXL requests with version information will have the corresponding schema applied for up to three subsequent releases; after that, the specified version might not be available.
The following a sample AXL request carries version information:
POST /axl/ HTTP/1.0Host:10.77.31.194:8443Authorization: Basic Q0NNQWRtaW5pc3RyYXRvcjpjaXNjb19jaXNjbw==Accept: text/*Content-type: text/xmlSOAPAction: "CUCM:DB ver=6.0"Content-length: 427<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><SOAP-ENV:Body><axl:getUser xmlns:axl="http://www.cisco.com/AXL/1.0" xsi:schemaLocation="http://www.cisco.com/AXL/1.0 http://ccmserver/schema/axlsoap.xsd" sequence="1234"> <userid>tttt</userid> </axl:getUser></SOAP-ENV:Body></SOAP-ENV:Envelope>Sample AXL Response:
HTTP/1.1 200 OKServer: Apache-Coyote/1.1Set-Cookie: JSESSIONIDSSO=950805DE5E10F32C5788AE164EEC4955; Path=/Set-Cookie: JSESSIONID=151CF94ACF20728B1D47CC5C3BECC401; Path=/axl; SecureSOAPAction: "CUCM:DB ver=6.0"Content-Type: text/xml;charset=utf-8Content-Length: 728Date: Mon, 22 Jan 2007 06:51:42 GMTConnection: closeAXL Schema Documentation
The axlsqltoolkit.zip plug-in contains the following five AXL schema files:
•
cups_axlapi.wsdl
•
cups_axlsoap.xsd
•
cups_axl.xsd
•
axl.xsd
•
AXLEnums.xsd
•
axlmessage.xsd
•
and SoapEnvelope.xsd
These files encapsulate the complete AXL schema, including details of all requests, responses, XML objects, and data types.
You can obtain complete documentation of all available AXL messages from the Cisco Developer Services web site: http://www.cisco.com/cgi-bin/dev_support/access_level/product_support. This website requires a Cisco.com login.
AXL Configuration APIs
Table 9 describes the Cisco Unified Presence AXL configuration APIs.
AXL Serviceability APIs
The Cisco Unified Communications Manager AXL SOAP Serviceability interface provides APIs for the following types of informaiton:
•
Real-time information
•
Performance information
•
Service control
•
Log collection
For Release 6.0(1), Cisco Unified Presence includes the troubleshooter API, which returns the following categories of test results:
•
AXL
•
Presence
•
Proxy server
•
IPPM
•
CTI gateway
Note
The troubleshooter API mimics the actions of the Troubleshooter window in Cisco Unified Presence Administration.
Downloading Serviceability SOAP WSDL Files
Cisco Unified Presence serviceability SOAP WSDL files can be downloaded from the Cisco Unified Presence server directly by entering a URL on the web browser. In each of the following examples, you must replace servername with the appropriate server IP address or domain name.
Troubleshooter SOAP requests are located at
https://servername:8443/TroubleshooterService/services/TroubleshooterPort?wsdl
PerfmonPort SOAP requests service definitions are located at
https://servername:8443/perfmonservice/services/PerfmonPort?wsdl
RisPort SOAP requests service definitions are located at
https://servername:8443/realtimeservice/services/RisPort?wsdl
LogCollectionService SOAP requests service definitions are located at
https://servername:8443/logcollectionservice/services/LogCollectionPort?wsdl
DimeGetFile SOAP requests service definitions are located at
https://servername:8443/logcollectionservice/services/DimeGetFileService?wsdl
ControlCenterServices SOAP requests service definitions are located at
https://servername:8443/controlcenterservice/services/ControlCenterServicesPort?wsdl
SOAPMonitorService SOAP requests service definitions are located at
https://servername:8443/realtimeservice/services/SOAPMonitorService?wsdl
Clients of AXL-Serviceability APIs must download these files to know what services are available, how to form the request message, and how to interpret the response message properly. Basically, the WSDL file has what you need to know about AXL-Serviceability APIs.
Unified Communicator Change Notifier (UCCN)
Cisco Unified Presence UCCN notifies a client of changes to the provisioning data that is stored in the Cisco Unified Presence database.
The UCCN detects changes within the Cisco Unified Presence database and communicates those changes to the client by using a SIP Subscribe/Notify exchange.
This section provides details about the UCCN external interface through an XML schema and examples.
UCCN XML Schema
Example 7 shows the UCCN XML schema.
Example 7 Cisco Unified Presence UCCN Schema
<?xml version="1.0" encoding="UTF-8"?><xs:schema targetNamespace="urn:cisco:CUPS:UCCN" xmlns="urn:cisco:CUPS:UCCN" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"><xs:element name="UPCConfigChange"><xs:complexType><xs:sequence><xs:element name="action" type="xs:string"/><xs:choice><xs:sequence><xs:annotation><xs:documentation>systemcfg, attrmap, ctigw, epasdevice, ldap, meetingplace, vmpilot, unity, processconfig, proxyprofile, cupssystemcfg, ucendusercfg, pebackendgateway</xs:documentation></xs:annotation><xs:element ref="property" maxOccurs="unbounded"/></xs:sequence><xs:sequence><xs:annotation><xs:documentation>Contacts</xs:documentation></xs:annotation><xs:element name="old" type="ContactsElementType" minOccurs="0"/><xs:element name="new" type="ContactsElementType" minOccurs="0"/></xs:sequence><xs:sequence><xs:annotation><xs:documentation>ContactGroups</xs:documentation></xs:annotation><xs:element name="old" type="ContactGroupsBlock" minOccurs="0"/><xs:element name="new" type="ContactGroupsBlock" minOccurs="0"/></xs:sequence><xs:sequence><xs:annotation><xs:documentation>DialRules</xs:documentation></xs:annotation><xs:element name="old" type="DialingRulesBlock" minOccurs="0"/><xs:element name="new" type="DialingRulesBlock" minOccurs="0"/></xs:sequence><xs:sequence><xs:annotation><xs:documentation>EndUser</xs:documentation></xs:annotation><xs:element ref="property" minOccurs="0" maxOccurs="unbounded"/><xs:element name="cti-device" type="xs:string" minOccurs="0"/></xs:sequence><xs:sequence><xs:annotation><xs:documentation>PrivacyPolicy</xs:documentation></xs:annotation><xs:element name="old" type="PrivacyRulesType" minOccurs="0"/><xs:element name="new" type="PrivacyRulesType" minOccurs="0"/></xs:sequence></xs:choice></xs:sequence></xs:complexType></xs:element><xs:complexType name="ContactGroupsBlock"><xs:sequence><xs:element name="group" type="xs:string"/></xs:sequence></xs:complexType><xs:complexType name="DialingRulesBlock"><xs:sequence><xs:element name="rule" type="DialingRulesElementType"/></xs:sequence></xs:complexType><xs:complexType name="ContactsElementType"><xs:sequence><xs:element ref="group"/></xs:sequence></xs:complexType><xs:complexType name="DialingRulesElementType"><xs:sequence><xs:element name="type" type="xs:string"/><xs:element name="name" type="xs:string"/><xs:element name="description" type="xs:string"/><xs:element name="priority" type="xs:string"/><xs:element name="number-begins-with" type="xs:string"/><xs:element name="number-of-digits" type="xs:string"/><xs:element name="digits-to-be-removed" type="xs:string"/><xs:element name="prefix" type="xs:string"/></xs:sequence></xs:complexType><xs:element name="group"><xs:complexType><xs:complexContent><xs:extension base="ContactGroupType"><xs:attribute name="name" type="xs:string" use="required"/><xs:attribute name="index" type="xs:string" use="required"/></xs:extension></xs:complexContent></xs:complexType></xs:element><xs:complexType name="ContactGroupType"><xs:sequence><xs:element name="persona-id" type="xs:string"/><xs:element name="is-cups"/><xs:element name="is-external"/></xs:sequence></xs:complexType><xs:element name="property"><xs:complexType><xs:simpleContent><xs:extension base="xs:string"><xs:attribute name="is-public" type="xs:boolean" use="optional"/><xs:attribute name="name" type="xs:string" use="required"/></xs:extension></xs:simpleContent></xs:complexType></xs:element><xs:complexType name="PrivacyRulesType"><xs:sequence><xs:element name="rule"><xs:complexType><xs:choice><xs:element name="watcher" type="xs:string"/><xs:element name="data" type="xs:string"/></xs:choice><xs:attribute name="name" type="xs:string" use="required"/></xs:complexType></xs:element></xs:sequence></xs:complexType></xs:schema>Example Notify Payloads
UcSystemCfg
UcSystemCfg
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-systemcfg</epas:action><epas:property name="Security">1</epas:property><epas:property name="TFTP.Primary">hosta</epas:property><epas:property name="TFTP.Backup1">hostb</epas:property><epas:property name="TFTP.Backup2">hostc</epas:property></UPCConfigChange>EPASContacts
EPASContacts
Action: Insert
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>insert-contact</epas:action><new><epas:group name="General" index="1.0"><epas:persona-id index="1.0000000000" nickname="Curly">Jack</epas:persona-id><epas:is-cups>TRUE</epas:is-cups><epas:is-external>FALSE</epas:is-external></epas:group></new></UPCConfigChange>EPASContacts
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-contact</epas:action><old><epas:group name="General" index="1.0"><epas:persona-id index="1.0000000000" nickname="Curly">Jack</epas:persona-id><epas:is-cups>TRUE</epas:is-cups><epas:is-external>FALSE</epas:is-external></epas:group></old><new><epas:group name="General" index="1.0"><epas:persona-id index="1.0000000000" nickname="Baldy">Jack</epas:persona-id><epas:is-cups>TRUE</epas:is-cups><epas:is-external>FALSE</epas:is-external></epas:group></new></UPCConfigChange>EPASContacts
Action: Delete
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>delete-contact</epas:action><old><epas:group name="General" index="1.0"><epas:persona-id index="1.0000000000" nickname="Curly">Jack</epas:persona-id><epas:is-cups>TRUE</epas:is-cups><epas:is-external>FALSE</epas:is-external></epas:group></old></UPCConfigChange>EPASContactGroup
EPASContactGroup
Action: Insert
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>insert-group</epas:action><new><epas:group name="General" index="1.0000000000"></epas:group></new></UPCConfigChange>EPASContactGroup
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-group</epas:action><old><epas:group name="General" index="1.0000000000"></epas:group></old><new><epas:group name="Work" index="1.0000000000"></epas:group></new></UPCConfigChange>EPASContactGroup
Action: Delete
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>delete-group</epas:action><old><epas:group name="General" index="1.0000000000"></epas:group></old></UPCConfigChange>ApplicationDialRule
ApplicationDialRule
Action: Insert
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>insert-rule</epas:action><new><epas:rule><epas:type>1</epas:type><epas:name>9</epas:name><epas:description>9 to 1</epas:description><epas:priority>1</epas:priority><epas:number-begins-with>9</epas:number-begins-with><epas:number-of-digits>4</epas:number-of-digits><epas:digits-to-be-removed>1</epas:digits-to-be-removed><epas:prefix>1</epas:prefix></epas:rule></new></UPCConfigChange>ApplicationDialRule
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-rule</epas:action><old><epas:rule><epas:type>1</epas:type><epas:name>9</epas:name><epas:description>9 changed to 1</epas:description><epas:priority>1</epas:priority><epas:number-begins-with>9</epas:number-begins-with><epas:number-of-digits>4</epas:number-of-digits><epas:digits-to-be-removed>1</epas:digits-to-be-removed><epas:prefix>1</epas:prefix></epas:rule></old><new><epas:rule><epas:type>1</epas:type><epas:name>9</epas:name><epas:description>9 to 1</epas:description><epas:priority>1</epas:priority><epas:number-begins-with>9</epas:number-begins-with><epas:number-of-digits>4</epas:number-of-digits><epas:digits-to-be-removed>1</epas:digits-to-be-removed><epas:prefix>1</epas:prefix></epas:rule></new></UPCConfigChange>ApplicationDialRule
Action: Delete
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>delete-rule</epas:action><old><epas:rule><epas:type>1</epas:type><epas:name>9</epas:name><epas:description>9 changed to 1</epas:description><epas:priority>1</epas:priority><epas:number-begins-with>9</epas:number-begins-with><epas:number-of-digits>4</epas:number-of-digits><epas:digits-to-be-removed>1</epas:digits-to-be-removed><epas:prefix>1</epas:prefix></epas:rule></old></UPCConfigChange>UcAttributeMap
UcAttributeMap
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-ldapmapping</epas:action><epas:property name="Directory.Map.UID">employeenumber</epas:property><epas:property name="Directory.Map.FirstName">givenName</epas:property><epas:property name="Directory.Map.LastName">sn</epas:property><epas:property name="Directory.Map.MiddleName">initials</epas:property><epas:property name="Directory.Map.nickname">nickname</epas:property><epas:property name="Directory.Map.UserID">uid</epas:property><epas:property name="Directory.Map.Photo">jpegPhoto</epas:property><epas:property name="Directory.Map.Title">title</epas:property><epas:property name="Directory.Map.DisplayName">displayName</epas:property><epas:property name="Directory.Map.NamePrefix"></epas:property><epas:property name="Directory.Map.NameSuffix"></epas:property><epas:property name="Directory.Map.Gender"></epas:property><epas:property name="Directory.Map.BusinessEMail">mail</epas:property><epas:property name="Directory.Map.IM">uid</epas:property><epas:property name="Directory.Map.BusinessPhoneNumber">telephoneNumber</epas:property><epas:property name="Directory.Map.BusinessVoiceMail">voicemail</epas:property><epas:property name="Directory.Map.BusinessMobilePhone">mobile</epas:property><epas:property name="Directory.Map.BusinessPager">pager</epas:property><epas:property name="Directory.Map.BusinessFax">facsimileTelephoneNumber</epas:property><epas:property name="Directory.Map.BusinessOtherPhone"></epas:property><epas:property name="Directory.Map.HomeEMail"></epas:property><epas:property name="Directory.Map.HomeMobilePhone"></epas:property><epas:property name="Directory.Map.HomeFax"></epas:property><epas:property name="Directory.Map.URL">labeledURI</epas:property></UPCConfigChange>UcCtiGatewayProfile
UcCtiGatewayProfile
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:property name="CallControl.Primary.Address">rtp-epasccm2</epas:property><epas:property name="CallControl.Primary.Port">2748</epas:property><epas:property name="CallControl.Primary.Protocol">TCP</epas:property><epas:property name="CallControl.Backup1.Address"></epas:property><epas:property name="CallControl.Backup1.Port"></epas:property><epas:property name="CallControl.Backup1.Protocol"></epas:property><epas:property name="CallControl.Backup2.Address"></epas:property><epas:property name="CallControl.Backup2.Port"></epas:property><epas:property name="CallControl.Backup2.Protocol"></epas:property></UPCConfigChange>UcCtiGatewayHost
UcCtiGatewayHost
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="CallControl.Primary.Address">rtp-epasccm2</epas:property><epas:property name="CallControl.Primary.Port">2748</epas:property><epas:property name="CallControl.Primary.Protocol">TCP</epas:property><epas:property name="CallControl.Backup1.Address"></epas:property><epas:property name="CallControl.Backup1.Port"></epas:property><epas:property name="CallControl.Backup1.Protocol"></epas:property><epas:property name="CallControl.Backup2.Address"></epas:property><epas:property name="CallControl.Backup2.Port"></epas:property><epas:property name="CallControl.Backup2.Protocol"></epas:property></UPCConfigChange>EndUser
EndUser
Action: Update fkucunityprofile
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="VoiceMail.Primary.Address">hostname</epas:property><epas:property name="VoiceMail.Primary.Port">1234</epas:property><epas:property name="VoiceMail.Primary.Protocol">TCP</epas:property><epas:property name="VoiceMail.Backup1.Address">hostname</epas:property><epas:property name="VoiceMail.Backup1.Port">1234</epas:property><epas:property name="VoiceMail.Backup1.Protocol">TCP</epas:property><epas:property name="VoiceMail.Backup2.Address">hostname</epas:property><epas:property name="VoiceMail.Backup2.Port">1234</epas:property><epas:property name="VoiceMail.Backup2.Protocol">TCP</epas:property><epas:property name="VoiceMail.PilotNumber"></epas:property><epas:cti-device>SEP000E836F0164</epas:cti-device></UPCConfigChange>EndUser
Action: Update fkucmeetingplaceprofile
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="MeetingPlace.Primary.Address">hostname</epas:property><epas:property name="MeetingPlace.Primary.Port">1234</epas:property><epas:property name="MeetingPlace.Primary.Protocol">HTTPS</epas:property><epas:property name="MeetingPlace.Backup1.Address">hostname</epas:property><epas:property name="MeetingPlace.Backup1.Port">1234</epas:property><epas:property name="MeetingPlace.Backup1.Protocol">HTTPS</epas:property><epas:property name="MeetingPlace.Backup2.Address">hostname</epas:property><epas:property name="MeetingPlace.Backup2.Port">1234</epas:property><epas:property name="MeetingPlace.Backup2.Protocol">HTTPS</epas:property><epas:cti-device>SEP000E836F0164</epas:cti-device></UPCConfigChange>EndUser
Action: Update fkucctigatewayprofile
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="CallControl.Primary.Address">rtp-epasccm2</epas:property><epas:property name="CallControl.Primary.Port">2748</epas:property><epas:property name="CallControl.Primary.Protocol">TCP</epas:property><epas:property name="CallControl.Backup1.Address"></epas:property><epas:property name="CallControl.Backup1.Port"></epas:property><epas:property name="CallControl.Backup1.Protocol"></epas:property><epas:property name="CallControl.Backup2.Address"></epas:property><epas:property name="CallControl.Backup2.Port"></epas:property><epas:property name="CallControl.Backup2.Protocol"></epas:property><epas:cti-device>SEP000E836F0164</epas:cti-device></UPCConfigChange>EndUser
Action: Update fkucldapprofile
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="Directory.Primary.Address">hostname</epas:property><epas:property name="Directory.Primary.Port">1234</epas:property><epas:property name="Directory.Primary.Protocol">TCP</epas:property><epas:property name="Directory.Backup1.Address">hostname</epas:property><epas:property name="Directory.Backup1.Port">1234</epas:property><epas:property name="Directory.Backup1.Protocol">TCP</epas:property><epas:property name="Directory.Backup2.Address">hostname</epas:property><epas:property name="Directory.Backup2.Port">1234</epas:property><epas:property name="Directory.Backup2.Protocol">TCP</epas:property><epas:cti-device>SEP000E836F0164</epas:cti-device></UPCConfigChange>EndUser
Action: Update fkucproxyprofile
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="Presence.Primary.Address">dsulzen-cup</epas:property><epas:property name="Presence.Primary.Port">5060</epas:property><epas:property name="Presence.Primary.Protocol">TCP</epas:property><epas:property name="Presence.Backup.Address">dsulzen-cup</epas:property><epas:property name="Presence.Backup.Port">5060</epas:property><epas:property name="Presence.Backup.Protocol">TCP</epas:property><epas:property name="Presence.Domain">cisco.com</epas:property><epas:cti-device>SEP000E836F0164</epas:cti-device></UPCConfigChange>EndUser
Action: Update enablecalendarpresence
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="Presence.calendar">disabled</epas:property></UPCConfigChange>EpasDevice
EpasDevice
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-systemcfg</epas:action><epas:property name="Security">1</epas:property><epas:property name="TFTP.Primary">PrimaryTftpHost</epas:property><epas:property name="TFTP.Backup1">hostb</epas:property><epas:property name="TFTP.Backup2">hostc</epas:property></UPCConfigChange>UcLdapProfile
UcLdapProfile
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-ldap</epas:action><epas:property name="Directory.DN">ldapdn</epas:property><epas:property name="Directory.Password">12345</epas:property><epas:property name="Directory.AnonymousBind">FALSE</epas:property><epas:property name="Directory.ConfigurationName">confname</epas:property><epas:property name="Directory.SearchContext1">cont1</epas:property><epas:property name="Directory.SearchRecursive1">FALSE</epas:property><epas:property name="Directory.SearchContext2">cont1</epas:property><epas:property name="Directory.SearchRecursive2">FALSE</epas:property><epas:property name="Directory.SearchContext3">cont1</epas:property><epas:property name="Directory.SearchRecursive3">FALSE</epas:property><epas:property name="Directory.Primary.Address">hostname</epas:property><epas:property name="Directory.Primary.Port">1234</epas:property><epas:property name="Directory.Primary.Protocol">TCP</epas:property><epas:property name="Directory.Backup1.Address">hostname</epas:property><epas:property name="Directory.Backup1.Port">1234</epas:property><epas:property name="Directory.Backup1.Protocol">TCP</epas:property><epas:property name="Directory.Backup2.Address">hostname</epas:property><epas:property name="Directory.Backup2.Port">1234</epas:property><epas:property name="Directory.Backup2.Protocol">TCP</epas:property></UPCConfigChange>UcLdapHost
UcLdapHost
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-ldap</epas:action><epas:property name="Directory.DN">ldapdn</epas:property><epas:property name="Directory.Password">12345</epas:property><epas:property name="Directory.AnonymousBind">FALSE</epas:property><epas:property name="Directory.ConfigurationName">confname</epas:property><epas:property name="Directory.SearchContext1">cont1</epas:property><epas:property name="Directory.SearchRecursive1">FALSE</epas:property><epas:property name="Directory.SearchContext2">cont1</epas:property><epas:property name="Directory.SearchRecursive2">FALSE</epas:property><epas:property name="Directory.SearchContext3">cont1</epas:property><epas:property name="Directory.SearchRecursive3">FALSE</epas:property><epas:property name="Directory.Primary.Address">hostname</epas:property><epas:property name="Directory.Primary.Port">1234</epas:property><epas:property name="Directory.Primary.Protocol">TCP</epas:property><epas:property name="Directory.Backup1.Address">hostname</epas:property><epas:property name="Directory.Backup1.Port">1234</epas:property><epas:property name="Directory.Backup1.Protocol">TCP</epas:property><epas:property name="Directory.Backup2.Address">hostname</epas:property><epas:property name="Directory.Backup2.Port">1234</epas:property><epas:property name="Directory.Backup2.Protocol">TCP</epas:property></UPCConfigChange>UcMeetingPlaceHost
UcMeetingPlaceHost
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="MeetingPlace.Primary.Address">hostname</epas:property><epas:property name="MeetingPlace.Primary.Port">1234</epas:property><epas:property name="MeetingPlace.Primary.Protocol">HTTPS</epas:property><epas:property name="MeetingPlace.Backup1.Address">hostname</epas:property><epas:property name="MeetingPlace.Backup1.Port">1234</epas:property><epas:property name="MeetingPlace.Backup1.Protocol">HTTPS</epas:property><epas:property name="MeetingPlace.Backup2.Address">hostname</epas:property><epas:property name="MeetingPlace.Backup2.Port">1234</epas:property><epas:property name="MeetingPlace.Backup2.Protocol">HTTPS</epas:property></UPCConfigChange>UcMeetingPlaceProfile
UcMeetingPlaceProfile
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="MeetingPlace.Primary.Address">hostname</epas:property><epas:property name="MeetingPlace.Primary.Port">1234</epas:property><epas:property name="MeetingPlace.Primary.Protocol">HTTPS</epas:property><epas:property name="MeetingPlace.Backup1.Address">hostname</epas:property><epas:property name="MeetingPlace.Backup1.Port">1234</epas:property><epas:property name="MeetingPlace.Backup1.Protocol">HTTPS</epas:property><epas:property name="MeetingPlace.Backup2.Address">hostname</epas:property><epas:property name="MeetingPlace.Backup2.Port">1234</epas:property><epas:property name="MeetingPlace.Backup2.Protocol">HTTPS</epas:property></UPCConfigChange>ProcessConfig
ProcessConfig
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="Presence.Primary.Address"></epas:property><epas:property name="Presence.Primary.Port"></epas:property><epas:property name="Presence.Primary.Protocol"></epas:property><epas:property name="Presence.Backup.Address"></epas:property><epas:property name="Presence.Backup.Port"></epas:property><epas:property name="Presence.Backup.Protocol"></epas:property><epas:property name="Presence.Domain">cisco.com</epas:property></UPCConfigChange>UcProxyProfile
UcProxyProfile
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="Presence.Primary.Address">example-cup</epas:property><epas:property name="Presence.Primary.Port">5060</epas:property><epas:property name="Presence.Primary.Protocol">TCP</epas:property><epas:property name="Presence.Backup.Address">example-cup</epas:property><epas:property name="Presence.Backup.Port">5060</epas:property><epas:property name="Presence.Backup.Protocol">TCP</epas:property><epas:property name="Presence.Domain">cisco.com</epas:property></UPCConfigChange>UcUnityHost
UnUnityHost
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="VoiceMail.Primary.Address">hostname</epas:property><epas:property name="VoiceMail.Primary.Port">1234</epas:property><epas:property name="VoiceMail.Primary.Protocol">TCP</epas:property><epas:property name="VoiceMail.Backup1.Address">hostname</epas:property><epas:property name="VoiceMail.Backup1.Port">1234</epas:property><epas:property name="VoiceMail.Backup1.Protocol">TCP</epas:property><epas:property name="VoiceMail.Backup2.Address">hostname</epas:property><epas:property name="VoiceMail.Backup2.Port">1234</epas:property><epas:property name="VoiceMail.Backup2.Protocol">TCP</epas:property><epas:property name="VoiceMail.PilotNumber"></epas:property></UPCConfigChange>UcUnityProfile
UcUnityProfile
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="VoiceMail.Primary.Address">hostname</epas:property><epas:property name="VoiceMail.Primary.Port">1234</epas:property><epas:property name="VoiceMail.Primary.Protocol">TCP</epas:property><epas:property name="VoiceMail.Backup1.Address">hostname</epas:property><epas:property name="VoiceMail.Backup1.Port">1234</epas:property><epas:property name="VoiceMail.Backup1.Protocol">TCP</epas:property><epas:property name="VoiceMail.Backup2.Address">hostname</epas:property><epas:property name="VoiceMail.Backup2.Port">1234</epas:property><epas:property name="VoiceMail.Backup2.Protocol">TCP</epas:property><epas:property name="VoiceMail.PilotNumber"></epas:property></UPCConfigChange>VoiceMessagingPilot
VoiceMessagingPilot
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-host</epas:action><epas:property name="VoiceMail.Primary.Address">hostname</epas:property><epas:property name="VoiceMail.Primary.Port">1234</epas:property><epas:property name="VoiceMail.Primary.Protocol">TCP</epas:property><epas:property name="VoiceMail.Backup1.Address">hostname</epas:property><epas:property name="VoiceMail.Backup1.Port">1234</epas:property><epas:property name="VoiceMail.Backup1.Protocol">TCP</epas:property><epas:property name="VoiceMail.Backup2.Address">hostname</epas:property><epas:property name="VoiceMail.Backup2.Port">1234</epas:property><epas:property name="VoiceMail.Backup2.Protocol">TCP</epas:property><epas:property name="VoiceMail.PilotNumber">9999</epas:property></UPCConfigChange>EpasPrivacyPolicy
EpasPrivacyPolicy
Action: Insert
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:upc...'><epas:action>add-presence-rules</epas:action><new><epas:rule name="String"><epas:data>filterdata pointed to by fkpefilterinfo</epas:data></epas:rule></new><UPCConfigChange>EpasPrivacyPolicy
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:upc...'><epas:action>update-presence-rules</epas:action><old><epas:rule name="String"><epas:data>filterdata pointed to by fkpefilterinfo</epas:data></epas:rule></old><new><epas:rule name="String"><epas:data>filterdata pointed to by fkpefilterinfo</epas:data></epas:rule></new><UPCConfigChange>EpasPrivacyPolicy
Action: Delete
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:upc...'><epas:action>delete-presence-rules</epas:action><old><epas:rule name="String"><epas:data>filterdata pointed to by fkpefilterinfo</epas:data></epas:rule></old><UPCConfigChange>PeUriAcl
PeUriAcl
Action: Insert
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>add-acl</epas:action><new><epas:rule name="String obtained from fkepasprivacypolicy name"><epas:watcher>watcherx@ex.com</epas:watcher></epas:rule></new><UPCConfigChange>PeUriAcl
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-acl</epas:action><old><epas:rule name="String obtained from fkepasprivacypolicy name"><epas:watcher>watcherx@ex.com</epas:watcher></epas:rule></old><new><epas:rule name="String obtained from fkepasprivacypolicy name"><epas:watcher>watcherx@ab.com</epas:watcher></epas:rule></new><UPCConfigChange>PeUriAcl
Action: Delete
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>delete-acl</epas:action><old><epas:rule name="String obtained from fkepasprivacypolicy name"><epas:watcher>watcherx@ex.com</epas:watcher></epas:rule></old><UPCConfigChange>CUPSystemCfg
CUPSystemCfg
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-cupssystemcfg</epas:action><epas:property name="IM.enable">TRUE</epas:property></UPCConfigChange>UCEnduserCfg
UCEnduserCfg
Action: Insert
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>insert-endusercfg</epas:action><epas:property name="attrname" is-public="TRUE">attrvalue</epas:property></UPCConfigChange>UCEnduserCfg
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>delete-endusercfg</epas:action><epas:property name="attrname" is-public="FALSE">attrvalue</epas:property></UPCConfigChange>UCEnduserCfg
Action: Delete
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-endusercfg</epas:action><epas:property name="attrname" is-public="TRUE">attrvalue</epas:property></UPCConfigChange>PEBackendGateway
PEBackendGateway
Action: Update
Payload:
<?xml version="1.0" encoding="UTF-8"?><UPCConfigChange xmlns='urn:cisco:epas:uccn' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='urn:cisco:epas:uccn file:UCCNSchema.xsd'><epas:action>update-pebackendgateway</epas:action><epas:property name="Presence.ExchangeEnabled">FALSE</epas:property></UPCConfigChange>Cisco Unified Presence SOAP Interface
This section contains the following topics:
Overview
Among the functions of the Cisco Unified Presence Simple Object Access Protocol (SOAP) interface, a client application can use SOAP to perform the following tasks:
•
Log in and out of Cisco Unified Presence
•
Get system configuration information
•
Get and set user configurations
•
Publish and unpublish long-term presence status
•
Download dialing rules and recent communication history
Note
To access the complete Cisco Unified Presence SOAP schema, enter the following URL at a computer that has access to your Cisco Unified Presence server:
http://server_name/EPASSoap/service?wsdl=wsdl
where
server_name is the domain name or IP address of your Cisco Unified Presence server.
SOAP Header
All SOAP requests, except login requests, must insert a session-key element into the SOAP header portion shown in Example 8.
Example 8 SOAP Header
<?xml version="1.0" encoding="UTF-8"?><SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><SOAP:Header><epas:session-key>session key</epas:session-key></SOAP:Header><SOAP:Body><!-- a non login request body here --></SOAP:Body></SOAP:Envelope>SOAP Fault
A SOAP fault can be returned in the response body due to either a non-conformant SOAP request or an internal server error, for example, failure to connect to database.
Example 9 indicates the client is sending an invalid request.
Example 9 SOAP Fault Caused by an Invalid Request
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><env:Fault><env:Code><env:Value>env:Sender</env:Value></env:Code><env:Reason><env:Text xml:lang="en">Invalid request.</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>Example 10 indicates the Cisco Unified Presence server is having difficulty processing requests because of database failure.
Example 10 SOAP Fault Caused by a Database Failure
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><env:Fault><env:Code><env:Value>env:Receiver</env:Value></env:Code><env:Reason><env:Text xml:lang="en">Could not connect to database.</env:Text></env:Reason></env:Fault></env:Body></env:Envelope>Login
To log in, a client sends the username and password in the login request for authentication, and Cisco Unified Presence creates a session key, an opaque string, if the user credentials are verified. The client includes the session key in the SOAP header portion of subsequent SOAP requests, including logout requests.
Example 11 shows a sample login request.
Example 11 Login Request
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Body><login><username>xmzhou</username><password>12345</password></login></soapenv:Body></soapenv:Envelope>If login is successful, the client receives a response that contains a session key, shown in Example 12.
Example 12 Successful Login Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:login-resp xmlns:epas="urn:cisco:epas:soap" ><epas:success><epas:session-key>b189aa60-24e3-4e66-a3b6-d8488235ba47</epas:session-key></epas:success></epas:login-resp></env:Body></env:Envelope>If the authentication is unsuccessful, the client receives a response similar to Example 13.
Example 13 Unseccessful Login Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:login-resp xmlns:epas="urn:cisco:epas:soap" ><epas:failure><epas:reason>Wrong username/password</epas:reason></epas:failure></epas:login-resp></env:Envelope>If the user is already logged in, the client receives a response similar to Example 14
Example 14 Login Response for a Client that is already Logged In
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:login-resp xmlns:epas="urn:cisco:epas:soap" ><epas:failure><epas:reason>A SOAP session has already been established.</epas:reason></epas:failure></epas:login-resp></env:Envelope>To force a login by clearing a previous session, the client can specify the force attribute in the login request. The forced login will always return a session key if the user credentials are correct, regardless of whether the user is already logged in. shows a login request with the force attribute.
Example 15 Login Request with the Force Attrubute
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Body><login force="true"><username>xmzhou</username><password>12345</password></login></soapenv:Body></soapenv:Envelope>Logout
To log out, the client sends a session key in the header portion of the SOAP request along with the logout element in the body portion. Example 16shows a sample logout request.
Example 16 Logout Request
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><logout tuple-id="cupc-override"/></soapenv:Body></soapenv:Envelope>If logout is successful, the client receives a response similar to Example 17
Example 17 Successful Logout Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:logout-resp xmlns:epas="urn:cisco:epas:soap" ><epas:success/></epas:logout-resp></env:Body></env:Envelope>Configuration
After successfully logging in, the client sends the get-all-config request to retrieve configuration information. See Example 18.
Example 18 Get-All-Config
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><get-all-config><system-config/><user-config/><licensing-features/><contact-list/><presence-rules/><dialing-rules/></get-all-config></soapenv:Body></soapenv:Envelope>Example 19 shows a sample response to the get-all-config request.
Example 19 Get-All-Config Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-all-config-resp xmlns:epas="urn:cisco:epas:soap" ><epas:get-system-config-resp xmlns:epas="urn:cisco:epas:soap" ><epas:property name="Directory.Map.userid">uid</epas:property><epas:property name="Directory.Map.givenName">givenname</epas:property><epas:property name="Directory.Map.surName">sn</epas:property><epas:property name="Directory.Map.middleName">middleinitial</epas:property><epas:property name="Directory.Map.displayName">cn</epas:property><epas:property name="Directory.Map.nickName"></epas:property><epas:property name="Directory.Map.jpegPhoto"></epas:property><epas:property name="Directory.Map.internalSnailMailAddress">postofficebox</epas:property><epas:property name="Directory.Map.site">site</epas:property><epas:property name="Directory.Map.building">building</epas:property><epas:property name="Directory.Map.floor">floor</epas:property><epas:property name="Directory.Map.physicalLocation"></epas:property><epas:property name="Directory.Map.orgPersonNumber">employeenumber</epas:property><epas:property name="Directory.Map.orgPersonType">employeetype</epas:property><epas:property name="Directory.Map.title">title</epas:property><epas:property name="Directory.Map.orgainzationName"></epas:property><epas:property name="Directory.Map.organizationUnitName"></epas:property><epas:property name="Directory.Map.departmentNumber">departmentnumber</epas:property><epas:property name="Directory.Map.managerID">manageruid</epas:property><epas:property name="Directory.Map.preferredLanguage"></epas:property><epas:property name="Directory.Map.status">status</epas:property><epas:property name="Security"></epas:property><epas:property name="VoiceMail.Primary.Address"></epas:property><epas:property name="VoiceMail.Primary.Port"></epas:property><epas:property name="VoiceMail.Primary.Protocol"></epas:property><epas:property name="VoiceMail.Backup1.Address"></epas:property><epas:property name="VoiceMail.Backup1.Port"></epas:property><epas:property name="VoiceMail.Backup1.Protocol"></epas:property><epas:property name="VoiceMail.Backup2.Address"></epas:property><epas:property name="VoiceMail.Backup2.Port"></epas:property><epas:property name="VoiceMail.Backup2.Protocol"></epas:property><epas:property name="VoiceMail.PilotNumber"></epas:property><epas:property name="MeetingPlace.Primary.Address"></epas:property><epas:property name="MeetingPlace.Primary.Port"></epas:property><epas:property name="MeetingPlace.Primary.Protocol"></epas:property><epas:property name="MeetingPlace.Backup1.Address"></epas:property><epas:property name="MeetingPlace.Backup1.Port"></epas:property><epas:property name="MeetingPlace.Backup1.Protocol"></epas:property><epas:property name="MeetingPlace.Backup2.Address"></epas:property><epas:property name="MeetingPlace.Backup2.Port"></epas:property><epas:property name="MeetingPlace.Backup2.Protocol"></epas:property><epas:property name="CallControl.Primary.Address"></epas:property><epas:property name="CallControl.Primary.Port"></epas:property><epas:property name="CallControl.Primary.Protocol"></epas:property><epas:property name="CallControl.Backup1.Address"></epas:property><epas:property name="CallControl.Backup1.Port"></epas:property><epas:property name="CallControl.Backup1.Protocol"></epas:property><epas:property name="CallControl.Backup2.Address"></epas:property><epas:property name="CallControl.Backup2.Port"></epas:property><epas:property name="CallControl.Backup2.Protocol"></epas:property><epas:property name="Directory.DN"></epas:property><epas:property name="Directory.Password"></epas:property><epas:property name="Directory.AnonymousBind">FALSE</epas:property><epas:property name="Directory.ConfigurationName"></epas:property><epas:property name="Directory.SearchContext1"></epas:property><epas:property name="Directory.SearchRecursive1">FALSE</epas:property><epas:property name="Directory.SearchContext2"></epas:property><epas:property name="Directory.SearchRecursive2">FALSE</epas:property><epas:property name="Directory.SearchContext3"></epas:property><epas:property name="Directory.SearchRecursive3">FALSE</epas:property><epas:property name="Directory.Primary.Address"></epas:property><epas:property name="Directory.Primary.Port"></epas:property><epas:property name="Directory.Primary.Protocol"></epas:property><epas:property name="Directory.Backup1.Address"></epas:property><epas:property name="Directory.Backup1.Port"></epas:property><epas:property name="Directory.Backup1.Protocol"></epas:property><epas:property name="Directory.Backup2.Address"></epas:property><epas:property name="Directory.Backup2.Port"></epas:property><epas:property name="Directory.Backup2.Protocol"></epas:property><epas:property name="Presence.Primary.Address"></epas:property><epas:property name="Presence.Primary.Port"></epas:property><epas:property name="Presence.Primary.Protocol"></epas:property><epas:property name="Presence.Backup.Address"></epas:property><epas:property name="Presence.Backup.Port"></epas:property><epas:property name="Presence.Backup.Protocol"></epas:property><epas:property name="Presence.Domain">cisco.com</epas:property><epas:property name="TFTP.Primary"></epas:property><epas:property name="TFTP.Backup1"></epas:property><epas:property name="TFTP.Backup2"></epas:property></epas:get-system-config-resp><epas:get-user-config-resp xmlns:epas="urn:cisco:epas:soap" ><epas:property name="CallControl.Lineid" is-public="false"></epas:property></epas:get-user-config-resp><epas:get-licensing-features-resp xmlns:epas="urn:cisco:epas:soap" ><epas:base>false</epas:base><epas:im>false</epas:im><epas:audio>false</epas:audio><epas:video>false</epas:video></epas:get-licensing-features-resp><epas:get-contact-list-resp xmlns:epas="urn:cisco:epas:soap" ></epas:get-contact-list-resp><epas:get-presence-rules-resp xmlns:epas="urn:cisco:epas:soap" xmlns:pr="urn:cisco:epas:presence:rules" ><epas:visibility>all</epas:visibility><pr:reachability></pr:reachability><epas:privacy-policy>Allow All</epas:privacy-policy><epas:acl></epas:acl></epas:get-presence-rules-resp><epas:get-dialing-rules-resp xmlns:epas="urn:cisco:epas:soap" ></epas:get-dialing-rules-resp></epas:get-all-config-resp></env:Body></env:Envelope>System Configuration
The client sends the get-system-config request to retrieve system-level configurations. See Example 20.
Example 20 Get-System-Config
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><get-system-config/></soapenv:Body></soapenv:Envelope>Example 21 shows the response.
Example 21 Get-System-Config Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-system-config-resp xmlns:epas="urn:cisco:epas:soap" ><epas:property name="Directory.Map.userid">uid</epas:property><epas:property name="Directory.Map.givenName">givenname</epas:property><epas:property name="Directory.Map.surName">sn</epas:property><epas:property name="Directory.Map.middleName">middleinitial</epas:property><epas:property name="Directory.Map.displayName">cn</epas:property><epas:property name="Directory.Map.nickName"></epas:property><epas:property name="Directory.Map.jpegPhoto"></epas:property><epas:property name="Directory.Map.internalSnailMailAddress">postofficebox</epas:property><epas:property name="Directory.Map.site">site</epas:property><epas:property name="Directory.Map.building">building</epas:property><epas:property name="Directory.Map.floor">floor</epas:property><epas:property name="Directory.Map.physicalLocation"></epas:property><epas:property name="Directory.Map.orgPersonNumber">employeenumber</epas:property><epas:property name="Directory.Map.orgPersonType">employeetype</epas:property><epas:property name="Directory.Map.title">title</epas:property><epas:property name="Directory.Map.orgainzationName"></epas:property><epas:property name="Directory.Map.organizationUnitName"></epas:property><epas:property name="Directory.Map.departmentNumber">departmentnumber</epas:property><epas:property name="Directory.Map.managerID">manageruid</epas:property><epas:property name="Directory.Map.preferredLanguage"></epas:property><epas:property name="Directory.Map.status">status</epas:property><epas:property name="Security"></epas:property><epas:property name="VoiceMail.Primary.Address"></epas:property><epas:property name="VoiceMail.Primary.Port"></epas:property><epas:property name="VoiceMail.Primary.Protocol"></epas:property><epas:property name="VoiceMail.Backup1.Address"></epas:property><epas:property name="VoiceMail.Backup1.Port"></epas:property><epas:property name="VoiceMail.Backup1.Protocol"></epas:property><epas:property name="VoiceMail.Backup2.Address"></epas:property><epas:property name="VoiceMail.Backup2.Port"></epas:property><epas:property name="VoiceMail.Backup2.Protocol"></epas:property><epas:property name="VoiceMail.PilotNumber"></epas:property><epas:property name="MeetingPlace.Primary.Address"></epas:property><epas:property name="MeetingPlace.Primary.Port"></epas:property><epas:property name="MeetingPlace.Primary.Protocol"></epas:property><epas:property name="MeetingPlace.Backup1.Address"></epas:property><epas:property name="MeetingPlace.Backup1.Port"></epas:property><epas:property name="MeetingPlace.Backup1.Protocol"></epas:property><epas:property name="MeetingPlace.Backup2.Address"></epas:property><epas:property name="MeetingPlace.Backup2.Port"></epas:property><epas:property name="MeetingPlace.Backup2.Protocol"></epas:property><epas:property name="CallControl.Primary.Address"></epas:property><epas:property name="CallControl.Primary.Port"></epas:property><epas:property name="CallControl.Primary.Protocol"></epas:property><epas:property name="CallControl.Backup1.Address"></epas:property><epas:property name="CallControl.Backup1.Port"></epas:property><epas:property name="CallControl.Backup1.Protocol"></epas:property><epas:property name="CallControl.Backup2.Address"></epas:property><epas:property name="CallControl.Backup2.Port"></epas:property><epas:property name="CallControl.Backup2.Protocol"></epas:property><epas:property name="Directory.DN"></epas:property><epas:property name="Directory.Password"></epas:property><epas:property name="Directory.AnonymousBind">FALSE</epas:property><epas:property name="Directory.ConfigurationName"></epas:property><epas:property name="Directory.SearchContext1"></epas:property><epas:property name="Directory.SearchRecursive1">FALSE</epas:property><epas:property name="Directory.SearchContext2"></epas:property><epas:property name="Directory.SearchRecursive2">FALSE</epas:property><epas:property name="Directory.SearchContext3"></epas:property><epas:property name="Directory.SearchRecursive3">FALSE</epas:property><epas:property name="Directory.Primary.Address"></epas:property><epas:property name="Directory.Primary.Port"></epas:property><epas:property name="Directory.Primary.Protocol"></epas:property><epas:property name="Directory.Backup1.Address"></epas:property><epas:property name="Directory.Backup1.Port"></epas:property><epas:property name="Directory.Backup1.Protocol"></epas:property><epas:property name="Directory.Backup2.Address"></epas:property><epas:property name="Directory.Backup2.Port"></epas:property><epas:property name="Directory.Backup2.Protocol"></epas:property><epas:property name="Presence.Primary.Address"></epas:property><epas:property name="Presence.Primary.Port"></epas:property><epas:property name="Presence.Primary.Protocol"></epas:property><epas:property name="Presence.Backup.Address"></epas:property><epas:property name="Presence.Backup.Port"></epas:property><epas:property name="Presence.Backup.Protocol"></epas:property><epas:property name="Presence.Domain">cisco.com</epas:property><epas:property name="TFTP.Primary"></epas:property><epas:property name="TFTP.Backup1"></epas:property><epas:property name="TFTP.Backup2"></epas:property></epas:get-system-config-resp></env:Body></env:Envelope>User Configuration
The get-user-config request retrieves per-user configuration information. See Example 22.
Example 22 Get-User-Config
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><get-user-config/></soapenv:Body></soapenv:Envelope>Example 23 shows the response.
Example 23 Get-User-Config Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-user-config-resp xmlns:epas="urn:cisco:epas:soap" ><epas:property name="CallControl.Lineid" is-public="false"></epas:property></epas:get-user-config-resp></env:Body></env:Envelope>The set-user-config request sets per-user configuration information. See Example 24.
Example 24 Set-User-Config
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><set-user-config><property name="Preferred.Contact" is-public="true">email</property><property name="UI.Color.Background" is-public="false">white</property><property name="UI.Color.Foreground" is-public="false">black</property><property name="PhoneNumber.Primary" is-public="true">200</property></set-user-config></soapenv:Body></soapenv:Envelope>See Example 25 for the set-user-config response.
Example 25 Set-User-Config Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:set-user-config-resp xmlns:epas="urn:cisco:epas:soap" ><epas:property name="Preferred.Contact" status-code="0"/><epas:property name="UI.Color.Background" status-code="0"/><epas:property name="UI.Color.Foreground" status-code="0"/><epas:property name="PhoneNumber.Primary" status-code="0"/></epas:set-user-config-resp></env:Body></env:Envelope>Contact List
This section provides examples for working with the user contact lists.
Retrieving a Contact List
The get-contact-list request retrieves a user contact list. See Example 26.
Example 26 Get-Contact-List
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><get-contact-list/></soapenv:Body></soapenv:Envelope>For the response, see Example 27.
Example 27 Get-Contact-List Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-contact-list-resp xmlns:epas="urn:cisco:epas:soap" ><epas:group name="" index="-200"><epas:persona-id index="-33.3" nickname="" display-on-phone="true">soapuser1</epas:persona-id><epas:persona-id index="1" nickname="what" display-on-phone="false">soapuser4</epas:persona-id><epas:persona-id index="32" nickname="dave" display-on-phone="false">soapuser5</epas:persona-id><epas:persona-id index="33" nickname="" display-on-phone="false">soapuser3</epas:persona-id></epas:group><epas:group name="work" index="1000.9"><epas:persona-id index="-1" nickname="" display-on-phone="false">soapuser5</epas:persona-id><epas:persona-id index="200" nickname="user2 nickname" display-on-phone="false">soapuser2</epas:persona-id><epas:persona-id index="201" nickname="user3's nickname" display-on-phone="false">soapuser3</epas:persona-id><epas:persona-id index="202" nickname="" display-on-phone="true">soapuser4</epas:persona-id></epas:group><epas:group name="new customers" index="2000.9"><epas:persona-id index="202" nickname="another user2's nickname" display-on-phone="true">soapuser2</epas:persona-id><epas:persona-id index="203" nickname="" display-on-phone="false">soapuser3</epas:persona-id></epas:group></epas:get-contact-list-resp></env:Body></env:Envelope>Adding Contact Groups
The add-group request adds contact groups. See Example 28.
Example 28 Add-Group
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><add-group><group name="work"></group><group name="friends" index="2"/><group name="customers" index="540"/><group name="work" index="-1"></group></add-group></soapenv:Body></soapenv:Envelope>For the add-group response, see Example 29.
Example 29 Add-Group Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:add-group-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status name="work" >succeeded</epas:status><epas:status name="friends" index="2">succeeded</epas:status><epas:status name="customers" index="540">succeeded</epas:status><epas:status name="work" index="-1">failed</epas:status></epas:add-group-resp></env:Body></env:Envelope>Modifying Contact Groups
The modify-group request modifies contact groups. See Example 30.
Example 30 Modify-Group
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><modify-group><group old-name="non existing" new-name="still non existing"/><group old-name="" index="-200" new-name="can i change this?"/><group old-name="friends" new-name="new friends"/><group old-name="work" index="1000.9"/><group old-name="customers" new-name="new customers" index="2000.9"/></modify-group></soapenv:Body></soapenv:Envelope>For the modify-group response, see Example 31.
Example 31 Modify-Group Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:modify-group-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status old-name="non existing" new-name="still non existing" >failed</epas:status><epas:status old-name="" new-name="can i change this?" index="-200">succeeded</epas:status><epas:status old-name="friends" new-name="new friends" >succeeded</epas:status><epas:status old-name="work" index="1000.9">succeeded</epas:status><epas:status old-name="customers" new-name="new customers" index="2000.9">succeeded</epas:status></epas:modify-group-resp></env:Body></env:Envelope>Deleting Contact Groups
You can use the delete-group request to to delete contact groups. See Example 32.
Example 32 Delete-Group
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><delete-group><group name="work"></group><group name="friends" index="2"/><group name="customers" index="540"/><group name="work" index="-1"></group></add-group></soapenv:Body></soapenv:Envelope>For the delete-group response, see Example 33.
Example 33 Delete-Group Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:delete-group-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status name="non existing">succeeded</epas:status><epas:status name="new friends">succeeded</epas:status><epas:status name="non existing too">succeeded</epas:status><epas:status name="still non existing too">succeeded</epas:status><epas:status name="new work">succeeded</epas:status></epas:delete-group-resp></env:Body></env:Envelope>Adding Contacts
To add contacts, use the add-contact request. See Example 34.
Example 34 Add-Contact
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><add-contact><group name="work"><persona-id index="200" display-on-phone="false" nickname="user2 nickname">soapuser2</persona-id><persona-id nickname="user3's nickname">soapuser3</persona-id><persona-id display-on-phone="true">soapuser4</persona-id><persona-id index="-1">soapuser5</persona-id><persona-id>nonexisting</persona-id></group><group name="new customers"><persona-id index="202" display-on-phone="true" nickname="another user2's nickname">soapuser2</persona-id><persona-id display-on-phone="false">soapuser3</persona-id><persona-id index="200" display-on-phone="false" nickname="non existing">nonexisting</persona-id></group><group name="friends"><persona-id nickname="what">soapuser2</persona-id><persona-id>whatever</persona-id></group><group name=""><persona-id display-on-phone="false" nickname="what">soapuser4</persona-id><persona-id nickname="dave" index="32">soapuser5</persona-id><persona-id>soapuser3</persona-id><persona-id display-on-phone="true" index="-33.3">soapuser1</persona-id></group></add-contact></soapenv:Body></soapenv:Envelope>For the add-contact response, see Example 35.
Example 35 Add-Contact Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:add-contact-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status persona-id="soapuser2" group="work" index="200" nickname="user2 nickname" display-on-phone="false">succeeded</epas:status><epas:status persona-id="soapuser3" group="work" nickname="user3's nickname">succeeded</epas:status><epas:status persona-id="soapuser4" group="work" display-on-phone="true">succeeded</epas:status><epas:status persona-id="soapuser5" group="work" index="-1">succeeded</epas:status><epas:status persona-id="nonexisting" group="work">Contact does not exist in.</epas:status><epas:status persona-id="soapuser2" group="new customers" index="202" nickname="another user2's nickname" display-on-phone="true">succeeded</epas:status><epas:status persona-id="soapuser3" group="new customers" display-on-phone="false">succeeded</epas:status><epas:status persona-id="nonexisting" group="new customers" index="200" nickname="non existing" display-on-phone="false">Contact does not exist in.</epas:status><epas:status persona-id="soapuser2" group="friends" nickname="what">The Contact Group does not exist.</epas:status><epas:status persona-id="whatever" group="friends">Contact does not exist in.</epas:status><epas:status persona-id="soapuser4" group="" nickname="what" display-on-phone="false">succeeded</epas:status><epas:status persona-id="soapuser5" group="" index="32" nickname="dave">succeeded</epas:status><epas:status persona-id="soapuser3" group="">succeeded</epas:status><epas:status persona-id="soapuser1" group="" index="-33.3" display-on-phone="true">succeeded</epas:status></epas:add-contact-resp></env:Body></env:Envelope>Modifying Contacts
To modify contacts, you can use the modify-contact request. See Example 36.
Example 36 Modify-Contact
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><modify-contact><group name=""><persona-id index="200" display-on-phone="false" nickname="user5 nick">soapuser5</persona-id><persona-id nickname="default 'one'" display-on-phone="false">soapuser1</persona-id><persona-id>soapuser4</persona-id><persona-id nickname="1">soapuser3</persona-id></group><group name="new customers"><persona-id nickname="who is soap user 3?">soapuser3</persona-id><persona-id>soapuser2</persona-id></group><group name="work"><persona-id display-on-phone="false">soapuser3</persona-id><persona-id nickname="soap user's nickname">soapuser4</persona-id><persona-id index="-3000">soapuser5</persona-id><persona-id nickname="" index="-3000.5" display-on-phone="true">soapuser2</persona-id></group><group name="new work"><persona-id nickname="doesn't work!!!">soapuser2</persona-id></group></modify-contact></soapenv:Body></soapenv:Envelope>For the modify-contact response, see Example 37.
Example 37 Modify-Contact Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:modify-contact-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status persona-id="soapuser5" group="" index="200" nickname="user5 nick" display-on-phone="false">succeeded</epas:status><epas:status persona-id="soapuser1" group="" nickname="default 'one'" display-on-phone="false">succeeded</epas:status><epas:status persona-id="soapuser4" group="">succeeded</epas:status><epas:status persona-id="soapuser3" group="" nickname="1">succeeded</epas:status><epas:status persona-id="soapuser3" group="new customers" nickname="who is soap user 3?">succeeded</epas:status><epas:status persona-id="soapuser2" group="new customers">succeeded</epas:status><epas:status persona-id="soapuser3" group="work" display-on-phone="false">succeeded</epas:status><epas:status persona-id="soapuser4" group="work" nickname="soap user's nickname">succeeded</epas:status><epas:status persona-id="soapuser5" group="work" index="-3000">succeeded</epas:status><epas:status persona-id="soapuser2" group="work" index="-3000.5" nickname="" display-on-phone="true">succeeded</epas:status><epas:status persona-id="soapuser2" group="new work" nickname="doesn't work!!!">The Contact Group does not exist.</epas:status></epas:modify-contact-resp></env:Body></env:Envelope>Deleting Contacts
You can use delete-contact for deleting contacts. See Example 38.
Example 38 Delete-Contact
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><delete-contact><group name="work"><persona-id>soapuser2</persona-id></group><group name="non-existing"><persona-id>one</persona-id></group><group name=""><persona-id>soapuser5</persona-id><persona-id>soapuser1</persona-id><persona-id>nonexisting</persona-id></group></delete-contact></soapenv:Body></soapenv:Envelope>For the delete-contact response, see Example 39.
Example 39 Delete-Contact Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:delete-contact-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status persona-id="soapuser2" group="work">succeeded</epas:status><epas:status persona-id="one" group="non-existing">The Contact Group does not exist.</epas:status><epas:status persona-id="soapuser5" group="">succeeded</epas:status><epas:status persona-id="soapuser1" group="">succeeded</epas:status><epas:status persona-id="nonexisting" group="">Contact does not exist in.</epas:status></epas:delete-contact-resp></env:Body></env:Envelope>Presence Rules
The presence rules allow you to set visibility rules, reachability rules, and filter rules. Example 40 shows the schema for presence rules.
Note
To access the complete Cisco Unified Presence SOAP schema, enter the following URL at a computer that has access to your Cisco Unified Presence server:
http://server_name/EPASSoap/service?wsdl=wsdl
where
server_name is the domain name or IP address of your Cisco Unified Presence server.Example 40 Presence Rules Schema
<xsd:element name="get-presence-rules"><xsd:complexType><xsd:sequence><xsd:element name="visibility" minOccurs="0"/><xsd:element name="reachability" minOccurs="0"/><xsd:element name="filter" minOccurs="0"/></xsd:sequence></xsd:complexType></xsd:element>Getting Presence Rules
To get all presence rules, use the get-presence-rules request. See Example 41.
Example 41 Get-Presence-Rules
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><get-presence-rules/></soapenv:Body></soapenv:Envelope>For the response, see Example 42.
Example 42 Get-Presence-Rules Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-presence-rules-resp xmlns:epas="urn:cisco:epas:soap" xmlns:pr="urn:cisco:epas:presence:rules" ><presence-rule name=noACL_rule"><rule><epas:visibility>all</epas:visibility><pr:reachability></pr:reachability><pr:filter></pr:filter></rule></presence-rule></epas:get-presence-rules-resp></env:Body></env:Envelope>Setting Presence Rules
To set presence rules, including visibility, reachability, and filtering rules, use the set-presence-rules request. See Example 43.
Example 43 Set-Presence-Rules
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><set-presence-rules><presence-rule name="test rule"><rule><visibility>reachability-only</visibility><pr:filter><pr:excludedsource>Cell Phone</pr:excludedsource><pr:excludedsource>cupc</pr:excludedsource><pr:filter><pr:reachability><pr:cond><pr:epas-reachability source="String"/><pr:when reachability-status="away"><pr:epas-status source="String" status="away"/><pr:or><pr:epas-status source="String" status="away"/><pr:and><pr:epas-status source="String" status="away"/><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:and><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:or><pr:and><pr:epas-status source="String" status="away"/><pr:or><pr:epas-status source="String" status="away"/><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:or><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:and></pr:when><pr:when reachability-status="away"><pr:epas-status source="String" status="away"/><pr:or><pr:epas-status source="String" status="away"/><pr:and><pr:epas-status source="String" status="away"/><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:and><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:or><pr:and><pr:epas-status source="String" status="away"/><pr:or><pr:epas-status source="String" status="away"/><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:or><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:and></pr:when><pr:when reachability-status="away"><pr:epas-status source="String" status="away"/><pr:or><pr:epas-status source="String" status="away"/><pr:and><pr:epas-status source="String" status="away"/><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:and><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:or><pr:and><pr:epas-status source="String" status="away"/><pr:or><pr:epas-status source="String" status="away"/><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:or><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:and></pr:when><pr:when reachability-status="away"><pr:epas-status source="String" status="away"/><pr:or><pr:epas-status source="String" status="away"/><pr:and><pr:epas-status source="String" status="away"/><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:and><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:or><pr:and><pr:epas-status source="String" status="away"/><pr:or><pr:epas-status source="String" status="away"/><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:or><pr:not><pr:epas-status source="String" status="away"/></pr:not></pr:and></pr:when></pr:cond></pr:reachability></rule></presence-rules></set-presence-rules></soapenv:Body></soapenv:Envelope>For the response, see Example 44.
Example 44 Set-Presence-Rules Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:set-presence-rules-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status name=="noACL_rule">succeeded</epas:status><epas:status name=="test rule">succeeded</epas:status></epas:set-presence-rules-resp></env:Body></env:Envelope>Deleting Presence Rules
To delete presence rules, use the delete-presence-rules request. See Example 45.
Example 45 Delete-Presence-Rules
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><delete-presence-rules><rule name="noACL_rule"/><rule name="noexistentRule"/></delete-presence-rules></soapenv:Body></soapenv:Envelope>For the response, see Example 46.
Example 46 Delete-Presence-Rules Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:delete-presence-rules-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status name=="noACL_rule">succeeded</epas:status><epas:status name=="noexistentRule">Invalid Policy name</epas:status></epas:delete-presence-rules-resp></env:Body></env:Envelope>Dialing Rules
To download application dialing rules from the associated Cisco Unified Communications Manager, use the get-dialing-rules request. See Example 47.
Example 47 Get-Dialing-Rules
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><get-dialing-rules/></soapenv:Body></soapenv:Envelope>For the response, see Example 48.
Example 48 Get-Dialing-Rules Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-dialing-rules-resp xmlns:epas="urn:cisco:epas:soap"><epas:rule><epas:type>1</epas:type><epas:name>App dialing rule</epas:name><epas:description>App dialing rule</epas:description><epas:priority>1</epas:priority><epas:number-begins-with>89</epas:number-begins-with><epas:number-of-digits>1</epas:number-of-digits><epas:digits-to-be-removed>0</epas:digits-to-be-removed><epas:prefix>7</epas:prefix></epas:rule><epas:rule><epas:type>2</epas:type><epas:name>Directory dialing rule</epas:name><epas:description>Directory dialing rule</epas:description><epas:priority>1</epas:priority><epas:number-begins-with>97876</epas:number-begins-with><epas:number-of-digits>2</epas:number-of-digits><epas:digits-to-be-removed>2</epas:digits-to-be-removed><epas:prefix>98</epas:prefix></epas:rule></epas:get-dialing-rules-resp></env:Body></env:Envelope>Recent Communication History
You can use the SOAP interface to download IM history.
Adding Recent Communication History
To add a record to the recent communication history, use the add-recent-comm request. See Example 49.
Example 49 Add-Recent-Comm
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key>b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><add-recent-comm><timestamp>2006-03-24</timestamp><type>2</type><data><what>xmltag-other</what></data></add-recent-comm></soapenv:Body></soapenv:Envelope>For the response, seeExample 50.
Example 50 Add-Recent-Comm Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:add-recent-comm-resp xmlns:epas="urn:cisco:epas:soap" ><epas:record timestamp="2006-03-24" status-code="0" /></epas:add-recent-comm-resp></env:Body></env:Envelope>Retrieving Recent Communication History
To retrieve recent communication history, use the get-recent-comm request. See Example 51.
Example 51 Get-Recent-Comm
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><get-recent-comm/></soapenv:Body></soapenv:Envelope>For the response, see Example 52.
Example 52 Get-Recent-Comm Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-recent-comm-resp xmlns:epas="urn:cisco:epas:soap" ><epas:record><epas:timestamp>2007-03-24</epas:timestamp><epas:type>3</epas:type><epas:data><what>this is another record</what></epas:data></epas:record><epas:record><epas:timestamp>2006-03-24</epas:timestamp><epas:type>2</epas:type><epas:data><what>xmltag-other</what></epas:data></epas:record><epas:record><epas:timestamp>2005-03-22</epas:timestamp><epas:type>1</epas:type><epas:data><what>this is a record</what></epas:data></epas:record></epas:get-recent-comm-resp></env:Body></env:Envelope>Licensing Features
To retrieve licensing features assigned to a user, use the get-licensing-features request. See Example 53.
Example 53 Get-Licensing-Features
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><get-licensing-features/></soapenv:Body></soapenv:Envelope>For the response, see Example 54.
Example 54 Get-Licensing-Features Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-licensing-features-resp xmlns:epas="urn:cisco:epas:soap" ><epas:base>true</epas:base><epas:im>true</epas:im><epas:audio>false</epas:audio><epas:video>false</epas:video></epas:get-licensing-features-resp></env:Body></env:Envelope>Long-Term Presence Status
Cisco Unified Presence provides a non-SIP means of publishing long-term presence status, such as out of office and on vacation. For short-term presence status, the client should still use the SIP PUBLISH method.
Publishing Long-Term Presence Status
To publish long-term-presence status, use the publish-pres-status request. See Example 55.
Example 55 Publish-Pres-Status
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><publish-pres-status>[XML presence doc]</publish-pres-status></soapenv:Body></soapenv:Envelope>For the response, see Example 56.
Example 56 Publish-Pres-Status Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:publish-pres-status-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status-code>0</epas:status-code></epas:publish-pres-status-resp></env:Body></env:Envelope>Unpublishing Long-Term Presence Status
To unpublish long-term presence status, use the unpublish-pres-status request. See Example 57.
Example 57 Unpublish-Pres-Status
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key> b189aa60-24e3-4e66-a3b6-d8488235ba47</session-key></soapenv:Header><soapenv:Body><unpublish-pres-status/></soapenv:Body></soapenv:Envelope>For the response, see Example 58.
Example 58 Unpublish-Pres-Status Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:unpublish-pres-status-resp xmlns:epas="urn:cisco:epas:soap" ><epas:status-code>0</epas:status-code></epas:unpublish-pres-status-resp></env:Body></env:Envelope>ACL and Watchers
Cisco Unified Presence associates an Access Control List (ACL) with each presence rule. The list contains a group of watchers who are granted the privilege of watching the user (the owner of the presence rule).
Getting ACL
To get all watchers of a presence rule, use the get-acl request. See Example 59.
Example 59 Get-ACL
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key>396fa7d8-56eb-46ed-ad8d-39df966c85d2</session-key></soapenv:Header><soapenv:Body><get-acl><rule name="test rules"/><rule name="non-existing acl343258"/></get-acl></soapenv:Body></soapenv:Envelope>For the response, see Example 60.
Example 60 Get-ACL Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-acl-resp xmlns:epas="urn:cisco:epas:soap" ><rule name="test rules!"><acl>sip:soapuser2@cisco.com</acl><acl>sip:soapuser3@cisco.com</acl><acl>sip:soapuser4@cisco.com</acl><acl>sip:soapuser5@cisco.com</acl></rule><rule name="non-existing acl343258">Invalid Policy name</rule></epas:get-acl-resp></env:Body></env:Envelope>Adding ACL
To add ACL, use the add-acl request. See Example 61.
Example 61 Add-ACL
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key>396fa7d8-56eb-46ed-ad8d-39df966c85d2</session-key></soapenv:Header><soapenv:Body><add-acl><rule name="Kai rules!"><watcher>soapuser2</watcher><watcher>soapuser3</watcher><watcher>soapuser4</watcher><watcher>soapuser5</watcher><watcher>g</watcher><watcher>j</watcher></rule></add-acl></soapenv:Body></soapenv:Envelope>For the response, see Example 62.
Example 62 Add-ACL Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:add-acl-resp xmlns:epas="urn:cisco:epas:soap" ><epas:rule name="test rules!"><epas:status watcher="soapuser2">succeeded</epas:status><epas:status watcher="soapuser3">succeeded</epas:status><epas:status watcher="soapuser4">succeeded</epas:status><epas:status watcher="soapuser5">succeeded</epas:status><epas:status watcher="g">failed</epas:status><epas:status watcher="j">failed</epas:status></epas:rule></epas:add-acl-resp></env:Body></env:Envelope>Deleting ACL
To delete ACL, use the delete-acl request. See Example 63.
Example 63 Delete-ACL
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key>396fa7d8-56eb-46ed-ad8d-39df966c85d2</session-key></soapenv:Header><soapenv:Body><delete-acl><rule name="test rules!"><watcher>soapuser2</watcher><watcher>soapuser5</watcher></rule></delete-acl></soapenv:Body></soapenv:Envelope>For the response, see Example 64.
Example 64 Delete-ACL Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:delete-acl-resp xmlns:epas="urn:cisco:epas:soap" ><rule name="test rules!"><epas:status watcher="soapuser2">succeeded</epas:status><epas:status watcher="soapuser5">failed</epas:status></rule></epas:delete-acl-resp></env:Body></env:Envelope>Calendaring
A user can set calendaring options through the Cisco Unified Presence SOAP interface.
Getting Calendaring
To get calendaring settings, use the get-calendaring request. See Example 65.
Example 65 Get-Calendaring
<?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key>2a08cef6-0f85-4ab3-871c-663269f1d49d</session-key></soapenv:Header><soapenv:Body><get-calendaring/></soapenv:Body></soapenv:Envelope>For the response, see Example 66.
Example 66 Get-Calendaring Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:get-calendaring-resp xmlns:epas="urn:cisco:epas:soap" >true</epas:get-calendaring-resp></env:Body></env:Envelope>Setting Calendaring
To set calendaring options, use the set-calendaring request. See Example 67.
Example 67 Set-Calendaring
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:epas="urn:cisco:epas:soap"xmlns="urn:cisco:epas:soap"><soapenv:Header><session-key>2a08cef6-0f85-4ab3-871c-663269f1d49d</session-key></soapenv:Header><soapenv:Body><set-calendaring>true</set-calendaring></soapenv:Body></soapenv:Envelope>For the response, see Example 68.
Example 68 Set-Calendaring Response
<?xml version='1.0' ?><env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xml="http://www.w3.org/XML/1998/namespace"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><env:Body><epas:set-calendaring-resp xmlns:epas="urn:cisco:epas:soap" >succeeded</epas:set-calendaring-resp></env:Body></env:Envelope>Related Documentation
The followings documents contain additional information that is related to Cisco Unified Presence:
•
Cisco Unified Presence Administration Guide
•
Cisco Unified Serviceability Administration Guide for Cisco Unified Presence
•
Cisco Unified Communications Operating System Administration Guide
•
Cisco IP Phone Messenger User Guide for Cisco Unified Presence
Obtaining Documentation, Obtaining Support, and Security Guidelines
For information on obtaining documentation, obtaining support, providing documentation feedback, security guidelines, and also recommended aliases and general Cisco documents, see the monthly What's New in Cisco Product Documentation, which also lists all new and revised Cisco technical documentation, at:
http://www.cisco.com/en/US/docs/general/whatsnew/whatsnew.html
Cisco Product Security Overview
This product contains cryptographic features and is subject to United States and local country laws governing import, export, transfer and use. Delivery of Cisco cryptographic products does not imply third-party authority to import, export, distribute or use encryption. Importers, exporters, distributors and users are responsible for compliance with U.S. and local country laws. By using this product you agree to comply with applicable laws and regulations. If you are unable to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at: http://www.cisco.com/wwl/export/crypto/tool/stqrg.html. If you require further assistance please contact us by sending email to export@cisco.com.
CCVP, the Cisco logo, and the Cisco Square Bridge logo are trademarks of Cisco Systems, Inc.; Changing the Way We Work, Live, Play, and Learn is a service mark of Cisco Systems, Inc.; and Access Registrar, Aironet, BPX, Catalyst, CCDA, CCDP, CCIE, CCIP, CCNA, CCNP, CCSP, Cisco, the Cisco Certified Internetwork Expert logo, Cisco IOS, Cisco Press, Cisco Systems, Cisco Systems Capital, the Cisco Systems logo, Cisco Unity, Enterprise/Solver, EtherChannel, EtherFast, EtherSwitch, Fast Step, Follow Me Browsing, FormShare, GigaDrive, HomeLink, Internet Quotient, IOS, iPhone, IP/TV, iQ Expertise, the iQ logo, iQ Net Readiness Scorecard, iQuick Study, LightStream, Linksys, MeetingPlace, MGX, Networking Academy, Network Registrar, Packet, PIX, ProConnect, ScriptShare, SMARTnet, StackWise, The Fastest Way to Increase Your Internet Quotient, and TransPath are registered trademarks of Cisco Systems, Inc. and/or its affiliates in the United States and certain other countries.
All other trademarks mentioned in this document or Website are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (0705R)
Feedback





