Vous êtes sur la page 1sur 128

Interface Specification Document for Personal Profile Manager

03-601678 Issue 1 August 2006

2006 Avaya Inc. All Rights Reserved. Notice While reasonable efforts were made to ensure that the information in this document was complete and accurate at the time of printing, Avaya Inc. can assume no liability for any errors. Changes and corrections to the information in this document may be incorporated in future releases. For full support information, please see the complete document, Avaya Support Notices for Software Documentation, document number 03-600758. To locate this document on our Web site, simply go to http://www.avaya.com/support and search for the document number in the search box. Documentation disclaimer Avaya Inc. is not responsible for any modifications, additions, or deletions to the original published version of this documentation unless such modifications, additions, or deletions were performed by Avaya. Customer and/or End User agree to indemnify and hold harmless Avaya, Avaya's agents, servants and employees against all claims, lawsuits, demands and judgments arising out of, or in connection with, subsequent modifications, additions or deletions to this documentation to the extent made by the Customer or End User. Link disclaimer Avaya Inc. is not responsible for the contents or reliability of any linked Web sites referenced elsewhere within this documentation, and Avaya does not necessarily endorse the products, services, or information described or offered within them. We cannot guarantee that these links will work all of the time and we have no control over the availability of the linked pages. Warranty Avaya Inc. provides a limited warranty on this product. Refer to your sales agreement to establish the terms of the limited warranty. In addition, Avayas standard warranty language, as well as information regarding support for this product, while under warranty, is available through the following Web site: http://www.avaya.com/support. Copyright Except where expressly stated otherwise, the Product is protected by copyright and other laws respecting proprietary rights. Unauthorized reproduction, transfer, and or use can be a criminal, as well as a civil, offense under the applicable law. Avaya support Avaya provides a telephone number for you to use to report problems or to ask questions about your product. The support telephone number is 1-800-242-2121 in the United States. For additional support telephone numbers, see the Avaya Web site: http://www.avaya.com/support.

Contents

Interface Specification for PPM. . . . . . . . . . . . . . . . . . . . . . .


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PPM Server (SOAP interface) . . . . . . . . . . . . . . . . Operations supported . . . . . . . . . . . . . . . . . . Data local to terminals. . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . System wide parameters . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Information stored by proxy on the SES server . . Error Conditions/Faults . . . . . . . . . . . . . . . Data maintained in Communication Manager (CM) Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Endpoint Configuration JUMBO . . . . . . . . . . VMON Information . . . . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Home server . . . . . . . . . . . . . . . . . . . . . . . Error Conditions/Faults . . . . . . . . . . . . . . . Retry Fault . . . . . . . . . . . . . . . . . . . . . . End Point to Personal Profile Manager Data Flows On-demand information . . . . . . . . . . . . . Profile Event Package . . . . . . . . . . . . . . Reboot Required . . . . . . . . . . . . . . . Report Status. . . . . . . . . . . . . . . . . Reload Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5
5 5 6 6 11 12 14 16 19 22 24 25 26 27 27 29 30 31 33 34 36 44 46 47 49 50 50 53 53 54 54 55 56 57 57 58 59 59 74

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Detailed FNU Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Feature Name URI examples . . . . . . . . . . . . . . . . . . . . . . . . . . . WSDL Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Issue 1 August 2006

Contents

Appendix A: PPM SOAP Interface for DevConnect . . . . . . . . . . . .


Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Proposed Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PPM SOAP Service Specification. getContactList . . . . . . . . . addContact . . . . . . . . . . . updateContact . . . . . . . . . Example: . . . . . . . . . . deleteContact . . . . . . . . . changePassword . . . . . . . getRegistrations . . . . . . . . Error Conditions/Faults . . getHomeCapabilities . . . . . Error Conditions/Faults . . sendCommand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

109
109 109 111 112 116 119 119 120 121 122 123 123 127 127

4 Interface Specification Document for Personal Profile Manager

Interface Specification for PPM

Introduction
This document provides details of the interface between the Avaya Personal Profile Manager (PPM) Server and a client or end point, such as a SIP Phone. This document also describes the functionalities provided by the web interface, using SOAP, to the SIP Personal Information Manager (SIP PIM) appication that can be used by members of the Avaya DevConnect program. PPM is used as a repository for user-specific information that is pulled at the clients request, for example on an event such as user login. PPM is already a part of the SIP Enablement Services (SES) infrastructure. This document describes only additions in SES R3.x feature development to the existing interface. The additions for DevConnect members to the PPM Server interface as well as to the SIP PIM web interface are defined in detail in later sections of this document.

PPM Server (SOAP interface)


PPM Server exposes a SOAP Remote Procedure Call (RPC) interface. (SOAP defines how an XML body of a specific format is carried in an HTTP request or response.) This interface is defined in a WSDL document and described in the following sections. A snapshot of the WSDL document can be found in the section titled WSDL Document on page 74. The PPM server is implemented on the Apache Axis framework, which in turn runs as a service on top of Apache Tomcat software. A tool is used to build the PPM server from the actual WSDL document.

!
Important:

Important: Although reasonable attempts are made to align this document (including the attached WSDL document) with the actual WSDL document, the actual WSDL document should always be used as the definitive interface specification.

Several toolkits exist that may be used to help build the client interface, such as Axis or .NET, but these toolkits are not required. The PPM client obtains the data from PPM Server by executing the desired operations defined in the WSDL document. Note that each request to the PPM server will be authenticated using digest authentication (see RFC 2617). This means that each request may actually consist of two round-trip requests (the original request, the response with a challenge, the subsequent request containing the challenge response, and the final response). A nonce aging parameter

Issue 1 August 2006

Interface Specification for PPM

may be set in the PPM Server so that each request after the first request would not necessarily be challenged. If a subsequent request (e.g., for operation 2 in the following figure) is received at the PPM Server before the nonce age has expired and the credentials are otherwise correct, the request will not be challenged. The following figure shows just one example of the communication, in this case, between a Toshiba SIP Phone and the PPM Server in SES:
Toshiba terminal POST (Operation 1) 401 Unauthorized (WWW-Authenticate) POST (Operation 1 with Authorization) 200 OK (with response) POST (Operation 2 with Authorization) 200 OK (with response) PPM Server

Operations supported
The following sections describe the requests supported in the PPM Server, as well as the responses to those requests. In general, get requests are used to pull data from the PPM repository, while set requests are used to store data in the PPM repository.

Data local to terminals


Terminal information
This terminal information may be used by any end point of the PPM. The terminal calls this method to store this information so that the SES administrator may view this information at a later time. This information must be propagated back to the SES master administration system. The ContactUri parameter is used to identify which of the users contacts is storing its information. SES allows users to have multiple devices, i.e. SIP contacts, so this method must qualify which device is storing the information.

6 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

setTerminalInformation(Handle, TerminalInformation) Request Parameter Handle TerminalInformation Type String TerminalInfo Value SIP URI Description The users primary handle Container for Terminal information

TerminalInfo Vendor PhoneType ProgramVersion MacAddress

Type String String String String

Value Maximum of 32 UTF-8 characters Maximum of 32 UTF-8 characters Maximum of 32 UTF-8 characters 17 characters

Description Name of terminal vendor Type of terminal (e.g., model) Firmware/Software Version present in the terminal Hardware (MAC) address of the terminal

Issue 1 August 2006

Interface Specification for PPM

Example Terminal Request:

POST /axis/services/ppm HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/1.1 Host: 127.0.0.1 Cache-Control: no-cache Pragma: no-cache SOAPAction: "setTerminalInformation" Content-Length: 1740 <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:setTerminalInformationenv:encodingStyle=" http://schemas.xmlsoap.org/ soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>1001@company.com</ppm:Handle> <ppm:ContactUri>1001@192.168.1.101</ppm:ContactUri> <ppm:TerminalInformation> <ppm:Vendor>SUSHI</ppm:Vendor> <ppm:PhoneType>SIP</ppm:PhoneType> <ppm:ProgramVersion>3.0</ppm:ProgramVersion> <ppm:MacAddress>00:D1:B6:C6:E1:7B</ppm:MacAddress> </ppm:TerminalInformation> </ppm: setTerminalInformation> </soapenv:Body> </soapenv:Envelope>

8 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Example PPM Response:

HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Date: Fri, 16 Jan 2004 12:40:16 GMT Server: Apache Coyote/1.0 Connection: close <?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:setTerminalInformationResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ ">PPM_Success </ppm: setTerminalInformationResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults The following faults are sent to indicate error conditions. Fault Invalid Data Type Database Error Volume Settings This operation allows a phone to get and set its Ringer Volume, Speaker Volume, and Receiver Volume settings. getVolumeSettings(Handle) Request Parameter Handle Type String Value 1-256 characters Description The users primary handle Description A request parameter is not of a proper data type. PPM cannot access the Database for reading or writing.

Response Parameter VolumeSettings

Type VolumeSet

Description See VolumeSet below

Issue 1 August 2006

Interface Specification for PPM

VolumeSet RingerVolume ReceiverVolume SpeakerVolume RingerCadence

Type Short Short Short Short

Value {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} {1, 2, 3}

Description Relative volume on a scale of 1 10 Relative volume on a scale of 1 - 10 Relative volume on a scale of 1 - 10 One of a few choices for ringer cadences

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:getVolumeSettings env:encodingStyle=" http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@company.com</ppm:Handle> </ppm: getVolumeSettings> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getVolumeSettingsResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:VolumeSettings> <ppm:RingerVolume>5</ppm:RingerVolume> <ppm:ReceiverVolume>3</ppm: ReceiverVolume> <ppm:SpeakerVolume>5</ppm: SpeakerVolume> <ppm:RingerCadence>2</ppm: RingerCadence> </ppm:VolumeSettings> </ppm: getVolumeSettingsResponse > </soapenv:Body> </soapenv:Envelope>

10 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Error Conditions/Faults
The following fault is sent to indicate an error condition. Fault DatabaseError Description PPM cannot access the Database for reading or writing.

setVolumeSettings(Handle, VolumeSet) Request Parameter Handle VolumeSettings Type String VolumeSet Description Users primary handle See VolumeSet above

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:setVolumeSettings env:encodingStyle=" http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@company.com</ppm:Handle> <ppm:VolumeSettings> <ppm:RingerVolume>6</ppm:RingerVolume> <ppm:ReceiverVolume>3</ppm:ReceiverVolume> <ppm:SpeakerVolume>5</ppm:SpeakerVolume> <ppm:RingerCadence>3</ppm:RingerCadence> </ppm:VolumeSettings> </ppm: setVolumeSettings> </soapenv:Body> </soapenv:Envelope>

Issue 1 August 2006

11

Interface Specification for PPM

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: setVolumeSettingsResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ ">PPM_Success </ppm: setVolumeSettingsResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault Invalid Value Database Error Ringer Settings A phone can get and set Ringer Cadence and Ringer On/Off settings with this operation. getRingerSettings(Handle) Request Parameter Handle Type String Value SIP URI Description The users primary handle Description If value to be set is not of enum type VolumeSet then this fault will be send to endpoints PPM cannot access the Database for reading or writing.

Response Parameter ListOfRingerOnOffData

Type RingerOnOffListInfo

Value

Description See RingerOnOffData below

12 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

RingerOnOffListInfo NoOfElements RingerOnOffList

Type Integer Array of RingerOnOffData

Value

Description Number of elements in the array See RingerOnOffData below

RingerOnOff Data OnOffSet

Type Enum

Value {On, Off}

Description on indicates the ringer will alert when a new call arrives; off indicates the ringer will not alert when a new call arrives the location of the button for this ringer on/ off setting The Address of the Button

ButtonNumber Address

Short String

Between 1-20 SIP URI

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:getRingerSettings env:encodingStyle=" http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@company.com</ppm:Handle> </ppm: getRingerSettings> </soapenv:Body> </soapenv:Envelope>

Issue 1 August 2006

13

Interface Specification for PPM

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm: getRingerSettingsResponse env:encodingStyle ="http://schemas.xmlsoap.org/ soap/encoding" xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:ListOfRingerOnOffData> <ppm:NoOfElements>1</pppm:NoOfElements <ppm:RingerOnOffList> <ppm:RingerOnOffData> <ppm:OnOffSet>On</ppm:OnOffset> <ppm:Location>1</ppm:Location> <ppm:Address>1001@avaya.com</ppm:Address> </ppm: RingerOnOffData > </ppm:RingerOnOffList> </ppm:ListOfRingerOnOffData> </ppm: getRingerSettingsResponse> </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following fault is sent to indicate an error condition. Fault DatabaseError Description PPM cannot access the Database for reading or writing.

setRingerSettings (Handle, ListOfRingerOnOffData) Request Parameter Handle ListOfRingerOnOffData Type String RingerOnOffListInfo Value SIP URI Description The users primary handle Container for the array

RingerOnOffLis tInfo NoOfElements RingerOnOffList

Type Integer Array of RingerOnOffData

Value

Description Number of elements in the array See RingerOnOffData below

14 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

RingerOnOff Data OnOffset

Type Enum

Value {on, off}

Description on indicates the ringer will alert when a new call arrives; off indicates the ringer will not alert when a new call arrives the location of the button for this ringer on/off setting

ButtonNumber

Short

Between 1-20

Example Terminal Request:


<?xml version=1.0 encoding=UTF-8?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/ XMLSchema-instance> <soapenv:Body> <ppm: setRingerSettings env:encodingStyle=http://schemas.xmlsoap.org/soap/ encoding xmlns:ppm= http://avaya.com/ccs/ppm/ > <ppm:Handle>user@domain.com</ppm:Handle> <ppm:ListOfRingerOnOffData> <ppm:NoOfElements>1</pppm:NoOfElements <ppm:RingerOnOffList> <ppm:RingerOnOffData> <ppm:OnOffset>Off</ppm:OnOffset> <ppm:Location>1</ppm:Location> </ppm: RingerOnOffData > </ppm:RingerOnOffList> </ppm: ListOfRingerOnOffData > </ppm: setRingerSettings> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version=1.0 encoding=UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/ XMLSchema-instance> <soapenv:Body> <ppm: setRingerSettingsResponse env:encodingStyle =http://schemas.xmlsoap.org/soap/encoding xmlns:ppm= http://avaya.com/ccs/ppm/ >PPM_Success </ppm: setRingerSettingsResponse> </soapenv:Body> </soapenv:Envelope>

Issue 1 August 2006

15

Interface Specification for PPM

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault Invalid Value Invalid Button Value Database Error Invalid Button Type Speed Dial List A Speed Dial List (SDL) is accessible for each SIP phone. A phone can retrieve its Speed Dial List by invoking the getSpeedDialList request on the PPM server. PPM always provides a mechanism for a terminal or end point to retrieve its speed dial list. A speed dial entry has the following attributes:

Description If value to be set is not of enum type OnOffSet then this fault will be send to endpoints If Button number value is not in the range 1-20, this fault occurs PPM cannot access the Database for reading or writing. The operation is not allowed on this button type.

Entry Number Name (Kanji name for SUSHI) Alias (Kana name for SUSHI) Prefix Address Handle

Release: 3.0 Source: SUSHI Status: Baselined The speed dial list is a subset of a users contact list. Each contact in the contact list may be enabled as a speed dial entry. The user only has one speed dial list, and if the user has multiple terminals that support the getSpeedDialList method; all terminals receive the same copy of the speed dial list. This is consistent with a user having a single contact list. When a contact is enabled as a speed dial entry, the user has the opportunity of adding a prefix in the prefix field an telephone number in the address field (as opposed to a SIP URI). It is acceptable for the prefix field to remain blank, in which case this method will return an empty tag for Prefix-TelNum.

16 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

getSpeedDialList(Handle) Request Parameter Handle Type String Description Users handle

Response Parameter ListOfSpeedDialListData

Type SpeedDialListInfo

Description See Below

SpeedDialList Info NoOfElements SpeedDialList

Type Integer Array

Value SOAP Standard ArrayOfSpeedDialEntry

Description The number of speed dial entries The Array of entries

For each entry in the Speed Dial List, the data shown in the following table is provided in the response: SpeedDialEntry Number Type Short Value 1-100 Description This value specifies the entry in the Speed Dial List. The Speed Dial list may contain a maximum of 100 entries, so this number can be in between 1-100. For SUSHI, this is a 10 Kanji Character value which represents the name assigned to the button. For example, Button 1 has assigned Name Steve, Button 2 has assigned Name Sakai-San, etc. The SUSHI SIP PIM page will limit the number of characters entered. For SUSHI, this is 16 Kana characters to help sorting. A prefix, such as an AAR or ARS access code, required in addition to the targets telephone number A telephone number (or a general SIP URI) assigned to the button for speed dial The contacts user handle

Name

String

Maximum of 16 UTF-8 characters

Alias

String

Maximum of 16 UTF-8 characters Maximum of 4 digits Maximum of 256 characters Maximum of 256 characters

PrefixTelNum

String

Address Handle

String String

Issue 1 August 2006

17

Interface Specification for PPM

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:getSpeedDialListenv:encodingStyle=" http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>ajbaker</ppm:Handle> </ppm: getSpeedDialList> </soapenv:Body> </soapenv:Envelope>

18 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getSpeedDialListResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:ListOfSpeedDialData> <ppm:NoOfElements>3</ppm:NoOfElements> <ppm:SpeedDialList> <ppm:SpeedDialEntry> <ppm:Number>1</ppm:Number> <ppm:Name>Glen</ppm:Name> <ppm:Alias>G$#</ppm:Alias> <ppm:PrefixTelNum>9</ppm:PrefixTelNum> <ppm:Address>5382899@dr.avaya.com</ppm:Address> <ppm:Handle>glen@avaya.com</ppm:Handle> </ppm:SpeedDialEntry> <ppm:SpeedDialEntry> <ppm:Number>2</ppm:Number> <ppm:Name>Jud</ppm:Name> <ppm:Alias>J#$</ppm:Alias> <ppm:Prefix-TelNum>9011</ppm:Prefix-TelNum> <ppm:Address>5382899@dr.avaya.com</ppm:Address> <ppm:Handle>jud@avaya.com</ppm:Handle> </ppm:SpeedDialEntry> <ppm:SpeedDialEntry> <ppm:Number>3</ppm:Number> <ppm:Name>Steve</ppm:Name> <ppm:Alias>S$#</ppm:Alias> <ppm:PrefixTelNum>8</ppm:PrefixTelNum> <ppm:Address>5382899@dr.avaya.com</ppm:Address> <ppm:Handle>steve@avaya.com</ppm:Handle> </ppm:SpeedDialEntry> </ppm:SpeedDialList> </ppm:ListOfSpeedDialData> </ppm: getSpeedDialListResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DatabaseError Description PPM cannot access the Database for reading or writing.

Issue 1 August 2006

19

Interface Specification for PPM

One Touch Dial List The One Touch Dial List is a set of buttons and associated addresses that will be called when the button is pressed. A phone can retrieve the One Touch Dial List by invoking the getOnetouchDialList request on the PPM server. The one touch dial list can be managed from the SIP PIM or from the end point using the getOneTouchDialList and setOneTouchDialList methods. Note that the button location is determined from the administration of an autodial button in the station form on Communication Manager. If an address has been provisioned for the button on Communication Manager, PPM will indicate that this button is read only [i.e. ReadOnly = true]. Read only buttons may only have their labels customized by the end user, and attempts to change the address will result in a fault. Otherwise, buttons may have their address and label customized by the end user (via setOneTouchDialList). getOneTouchDialList(Handle) Request Parameter Handle Type String Description Users handle

Response Parameter ListOfOneTouchDialData

Type OneTouchDialListInfo

Description See Below

OneTouchDialListInfo NoOfElements OneTouchDialList

Type Integer Array of OneTouchButton

Description Number of elements in the array See OneTouchButton below

OneTouchButton ButtonLocation Address

Type Short String

Value 1-66 Maximum of 256 characters

Description the location of button number (or general SIP URI) assigned to the button for One Touch Dial

20 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

OneTouchButton Label

Type String (Optional)

Value Maximum of 20 UTF-8 characters True/False

Description This is a label that can be displayed for the button. If no label has been set (via setOneTouchDialList), PPM will return a label formed from the Address. This indicates if the one touch button is read-only or not. Read-only buttons are maintained in Communication Manager and the user may not change the address of the button.

ReadOnly

Boolean

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:getOneTouchDialList env:encodingStyle=" http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> </ppm: getOneTouchDialList> </soapenv:Body> </soapenv:Envelope>

Issue 1 August 2006

21

Interface Specification for PPM

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getOneTouchDialListResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:ListOfOneTouchDialData> <ppm:NoOfElements>3</ppm:NoOfElements> <ppm:OneTouchDialList> <ppm:OneTouchButton> <ppm:ButtonLocation>1</ppm:ButtonLocation> <ppm:Address>5382899@dr.avaya.com</ppm:TelNum> <ppm:Label>Glen@dr.avaya.com</ppm:Label> </ppm:OneTouchButton> <ppm:OneTouchButton> <ppm:ButtonLocation>2</ppm:ButtonLocation> <ppm:Address>5382800@dr.avaya.com</ppm:TelNum> <ppm:Label>Fred@dr.avaya.com</ppm:Label> </ppm:OneTouchButton> <ppm:OneTouchButton> <ppm:ButtonLocation>3</ppm:ButtonLocation> <ppm:Address>5382890@dr.avaya.com</ppm:TelNum> <ppm:Label>Bill@dr.avaya.com</ppm:Label> </ppm:OneTouchButton> </ppm:OneTouchDialList> <ppm:ListOfOneTouchDialData> </ppm: getOneTouchDialListResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DatabaseError Description PPM cannot access the Database for reading or writing.

22 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

setOneTouchDialList(Handle, ListOfOneTouchDialData) Request Parameter Handle ListOfOneTouchDialData Type String OneTouchDialListInfo Description Users primary handle Container for One touch dial list array information

OneTouchDialListInfo NoOfElements OneTouchDialList

Type Integer Array of OneTouchButton

Description Number of elements in the array See OneTouchButton below

OneTouchButton ButtonLocation Address Label

Type Short String String (Optional)

Value 1-66 Maximum of 256 characters Maximum of 20 UTF-8 characters

Description the location of button number (or general SIP URI) assigned to the button for One Touch Dial This is a label that can be displayed for the button. If no label has been set (via setOneTouchDialList), PPM will return a label formed from the Address.

Issue 1 August 2006

23

Interface Specification for PPM

Example Terminal Request:


<?xml version=1.0 encoding=UTF-8?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance> <soapenv:Body> <ppm:setOneTouchDialList env:encodingStyle=http://schemas.xmlsoap.org/soap/encoding xmlns:ppm= http://avaya.com/ccs/ppm/ > <ppm:Handle>user@domain</ppm:Handle> <ppm:ListOfOneTouchDialData> <ppm:NoOfElements>1</ppm:NoOfElements> <ppm:OneTouchDialList> <ppm:OneTouchButton> <ppm:ButtonLocation>11</ppm:ButtonLocation> <ppm:Address>5551212</ppm:Address> <ppm:Label/> </ppm:OneTouchButton> </ppm:OneTouchDialList> </ppm:ListOfOneTouchDialData> </ppm:setOneTouchDialList> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version=1.0 encoding=UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance> <soapenv:Body> <ppm:setOneTouchDialListResponse env:encodingStyle=http://schemas.xmlsoap.org/soap/encoding xmlns:ppm= http://avaya.com/ccs/ppm/ >PPM_Success </ppm:setOneTouchDialListResponse> </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following fault is sent to indicate an error condition. Fault DatabaseError Description PPM cannot access the Database for reading or writing.

24 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

System wide parameters


Line Reservation Timer A phone may obtain its Line Reservation Timer setting by invoking getLineReservationTimer. The Line Reservation Timer is used to reserve a line appearance for the designated time. This timer is set by the system administrator. getLineReservationTimer() Response Parameter ResvTimer Type Short Value 30-240 seconds Description Line Reservation timer value

Example Phone Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getLineReservationTimerenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> </ppm: getLineReservationTimer> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getLineReservationTimerResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:ResvTimer>10</ppm:ResvTimer> </ppm: getLineReservationTimerResponse > </soapenv:Body> </soapenv:Envelope>

Issue 1 August 2006

25

Interface Specification for PPM

Error Conditions/Faults
The following fault is sent to indicate an error condition. Fault DatabaseError Expired Timer Value The getExpiredTimerVal operation allows a phone or other SIP end point to obtain the expired timer value that is set by an administrator. getExpiredTimerVal () Response Parameter ExpIntVal Type Integer Value 10 864000 seconds (maximum of 10 days) Description This is the value to be placed in the Expires header of the SIP REGISTER message. Description PPM cannot access the Database for reading or writing.

Example End Point Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getExpiredTimerValenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> </ppm: getExpiredTimerVal> </soapenv:Body> </soapenv:Envelope>

26 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getExpiredTimerValResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:ExpIntval>7200</ppm:ExpIntval> </ppm: getExpiredTimerValResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following fault is sent to indicate an error condition. Fault DatabaseError Description PPM cannot access the Database for reading or writing.

Information stored by proxy on the SES server


Session History (Future) DEFERRED FEATURE: Session history (for example, a call log) can be retrieved from the SES server via PPMS. The getCallLog request returns the session history for the last 20 incoming and last 20 outgoing calls. The response message will provide session history entries sorted according to incoming/outgoing, then date and time, with the most recent call first in the list. getCallLog(Handle) Request Parameter Handle Type String Description Users primary handle

Response Parameter ListOfCallLogData

Type CallLoglListInfo

Description See Below

Issue 1 August 2006

27

Interface Specification for PPM

CallLogListInfo NoOfElements CallLog

Type Integer Array of LogEntry

Description Number of elements in the array See LogEntry below

LogEntry Direction

Type Enum

Value {incoming, outgoing} {answered, unanswered} YYYY-MM-DD HH:MM:SS

Description Indicates whether the call was originated by the user (outgoing) or received by the user (incoming) Indicates whether the call was answered or not Date that the session was initiated (i.e., when the INVITE was sent) UTC timestamp indicating the time that the session was initiated (i.e., when the INVITE was sent) Address of the other party (i.e., the calling party if Direction is incoming, the called party if Direction is outgoing). May be a digit string or a SIP URI. Duration of the session once Baselined (e.g., talk time).

Status CallDate CallTime

Enum Date Time

Address

String

Max of 256 characters

CallDuration

Time

HH:MM:SS

Note:

Note: This document does not specify how data is stored in the call log, or how the call log reflects feature interactions. Call log behavior will be described in CID 103450.

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getCallLog env:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> </ppm:getCallLog> </soapenv:Body> </soapenv:Envelope>

28 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:getCallLogResponse env:encodingStyle="http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:ListOfCallLogData> <ppm:NoOfElements>3</ppm:NoOfElements> <ppm:CallLog> <ppm:LogEntry> <ppm:Direction>outgoing</ppm:Direction> <ppm:Status>answered</ppm:Status> <ppm:CallDate>01-15-2004</ppm:CallDate> <ppm:CallTime>09:28</ppm:CallTime> <ppm:Address>22892@lz-cm.usae.avaya.com</ppm:Address> <ppm:CallDuration>3:18</ppm:CallDuration> </ppm:LogEntry> <ppm:LogEntry> <ppm:Direction>outgoing</ppm:Direction> <ppm:Status>unanswered</ppm:Status> <ppm:CallDate>01-15-2004</ppm:CallDate> <ppm:CallTime>09:00/ppm:CallTime> <ppm:Address>22829@lz-cm.usae.avaya.com</ppm:Address> <ppm:CallDuration>0</ppm:CallDuration> </ppm:LogEntry> <ppm:LogEntry> <ppm:Direction>incoming</ppm:Direction> <ppm:Status>answered</ppm:Status> <ppm:CallDate>01-15-2004</ppm:CallDate> <ppm:CallTime>09:50</ppm:CallTime> <ppm:Address>22899@lz-cm.usae.avaya.com</ppm:Address> <ppm:CallDuration>2:11</ppm:CallDuration> </ppm:LogEntry> </ppm:CallLog> <ppm:ListOfCallLogData> </ppm:getCallLogResponse> </env:Body> </env:Envelope>

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault NoEntryFound Description No session history was found for this user.

Issue 1 August 2006

29

Interface Specification for PPM

Data maintained in Communication Manager (CM)


A variety of configuration data is maintained in the Avaya Communication Manager. PPM acts as a front end to access this data. Idle Line Selection A phone or other SIP end point can obtain its idle line selection settings from PPM by invoking getIdleLineSelection. getIdleLineSelection(Handle) Request Parameter Handle Type String Description Users handle

Response Parameter LinePreferenceInfo

Type LinePrefInfo

Value

Description Container of line preference information

LinePrefInfo CallAppPreference BridgeAppPreference

Type Enum (LinePref) Enum (LinePref)

Value {y, n} {y, n}

Description the Idle Appearance Preference defined for this station in CM the Bridged Appearance Preference defined for this station in CM (As of this writing, adding a bridged appearance preference is a planned development item in CM 3.0. The name of this field for CM administration is not yet known. The possibility exists that this feature is postponed from 3.0.)

30 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getIdleLineSelectionenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> </ppm: getIdleLineSelection> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getIdleLineSelectionResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:LinePreferenceInfo> <ppm:CallAppPreference>y</ppm: CallAppPreference > <ppm:BridgeAppPreference>n</ppm: BridgeAppPreference > <ppm:LinePreferenceInfo> </ppm: getIdleLineSelectionResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DataNotAvailable Description PPM is unable to obtain the data from CM. A likely cause is that PPM was not able to obtain a response from CM before link timeout. The station has not been administered on CM. This can happen if the user has been added in SES but not in CM, or if the extension administered on SES disagrees with the extension administered on CM, or if the extension has been removed from CM but the user is still provisioned in SES.

ConfigurationMismatch

Issue 1 August 2006

31

Interface Specification for PPM

Message Waiting Extension A SIP phone may obtain the Message Waiting Extension setting from PPM by invoking getMessageWaitingExt. getMessageWaitingExt(Handle) Request Parameter Handle Type String Description Users handle

Response Parameter MWExt

Type String

Value Maximum of 7 digits

Description the message waiting extension assigned to the station on CM (Note that the Message Waiting Extension assigned on CM is generally used to light a message waiting lamp on the telephone.)

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getMessageWaitingExtenv:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> </ppm: getMessageWaitingExt> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getMessageWaitingExtResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:MWExt>4000</ppm:MWExt> </ppm: getMessageWaitingExtResponse > </soapenv:Body> </soapenv:Envelope>

32 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DataNotAvailable Description PPM is unable to obtain the data from CM. A likely cause is that PPM was not able to obtain a response from CM before link timeout. The station has not been administered on CM.

ConfigurationMismatch Auto Answer Type

A SIP phone may obtain its Auto Answer Type setting from the PPM by invoking getAutoAnswerType. getAutoAnswerType(Handle) Request Parameter Handle Type String Description Users handle

Response Parameter AutoAnswer

Type AutoAnsType

Value

Description See Below

AutoAnsType AutoAnsType

Type Enum

Value {none, icom, acd, all}

Description the Auto Answer setting for this station on CM. SUSHI will only support none and icom; any other value will be treated like none.

Issue 1 August 2006

33

Interface Specification for PPM

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:getAutoAnswerTypeenv:encodingStyle=" http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> </ppm: getAutoAnswerType> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getAutoAnswerTypeResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:AutoAnswer>none</ppm:AutoAnswer> </ppm: getAutoAnswerTypeResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DataNotAvailable Description PPM is unable to obtain the data from CM. A likely cause is that PPM was not able to obtain a response from CM before link timeout. The station has not been administered on CM.

ConfigurationMismatch Dial Plan

A phone may obtain a simplified Dial Plan with this operation. The phone could use a dial plan to determine the end of dialing (i.e., when to send the INVITE) and application of a second dial tone (e.g., such as when using ARS, like dialing 9 to get an outside line). The Dial Plan will be represented as a list of terms, where each term is a nearly generic regular expression form.

34 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

The rules for each term are: x = any digit Z = play dialtone + = 1 or more instances of the preceding character, implied inter-digit timer Some sample terms for a dialplan: 538xxxx = a 7-digit number starting with 538 9Z1xxxxxxxxxx = ARS access to a long distance number in North America (dialtone after the 9) 9Z011xxxx+ = ARS access to an international number of unknown length, but at least 7 digits (including 011) getDialPlan(Handle) Request Parameter Handle Type String Description Users handle

Response Parameter DialPlanData

Type DialPlanListInfo

Value

Description Container for all dial plan information

DialPlanListInfo DialPlanDomain

Type String

Value 36 characters

Description The domain of the dial plan. Currently this is same as the enterprise SIP domain. Number of elements in the array

NoOfElements DialPlan

Integer Array of Strings Expression representing rules described above

Each string i n the array represents a single term of the CM dial plan

Issue 1 August 2006

35

Interface Specification for PPM

Example SUSHI Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:getDialPlan env:encodingStyle=" http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> </ppm:getDialPlan> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getDialPlanResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:DialPlanData> <ppm:DialPlanDomain>Avaya.com</ppm:DialPlanDomain> <ppm:NoOfElements>3</ppm:NoOfElements> <ppm:DialPlan> <xsd:string>1xxxx</xsd:string> <xsd:string>2xxxx</xsd:string> <xsd:string>3xxxx</xsd:string> </ppm: DialPlan > <ppm:DialPlanData> </ppm: getDialPlanResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DataNotAvailable Description PPM is unable to obtain the data from CM. A likely cause is that PPM was not able to obtain a response from CM before link timeout. The station has not been administered on CM.

ConfigurationMismatch

36 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Button Assignment A SIP phone or device may obtain its button assignments by invoking getButtonAssignments. getButtonAssignments(Handle) Request Parameter Handle Type String Description Users handle

Response Parameter ListOfButtonAssignments

Type ButtonListInfo

Value

Description Container for Button Assignments information

ButtonListInfo NoOfElements ButtonAssignment

Type Integer Array of ButtonData

Description Number of elements in array See ButtonData below

ButtonData Location

Type Short

Value 1 66

Description This value specifies the number (location) of button. SUSHI phones will be a CM set type that provides 20 buttons. Other CM set types could support as many as 66 buttons. This specifies which type of Button

ButtonType

Enum

{call-appr, brdg-appr, aut-msg-wt, FNU, autodial} Maximum of 20 UTF-8 characters

Label

String

A string that can be displayed for the button. If no label has been defined, PPM will provide a default label from known data (for example, from the extension for a bridged appearance). This gives the LineID value, or no value if a line ID is not relevant for the button type. For a bridged appearance button, this is the Button subfield found on CM.

LineID

Short

SOAP Standard

Issue 1 August 2006

37

Interface Specification for PPM

ButtonData Address

Type String

Value Max 256 characters

Description If the button type is brdg-appr, the bridge extension goes here. If the button type is autodial, the destination digits/URI goes here. If auto-msg-wt, the destination extension goes here. For FNU, see FNUInfo below. For some FNUs (e.g. call-fwd), the source extension, if different than the users, is specified here. See FNU Description below

FNUType

String

A pre-defined string unique to each supported feature

App

Boolean

If true, the endpoint must request a line appearance (+line) on the Contact header in an INVITE with this FNU. If true, the endpoint must include an SDP offer in an INVITE with this FNU. Varies by FNU See FNU Description below

Media FNUInfo

Boolean Array of FNUData

FNUData Parameter

Type String

Description A parameter to the FNU (as presented in FNUType). If the parameter requires completion by the client, it is the parameter string ending with = (e.g., avaya-cm-action=). If the parameter is complete (e.g., avaya-cm-group=3), the client would use the parameter as is. If true, the client must include this parameter. If false, the client may include the parameter if it is able to complete the parameter or provide the feature processing. If none, the parameter is already complete. If offon, the endpoint must complete the parameter with either off or on. If address, the endpoint must complete the parameter with an address (e.g., telephone number or extension). If number, the endpoint must complete the parameter with a number. If dialcode, the endpoint must complete the parameter with a dial code.

Required

Boolean

MustComplete

Enum

38 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

FNU Description
The following table shows the list of features accessible via FNU in Communication Manager. Many of the FNUs require additional parameters. A yes value in the column labeled MustComplete indicates that the endpoint must complete the indicated parameter. A no value in the column labeled MustComplete indicates that the FNU parameter provided by PPM in FNUInfo is fully qualified and requires no further addition from the endpoint.
Feature Name FNUType App Media FNUInfo Parameter Automatic call back Automatic intercom Busy Indicator Call forwarding all See note 1 See note 4 Call forwarding busy/no answer See note 1 See note 4 Call park See note 3 Call unpark (answer back) See note 2 See note 3 Call pick-up Group Call pickup Directed Call pickup Extended group See note 2 Per call calling party number block See note 3 Per call calling party number unblock See note 3 Dial Intercom avaya-cm-fnu=auto-callback avaya-cm-fnu=auto-intercom false true false true avaya-cm-action={on|off} avaya-cm-group={group} avaya-cm-dial-code={code} avaya-cm-fnu=busy-indicator avaya-cm-fnu=call-forwarding -all true true true true avaya-cm-destionation={address} avaya-cm-destination={address} avaya-cm-action={on|off} true avaya-cm-fnu=call-forwarding -busy-no-answer true true avaya-cm-destination={address} avaya-cm-action={on|off} true avaya-cm-fnu=call-park avaya-cm-fnu=call-unpark false true false true avaya-cm-extension={address} false address offon false offon address Required true true true true false MustComplete offon none none address address

avaya-cm-fnu=call-pickup avaya-cm-fnu=call-pickup-dire cted avaya-cm-fnu=call-pickupextended avaya-cm-fnu=calling-partyblock

true true true

true true true avaya-cm-extension={address} avaya-cm-pickup-number={num} false false address number

true

true

avaya-cm-destination={address}

false

address

avaya-cm-fnu=calling-partyunblock

true

true

avaya-cm-destination={address}

false

address

avaya-cm-fnu=dial-intercom

true

true

avaya-cm-group={group} avaya-cm-dial-code={code}

true false

none dialcode 1 of 2

Issue 1 August 2006

39

Interface Specification for PPM

Feature Name

FNUType

App

Media

FNUInfo Parameter Required true true MustComplete offon offon

Exclusion See note 3 Off-PBX call See note 3 Off hook See note 2 Last number dialed See note 3 Malicious Call Trace See note 3 Malicious Call Trace Cancel See note 2 See note 3 One Touch Recording See note 1 See note 3 Priority call See note 3 Send all calls Transfer to voice mail See note 2 Whisper page

avaya-cm-fnu=exclusion avaya-cm-fnu=off-pbx avaya-cm-fnu=off-hook avaya-cm-fnu=last-numberdialed avaya-cm-fnu=mct

false false true true

false false false true

avaya-cm-action={on|off} avaya-cm-action={on|off}

false

false

avaya-cm-fnu=mct-cancel

false

false

avaya-cm-fnu=one-touchrecording

false

false

avaya-cm-action={on|off} avaya-cm-extension={address}

true true false true

offon address address offon

avaya-cm-fnu=priority-call avaya-cm-fnu=sac avaya-cm-fnu=transfer-tovoicemail avaya-cm-fnu=whisper-page

true false false

true false false

avaya-cm-destination={address} avaya-cm-action={on|off}

true

true

avaya-cm-extension={address}

false

address 2 of 2

Note 1: When deactivating feature (avaya-cm-action=off), other parameters are not included. Note 2: No button is defined on CM for this feature, so DevConnect members will never see this from PPM. The FNU is supported by Avaya, and therefore it is listed here for completeness. Note 3: Unused, but supported by Avaya so included here for completeness. Note 4: Session Description Protocol (SDP) and the +line parameter in the Contact header must be included if the optional FNU parameter is not present in the INVITE. Conversely, if the optional FNU parameter is included in the INVITE, then the INVITE should not include SDP or the +line parameter.

40 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Examples:
Automatic callback For an automatic callback button in location 9, PPM returns the following structure: Location ButtonType LineID Address FNUType FNUInfo 9 FNU Null Null avaya-cm-fnu=auto-callback {avaya-cm-action=, true, offon}

When the user presses the automatic callback button to activate the automatic callback feature, the endpoint would send an INVITE with the request URI of: sip:handle@domain;avaya-cm-fnu=auto-callback;avaya-cm-action=on It is the endpoints responsibility to complete the parameter avaya-cm-action=on because the MustComplete value for the avaya-cm-action parameter is offon. Automatic Intercom For an automatic intercom button in location 8, PPM returns the following structure: Location ButtonType LineID Address FNUType FNUInfo 8 FNU Null Null avaya-cm-fnu=auto-intercom {avaya-cm-group=3, true, none} {avaya-cm-dial-group=2, true, none}

When the user presses the automatic callback button to activate the automatic callback feature, the endpoint would send an INVITE with the request URI of: sip:handle@domain;avaya-cm-fnu=auto-intercom;avaya-cm-group=3;avaya -cm-dial-code=2 In this case, PPM provides all values for the FNU parameters, so the endpoint need not complete the FNU parameters (the MustComplete value for both parameters is none). When a CM administrator adds an auto-icom button to a station, the administrator must also enter a group and dial code. When PPM gets the button information from CM, it also gets the group and dial code.

Issue 1 August 2006

41

Interface Specification for PPM

Example Terminal Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getButtonAssignments env:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> </ppm:getButtonAssignments> </soapenv:Body> </soapenv:Envelope>

42 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getButtonAssignmentsResponse env:encodingStyle="http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:ListOfButtonAssignments> <ppm:NoOfElements>4</ppm:NoOfElements> <ppm:ButtonAssignment> <ppm:ButtonData> <ppm:Location>16</ppm:Location> <ppm:Type>call-appr </ppm:Type> <ppm:LineID>16</ppm:LineID> <ppm:Address></ppm:Address> <ppm:FNUType></ppm:FNUType> <ppm:App></ppm:App> <ppm:Media></ppm:Media> <ppm:FNUInfo></ppm:FNUInfo> </ppm:ButtonData> <ppm:ButtonData> <ppm:Location>1</ppm:Location> <ppm:Type>brdg-appr</ppm:Type> <ppm:LineID>4</ppm:LineID> <ppm:Address>4000</ppm:Address> <ppm:FNUType></ppm:FNUType> <ppm:App></ppm:App> <ppm:Media></ppm:Media> <ppm:FNUInfo></ppm:FNUInfo> </ppm:ButtonData> <ppm:ButtonData> <ppm:Location>6</ppm:Location> <ppm:Type>FNU</ppm:Type> <ppm:LineID></ppm:LineID> <ppm:Address></ppm:Address> <ppm:FNUType>avaya-cm-fnu=sac</ppm:FNUType> <ppm:FNUInfo> <ppm:FNUData> <ppm:FNUParam>avaya-cm-action=</ppm:FNUParam> <ppm:FNURequired>true</ppm:FNURequired> <ppm:FNUMustComplete>offon</ppm:FNUMustComplete> </ppm:FNUData> </ppm:FNUInfo> </ppm:ButtonData> </ppm:ButtonAssignment> <ppm:ListOfButtonAssignments> </ppm:getButtonAssignmentsResponse> </env:Body> </env:Envelope>

Issue 1 August 2006

43

Interface Specification for PPM

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DataNotAvailable Description PPM is unable to obtain the data from CM. A likely cause is that PPM was not able to obtain a response from CM before link timeout. The station has not been administered on CM.

ConfigurationMismatch Soft Menu Keys Assignment

A SIP phone or other device may obtain its soft menu key assignments with the getSoftMenuKeysAssignments operation. getSoftMenuKeysAssignments(Handle) Request Parameter Handle Type String Description Users handle

Response Parameter SoftMenuKeyList

Type ButtonListInfo

Value

Description Container for SoftMenuKeys information

ButtonListInfo NoOfElements ButtonList

Type Integer Array of ButtonData

Description Number of elements in the array See ButtonData above

See Dial Plan and Button Assignment on page 37 for definition of Button Data.

44 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Example SUSHI Request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getSoftMenuKeysAssignments env:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> </ppm:getSoftMenuKeysAssignments> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getSoftMenuKeysAssignmentsResponse env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:SoftMenuKeyList> <ppm:NoOfElements>2</ppm:NoOfElements> <ppm:ButtonAssignment> <ppm:ButtonData> <ppm:Location>16</ppm:Location> <ppm:Type>FNU </ppm:Type> <ppm:Label>SAC </ppm:Label> <ppm:LineID>16</ppm:LineID> <ppm:Extension></ppm:Extension> <ppm:FNUType>avaya-cm-fnu=sac</ppm:FNUType > <ppm:FNUInfo> <ppm:FNUData> <ppm:FNUParam>avaya-cm-action=</ppm:FNUParam> <ppm:FNURequired>true</ppm:FNURequired> <ppm:FNUMustComplete>true</ppm:FNUMustComplete> </ppm:FNUData> </ppm:FNUInfo> </ppm:ButtonData> <ppm:ButtonData> <ppm:Location>16</ppm:Location> <ppm:Type>FNU </ppm:Type> <ppm:Label>SAC </ppm:Label> <ppm:LineID>16</ppm:LineID> <ppm:Extension></ppm:Extension> <ppm:FNUType>avaya-cm-fnu=call-park</ppm:FNUType > <ppm:FNUInfo></ppm:FNUInfo> </ppm:ButtonData> </ppm:ButtonAssignment> <ppm:SoftMenuKeyList> </ppm:getSoftMenuKeysAssignmentsResponse> </env:Body> </env:Envelope>

Issue 1 August 2006

45

Interface Specification for PPM

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DataNotAvailable Description PPM is unable to obtain the data from CM. A likely cause is that PPM was not able to obtain a response from CM before link timeout. The station has not been administered on CM.

ConfigurationMismatch Report Status

Due to the stateless nature of web environments, both in the personal profile manager and the SES web interface, it is necessary to temporarily store information received so that the administrator can view it. To meet the maintainability and serviceability guidelines, it is necessary for a technician to get the status of a SIP end point. To achieve this, a get status link is clicked from the Registered Devices page present at each home node in the network. Clicking this link causes the web interface to trigger a notify to that end point stating that its status is needed. The end point in turn calls the Report Status method in PPM. The PPM takes the input from the Report Status method and stores the information in a temporary location. This operation may take a second to be completed. To simulate a real time experience in the web interface, the View Status page should examine the database every 2 seconds until a record is added for the device in question. reportStatus(Handle, OptimExtension, IPAddress, HostName, SwitchHookStatus, PresenceStatus) Request Parameter Handle OptimExtension IPAddress HostName SwitchHookStatus PresenceStatus Type String String String String Enum String {On, Off} Value SIP URI Description The users primary handle This terminals extension This terminals IP address This terminals host name Indicates if the terminal is currently on-hook or off-hook This terminals current presence status

46 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Example client request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:ReportStatus:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> <ppm:OptimExtension>1001</ppm:OptimExtension> <ppm:IPAddress>135.8.68.110</ppm:IPAddress> <ppm:HostName>ipphone.usae.avaya.com</ppm:HostName> <ppm:Handle>ajbaker</ppm:Handle> <ppm:SwitchHookStatus>on-hook</ppm:SwitchHookStatus> <ppm:PresenceStatus>available</ppm:Presencestatus> </ppm: ReportStatus> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: ReportStatusResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:Message>PPM_Success</ppm:Message> </ppm: ReportStatusResponse > </soapenv:Body> </soapenv:Envelope>

Endpoint Configuration JUMBO


A method exists that can be used to obtain endpoint configuration in one request. The getEndpointConfiguration operation combines the getIdleLineSelection, getMessageWaitingExt, getAutoAnswerType, getLineReservationTimer, getExpiredTimerVal, getRingerSettings, getVolumeSettings, getButtonAssignments, getOneTouchDialList, and getSoftMenuKeyAssignments operations. getEndpointConfiguration(Handle) Request Parameter Handle Type String Description Users handle

Issue 1 August 2006

47

Interface Specification for PPM

Response Parameter ConfigInfo

Type EndpointConfigInfo

Value

Description Container for Endpoint configuration information

EndpointConfigInfo VolumeSettings

Type VolumeSet

Value

Description See VolumeSet. This terminal information may be used by any end point of the PPM. The terminal calls this method to store this information so that the SES administrator may view this information at a later time. This information must be propagated back to the SES master administration system.) See RingerOnOffData in getVolumeSettings(Handle) )

ListOfRingerOnOffData ResvTimer ExpIntVal

RingerOnOffListInfo short Integer 30 - 240 seconds 10 864000 seconds (maximum of 10 days)

Line Reservation timer value This is the value to be placed in the Expires header of the SIP REGISTER message. See Idle Line Selection

LinePreferenceInfo MWExt

LinePrefInfo String Maximum of 7 digits

the message waiting extension assigned to the station on CM (Note that the Message Waiting Extension assigned on CM is generally used to light a message waiting lamp on the telephone.) the Auto Answer setting for this station on CM See OneTouchButton -- A Speed Dial List is accessible for each terminal. A SIP phone or device can retrieve its Speed Dial List by invoking the getSpeedDialList request on the PPM server. See ButtonData (section getDialPlan(Handle)) See ButtonData (getDialPlan(Handle)) See Dial Plan (section Dial Plan) See SpeedDialEntry (section getRingerSettings(Handle)) See LogEntry (section Session History (Future)). Note this was deferred. See VMON Information (2.1.6)

AutoAnswer ListOfOneTouchDialData

AutoAnsType OneTouchDialListInfo

{none, icom, acd, all}

ListOfButtonAssignments SoftMenuKeyList DialPlanData ListOfSpeedDialData CallLog VmonInformation

ButtonListInfo ButtonListInfo DialPlanListInfo SpeedDialListInfo CallLogInfo VmonInformation

48 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

VMON Information
The getVMONInformation() method may be used as a stand alone request, or the end point may receive the same information from the JUMBO (getEndPointConfiguration()). This request provides the end point with the RTCP Monitor IP Address, Port Number, and Report Period (in seconds). The VMON information is administered in the SES administration system in the 3.0 release of SES. In subsequent releases, the VMON information will be retrieved from the network region tables in Communication Manager. Note that the same VmonInformation SOAP Struct data type is used in the getEndPointConfiguration response. getVMONInformation() VmonInformation RtcpServer VmonPort ReportPeriod Type String Integer Integer Value IP address Port Seconds Description The IP address of the RTCP Monitor The port of the RTCP Monitor How frequently the end point should be sending the receiver report

Example client request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getVMONInformation:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> </ppm:getVMONInformation> </soapenv:Body> </soapenv:Envelope>

Issue 1 August 2006

49

Interface Specification for PPM

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm: getVMONInformationResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/ccs/ppm/ "> <ppm:VmonInformation> <ppm:RtcpServer>192.168.1.220</ppm:SipServer> <ppm:VmonPort>53020</ppm:SipPort> <ppm:ReportPeriod>60</ppm:ReportPeriod> </ppm:VmonInformation> </ppm: getVMONInformationResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault NoServerFound Description If there has been no VMON server administered for this host

Home server
The Avaya PPM team recommends that end points call the getHomeServer method only once during the initial installation and persist the location until one of the following circumstances:

The end point receives a fault from any other PPM method that states the user is not known. The end point should then call the getHomeServer method to verify the users location. This occurs when the digest is still valid but the user was just moved. The end point receives a notification stating it needs to update its location. The end point fails authentication with the PPM or the SIP proxy. For some reason if the user was moved from one SES to another and the end point isnt notified, the end point may wish to re-validate its home server as an automated run-time troubleshooting step. The end point looses the location information (e.g. non data preserving firmware upgrade)

50 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

This method is used when the phone has no record of its location such as during installation time. If a customer deploys multiple SES servers on the same subnet, the existing DHCP mechanism for managing service location does not provide the granularity necessary for two clients on the same subnet to use two different servers in a straight forward and automated manner. The getHomeServer method is used to retrieve the location of the service that the user is supposed to be using. This method may be executed against any SES home in the network and will return the exact same information regardless of which home is local to the request. Once the service location is retrieved, the end point may proceed with SIP registration and initialization of data with its home PPM. getHomeServer(handle) Request Handle Type String Value URI Description The handle is the primary handle of the user, maybe in the form of user or user@domain

Response ServerInfo

Type HomeServerInfo

Value

Description Container of HomeServer Information

HomeServerInfo ppmServer sipServer sipPort sipDomain

Type String String Integer String

Value HTTP URL Host Usually 5060 The SIP domain as provisioned in SES admin

Description The URL for the users home PPM server. The hostname or IP address of the users home proxy The port that the sip server is listening on The end point should always send the register for user@domain, where domain is the SIP domain and not the hostname of the SIP server. Array of transport information

transportList

ArrayOfTransportdata

Issue 1 August 2006

51

Interface Specification for PPM

Transportdata transportName transportPort

Type String Integer

Value {tls, tcp, udp} {5060, 5061}

Description Name of the transport The port of the transport. In this release, it will always be either 5060 or 5061

Example client request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ppm:getHomeServer:encodingStyle=" http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/SES/ppm/ "> <ppm:Handle>user@domain</ppm:Handle> </ppm:getHomeServer> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http:// www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Body> <ns1:getHomeServerResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1=" http://avaya.com/SES/ppm/> <ServerInfo> <ppmServer>http://sip-proxy2.dr.avaya.com/axis/services/PPM</ppmServer> <sipServer>sip-proxy2.dr.avaya.com</sipServer> <sipDomain>avaya.com</sipDomain> <TransportList soapenc:arrayType="ns1:Transportdata[1]" xmlns:soapenc="http://schemas.xmlsoap.org/ soap/encoding/"> <TransportData> <transportName>udp</transportName> <transportPort>5060</transportPort> </Transportdata> </TransportList> </ServerInfo> </ns1:getHomeServerResponse> </soapenv:Body> </soapenv:Envelope>

52 Interface Specification Document for Personal Profile Manager

PPM Server (SOAP interface)

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault ServiceError Description If there is an error in retrieving the location from the back end system

If the authentication fails for the getHomeServer method, this implies that either the password is invalid or that the user name is invalid. If the user and password are correct, the user will be authenticated and any errors in retrieving the server information will be returned in the ServiceError SOAP Fault.

Retry Fault
Due to the complex relationships the PPM has with both the Converged Communications Server and Communication Manager systems, there may be instances where the PPM must throttle requests to service many simultaneous requests. In these cases, the PPM may return a SOAP stating a number of seconds that the end point should re-try the exact same request. This feature allows PPM to continue servicing end points that it may not have been able to before. Example SOAP Fault
<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <env:Fault> <faultcode>soap:Server</faultcode> <faultstring>Retry</faultstring> <detail> 30 </detail> </env:Fault> </env:Body> </env:Envelope>

Notice in this SOAP fault that the PPM returns the standard SOAP fault structure. The faultstring is Retry and the detail contains an integer. The client should retry the request after waiting that integers time in seconds.

Issue 1 August 2006

53

Interface Specification for PPM

End Point to Personal Profile Manager Data Flows


On-demand information
The Personal Profile Manager does not restrict how or when the terminal is to fetch its data. The terminal may choose to retrieve its configuration when it initially powers on and [SIP] registers with SES, and every subsequent [SIP] re-register, or every other re-register, or not at all. The only time a terminal must retrieve information from PPM is on a user event, e.g. the user clicks View Call Log on their terminal, or from a profile event package event. This section specifies the data flow for when a user interacts with their terminal and the terminal must retrieve information from PPM. In all instances, the terminal must include credentials when it retrieves information from PPM on demand. When the user presses the button to View Call Log, the terminal sends a SOAP request to PPM, including the HTTP authentication credentials, and executes the getCallLog SOAP method. The PPM forms the SOAP response and sends it back to the terminal. The terminal must process the SOAP body and format the information for the display on the terminal. Feature Requests Data from PPM

End User
User clicks View Call Log

Toshiba Phone

PPM

getCallLog

getCallLogResponse

Call Log displayed on terminal

54 Interface Specification Document for Personal Profile Manager

End Point to Personal Profile Manager Data Flows

Profile Event Package


The Profile Event Package is an Avaya proprietary event package to notify SIP end points of profile events. There are three profile events:

Reboot Required (as demanded by system administrator via SES maintenance interface) Report Status (as demanded by system administrator via SES maintenance interface) Reload Profile (when users profile changes on SES, or system administrator demands via SES maintenance interface)

The phone must subscribe to the profile event package as one of its initializing steps. By subscribing to this event package, the phone will gain several desirable features. First, the administration may use the SES administration system to reboot one or more end points. The administration system triggers the NOTIFY to the terminal, and the phone or device reboots. The administrator may also wish to have an on-demand status of the end point. In this case, the administrator clicks on Get Status for a terminal in the SES administration system. A NOTIFY is generated to that specific end point, and the end point calls the report Status method in the Personal Profile Manager. The administrator may then view what the terminal reported back as its status. The final feature is for user experience. If some information in the users profile changes, e.g. the user changes information from the SIP Personal Information Manager or the administrator changes some information, the end users terminal must be updated to reflect this information. The terminal will receive a notify whenever some information in the profile has changed. The terminal should then execute all of its initialization methods i.e. getEndPointConfiguration, getDialPlan, and getSpeedDialList. The Notify includes a timestamp of the most recent profile. The endpoint can check this timestamp, if its profile is up to date then it need not execute the initialization methods. All of these events are handled under one subscription to the Profile Event Package. The terminal should subscribe as part of its initialization process. Note that the notifications are SIP NOTIFY messages with XML bodies.

Issue 1 August 2006

55

Interface Specification for PPM

Just one example of a SUBSCRIBE message might be:


SUBSCRIBE sip:1111@atler.com SIP/2.0 From: <sip:1111@atler.com>;tag=random1 To: <sip:1111@atler.com> Call-Id: cid-1@10.0.75.2 CSeq: 1 SUBSCRIBE Contact: <sip:1111@10.0.75.2> Event: avaya-ccs-profile Accept: application/profile+xml Expires: 3600 Max-Forwards: 70 User-Agent: Toshiba/2.1.8 (VxWorks) Via: SIP/2.0/UDP 10.0.75.2branch=z9hG4bK=random-2 Route: <sip:10.0.0.100;lr> Content-Length: 0

Reboot Required
Whenever the following notify is received, the terminal should reboot at its earliest convenience (e.g. when the user is no longer on an active call).
NOTIFY sip:1111@10.0.75.2 SIP/2.0 Call-ID: cid-1@10.0.75.2 CSeq: 2 NOTIFY From: <sip:1111@atler.com>;tag=random2 To: <sip:1111@atler.com>;tag=random1 Via: SIP/2.0/UDP 10.0.0.100;branch-id=z9hG4bK-random-ccs1 SIP/2.0/TLS 10.0.0.200;branch-id=z9hG4bK-random-cm1 Content-Length: 22 Content-Type: application/profile+xml Contact: <sip:1111@10.0.0.200;transport=tls> Max-Forwards: 69 User-Agent: Avaya Communication Manager v1.0 Event: avaya-ccs-profile Subscription-State: active;expires=3600 Record-Route: <sip:10.0.0.100:5060;lr;transport=UDP> <?xml version="1.0"?> <event> <eventName>Reboot</eventName> <eventTime>[timestamp]</eventName> </event>

56 Interface Specification Document for Personal Profile Manager

End Point to Personal Profile Manager Data Flows

Report Status
Whenever the following notify is received, the terminal should call the reportStatus method in the Personal Profile Manager.
NOTIFY sip:1111@10.0.75.2 SIP/2.0 Call-ID: cid-1@10.0.75.2 CSeq: 2 NOTIFY From: <sip:1111@atler.com>;tag=random2 To: <sip:1111@atler.com>;tag=random1 Via: SIP/2.0/UDP 10.0.0.100;branch-id=z9hG4bK-random-ccs1 SIP/2.0/TLS 10.0.0.200;branch-id=z9hG4bK-random-cm1 Content-Length: 22 Content-Type: application/profile+xml Contact: <sip:1111@10.0.0.200;transport=tls> Max-Forwards: 69 User-Agent: Avaya Communication Manager v1.0 Event: avaya-ccs-profile Subscription-State: active;expires=3600 Record-Route: <sip:10.0.0.100:5060;lr;transport=UDP> <?xml version="1.0"?> <event> <eventName>Report</eventName> <eventTime>[timestamp]</eventTime> </event>

Reload Profile
The profile code assists the end point in making a decision on which PPM methods to call when it receives the reload profile notify. Profile Code (Enum) 0 1 2 3 4 Description The location has changed, the end point should call getHomeServer and re-initialize fully Button data changed, the phone should execute getEndPointConfiguration Contact list changed. The phone should execute getcontactList and getSpeedDialList. Away Messages changed Permissions changed.

Issue 1 August 2006

57

Interface Specification for PPM

The phone is only suggested to call the methods that correspond to the profile code. If the phone does not support a speed dial list or a contact list, then a NOTIFY with an event code of 2 should be ignored. Similarly, the phone may choose to re-initialize all data regardless of the profile code. The lack of a profile code indicates that the phone should re-initialize fully. Note in the first release, the SUSHI end point is expected to only receive 0 or 1 for a profile code. Figure 1: Reload profile Notify
NOTIFY sip:1111@10.0.75.2 SIP/2.0 Call-ID: cid-1@10.0.75.2 CSeq: 2 NOTIFY From: <sip:1111@atler.com>;tag=random2 To: <sip:1111@atler.com>;tag=random1 Via: SIP/2.0/UDP 10.0.0.100;branch-id=z9hG4bK-random-ccs1 SIP/2.0/TLS 10.0.0.200;branch-id=z9hG4bK-random-cm1 Content-Length: 22 Content-Type: application/profile+xml Contact: <sip:1111@10.0.0.200;transport=tls> Max-Forwards: 69 User-Agent: Avaya Communication Manager v1.0 Event: avaya-ccs-profile Subscription-State: active;expires=3600 Record-Route: <sip:10.0.0.100:5060;lr;transport=UDP> <?xml version="1.0"?> <event> <eventName>Reload</eventName> <eventTime>[timestamp]</eventTime> <profileCode>0</profileCode> </event>

References
1. Gateway Control Protocol Version 1 (aka H.248.1), RFC 3525, http://www.ietf.org/rfc/ rfc3525.txt 2. HTTP Authentication: Basic and Digest Access Authentication, RFC 2617, http:// www.ietf.org/rfc/rfc2617.txt 3. Simple Object Access Protocol (SOAP) 1.1, http://www.w3.org/TR/SOAP/ 4. Web Services Definition Language (WSDL) 1.1, http://www.w3.org/TR/wsdl 5. Apache Web Services Project, Axis, http://ws.apache.org/axis/

58 Interface Specification Document for Personal Profile Manager

Detailed FNU Description

Detailed FNU Description


Feature Name URI examples
In all of these examples:

1111 is the CM extension associated with the endpoint that is sending the INVITE FNU. 2222 is used where the feature is activated on another CM extension. The actual value of 2222 is provided to the endpoint by PPM, and is placed by the endpoint in the user part of the Request-URI. If there is no example here using 2222 as the user part of the Request-URI for a particular FNU, then that FNU only accepts the endpoints own extension in that field (i.e., 1111). 3333 is a any other CM extension (e.g., the object of a directed call pickup). 4444444 is any number within the CM dial plan, which may be either on or off switch.

Parameters are marked as either optional (O) or mandatory (M). This distinction is relative to the inclusion of these parameters in the INVITE. Some of these parameters might still be mandatory to CM. If an optional parameter is not sent by the endpoint in the INVITE, but is required by CM, CM will provide dial tone to the user and collect the required digits. Parameters may be supplied in any order. The order in this document is recommended. Whenever available, the value of a parameter is extracted from a CM button by PPM, and then provided by PPM to the endpoint (e.g., avaya-cm-group). For values not available from CM, and therefore not provided by PPM to the endpoint, the endpoint will need to do one of the following:

determine the value algorithmically (e.g., avaya-cm-action), collect the value from the user (e.g., avaya-cm-destination), or, if an optional parameter, leave it off and let CM collect it.

The endpoint must send SDP in the INVITE for those FNUs where indicated below. Whenever sending SDP, the endpoint must also request a line appearance (+line) on the Contact header. Automatic Call Back INVITE sip:1111@example.com;avaya-cm-fnu=auto-callback ;avaya-cm-action=on SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=auto-callback ;avaya-cm-action=off SIP/2.0

Issue 1 August 2006

59

Interface Specification for PPM

Parameters: Name avaya-cm-action Values on or off M|O M PPM No

Authorization: Description:

This request must be authorized by the class of service of the extension. Automatic Call Back activates or deactivates the Automatic Call Back feature for an endpoints own extension. When activated, this feature allows a user who placed a call to a busy or unanswered telephone to be called back automatically when the called telephone becomes available to receive a call. auto-cback Yes No

CM button: Feature package: SDP required: Automatic Intercom

INVITE sip:1111@example.com;avaya-cm-fnu=auto-intercom ;avaya-cm-group=9;avaya-cm-dial-code=12 SIP/2.0 Parameters: Name avaya-cm-group avaya-cm-dial-code Values Intercom group number from 1 to 32 One or two digit dial code assigned to the extension to be called M|O M M PPM Yes Yes

60 Interface Specification Document for Personal Profile Manager

Detailed FNU Description

Authorization:

An endpoint can use this FNU only if the endpoint has a auto-icom button administered on CM with matching group number and dial code. Automatic Intercom places a call to the station associated with the button. The called user receives a unique alerting indication. The endpoint extension and destination extension must be in the same intercom group. This feature is exactly like Dial Intercom except for the way that the dial code is specified. PPM can provide the dial code for Automatic Intercom, but not for Dial Intercom. auto-icom Gr: 9 DC: 12 No Yes

Description:

CM button: Feature package: SDP required:

Call Forwarding All Calls, of the endpoints own (1111) extension INVITE sip:1111@example.com;avaya-cm-fnu=call-forwarding-all ;avaya-cm-destination=4444444;avaya-cm-action=on SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=call-forwarding-all ;avaya-cm-action=on SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=call-forwarding-all ;avaya-cm-action=off SIP/2.0 Parameters: Name avaya-cm-action avaya-cm-destination Values on or off Any number within the CM dial plan, to which this endpoint is being forwarded. M|O M O PPM No No

Authorization:

This example shows the use of this FNU on the endpoints own extension. It must be authorized by the extensions class of service. See the next case for how to apply this feature to another extension. Activates or deactivates Call Forwarding All Calls.

Description:

Issue 1 August 2006

61

Interface Specification for PPM

CM button: Feature package: SDP required:

call-fwd Ext: (left blank) Yes Only if avaya-cm-action=on and avaya-cm-destination not specified.

Call Forwarding All Calls, of another endpoints (2222) extension INVITE sip:2222@example.com;avaya-cm-fnu=call-forwarding-all ;avaya-cm-destination=4444444;avaya-cm-action=on SIP/2.0 INVITE sip:2222@example.com;avaya-cm-fnu=call-forwarding-all ;avaya-cm-action=on SIP/2.0 INVITE sip:2222@example.com;avaya-cm-fnu=call-forwarding-all ;avaya-cm-action=off SIP/2.0 Parameters: Name avaya-cm-action avaya-cm-destination Values on or off Any number within the CM dial plan, to which this endpoint is being forwarded. M|O M O PPM No No

Authorization: Description: CM button: Feature package: SDP required:

An endpoint can use this FNU on another extension only if the endpoint has a call-fwd Ext: 2222 button administered on CM. Activates or deactivates Call Forwarding All Calls, on the extension specified in the user part of the Request-URI. call-fwd Ext: 2222 Yes Only if avaya-cm-action=on and avaya-cm-destination not specified.

Call Forwarding Busy/Dont Answer, of the endpoints own (1111) extension INVITE sip:1111@example.com;avaya-cm-fnu=call-forwarding-busy-no-answer ;avaya-cm-destination=4444444;avaya-cm-action=on SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=call-forwarding-busy-no-answer ;avaya-cm-action=on SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=call-forwarding-busy-no-answer ;avaya-cm-action=off SIP/2.0

62 Interface Specification Document for Personal Profile Manager

Detailed FNU Description

Parameters: Name avaya-cm-action avaya-cm-destination Values on or off Any number within the CM dial plan, to which this endpoint is being forwarded. M|O M O PPM No No

Authorization:

This example shows the use of this FNU on the endpoints own extension. It must be authorized by the extensions class of service.See the next case for how to apply this feature to another extension. Call Forward Busy/Dont Answer activates and deactivates call forwarding for calls when the extension is busy or the user does not answer. cfwd-bsyda Ext: (left blank) Yes Only if avaya-cm-action=on and avaya-cm-destination not specified.

Description:

CM button: Feature package: SDP required:

Call Forwarding Busy/Dont Answer Calls, of another endpoints (2222) extension INVITE sip:2222@example.com;avaya-cm-fnu=call-forwarding-busy-no-answer ;avaya-cm-destination=4444444;avaya-cm-action=on SIP/2.0 INVITE sip:2222@example.com;avaya-cm-fnu=call-forwarding-busy-no-answer ;avaya-cm-action=on SIP/2.0 INVITE sip:2222@example.com;avaya-cm-fnu=call-forwarding-busy-no-answer ;avaya-cm-action=off SIP/2.0 Parameters: Name avaya-cm-action avaya-cm-destination Values on or off Any number within the CM dial plan, to which this endpoint is being forwarded. M|O M O PPM No No

Issue 1 August 2006

63

Interface Specification for PPM

Authorization: Description:

An endpoint can use this FNU on another extension only if the endpoint has a cfwd-bsyda Ext: 2222 button administered on CM Call Forward Busy/Dont Answer activates and deactivates call forwarding for calls when the extension is busy or the user does not answer, on the extension specified in the user part of the Request-URI. cfwd-bsyda Ext: 2222 Yes Only if avaya-cm-action=on and avaya-cm-destination not specified.

CM button: Feature package: SDP required: Call Park

INVITE sip:1111@example.com;avaya-cm-fnu=call-park SIP/2.0

Parameters: Authorization: Description: CM button: Feature package: SDP required: Call Unpark (Answer-Back)

None. None. Allows the user to place the current call in the call park state so it can be retrieved from another phone. call-park No No

INVITE sip:1111@example.com;avaya-cm-fnu=call-unpark ;avaya-cm-extension=3333 SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=call-unpark SIP/2.0 Parameters: Name avaya-cm-extension Values The CM extension where the call is parked. M|O O PPM No

64 Interface Specification Document for Personal Profile Manager

Detailed FNU Description

Authorization: Description: CM button: Feature package: SDP required: Call Pickup (group)

None. Allows the user to retrieve a call parked at another extension. The endpoint will be connected to the parked call. None. Accessed on the CM only via a FAC. No Yes

INVITE sip:1111@example.com;avaya-cm-fnu=call-pickup SIP/2.0

Parameters: Authorization: Description: CM button: Feature package: SDP required: Directed Call Pickup

None. The endpoint must be a member of a pickup group and can only pickup calls to other group members. Allows the user to answer a call that is ringing in the users pickup group. call-pkup No Yes

INVITE sip:1111@example.com;avaya-cm-fnu=call-pickup-directed ;avaya-cm-extension=3333 SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=call-pickup-directed SIP/2.0 Parameters: Name avaya-cm-extension Values The CM extension where the call is alerting. M|O O PPM No

Issue 1 August 2006

65

Interface Specification for PPM

Authorization:

The endpoints need not be members of a group, but directed call pickup must be authorized by the class of restriction for both endpoints. Directed call pickup allows the user to answer a call ringing at another extension without having to be a member of a pickup group. dir-pkup No Yes

Description: CM button: Feature package: SDP required: Extended Group Call Pickup

INVITE sip:1111@example.com;avaya-cm-fnu=call-pickup-extended ;avaya-cm-pickup-number=3 SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=call-pickup-extended SIP/2.0 Parameters: Name avaya-cm-pickup-number Values The pickup number from 1 to 24. M|O O PPM No

Authorization:

The endpoint must be a member of a pickup group, and that pickup group must be a member of an extended pickup group, which must also include the group of the endpoint whose phone is being picked up. Enables call pickup groups to answer calls directed to another call pickup group. None. Accessed on the CM only via a FAC. No Yes

Description: CM button: Feature package: SDP required: Calling Party Number Block

INVITE sip:1111@example.com;avaya-cm-fnu=calling-party-block ;avaya-cm-destination=4444444 SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=calling-party-block SIP/2.0

66 Interface Specification Document for Personal Profile Manager

Detailed FNU Description

Parameters: Name avaya-cm-destination Values Any number within the CM dial plan, to which this call is being directed. M|O O PPM No

Authorization: Description: CM button: Feature package: SDP required: Calling Party Number Unblock

None. Blocks the sending of the calling party number for one call. cpn-blk No Yes

INVITE sip:1111@example.com;avaya-cm-fnu=calling-party-unblock ;avaya-cm-destination=4444444 SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=calling-party-unblock SIP/2.0 Parameters: Name avaya-cm-destination Values Any number within the CM dial plan, to which this call is being directed. M|O O PPM No

Authorization: Description: CM button: Feature package: SDP required: Dial Intercom

None. Deactivates calling party number (CPN) blocking and allows the CPN to be sent for a single call. cpn-unblk No Yes

INVITE sip:1111@example.com;avaya-cm-fnu=dial-intercom ;avaya-cm-group=9;avaya-cm-dial-code=12 SIP/2.0

Issue 1 August 2006

67

Interface Specification for PPM

INVITE sip:1111@example.com;avaya-cm-fnu=dial-intercom ;avaya-cm-group=9 SIP/2.0 Parameters: Name avaya-cm-group avaya-cm-dial-code Values Intercom group number from 1 to 32 One or two digit number M|O M O PPM Yes No

Authorization: Description:

An endpoint can use this FNU for a intercom group that matches an administered CM button for this extension (as shown below). Dial Intercom places a call to the station associated with the button. The called user receives a unique alerting indication. The endpoint extension and destination extension must be in the same intercom group. This feature is exactly like Automatic Intercom except for the way that the dial code is specified. PPM can provide the dial code for Automatic Intercom, but not for Dial Intercom. dial-icom Grp: 9 No Yes

CM button: Feature package: SDP required: Drop

INVITE sip:1111@example.com;avaya-cm-fnu=drop SIP/2.0

Parameters: Authorization: Description: CM button: Feature package: SDP required: Exclusion

None. None. Allows users to drop calls. Users can drop calls from automatic hold or drop the last party they added to a conference call. drop No No

INVITE sip:1111@example.com;avaya-cm-fnu=exclusion ;avaya-cm-action=on SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=exclusion ;avaya-cm-action=off SIP/2.0

68 Interface Specification Document for Personal Profile Manager

Detailed FNU Description

Parameters: Name avaya-cm-action Values on or off M|O M PPM No

Authorization:

This request always applies to the endpoints own extension. Automatic exclusion must be authorized by the extensions class of service. Exclusion allows multiappearance telephone users to keep other users with appearances of the same extension from bridging onto an existing call. If the user activates exclusion button while other users are already bridged onto the call, the other users are dropped. There are two means of activating exclusion. Manual Exclusion when the user presses the exclusion button (either before dialing or during the call). Automatic Exclusion as soon during a call, the user presses the exclusion button. exclusion No No

Description:

CM button: Feature package: SDP required: Off-PBX Call

INVITE sip:1111@example.com;avaya-cm-fnu=off-pbx;avaya-cm-action=on SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=off-pbx;avaya-cm-action=off SIP/2.0 Parameters: Name avaya-cm-action Values on or off M|O M PPM No

Authorization: Description:

This request always applies to the endpoints own extension. This FNU provides the capability to enable and disable the extension of an EC500 call. The EC500 station must have one or more administered bridged appearances on the SIP phone for this FNU to have the desired effect. ec500 Yes No

CM button: Feature package: SDP required:

Issue 1 August 2006

69

Interface Specification for PPM

Off Hook INVITE sip:1111@example.com;avaya-cm-fnu=off-hook SIP/2.0

Parameters: Authorization: Description: CM button: Feature package: SDP required: Last Number Dialed

None. None. Reserves a line appearance. None. No No, but +line is required

INVITE sip:1111@example.com;avaya-cm-fnu=last-number-dialed SIP/2.0

Parameters: Authorization: Description: CM button: Feature package: SDP required: Malicious Call Trace

None. None. Last Number Dialed (redial) originates a call to the number last dialed by the station. last-numb No Yes

INVITE sip:1111@example.com;avaya-cm-fnu=mct SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=mct-cancel SIP/2.0

Parameters: Authorization: Description:

None. Must be authorized by the endpoints class of restriction. Malicious Call Trace Activation: sends a message to the MCT control extensions that the user wants to trace a malicious call. MCT activation also starts recording the call, if your system has a MCT voice recorder. mct-act (to activate). Only a FAC to cancel. No No

CM button: Feature package: SDP required:

70 Interface Specification Document for Personal Profile Manager

Detailed FNU Description

AUDIX One-Step Recording INVITE sip:1111@example.com;avaya-cm-fnu=one-touch-recording ;avaya-cm-extension=3333;avaya-cm-action=on SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu= one-touch-recording ;avaya-cm-action=off SIP/2.0 Parameters: Name avaya-cm-action avaya-cm-extension Values on or off The CM extension of an AUDIX hunt group M|O M M PPM No Yes

Authorization:

An endpoint can use this FNU on another extension only if the endpoint has a CM button audix-rec button with a matching extension. This features allows a station user to start and end the recording of an in-progress conversation using the AUDIX system recording facility. Note: avaya-cm-extension is optional when avaya-cm-action is off (because a station can only have one of these buttons). audix-rec Ext: 3333 No No

Description:

CM button: Feature package: SDP required: Priority Call

INVITE sip:1111@example.com;avaya-cm-fnu=priority-call ;avaya-cm-destination=4444444 SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=priority-call SIP/2.0 Parameters: Name avaya-cm-destination Values Any number within the CM dial plan, to which this call is being directed. M|O O PPM No

Issue 1 August 2006

71

Interface Specification for PPM

Authorization: Description: CM button: Feature package: SDP required:

None. Priority Calling allows a user to place priority calls or change an existing call to a priority call. priority No Yes

Send All Calls, of the endpoints own (1111) extension INVITE sip:1111@example.com;avaya-cm-fnu=sac;avaya-cm-action=on SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=sac;avaya-cm-action=off SIP/2.0 Parameters: Name avaya-cm-action Values on or off M|O M PPM No

Authorization:

This example shows the use of this FNU on the endpoints own extension. No authorization is required. See the next case for how to apply this feature to another extension. Send All Calls allows users to temporarily direct all incoming calls to coverage regardless of the assigned call-coverage redirection criteria. send-calls Ext: (left blank) Yes No

Description:

CM button: Feature package: SDP required:

Send All Calls, of another endpoints (2222) extension INVITE sip:2222@example.com;avaya-cm-fnu=sac;avaya-cm-action=on SIP/2.0 INVITE sip:2222@example.com;avaya-cm-fnu=sac;avaya-cm-action=off SIP/2.0 Parameters: Name avaya-cm-action Values on or off M|O M PPM No

72 Interface Specification Document for Personal Profile Manager

Detailed FNU Description

Authorization: Description:

An endpoint can use this FNU on another extension only if the endpoint has a send-calls Ext: 2222 button administered on CM. Send All Calls allows users to temporarily direct all incoming calls to coverage regardless of the assigned call-coverage redirection criteria. Applied to another extension. send-calls Ext: 2222 Yes No

CM button: Feature package: SDP required: Transfer to Voice Mail

INVITE sip:1111@example.com;avaya-cm-fnu=transfer-to-voicemail SIP/2.0

Parameters: Authorization: Description: CM button: Feature package: SDP required: Whisper Page Activation

None. None. Allows coverage to transfer the caller to the original call recipients voice mail where the caller can leave a message. None. Accessed on the CM only via a FAC. No No

INVITE sip:1111@example.com;avaya-cm-fnu=whisper-page ;avaya-cm-extension=3333 SIP/2.0 INVITE sip:1111@example.com;avaya-cm-fnu=whisper-page SIP/2.0 Parameters: Name avaya-cm-extension Values The CM extension to which you want to whisper M|O O PPM No

Issue 1 August 2006

73

Interface Specification for PPM

Authorization:

The user must have a class of restriction (COR) that allows intraswitch calling to use whisper paging, and the extension to whom you are whispering must not have blocked whispers. Whisper Page Activation allows a user to make and receive whisper pages. A whisper page is an announcement sent to another extension who is active on a call where only the person on the extension hears the announcement; any other parties on the call cannot hear the announcement. whisp-act No Yes

Description:

CM button: Feature package: SDP required:

WSDL Document
The following WSDL document (formatted for readability) defines the interface with the PPM server for the data described above. This WSDL document is included here for convenience; note that the final, normative WSDL document would be accessible from an Avaya web site or through the software interface.
<?xml version="1.0" encoding="UTF-8" ?> - <wsdl:definitions targetNamespace="http://xml.avaya.com/service/ProfileManagement/ 112004" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http:// xml.apache.org/xml-soap" xmlns:impl="http://xml.avaya.com/service/ProfileManagement/ 112004" xmlns:intf="http://xml.avaya.com/service/ProfileManagement/112004" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http:// schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <wsdl:types> - <schema targetNamespace="http://xml.avaya.com/service/ProfileManagement/112004" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> - <simpleType name="AutoAnsType"> - <restriction base="xsd:string"> <enumeration value="none" /> <enumeration value="icom" /> <enumeration value="acd" /> <enumeration value="all" /> </restriction> </simpleType> - <simpleType name="PermissionAction"> - <restriction base="xsd:string"> <enumeration value="A" /> <enumeration value="D" /> </restriction> </simpleType>

74 Interface Specification Document for Personal Profile Manager

WSDL Document

- <simpleType name="ButtonType"> - <restriction base="xsd:string"> <enumeration value="call-appr" /> <enumeration value="brdg-appr" /> <enumeration value="FNU" /> <enumeration value="aut-msg-wt" /> <enumeration value="autodial" /> </restriction> </simpleType> - <simpleType name="FNUparamtype"> - <restriction base="xsd:string"> <enumeration value="none" /> <enumeration value="offon" /> <enumeration value="address" /> <enumeration value="number" /> <enumeration value="dialcode" /> </restriction> </simpleType> - <complexType name="FNUData"> - <sequence> <element name="Parameter" nillable="true" type="xsd:string" /> <element name="Required" type="xsd:boolean" /> <element name="MustComplete" nillable="true" type="impl:FNUparamtype" /> </sequence> </complexType> - <complexType name="ArrayOfFNUData"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:FNUData[]" /> </restriction> </complexContent> </complexType> - <complexType name="ButtonData"> - <sequence> <element name="Location" type="xsd:short" /> <element name="ButtonType" nillable="true" type="impl:ButtonType" /> <element name="Label" nillable="true" type="xsd:string" /> <element name="LineID" type="xsd:short" /> <element name="Address" nillable="true" type="xsd:string" /> <element name="FNUType" nillable="true" type="xsd:string" /> <element name="App" type="xsd:boolean" /> <element name="Media" type="xsd:boolean" /> <element name="FNUInfo" nillable="true" type="impl:ArrayOfFNUData" /> </sequence> </complexType> - <complexType name="ArrayOfButtonData"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ButtonData[]" /> </restriction> </complexContent> </complexType> - <complexType name="ButtonListInfo"> - <sequence> <element name="NoOfElements" type="xsd:int" />

Issue 1 August 2006

75

Interface Specification for PPM

<element name="ButtonAssignment" nillable="true" type="impl:ArrayOfButtonData" /> </sequence> </complexType> - <complexType name="SearchCriteria"> - <sequence> <element maxOccurs="1" minOccurs="0" name="Handle" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="FirstName" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="LastName" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Address1" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Address2" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="City" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="State" nillable="true" type="xsd:string" / > <element maxOccurs="1" minOccurs="0" name="Zip" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="OfficeLocation" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Country" nillable="true" type="xsd:string" /> </sequence> </complexType> - <complexType name="TransportData"> - <sequence> <element name="transportName" nillable="true" type="xsd:string" /> <element name="transportPort" type="xsd:int" /> </sequence> </complexType> - <complexType name="ArrayOfTransportData"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:TransportData[]" /> </restriction> </complexContent> </complexType> - <complexType name="FeatureData"> - <sequence> <element name="FeatureName" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="FeatureVersion" nillable="true" type="xsd:int" /> <element maxOccurs="1" minOccurs="0" name="FeatureValue" nillable="true" type="xsd:string" /> </sequence> </complexType> - <complexType name="ArrayOfFeatureData"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:FeatureData[]" /> </restriction> </complexContent> </complexType>

76 Interface Specification Document for Personal Profile Manager

WSDL Document

- <complexType name="ServiceData"> - <sequence> <element name="ServiceName" nillable="true" type="xsd:string" /> <element name="ServiceURI" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="ServiceTransport" nillable="true" type="impl:ArrayOfTransportData" /> <element name="NoOfTransportElements" type="xsd:int" /> <element name="ServiceVersion" type="xsd:int" /> <element name="ServiceFeatures" nillable="true" type="impl:ArrayOfFeatureData" /> <element name="NoOfFeatureElements" type="xsd:int" /> </sequence> </complexType> - <complexType name="ArrayOfServiceData"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ServiceData[]" /> </restriction> </complexContent> </complexType> - <complexType name="FNUFeature"> - <sequence> <element name="FNUType" nillable="true" type="xsd:string" /> <element name="App" type="xsd:boolean" /> <element name="Media" type="xsd:boolean" /> <element maxOccurs="1" minOccurs="0" name="CMVersion" nillable="true" type="xsd:string" /> <element name="FNUInfo" nillable="true" type="impl:ArrayOfFNUData" /> <element name="NoOfFNUDataElements" type="xsd:int" /> </sequence> </complexType> - <complexType name="ArrayOfFNUFeatures"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:FNUFeature[]" /> </restriction> </complexContent> </complexType> - <complexType name="CapabilitiesList"> - <sequence> <element name="ServicesList" nillable="true" type="impl:ArrayOfServiceData" /> <element name="NoOfServiceElements" type="xsd:int" /> <element name="FNUList" nillable="true" type="impl:ArrayOfFNUFeatures" /> <element name="NoOfFNUElements" type="xsd:int" /> </sequence> </complexType> - <complexType name="OneTouchButton"> - <sequence> <element name="ButtonLocation" type="xsd:short" /> <element name="Address" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Label" nillable="true" type="xsd:string" / > <element name="ReadOnly" type="xsd:boolean" /> </sequence> </complexType> - <simpleType name="OnOffSet">

Issue 1 August 2006

77

Interface Specification for PPM

- <restriction base="xsd:string"> <enumeration value="On" /> <enumeration value="Off" /> </restriction> </simpleType> - <complexType name="ArrayOfRegistrations"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]" /> </restriction> </complexContent> </complexType> - <complexType name="AlternateAddressListInfo"> - <sequence> <element name="noOfElements" type="xsd:int" /> <element name="alternateAddressList" nillable="true" type="impl:ArrayOfRegistrations" /> </sequence> </complexType> - <complexType name="DialPlanListInfo"> - <sequence> <element name="DialPlanDomain" nillable="true" type="xsd:string" /> <element name="NoOfElements" type="xsd:int" /> <element name="DialPlan" nillable="true" type="impl:ArrayOfRegistrations" /> </sequence> </complexType> - <simpleType name="PPMResponse"> - <restriction base="xsd:string"> <enumeration value="PPM_Success" /> </restriction> </simpleType> - <complexType name="RingerOnOffData"> - <sequence> <element name="OnOffSet" nillable="true" type="impl:OnOffSet" /> <element name="ButtonNumber" type="xsd:short" /> <element name="Address" nillable="true" type="xsd:string" /> </sequence> </complexType> - <complexType name="SpeedDialEntry"> - <sequence> <element name="Number" type="xsd:short" /> <element name="Name" nillable="true" type="xsd:string" /> <element name="Alias" nillable="true" type="xsd:string" /> <element name="PrefixTelNum" nillable="true" type="xsd:string" /> <element name="Address" nillable="true" type="xsd:string" /> <element name="Handle" nillable="true" type="xsd:string" /> </sequence> </complexType> - <complexType name="ArrayOfSpeedDialEntry"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:SpeedDialEntry[]" /> </restriction> </complexContent> </complexType>

78 Interface Specification Document for Personal Profile Manager

WSDL Document

- <complexType name="SpeedDialListInfo"> - <sequence> <element name="NoOfElements" type="xsd:int" /> <element name="SpeedDialList" nillable="true" type="impl:ArrayOfSpeedDialEntry" /> </sequence> </complexType> - <simpleType name="PPMMethodNames"> - <restriction base="xsd:string"> <enumeration value="addContact" /> <enumeration value="deleteContact" /> <enumeration value="addGroup" /> <enumeration value="updateGroup" /> <enumeration value="deleteGroup" /> <enumeration value="updateContact" /> <enumeration value="getContactList" /> <enumeration value="getContactProfile" /> <enumeration value="changePassword" /> <enumeration value="setTerminalInformation" /> <enumeration value="getTerminalInformation" /> <enumeration value="getVolumeSettings" /> <enumeration value="setVolumeSettings" /> <enumeration value="getRingerSettings" /> <enumeration value="setRingerSettings" /> <enumeration value="getSpeedDialList" /> <enumeration value="getOneTouchDialList" /> <enumeration value="setOneTouchDialList" /> <enumeration value="getExpiredTimerVal" /> <enumeration value="getIdleLineSelection" /> <enumeration value="getMessageWaitingExt" /> <enumeration value="getLineReservationTimer" /> <enumeration value="getAutoAnswerType" /> <enumeration value="getDialPlan" /> <enumeration value="getButtonAssignments" /> <enumeration value="getSoftMenuKeysAssignments" /> <enumeration value="getEndpointConfiguration" /> <enumeration value="getHomeServer" /> <enumeration value="getVMONInformation" /> <enumeration value="getMyDevices" /> <enumeration value="reportStatus" /> <enumeration value="sendCommand" /> <enumeration value="sendCommandAll" /> <enumeration value="setPermissionsType" /> <enumeration value="getPermissionsType" /> <enumeration value="authorizeUser" /> <enumeration value="blockUser" /> <enumeration value="removeUserFromList" /> <enumeration value="getWatchers" /> <enumeration value="searchContact" /> <enumeration value="searchContactCount" /> <enumeration value="getHomeCapabilities" /> <enumeration value="getRegistrations" /> </restriction> </simpleType> - <simpleType name="PPMFaultCodes"> - <restriction base="xsd:string">

Issue 1 August 2006

79

Interface Specification for PPM

<enumeration value="InvalidFault" /> <enumeration value="InvalidUser" /> <enumeration value="NotIMUser" /> <enumeration value="UserNotAuthorized" /> <enumeration value="DatabaseError" /> <enumeration value="InvalidGroup" /> <enumeration value="InvalidContact" /> <enumeration value="DuplicateContact" /> <enumeration value="DuplicateGroup" /> <enumeration value="ContactDoesNotExist" /> <enumeration value="ContactNotOnList" /> <enumeration value="ContactNoProfile" /> <enumeration value="ParentGroupDoesNotExist" /> <enumeration value="InvalidOldGroup" /> <enumeration value="InvalidMessage" /> <enumeration value="HistoryDoesNotExist" /> <enumeration value="DatabaseNotAccessible" /> <enumeration value="ContactAddressNull" /> <enumeration value="ContactNotInDomain" /> <enumeration value="GroupFieldNull" /> <enumeration value="InvalidParentGroup" /> <enumeration value="CannotUpdateTopGroup" /> <enumeration value="CannotDeleteTopGroup" /> <enumeration value="NoContactAddedYet" /> <enumeration value="CannotAddTopGroup" /> <enumeration value="InvalidDataType" /> <enumeration value="InvalidValue" /> <enumeration value="InvalidButtonValue" /> <enumeration value="InvalidButtonType" /> <enumeration value="NoListAvailable" /> <enumeration value="NoEntryFound" /> <enumeration value="DataNotAvailable" /> <enumeration value="ConfigurationMismatch" /> <enumeration value="ServiceError" /> <enumeration value="InternalError" /> <enumeration value="NoServerFound" /> <enumeration value="NotAllowedReq" /> <enumeration value="StartOutOfBounds" /> <enumeration value="LimitOutOfBounds" /> <enumeration value="RegExpError" /> <enumeration value="ExceededContactList" /> <enumeration value="ExceededSpeedDialList" /> <enumeration value="NotPrimaryHandle" /> <enumeration value="RequiredDataMissing" /> </restriction> </simpleType> <complexType name="PPMOperationFault"> <sequence> <element name="PPMMethod" nillable="true" type="impl:PPMMethodNames" /> <element name="Fault" nillable="true" type="impl:PPMFaultCodes" /> </sequence> </complexType> <complexType name="WatcherListInfo"> <sequence> <element name="noOfElements" type="xsd:int" />

80 Interface Specification Document for Personal Profile Manager

WSDL Document

<element name="watchers" nillable="true" type="impl:ArrayOfRegistrations" /> </sequence> </complexType> - <complexType name="SearchResult"> - <sequence> <element name="SearchIndex" type="xsd:int" /> <element name="PrimaryHandle" nillable="true" type="xsd:string" /> <element name="FirstName" nillable="true" type="xsd:string" /> <element name="LastName" nillable="true" type="xsd:string" /> <element name="Address1" nillable="true" type="xsd:string" /> <element name="Address2" nillable="true" type="xsd:string" /> <element name="City" nillable="true" type="xsd:string" /> <element name="State" nillable="true" type="xsd:string" /> <element name="Zip" nillable="true" type="xsd:string" /> <element name="OfficeLocation" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Country" nillable="true" type="xsd:string" /> <element name="AlternateAddresses" nillable="true" type="impl:AlternateAddressListInfo" /> </sequence> </complexType> - <simpleType name="LinePref"> - <restriction base="xsd:string"> <enumeration value="y" /> <enumeration value="n" /> </restriction> </simpleType> - <complexType name="LinePrefInfo"> - <sequence> <element name="callAppPreference" nillable="true" type="impl:LinePref" /> <element name="bridgeAppPreference" nillable="true" type="impl:LinePref" /> </sequence> </complexType> - <simpleType name="OptionalBoolean"> - <restriction base="xsd:string"> <enumeration value="true" /> <enumeration value="false" /> <enumeration value="ignore" /> </restriction> </simpleType> - <complexType name="TransportListInfo"> - <sequence> <element name="NoOfElements" type="xsd:int" /> <element name="TransportList" nillable="true" type="impl:ArrayOfTransportData" /> </sequence> </complexType> - <complexType name="VMONInformation"> - <sequence> <element name="RtcpServer" nillable="true" type="xsd:string" /> <element name="VmonPort" type="xsd:int" /> <element name="ReportPeriod" type="xsd:int" /> </sequence> </complexType> - <simpleType name="PermissionsType"> - <restriction base="xsd:string">

Issue 1 August 2006

81

Interface Specification for PPM

<enumeration value="AllowAll" /> <enumeration value="BlockAll" /> <enumeration value="AllowOnList" /> </restriction> </simpleType> - <complexType name="AccessEntry"> - <sequence> <element name="address" nillable="true" type="xsd:string" /> <element name="action" nillable="true" type="impl:PermissionAction" /> </sequence> </complexType> - <complexType name="ArrayOfAccessEntry"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:AccessEntry[]" /> </restriction> </complexContent> </complexType> - <complexType name="ListPermissionInfo"> - <sequence> <element name="noOfElements" type="xsd:int" /> <element name="defaultPolicy" nillable="true" type="impl:PermissionsType" /> <element name="accessControlList" nillable="true" type="impl:ArrayOfAccessEntry" /> </sequence> </complexType> - <complexType name="ContactPhoneData"> - <sequence> <element name="PhoneNumber" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Label_1" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Label_2" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Category" nillable="true" type="xsd:string" /> <element name="Type" nillable="true" type="xsd:string" /> <element name="SpeedDialEnable" nillable="true" type="impl:OptionalBoolean" /> <element name="PrefixTelNum" nillable="true" type="xsd:string" /> </sequence> </complexType> - <complexType name="HomeServerInfo"> - <sequence> <element name="ppmServer" nillable="true" type="xsd:string" /> <element name="sipServer" nillable="true" type="xsd:string" /> <element name="sipDomain" nillable="true" type="xsd:string" /> <element name="transportDataInfo" nillable="true" type="impl:TransportListInfo" /> </sequence> </complexType> - <complexType name="TerminalInfo"> - <sequence> <element name="Vendor" nillable="true" type="xsd:string" /> <element name="PhoneType" nillable="true" type="xsd:string" /> <element name="ProgramVersion" nillable="true" type="xsd:string" /> <element name="MacAddress" nillable="true" type="xsd:string" /> </sequence> </complexType>

82 Interface Specification Document for Personal Profile Manager

WSDL Document

- <complexType name="ArrayOfContactPhoneData"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ContactPhoneData[]" /> </restriction> </complexContent> </complexType> - <complexType name="ContactData"> - <sequence> <element name="Address" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Name" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Alias" nillable="true" type="xsd:string" / > <element name="Group" nillable="true" type="xsd:string" /> <element name="ParentGroup" nillable="true" type="xsd:string" /> <element maxOccurs="1" minOccurs="0" name="Email" nillable="true" type="xsd:string" / > <element maxOccurs="1" minOccurs="0" name="Notes" nillable="true" type="xsd:string" / > <element name="IsBuddy" nillable="true" type="impl:OptionalBoolean" /> <element name="ContactPhones" nillable="true" type="impl:ArrayOfContactPhoneData" /> </sequence> </complexType> <simpleType name="PermissionArea"> <restriction base="xsd:string"> <enumeration value="presence" /> <enumeration value="im" /> <enumeration value="voice" /> <enumeration value="video" /> <enumeration value="all" /> </restriction> </simpleType> <complexType name="VolumeSet"> <sequence> <element name="RingerVolume" type="xsd:short" /> <element name="ReceiverVolume" type="xsd:short" /> <element name="SpeakerVolume" type="xsd:short" /> <element name="RingerCadence" type="xsd:short" /> </sequence> </complexType> <complexType name="ArrayofRingerOnOffData"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:RingerOnOffData[]" /> </restriction> </complexContent> </complexType> <complexType name="RingerOnOffListInfo"> <sequence> <element name="NoOfElements" type="xsd:int" /> <element name="RingerOnOffList" nillable="true" type="impl:ArrayofRingerOnOffData" /> </sequence> </complexType>

Issue 1 August 2006

83

Interface Specification for PPM

- <complexType name="ArrayOfOneTouchButton"> - <complexContent> - <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:OneTouchButton[]" /> </restriction> </complexContent> </complexType> - <complexType name="OneTouchDialListInfo"> - <sequence> <element name="NoOfElements" type="xsd:int" /> <element name="OneTouchDialList" nillable="true" type="impl:ArrayOfOneTouchButton" /> </sequence> </complexType> - <complexType name="EndpointConfigInfo"> - <sequence> <element name="VolumeSettings" nillable="true" type="impl:VolumeSet" /> <element name="ListOfRingerOnOffData" nillable="true" type="impl:RingerOnOffListInfo" /> <element name="ResvTimer" type="xsd:short" /> <element name="ExpIntVal" type="xsd:int" /> <element name="LinePreferenceInfo" nillable="true" type="impl:LinePrefInfo" /> <element name="MWExt" nillable="true" type="xsd:string" /> <element name="AutoAnswer" nillable="true" type="impl:AutoAnsType" /> <element name="ListOfOneTouchDialData" nillable="true" type="impl:OneTouchDialListInfo" /> <element name="ListOfButtonAssignments" nillable="true" type="impl:ButtonListInfo" /> <element name="SoftMenuKeyList" nillable="true" type="impl:ButtonListInfo" /> <element name="DialPlanData" nillable="true" type="impl:DialPlanListInfo" /> <element name="ListOfSpeedDialData" nillable="true" type="impl:SpeedDialListInfo" /> <element name="VMONInfo" nillable="true" type="impl:VMONInformation" /> </sequence> </complexType> <complexType name="ArrayOfSearchResult"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:SearchResult[]" /> </restriction> </complexContent> </complexType> <complexType name="SearchResultListInfo"> <sequence> <element name="NoOfElements" type="xsd:int" /> <element name="SearchResultsInfo" nillable="true" type="impl:ArrayOfSearchResult" /> </sequence> </complexType> <complexType name="ContactProfile"> <sequence> <element name="FirstName" nillable="true" type="xsd:string" /> <element name="LastName" nillable="true" type="xsd:string" /> <element name="AddressLine1" nillable="true" type="xsd:string" /> <element name="AddressLine2" nillable="true" type="xsd:string" /> <element name="City" nillable="true" type="xsd:string" /> <element name="State" nillable="true" type="xsd:string" />

84 Interface Specification Document for Personal Profile Manager

WSDL Document

<element name="Zip" nillable="true" type="xsd:string" /> <element name="OfficeLocation" nillable="true" type="xsd:string" /> <element name="Country" nillable="true" type="xsd:string" /> </sequence> </complexType> <complexType name="ArrayOfContactData"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ContactData[]" /> </restriction> </complexContent> </complexType> <complexType name="ContactListInfo"> <sequence> <element name="NoOfElements" type="xsd:int" /> <element name="ContactInfo" nillable="true" type="impl:ArrayOfContactData" /> </sequence> </complexType> <complexType name="ListOfRegistrations"> <sequence> <element name="NoOfElements" type="xsd:int" /> <element name="RegistrationsList" nillable="true" type="impl:ArrayOfRegistrations" /> </sequence> </complexType> <complexType name="Device"> <sequence> <element name="ContactUri" nillable="true" type="xsd:string" /> <element name="PhoneType" nillable="true" type="xsd:string" /> <element name="Vendor" nillable="true" type="xsd:string" /> </sequence> </complexType> <complexType name="ArrayOfDevices"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:Device[]" /> </restriction> </complexContent> </complexType> <complexType name="DeviceListInfo"> <sequence> <element name="NoOfElements" type="xsd:int" /> <element name="DeviceList" nillable="true" type="impl:ArrayOfDevices" /> </sequence> </complexType> <complexType name="EndptCmd"> <sequence> <element name="cmd" nillable="true" type="xsd:string" /> <element name="eventcode" type="xsd:int" /> </sequence> </complexType> <complexType name="ArrayOfUsers"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]" />

Issue 1 August 2006

85

Interface Specification for PPM

</restriction> </complexContent> </complexType> </schema> </wsdl:types> <wsdl:message name="sendCommandResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="getEndpointConfigurationRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="addContactRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="Contact" type="impl:ContactData" /> </wsdl:message> <wsdl:message name="setOneTouchDialListRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="ListOfOneTouchDialData" type="impl:OneTouchDialListInfo" /> </wsdl:message> <wsdl:message name="getContactListResponse"> <wsdl:part name="ContactList" type="impl:ContactListInfo" /> </wsdl:message> <wsdl:message name="getOneTouchDialListRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="getHomeServerResponse"> <wsdl:part name="ServerInfo" type="impl:HomeServerInfo" /> </wsdl:message> <wsdl:message name="updateContactResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="getVMONInformationResponse"> <wsdl:part name="VMONInfo" type="impl:VMONInformation" /> </wsdl:message> <wsdl:message name="getHomeServerRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="reportStatusResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="getSpeedDialListResponse"> <wsdl:part name="ListOfSpeedDialData" type="impl:SpeedDialListInfo" /> </wsdl:message> <wsdl:message name="getButtonAssignmentsResponse"> <wsdl:part name="ListOfButtonAssignments" type="impl:ButtonListInfo" /> </wsdl:message> <wsdl:message name="setOneTouchDialListResponse"> <wsdl:part name="PPMResponse" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="getRingerSettingsResponse"> <wsdl:part name="ListOfRingerOnOffData" type="impl:RingerOnOffListInfo" /> </wsdl:message> <wsdl:message name="setVolumeSettingsResponse"> <wsdl:part name="PPMResponse" type="impl:PPMResponse" /> </wsdl:message>

86 Interface Specification Document for Personal Profile Manager

WSDL Document

- <wsdl:message name="getRegistrationsResponse"> <wsdl:part name="RegistrationsListInfo" type="impl:ListOfRegistrations" /> </wsdl:message> - <wsdl:message name="authorizeUserResponse"> <wsdl:part name="PPMResponse" type="impl:PPMResponse" /> </wsdl:message> - <wsdl:message name="updateGroupResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="getExpiredTimerValRequest" /> - <wsdl:message name="deleteGroupRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="GroupName" type="xsd:string" /> <wsdl:part name="moveToGroup" type="xsd:string" /> </wsdl:message> - <wsdl:message name="deleteGroupResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> - <wsdl:message name="removeUserFromListRequest"> <wsdl:part name="handle" type="xsd:string" /> <wsdl:part name="address" type="xsd:string" /> <wsdl:part name="area" type="impl:PermissionArea" /> </wsdl:message> - <wsdl:message name="getIdleLineSelectionResponse"> <wsdl:part name="LinePreferenceInfo" type="impl:LinePrefInfo" /> </wsdl:message> - <wsdl:message name="getMessageWaitingExtResponse"> <wsdl:part name="MWExt" type="xsd:string" /> </wsdl:message> - <wsdl:message name="getSpeedDialListRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> - <wsdl:message name="addGroupResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> - <wsdl:message name="getMessageWaitingExtRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> - <wsdl:message name="setPermissionsTypeResponse"> <wsdl:part name="PPMResponse" type="impl:PPMResponse" /> </wsdl:message> - <wsdl:message name="deleteContactResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> - <wsdl:message name="sendCommandRequest"> <wsdl:part name="uList" type="impl:ArrayOfUsers" /> <wsdl:part name="cmd" type="impl:EndptCmd" /> </wsdl:message> - <wsdl:message name="sendCommandAllRequest"> <wsdl:part name="cmd" type="impl:EndptCmd" /> </wsdl:message> - <wsdl:message name="setRingerSettingsResponse"> <wsdl:part name="PPMResponse" type="impl:PPMResponse" /> </wsdl:message> - <wsdl:message name="searchContactResponse">

Issue 1 August 2006

87

Interface Specification for PPM

<wsdl:part name="SearchContactsResult" type="impl:SearchResultListInfo" /> </wsdl:message> <wsdl:message name="sendCommandAllResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="getLineReservationTimerResponse"> <wsdl:part name="ResvTimer" type="xsd:short" /> </wsdl:message> <wsdl:message name="setRingerSettingsRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="ListOfRingerOnOffData" type="impl:RingerOnOffListInfo" /> </wsdl:message> <wsdl:message name="setTerminalInformationResponse"> <wsdl:part name="PPMResponse" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="getContactListRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="getMyDevicesRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="getVolumeSettingsRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="getTerminalInformationRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="ContactUri" type="xsd:string" /> </wsdl:message> <wsdl:message name="getSoftMenuKeysAssignmentsResponse"> <wsdl:part name="SoftMenuKeyList" type="impl:ButtonListInfo" /> </wsdl:message> <wsdl:message name="getRingerSettingsRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="updateContactRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="OldAddress" type="xsd:string" /> <wsdl:part name="OldGroupName" type="xsd:string" /> <wsdl:part name="Contact" type="impl:ContactData" /> </wsdl:message> <wsdl:message name="PPMOperationFault"> <wsdl:part name="Fault" type="impl:PPMOperationFault" /> </wsdl:message> <wsdl:message name="getAutoAnswerTypeResponse"> <wsdl:part name="AutoAnswer" type="impl:AutoAnsType" /> </wsdl:message> <wsdl:message name="getSoftMenuKeysAssignmentsRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="addGroupRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="ParentGroupName" type="xsd:string" /> <wsdl:part name="GroupName" type="xsd:string" /> </wsdl:message> <wsdl:message name="getButtonAssignmentsRequest">

88 Interface Specification Document for Personal Profile Manager

WSDL Document

<wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="removeUserFromListResponse"> <wsdl:part name="PPMResponse" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="changePasswordResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="searchContactCountRequest"> <wsdl:part name="SearchQuery" type="impl:SearchCriteria" /> </wsdl:message> <wsdl:message name="getMyDevicesResponse"> <wsdl:part name="ListOfDeviceData" type="impl:DeviceListInfo" /> </wsdl:message> <wsdl:message name="deleteContactRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="Address" type="xsd:string" /> </wsdl:message> <wsdl:message name="blockUserResponse"> <wsdl:part name="PPMResponse" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="blockUserRequest"> <wsdl:part name="handle" type="xsd:string" /> <wsdl:part name="address" type="xsd:string" /> <wsdl:part name="area" type="impl:PermissionArea" /> </wsdl:message> <wsdl:message name="addContactResponse"> <wsdl:part name="Result" type="impl:PPMResponse" /> </wsdl:message> <wsdl:message name="getContactProfileResponse"> <wsdl:part name="ContactProfileData" type="impl:ContactProfile" /> </wsdl:message> <wsdl:message name="setVolumeSettingsRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="VolumeSettings" type="impl:VolumeSet" /> </wsdl:message> <wsdl:message name="getVolumeSettingsResponse"> <wsdl:part name="VolumeSettings" type="impl:VolumeSet" /> </wsdl:message> <wsdl:message name="getWatchersRequest"> <wsdl:part name="handle" type="xsd:string" /> </wsdl:message> <wsdl:message name="getEndpointConfigurationResponse"> <wsdl:part name="ConfigInfo" type="impl:EndpointConfigInfo" /> </wsdl:message> <wsdl:message name="getWatchersResponse"> <wsdl:part name="watcherList" type="impl:WatcherListInfo" /> </wsdl:message> <wsdl:message name="reportStatusRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="OptimExtension" type="xsd:string" /> <wsdl:part name="IPAddress" type="xsd:string" /> <wsdl:part name="HostName" type="xsd:string" /> <wsdl:part name="SwitchHookStatus" type="impl:OnOffSet" /> <wsdl:part name="PresenceStatus" type="xsd:string" />

Issue 1 August 2006

89

Interface Specification for PPM

</wsdl:message> - <wsdl:message name="changePasswordRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="Password" type="xsd:string" /> </wsdl:message> <wsdl:message name="getVMONInformationRequest" /> - <wsdl:message name="getIdleLineSelectionRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> - <wsdl:message name="searchContactRequest"> <wsdl:part name="SearchQuery" type="impl:SearchCriteria" /> <wsdl:part name="Start" type="xsd:int" /> <wsdl:part name="Limit" type="xsd:int" /> </wsdl:message> - <wsdl:message name="getHomeCapabilitiesRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> - <wsdl:message name="getTerminalInformationResponse"> <wsdl:part name="TerminalInformation" type="impl:TerminalInfo" /> </wsdl:message> - <wsdl:message name="authorizeUserRequest"> <wsdl:part name="handle" type="xsd:string" /> <wsdl:part name="address" type="xsd:string" /> <wsdl:part name="area" type="impl:PermissionArea" /> </wsdl:message> - <wsdl:message name="getHomeCapabilitiesResponse"> <wsdl:part name="ServerCapabilities" type="impl:CapabilitiesList" /> </wsdl:message> - <wsdl:message name="setPermissionsTypeRequest"> <wsdl:part name="handle" type="xsd:string" /> <wsdl:part name="defaultPolicy" type="impl:PermissionsType" /> <wsdl:part name="area" type="impl:PermissionArea" /> </wsdl:message> - <wsdl:message name="updateGroupRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="OldGroupName" type="xsd:string" /> <wsdl:part name="NewGroupName" type="xsd:string" /> </wsdl:message> - <wsdl:message name="getContactProfileRequest"> <wsdl:part name="Address" type="xsd:string" /> </wsdl:message> <wsdl:message name="getLineReservationTimerRequest" /> - <wsdl:message name="getRegistrationsRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> - <wsdl:message name="getDialPlanRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> - <wsdl:message name="getAutoAnswerTypeRequest"> <wsdl:part name="Handle" type="xsd:string" /> </wsdl:message> - <wsdl:message name="getPermissionsTypeResponse"> <wsdl:part name="permissionListInfo" type="impl:ListPermissionInfo" /> </wsdl:message> - <wsdl:message name="getPermissionsTypeRequest">

90 Interface Specification Document for Personal Profile Manager

WSDL Document

<wsdl:part name="handle" type="xsd:string" /> <wsdl:part name="area" type="impl:PermissionArea" /> </wsdl:message> - <wsdl:message name="getDialPlanResponse"> <wsdl:part name="DialPlanData" type="impl:DialPlanListInfo" /> </wsdl:message> - <wsdl:message name="getExpiredTimerValResponse"> <wsdl:part name="ExpIntVal" type="xsd:int" /> </wsdl:message> - <wsdl:message name="getOneTouchDialListResponse"> <wsdl:part name="ListOfOneTouchDialData" type="impl:OneTouchDialListInfo" /> </wsdl:message> - <wsdl:message name="searchContactCountResponse"> <wsdl:part name="searchContactCountResult" type="xsd:int" /> </wsdl:message> - <wsdl:message name="setTerminalInformationRequest"> <wsdl:part name="Handle" type="xsd:string" /> <wsdl:part name="ContactUri" type="xsd:string" /> <wsdl:part name="TerminalInformation" type="impl:TerminalInfo" /> </wsdl:message> - <wsdl:portType name="PPM"> - <wsdl:operation name="addContact" parameterOrder="Handle Contact"> <wsdl:input message="impl:addContactRequest" name="addContactRequest" /> <wsdl:output message="impl:addContactResponse" name="addContactResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getContactList" parameterOrder="Handle"> <wsdl:input message="impl:getContactListRequest" name="getContactListRequest" /> <wsdl:output message="impl:getContactListResponse" name="getContactListResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="deleteContact" parameterOrder="Handle Address"> <wsdl:input message="impl:deleteContactRequest" name="deleteContactRequest" /> <wsdl:output message="impl:deleteContactResponse" name="deleteContactResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="addGroup" parameterOrder="Handle ParentGroupName GroupName"> <wsdl:input message="impl:addGroupRequest" name="addGroupRequest" /> <wsdl:output message="impl:addGroupResponse" name="addGroupResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="updateGroup" parameterOrder="Handle OldGroupName NewGroupName"> <wsdl:input message="impl:updateGroupRequest" name="updateGroupRequest" /> <wsdl:output message="impl:updateGroupResponse" name="updateGroupResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="deleteGroup" parameterOrder="Handle GroupName moveToGroup"> <wsdl:input message="impl:deleteGroupRequest" name="deleteGroupRequest" /> <wsdl:output message="impl:deleteGroupResponse" name="deleteGroupResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="updateContact" parameterOrder="Handle OldAddress OldGroupName Contact"> <wsdl:input message="impl:updateContactRequest" name="updateContactRequest" /> <wsdl:output message="impl:updateContactResponse" name="updateContactResponse" />

Issue 1 August 2006

91

Interface Specification for PPM

<wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getContactProfile" parameterOrder="Address"> <wsdl:input message="impl:getContactProfileRequest" name="getContactProfileRequest" / > <wsdl:output message="impl:getContactProfileResponse" name="getContactProfileResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getButtonAssignments" parameterOrder="Handle"> <wsdl:input message="impl:getButtonAssignmentsRequest" name="getButtonAssignmentsRequest" /> <wsdl:output message="impl:getButtonAssignmentsResponse" name="getButtonAssignmentsResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getDialPlan" parameterOrder="Handle"> <wsdl:input message="impl:getDialPlanRequest" name="getDialPlanRequest" /> <wsdl:output message="impl:getDialPlanResponse" name="getDialPlanResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="setTerminalInformation" parameterOrder="Handle ContactUri TerminalInformation"> <wsdl:input message="impl:setTerminalInformationRequest" name="setTerminalInformationRequest" /> <wsdl:output message="impl:setTerminalInformationResponse" name="setTerminalInformationResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getSpeedDialList" parameterOrder="Handle"> <wsdl:input message="impl:getSpeedDialListRequest" name="getSpeedDialListRequest" /> <wsdl:output message="impl:getSpeedDialListResponse" name="getSpeedDialListResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getIdleLineSelection" parameterOrder="Handle"> <wsdl:input message="impl:getIdleLineSelectionRequest" name="getIdleLineSelectionRequest" /> <wsdl:output message="impl:getIdleLineSelectionResponse" name="getIdleLineSelectionResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getMessageWaitingExt" parameterOrder="Handle"> <wsdl:input message="impl:getMessageWaitingExtRequest" name="getMessageWaitingExtRequest" /> <wsdl:output message="impl:getMessageWaitingExtResponse" name="getMessageWaitingExtResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getLineReservationTimer"> <wsdl:input message="impl:getLineReservationTimerRequest" name="getLineReservationTimerRequest" /> <wsdl:output message="impl:getLineReservationTimerResponse" name="getLineReservationTimerResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" />

92 Interface Specification Document for Personal Profile Manager

WSDL Document

</wsdl:operation> - <wsdl:operation name="getExpiredTimerVal"> <wsdl:input message="impl:getExpiredTimerValRequest" name="getExpiredTimerValRequest" /> <wsdl:output message="impl:getExpiredTimerValResponse" name="getExpiredTimerValResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getSoftMenuKeysAssignments" parameterOrder="Handle"> <wsdl:input message="impl:getSoftMenuKeysAssignmentsRequest" name="getSoftMenuKeysAssignmentsRequest" /> <wsdl:output message="impl:getSoftMenuKeysAssignmentsResponse" name="getSoftMenuKeysAssignmentsResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getVolumeSettings" parameterOrder="Handle"> <wsdl:input message="impl:getVolumeSettingsRequest" name="getVolumeSettingsRequest" / > <wsdl:output message="impl:getVolumeSettingsResponse" name="getVolumeSettingsResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="setVolumeSettings" parameterOrder="Handle VolumeSettings"> <wsdl:input message="impl:setVolumeSettingsRequest" name="setVolumeSettingsRequest" / > <wsdl:output message="impl:setVolumeSettingsResponse" name="setVolumeSettingsResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getRingerSettings" parameterOrder="Handle"> <wsdl:input message="impl:getRingerSettingsRequest" name="getRingerSettingsRequest" / > <wsdl:output message="impl:getRingerSettingsResponse" name="getRingerSettingsResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="setRingerSettings" parameterOrder="Handle ListOfRingerOnOffData"> <wsdl:input message="impl:setRingerSettingsRequest" name="setRingerSettingsRequest" / > <wsdl:output message="impl:setRingerSettingsResponse" name="setRingerSettingsResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getOneTouchDialList" parameterOrder="Handle"> <wsdl:input message="impl:getOneTouchDialListRequest" name="getOneTouchDialListRequest" /> <wsdl:output message="impl:getOneTouchDialListResponse" name="getOneTouchDialListResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="setOneTouchDialList" parameterOrder="Handle ListOfOneTouchDialData"> <wsdl:input message="impl:setOneTouchDialListRequest" name="setOneTouchDialListRequest" />

Issue 1 August 2006

93

Interface Specification for PPM

<wsdl:output message="impl:setOneTouchDialListResponse" name="setOneTouchDialListResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getAutoAnswerType" parameterOrder="Handle"> <wsdl:input message="impl:getAutoAnswerTypeRequest" name="getAutoAnswerTypeRequest" / > <wsdl:output message="impl:getAutoAnswerTypeResponse" name="getAutoAnswerTypeResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getEndpointConfiguration" parameterOrder="Handle"> <wsdl:input message="impl:getEndpointConfigurationRequest" name="getEndpointConfigurationRequest" /> <wsdl:output message="impl:getEndpointConfigurationResponse" name="getEndpointConfigurationResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="changePassword" parameterOrder="Handle Password"> <wsdl:input message="impl:changePasswordRequest" name="changePasswordRequest" /> <wsdl:output message="impl:changePasswordResponse" name="changePasswordResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getHomeServer" parameterOrder="Handle"> <wsdl:input message="impl:getHomeServerRequest" name="getHomeServerRequest" /> <wsdl:output message="impl:getHomeServerResponse" name="getHomeServerResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getVMONInformation"> <wsdl:input message="impl:getVMONInformationRequest" name="getVMONInformationRequest" /> <wsdl:output message="impl:getVMONInformationResponse" name="getVMONInformationResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getTerminalInformation" parameterOrder="Handle ContactUri"> <wsdl:input message="impl:getTerminalInformationRequest" name="getTerminalInformationRequest" /> <wsdl:output message="impl:getTerminalInformationResponse" name="getTerminalInformationResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getMyDevices" parameterOrder="Handle"> <wsdl:input message="impl:getMyDevicesRequest" name="getMyDevicesRequest" /> <wsdl:output message="impl:getMyDevicesResponse" name="getMyDevicesResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="reportStatus" parameterOrder="Handle OptimExtension IPAddress HostName SwitchHookStatus PresenceStatus"> <wsdl:input message="impl:reportStatusRequest" name="reportStatusRequest" /> <wsdl:output message="impl:reportStatusResponse" name="reportStatusResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="sendCommandAll" parameterOrder="cmd"> <wsdl:input message="impl:sendCommandAllRequest" name="sendCommandAllRequest" />

94 Interface Specification Document for Personal Profile Manager

WSDL Document

<wsdl:output message="impl:sendCommandAllResponse" name="sendCommandAllResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="sendCommand" parameterOrder="uList cmd"> <wsdl:input message="impl:sendCommandRequest" name="sendCommandRequest" /> <wsdl:output message="impl:sendCommandResponse" name="sendCommandResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getWatchers" parameterOrder="handle"> <wsdl:input message="impl:getWatchersRequest" name="getWatchersRequest" /> <wsdl:output message="impl:getWatchersResponse" name="getWatchersResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="blockUser" parameterOrder="handle address area"> <wsdl:input message="impl:blockUserRequest" name="blockUserRequest" /> <wsdl:output message="impl:blockUserResponse" name="blockUserResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="authorizeUser" parameterOrder="handle address area"> <wsdl:input message="impl:authorizeUserRequest" name="authorizeUserRequest" /> <wsdl:output message="impl:authorizeUserResponse" name="authorizeUserResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="setPermissionsType" parameterOrder="handle defaultPolicy area"> <wsdl:input message="impl:setPermissionsTypeRequest" name="setPermissionsTypeRequest" /> <wsdl:output message="impl:setPermissionsTypeResponse" name="setPermissionsTypeResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getPermissionsType" parameterOrder="handle area"> <wsdl:input message="impl:getPermissionsTypeRequest" name="getPermissionsTypeRequest" /> <wsdl:output message="impl:getPermissionsTypeResponse" name="getPermissionsTypeResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="removeUserFromList" parameterOrder="handle address area"> <wsdl:input message="impl:removeUserFromListRequest" name="removeUserFromListRequest" /> <wsdl:output message="impl:removeUserFromListResponse" name="removeUserFromListResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="searchContactCount" parameterOrder="SearchQuery"> <wsdl:input message="impl:searchContactCountRequest" name="searchContactCountRequest" /> <wsdl:output message="impl:searchContactCountResponse" name="searchContactCountResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="searchContact" parameterOrder="SearchQuery Start Limit"> <wsdl:input message="impl:searchContactRequest" name="searchContactRequest" /> <wsdl:output message="impl:searchContactResponse" name="searchContactResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" />

Issue 1 August 2006

95

Interface Specification for PPM

</wsdl:operation> - <wsdl:operation name="getHomeCapabilities" parameterOrder="Handle"> <wsdl:input message="impl:getHomeCapabilitiesRequest" name="getHomeCapabilitiesRequest" /> <wsdl:output message="impl:getHomeCapabilitiesResponse" name="getHomeCapabilitiesResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> - <wsdl:operation name="getRegistrations" parameterOrder="Handle"> <wsdl:input message="impl:getRegistrationsRequest" name="getRegistrationsRequest" /> <wsdl:output message="impl:getRegistrationsResponse" name="getRegistrationsResponse" /> <wsdl:fault message="impl:PPMOperationFault" name="PPMOperationFault" /> </wsdl:operation> </wsdl:portType> - <wsdl:binding name="PPMSoapBinding" type="impl:PPM"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> - <wsdl:operation name="addContact"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="addContactRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" /> </wsdl:input> - <wsdl:output name="addContactResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" /> </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" /> </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getContactList"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getContactListRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" /> </wsdl:input> - <wsdl:output name="getContactListResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" /> </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" /> </wsdl:fault> </wsdl:operation> - <wsdl:operation name="deleteContact"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="deleteContactRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" /> </wsdl:input> - <wsdl:output name="deleteContactResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

96 Interface Specification Document for Personal Profile Manager

WSDL Document

namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="addGroup"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="addGroupRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="addGroupResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="updateGroup"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="updateGroupRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="updateGroupResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="deleteGroup"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="deleteGroupRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="deleteGroupResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="updateContact"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="updateContactRequest">

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

Issue 1 August 2006

97

Interface Specification for PPM

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="updateContactResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getContactProfile"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getContactProfileRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getContactProfileResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getButtonAssignments"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getButtonAssignmentsRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getButtonAssignmentsResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getDialPlan"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getDialPlanRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getDialPlanResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded"

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

98 Interface Specification Document for Personal Profile Manager

WSDL Document

</wsdl:fault> </wsdl:operation> - <wsdl:operation name="setTerminalInformation"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="setTerminalInformationRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="setTerminalInformationResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getSpeedDialList"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getSpeedDialListRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getSpeedDialListResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getIdleLineSelection"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getIdleLineSelectionRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getIdleLineSelectionResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getMessageWaitingExt"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getMessageWaitingExtRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getMessageWaitingExtResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

Issue 1 August 2006

99

Interface Specification for PPM

namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getLineReservationTimer"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getLineReservationTimerRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getLineReservationTimerResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getExpiredTimerVal"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getExpiredTimerValRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getExpiredTimerValResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getSoftMenuKeysAssignments"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getSoftMenuKeysAssignmentsRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getSoftMenuKeysAssignmentsResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getVolumeSettings"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getVolumeSettingsRequest">

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

100 Interface Specification Document for Personal Profile Manager

WSDL Document

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getVolumeSettingsResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="setVolumeSettings"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="setVolumeSettingsRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="setVolumeSettingsResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getRingerSettings"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getRingerSettingsRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getRingerSettingsResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="setRingerSettings"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="setRingerSettingsRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="setRingerSettingsResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded"

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

Issue 1 August 2006

101

Interface Specification for PPM

</wsdl:fault> </wsdl:operation> - <wsdl:operation name="getOneTouchDialList"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getOneTouchDialListRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getOneTouchDialListResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="setOneTouchDialList"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="setOneTouchDialListRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="setOneTouchDialListResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getAutoAnswerType"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getAutoAnswerTypeRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getAutoAnswerTypeResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getEndpointConfiguration"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getEndpointConfigurationRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getEndpointConfigurationResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

102 Interface Specification Document for Personal Profile Manager

WSDL Document

namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="changePassword"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="changePasswordRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="changePasswordResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getHomeServer"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getHomeServerRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getHomeServerResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getVMONInformation"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getVMONInformationRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getVMONInformationResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getTerminalInformation"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getTerminalInformationRequest">

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

Issue 1 August 2006

103

Interface Specification for PPM

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getTerminalInformationResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getMyDevices"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getMyDevicesRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getMyDevicesResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="reportStatus"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="reportStatusRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="reportStatusResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="sendCommandAll"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="sendCommandAllRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="sendCommandAllResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded"

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

104 Interface Specification Document for Personal Profile Manager

WSDL Document

</wsdl:fault> </wsdl:operation> - <wsdl:operation name="sendCommand"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="sendCommandRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="sendCommandResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getWatchers"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getWatchersRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getWatchersResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="blockUser"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="blockUserRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="blockUserResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="authorizeUser"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="authorizeUserRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="authorizeUserResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

Issue 1 August 2006

105

Interface Specification for PPM

namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="setPermissionsType"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="setPermissionsTypeRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="setPermissionsTypeResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getPermissionsType"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getPermissionsTypeRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getPermissionsTypeResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="removeUserFromList"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="removeUserFromListRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="removeUserFromListResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="searchContactCount"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="searchContactCountRequest">

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

106 Interface Specification Document for Personal Profile Manager

WSDL Document

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="searchContactCountResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="searchContact"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="searchContactRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="searchContactResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getHomeCapabilities"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getHomeCapabilitiesRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getHomeCapabilitiesResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:fault> </wsdl:operation> - <wsdl:operation name="getRegistrations"> <wsdlsoap:operation soapAction="" /> - <wsdl:input name="getRegistrationsRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:input> - <wsdl:output name="getRegistrationsResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded" </wsdl:output> - <wsdl:fault name="PPMOperationFault"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xml.avaya.com/service/ProfileManagement/112004" use="encoded"

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

Issue 1 August 2006

107

Interface Specification for PPM

</wsdl:fault> </wsdl:operation> </wsdl:binding> - <wsdl:service name="PPMService"> - <wsdl:port binding="impl:PPMSoapBinding" name="PPM"> <wsdlsoap:address location="http://192.168.1.100/axis/services/PPM" /> </wsdl:port> </wsdl:service> </wsdl:definitions>

108 Interface Specification Document for Personal Profile Manager

Appendix A: PPM SOAP Interface for DevConnect

Introduction
This document provides the details on using the Personal Profile Manager (PPM) SOAP Web Service for contact list management, password change, and phone reloading by a customer-provided web application. While the use of these services was not in the scope of the original PPM Server software, Avaya recognizes the convenience and simplification it would provide customers wishing to provide an integrated user experience for their intranet.

Proposed Solution
It has been proposed to use the PPM SOAP Service interface directly for integration into customer web application environments. This proposal is to use a limited number of SOAP operations available in the PPM SOAP service interface to build SIP Personal Information Manager (SIP PIM) functionality directly into customer applications. In this case, end users would never use the default SIP PIM interface on the SIP Enablement Services (SES) home server, but rather one (or more) customer-developed and provided web application(s).

Issue 1 August 2006

109

PPM SOAP Interface for DevConnect

Figure 2: Solution Overview

Figure 2 shows the differences between the generic SIP PIM scenario and a Toshiba end-user scenario, just for example. In the default scenario, an end user would browse to the host name of the SES home server and login to the web application resident on SES. In the proposed solution, the Toshiba end users only would browse to the Toshiba-provided intranet web application. In turn, the web app would use the PPM SOAP service interface for retrieving and managing the data for that end users profile. Note that the Avaya PPM SOAP Service provides many operations for managing different areas of the users profile. The Toshiba SIP Phone, for example, uses a portion of these operations. A limited number of the other operations are available for providing the features desired in certain web applications. These operations do not overlap, and do not cover all of the possible operations available in PPM. Figure 3 below provides a visual representation of this:

110 Interface Specification Document for Personal Profile Manager

PPM SOAP Service Specification

Figure 3: PPM SOAP Operation Coverage

PPM SOAP Service Specification


Note that the performance constraints defined in this document are intended for PPM usage in a steady-state system that is not under heavy load. During high traffic times, PPM runs at a lower priority than call processing and may respond slower. Additionally, exceeding the constraints defined this document could have adverse affects on system performance. If this occurs, connection between the customer web application and the Avaya SES systems via SOAP should be disabled and further analysis done to determine the root cause of the problem. Note on empty parameters: PPM interprets a null value as preserving the existing value in the database and not overwriting it. An empty string indicates that the client wants to overwrite and erase the data in that field with an empty string.

The empty string is <tag></tag> null is <tag/> or <tag nillable=true/>

The default namespace is: http://xml.avaya.com/service/ProfileManagement/112004 The default encoding is UTF-8 unless otherwise specified. The example SOAP messages are only examples, they are not exact examples of the SOAP requests, but examples that have had extra attribute information removed for easier reading of the document. Possible error conditions: Fault DatabaseError Duplicate Contact Invalid Group Description PPM cannot access the Database for reading or writing. This contact already exists This occurs when a user tries to add a contact to a non-existent group (this should rarely occur)

Issue 1 August 2006

111

PPM SOAP Interface for DevConnect

Fault InvalidUser UserNotAuthorized ContactAddressNull ContactDoesNotExist InvalidPArentGroup DatabaseNotAccessible InvalidDataType NotPrimaryHandle

Description Occurs when the incorrect handle is used in the request parameter Occurs when authentication fails Occurs when a contact is added with a null address Occurs when trying to update a contact that does not exist Occurs when specifying an invalid parent group Occurs when PPM cannot access the SES database (serious error condition) Occurs when an invalid type is used in a request Occurs when a request is made with a requesters handle that is not the primary handle

getContactList
getContactList is used for retrieving the users contact list. The contact list contains all the information necessary for displaying a full contact list with all the data provided by default in the Avaya contact list in the Converged Communications Server. DevConnect members may use only a few fields in the contact list, or as many of them as needed. The table below shows the fields currently in use: Column Address Name Alias Group Name E-Mail Notes Contact Phones #1: Phone Number Label 1 Value Phone Number + SIP Domain name Same value as label_1 Empty string Always use top E-mail address. Empty String @ Phone Number Label 1 e.g. 66034@customer.com TSIS Mori Empty string top takashi1.mori@customer .com Empty String @ 66034 TSIS Mori

112 Interface Specification Document for Personal Profile Manager

PPM SOAP Service Specification

Column Label 2 Speed Dial Prefix Type Contact Phones #2-#6:

Value Label 2 Always True Prefix Select (Work, Work_Mobile, Home...) Do not use #2-#6.

e.g. MORI, Takashi True Null or 1 or 71 Work

The alias, notes, and contact phones 2-6 are not used. Also note that the example application may not use the hierarchy of groups that Avaya provides, only the flat top or default group. Performance Constraint: The DevConnect membrs custom application must limit the use of getContactList to 4 requests per second. Avaya recommends caching this data, since the users will not be changing it via the SIP PIM on the SES host, nor can the phone change this data yet. Implementation Constraint: Note that after getContactList is called for the first time in a single user session, getPermissionType(handle, area) must be called. Handle is the users handle that is logged in, and area should be set to: presence getContactList( Handle ) Request Parameter Handle Type String Value SIP URI Description The users primary handle

ContactListInfo NoOfElements ArrayOfContactData

Type Integer Array

Value

Description Number of elements in the array Array of Contacts

Issue 1 August 2006

113

PPM SOAP Interface for DevConnect

ContactData Address

Type String

Value Maximum of 254 characters

Description This is the primary handle for the contact. Note that primary handle may be an actual primary handle as defined in SES administration, an external handle for a foreign domain, or a telephone number. For SUSHI, this is a 10 Kanji Character value which represents the name assigned to the button. For example, Button 1 has assigned Name Steve, Button 2 has assigned Name Sakai-San, etc. The SIP PIM page will limit the number of characters entered. For SUSHI, this is 16 Kana characters to help with sorting. Group name

Name

String

Maximum of 32 UTF-8 characters

Alias

String

Maximum of 32 UTF-8 characters Maximum of 32 UTF-8 characters Maximum of 32 UTF-8 characters Maximum of 256 characters Enum of {true, false, ignore} Maximum 1024 UTF-8 Characters

Group

String

ParentGroup

String

the Parent Group Name in the users contact list. May be any string, this is used for informational purposes only. Should be set to ignore, in most cases May be any string, this is used for informational purposes only. Array of ContactData for the contacts alternate phone numbers, optional

E-Mail

String

isBuddy

OptionalBoolean

Notes

String

ContactPhones

ArrayOfContactPhoneData

114 Interface Specification Document for Personal Profile Manager

PPM SOAP Service Specification

ContactPhoneData SpeedDialEnable

Type OptionalBoolean

Value Enumeration of {true, false, ignore} Maximum of 4 digits

Description Enabled or Disabled

PrefixTelNum

String

A prefix, such as a routing (AAR or ARS) access code, required in addition to the targets telephone number. May be blank. A telephone number (or a general SIP URI) assigned to the button for speed dial Label for the phones button Alternate label for the phones button

PhoneNumber

String

Maximum of 256 characters SOAP Standard SOAP Standard

Label1 Label2

String String

Example Request:
<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:getContactList env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm="http://avaya.com/ccs/ppm"> <ppm:Handle>ajbaker</ppm:Handle> </ppm:getContactList> </env:Body> </env:Envelope>

Issue 1 August 2006

115

PPM SOAP Interface for DevConnect

PPM Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ns1:getContactListResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/ soap/encoding/" xmlns:ns1="http://xml.avaya.com/service/ProfileManagement/ 112004"> <ContactList> <NoOfElements>1</NoOfElements> <ContactInfo soapenc:arrayType="ns1:ContactData[1]" xmlns:soapenc="http:// schemas.xmlsoap.org/soap/encoding/"> <item> <Address>test2@avaya.com</Address> <Name>Test</Name> <Alias>Test</Alias> <Group>top</Group> <ParentGroup xsi:nil="true"/> <Email> </Email> <Notes>Testing</Notes> <IsBuddy>true</IsBuddy> <ContactPhones xsi:nil="true"/> </item> </ContactInfo> </ContactList> </ns1:getContactListResponse> </soapenv:Body> </soapenv:Envelope>

Note that schema tags used in the above examples are just samples of what SOAP messages may look like, and development will specify the XML schema during development. Developers should follow the WSDL document when developing.

addContact
Performance Constraint: Should be implemented with a usage of addContact limited to three (3) requests/second. The following field validation is done on the addContact data: Parameter Handle Name Alias Description Handle of a buddy. May be URI Name of a buddy Alias of a buddy Length 254 64 32 A/U* A U U Character Types Alpha, num, dash, -_.@ Alpha, num, space, . -_ Alpha, num, space, .-_

116 Interface Specification Document for Personal Profile Manager

PPM SOAP Service Specification

Parameter Email Notes PhoneNumber Prefix

Description Email of a buddy Notes for a buddy Phone number or URI for a buddy phone Prefix for a speed dial

Length 256 1024 256 4

A/U* A U A A

Character Types Alpha, num, -_.@ Any Alpha, num, -_@. Num

Additionally, HTML will be stripped out and XML special characters will be converted as per the XML 1.0 specification. ContactPhones are optional, however if the user does enter a ContactPhone data, then the PhoneNumber is a required field for that ContactPhone data and all other fields are optional. For example, if the user enters a label, but not a phone number, an error will be returned. addContact(Handle, ContactData); Request Param. Handle ContactProfileData Type String ContactData Value SIP URI Description Users primary handle Container for profile data

ContactData Address Name Alias Group ParentGroup Email Notes ContactPhoneData

Type String String String String String String String ArrayOfContactPhoneData

Description Contacts URI Name of the contact Alias of the contact Name of the group the contact is in. Name of the parent group (always top in SUSHI R1) Email contact Notes about the contact Phone and Speed dial information

Issue 1 August 2006

117

PPM SOAP Interface for DevConnect

ContactPhoneData PhoneNumber Label_1 Label_2 SpeedDialEnable

Type String String String Boolean

Description Phone number or SIP URI Label for the button Label for the button (used by TSP) Enable this as a speed dial entry or not. Speed dial entries will be returned in getSpeedDialList Prefix for the speed dial

PrefixTelNum

Integer

Example Terminal Request:


<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:addContact env:encodingStyle="http://www.w3.org/2001/09/soap-encoding" xmlns:ppm="http://avaya.com/ccs/ppm"> <ppm:Handle>hzenner@avaya.com</ppm:Handle> <ppm:ContactData> <ppm:Name>Joe Smith</ppm:Name> <ppm:Alias>Joe</ppm:Alias> <ppm:Group>SIP</ppm:Group> <ppm:Email>joe@example.com</ppm:Email> <ppm:Notes> </ppm:Notes> <ppm:ContactPhoneData/> </ppm:ContactData> </ppm:addContact> </env:Body> </env:Envelope>

This method takes in at least one parameter being the ContactName that the user wishes to add to their contact list. The ContactAlias and ContactGroup fields are not required and are defaulted to null and top respectively. PPM Response:
<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:AddContactResponse env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm=http://avaya.com/ccs/ppm> <ppm:Response>PPM_Success</ppm:Response> </ppm:AddContactResponse> </env:Body> </env:Envelope>

118 Interface Specification Document for Personal Profile Manager

PPM SOAP Service Specification

updateContact
Performance Constraint: Should be implemented with usage of updateContact limited to three (3) requests/second. updateContact(Handle, OldAddress, OldGroupName, ContactData) See 3.2 for the specification of the contact data.

Example:
Example Terminal Request:
<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:UpdateContact env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm="http://avaya.com/ccs/ppm"> <ppm:Handle>user@domain</ppm:Handle> <ppm:OldAddress>oldcontact</ppm:OldAddress> <ppm:OldGroupName>SIP Contacts</ppm:OldGroupName> <ppm:Contact> <ppm:Address>joe@sipexample.com</ppm:Address> <ppm:Name>Joe Smith</ppm:Name> <ppm:Alias>Joe</ppm:Alias> <ppm:Group>SIP</ppm:Group> <ppm:ParentGroup></ppm:ParentGroup> <ppm:Email></ppm:Email> <ppm:Notes>.</ppm:Notes> <ppm:ContactPhoneData/> </ppm:Contact> </ppm:UpdateContact> </env:Body> </env:Envelope>

PPM Response:
<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:UpdateContactResponse env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm=http://avaya.com/ccs/ppm> <ppm:Response>PPM_Success</ppm:Response> </ppm:UpdateContactResponse> </env:Body> </env:Envelope>

Issue 1 August 2006

119

PPM SOAP Interface for DevConnect

deleteContact
Delete contact takes the users primary handle that is logged in, and the contact they wish to remove from their contact list. Performance Constraint: Should be implemented with a usage of deleteContact limited to four (4) requests per second deleteContact(Handle, Address) Request Parameter Handle Address Type String String Value SIP URI SIP URI Description The users primary handle The contacts handle

Example Terminal Request:


<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:DeleteContact env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm="http://avaya.com/ccs/ppm"> <ppm:Handle>user1@avaya.com</ppm:Handle> <ppm:Address>user@avaya.com</ppm:Address> </ppm:DeleteContact> </env:Body> </env:Envelope>

PPM Response:
<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:DeleteContactResponse env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm=http://avaya.com/ccs/ppm> <ppm:Response>PPM_Success</ppm:Response> </ppm:DeleteContactResponse> </env:Body> </env:Envelope>

120 Interface Specification Document for Personal Profile Manager

PPM SOAP Service Specification

changePassword
Note that Avaya allows alphanumeric characters in the password but no whitespace. The allowable characters are also ASCII only for changePassword. DevConnect members are free to add a further restriction for numeric passwords only. changePassword(Handle, Password) Parameter Handle Password Type String String Value SIP URI Maximum of 256 characters Description Users primary handle The users new password

Example Terminal Request:


<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:changePasswordRequest env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm="http://avaya.com/ccs/ppm"> <ppm:Handle>user@domain</ppm:Handle> <ppm:Password>123123</ppm:Password> </ppm:changePasswordRequest> </env:Body> </env:Envelope>

PPM Response:
<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:ChangePasswordResponse env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm="http://avaya.com/ccs/ppm"> <ppm:Response>PPM_Success</ppm:Response> </ppm:ChangePasswordResponse> </env:Body> </env:Envelope>

Issue 1 August 2006

121

PPM SOAP Interface for DevConnect

getRegistrations
getRegistrations is used to retrieve the list of SIP registrations for a user. getRegistrations(Handle) Request Parameters Handle Type String Value URI Description The users primary handle

Response Parameter RegistrationsListInfo

Type ListOfRegistrations

Description Container for the list of registrations

ListOfRegistrations NumOfElements

Type Integer

Description Number of elements in the array

RegistrationList Example client request:

ArrayOfString

Array of registered SIP contacts

<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:getRegistrations:encodingStyle=" http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/SES/ppm/ "> <ppm:Handle>user@domain.com</ppm:Handle> </ppm:getRegistrations> </soapenv:Body> </soapenv:Envelope>

122 Interface Specification Document for Personal Profile Manager

PPM SOAP Service Specification

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getRegistrationsResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/SES/ppm/ "> <ppm:RegistrationsListInfo> <ppm:NoOfElements>2</ppm:NoOfElements> <ppm:RegistrationsList> <item>sip:user@ip1</item> <item>sip:user@ip2</item> </ppm:RegistrationsList> </ppm:RegistrationsListInfo> </ppm: getRegistrationsResponse > </soapenv:Body> </soapenv:Envelope>

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DatabaseError Description If there was an error with the database

getHomeCapabilities
The getHomeCapabilities method is a separate method from getHomeServer that allows an end point to discover various capabilities about that server. getHomeServer is used for discovering which home you are supposed to be using, and getHomeCapabilities provides information to the end point on how they can use it. A valid scenario is:

End point finds local PPM via DHCP End point finds true home via getHomeServer End point queries true home for capabilities End point is ready for normal operation

Issue 1 August 2006

123

PPM SOAP Interface for DevConnect

The getHomeCapabilities method takes one parameter, the primary handle of the user. While this parameter is redundant with the user authentication from the HTTP header, it does provide a forward-looking compatibility when getHomeCapabilities could presumably specify what features are available for a given user. For example, the 3.1 Conferencing feature, the ServiceData would look like: ServiceName: conference-server ServiceURL: confsrv@avaya.com ServiceTransport: <null> ServiceVersion: 1 ServiceFeatures: name=size value=6 version=1 In the future when there are multiple conference server services available, they will all still have the ServiceName equal to conference-server. The feature data will be the differentiating factor, and end points should be able to narrow down the different types of services by first finding the ServiceNames and then examining the feature data. The example SOAP request below shows what the response looks like in SES 3.1. getHomeCapabilities(Handle) Request Parameters Handle Type String Value URI Description The users primary handle

Response Parameter ServerCapabilities

Type CapabilitiesList

Description Container element for the server capabilities

CapabilitiesList ServicesList FNUList

Type ArrayOfServiceData ArrayOfFNUFeatures

Description The users primary handle Array of FNUFeature types

124 Interface Specification Document for Personal Profile Manager

PPM SOAP Service Specification

ServiceData ServiceName ServiceURI ServiceTransport

Type String String ArrayOfTransportData

Description The name of the service, e.g. proxy URL of the service if available Optional Transport information, see the data type definition under getHomeServer for additional information Versioning tag for the service Array of 0 or more feature data elements

ServiceVersion ServiceFeatures

Integer ArrayofFeatureData

FeatureData FeatureName FeatureVersion FeatureValue

Type String Integer String

Description The name of the feature supported Optional versioning tag for the feature Optional value for a feature

FNUFeature FNUType App Media FNUInfo

Type String Boolean Boolean Array of FNUData

Description See getButtonAssignments See getButtonAssignments See getButtonAssignments See FNU Description in getButtonAssignments

Issue 1 August 2006

125

PPM SOAP Interface for DevConnect

Example client request:


<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm:getHomeCapabilities:encodingStyle=" http://schemas.xmlsoap.org/soap/ encoding " xmlns:ppm=" http://avaya.com/SES/ppm/ "> <ppm:Handle>user@domain.com</ppm:Handle> </ppm:getHomeCapabilities> </soapenv:Body> </soapenv:Envelope>

Example PPM Response:


<?xml version="1.0" encoding="UTF-8 ?> <soapenv:Envelope xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/ xmlns:xsd=http://www.w3.org/2001/XMLSchema xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <ppm: getHomeCapabilitiesResponse env:encodingStyle ="http://schemas.xmlsoap.org/soap/encoding " xmlns:ppm=" http://avaya.com/SES/ppm/ "> <ppm:ServerCapabilities> <ppm:ServicesList> <ServiceData> <ServiceName>conference-server</ServiceName> <ServiceURI>sip:confsrv @avaya.com</ServiceURI> <ServiceTransport/> <ServiceVersion>1</ServiceVersion> <ServiceFeatures> <FeatureData> <FeatureName>size</FeatureName> <FeatureVersion>1</FeatureVersion> <FeatureValue> 6</Featurevalue> </FeatureData> </ServiceFeatures> </ServiceData> </ppm:ServicesList> <ppm:FNUList> </ppm:FNUList> </ppm:ServerCapabilities> </ppm: getHomeCapabilitiesResponse > </soapenv:Body> </soapenv:Envelope>

126 Interface Specification Document for Personal Profile Manager

PPM SOAP Service Specification

Error Conditions/Faults
The following faults are sent to indicate error conditions. Fault DatabaseError Description If there was a problem with the database

sendCommand
sendCommand is used for triggering an event to the end point. DevConnect members should not use the sendCommand operation until the end of a series of other SOAP requests. For example, if multiple updateContact requests are executed, the sendCommand request should be sent after all other requests. This is an expensive operation, and the over-use of this operation will affect performance of the system. Performance Constraint: Customers must implement a limit of 1 request per high level transaction. sendCommand(uList, cmd) Parameter uList cmd Type Array EndptCmd Value Array of Strings Complex type Description An array containing one entry, the users handle

EndptCmd cmd eventcode

Type String Integer

Value Command name Param. value

Description Customer should usually use ReloadProfile Always set to 1

Issue 1 August 2006

127

PPM SOAP Interface for DevConnect

Example Terminal Request:


<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:sendCommandRequest env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm="http://avaya.com/ccs/ppm"> <ppm:uList> <item>user@domain<item> </ppm:uList> <ppm:cmd> <cmd>ReloadProfile</cmd> <eventcode>1</eventcode> </ppm:cmd> </ppm:sendCommandRequest> </env:Body> </env:Envelope>

PPM Response:
<?xml version="1.0" ?> <env:Envelope xmlns:env="http://www.w3.org/2001/09/soap-envelope"> <env:Body> <ppm:sendCommandResponse env:encodingStyle="http://www.w3.org/2001/09/ soap-encoding" xmlns:ppm="http://avaya.com/ccs/ppm"> <ppm:Response>PPM_Success</ppm:Response> </ppm:sendCommandResponse> </env:Body> </env:Envelope>

128 Interface Specification Document for Personal Profile Manager

Vous aimerez peut-être aussi