McDewey

Multi-vendor documentation library · semantic search · MCP endpoint at /mcp

cupi

775 chunks · unity-connection rest-api · 775 pages
Page 33#

chunk 0

C H A P T E R 1 API Overview Links to Other API pages: Cisco_Unity_Connection_APIs • API Overview , on page 1 API Overview Links to Other API pages: Cisco_Unity_Connection_APIs Introduction Cisco Unity Connection Provisioning Interface (CUPI) is a provisioning API for Cisco Unity Connection that has been designed to be stable and simple to use. It is based on leading industry standards for web-based API development, and provides access to the most commonly provisioned data on Connection systems (users, contacts, distribution lists, and call handlers). With Cisco Unity Connection 9.1(1), the single sign-on feature is enabled for all the Connection Rest APIs. For more information, see the "Single Sign-On in Cisco Unity Connection" chapter in Security Guide for Cisco Unity Connection 9.x available at http://www.cisco.com/en/US/docs/voice_ip_comm/connection/9x/security/guide/9xcucsec061.htm Note Benefits By using CUPI, you can securely do the following: • Create, read, update, and delete users and user configurations • Reset passwords • Create, read, and update distribution lists • Create, read, update, and delete call handlers • Create, read, update, and delete contacts Cisco Unity Connection Provisioning Interface (CUPI) API 1

Image 1 from page 33

Image 2 from page 33

Page 34#

chunk 1

All the above functions associated with CUPI API support both the IPv4 and IPv6 addresses. However, the IPv6 address works only when Connection platform is configured in Dual (IPv4/IPv6) mode. Note For more information see the chapter "Adding or Changing the IPv6 Addresses of Cisco Unity Connection 8.5 and Later Servers" at the following link https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/ 9x/upgrade/guide/9xcucrugx/9xcucrug051.html Technical Details Previous provisioning APIs required knowledge of the underlying database, and were vulnerable to changes in the database schema. CUPI provides a layer over the database to make the interface more stable. CUPI is standards based. CUPI was developed by using the latest advances in web-based interfaces. It is a REST interface that standardizes operations such as add, delete, and modify. The XML comes with standard XML schema definitions that are annotated with information about what is in them. Other product groups in VTG are developing REST-based interfaces, and as the interfaces converge this positions CUPI well to fit in with them. REST interfaces also work well with Web 2.0 applications. As a web-based interface, CUPI is independent of operating system and programming language and does not require any client libraries to use. It is recommended to perform provisioning only on the Publisher server in Active-Active mode and on Subscriber (Acting Primary) in case of cluster failover. The password change and password setting modification for User PIN/Web application should be provisioned on Publisher server in Active-Active mode. Note Getting Started In order to begin developing with the Cisco Unity Connection CUPI API, you need to obtain the following: Hardware • Cisco Media Convergence Server (MCS) for Cisco Unity Connection version 8.0 and later • For detailed hardware requirements, see the Cisco Unity Connection 8.x Supported Platforms List Software • Cisco Unity Connection Software Ordering • Not for Resale Kits (Must be eligible to purchase) • Communications System Release Kit Discounts for some of the required hardware and software may be available for participants in the Cisco Technology Developer Program. We recommend that all developers have an up-to-date Cisco Developer Services support agreement. This provides the developer with access to professional support and assistance for application development Cisco Unity Connection Provisioning Interface (CUPI) API 2 API Overview Technical Details

Page 35#

chunk 2

Other CUPI Resources Additional information about CUPI is also available on the Cisco Developer Network (link to CDN). Note, however, that the documentation here on the DocWiki is the most up-to-date documentation available for CUPI. To participate in the CUPI forum, see the CUPI forum on CDN. On the CUPI page on CDN, you will also find links to the CUPI WADL and CUPI XML schema. Troubleshooting See the following for information on troubleshooting all Connection APIs: Troubleshooting (applies to all Connection APIs) Cisco Unity Connection Provisioning Interface (CUPI) API 3 API Overview Other CUPI Resources

Page 36#

chunk 3

Cisco Unity Connection Provisioning Interface (CUPI) API 4 API Overview Troubleshooting

Page 37#

chunk 4

C H A P T E R 2 Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Schema Details Links to Other API pages:Cisco_Unity_Connection_APIs • Getting the Schema Details, on page 5 Getting the Schema Details All the schema details for all supported object types can be obtained by going to the REST schema page using the URL: http://{server name}/vmrest/schema All the objects supported will come up in a list, each as a link that will take you to a page detailing which items of information will be returned when fetching that object. In the case of users the schema shows what will come back when fetching the full user data using a URL like this: Note http://{server name}/vmrest/users/{object_id} If, however, you are getting a list of users or searching for one or more users with a query parameter like this: http://{server name}/vmrest/users?query=(alias%20is%20operator) Then you will get a subset of user properties on each user returned in the list. This is an optimization since users have such a large amount of data associated with them that returning all of those properties for each user on a potentially large list is very inefficient. Make sure your application accounts for this. Cisco Unity Connection Provisioning Interface (CUPI) API 5

Image 1 from page 37

Image 2 from page 37

Page 38#

chunk 5

Cisco Unity Connection Provisioning Interface (CUPI) API 6 Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Schema Details Getting the Schema Details

Page 39#

chunk 6

C H A P T E R 3 Cisco Unity Connection Provisioning Interface (CUPI) API -- About Versioning Links to Other API pages:Cisco_Unity_Connection_APIs • About Versioning, on page 7 • Getting Unity Connection Version, on page 7 About Versioning Cisco Unity Connection REST interfaces essentially are not versioned. There are several mechanisms in place to ease forward and backward compatibility: 1. The version is available as a resource at /vmrest/version: <VersionInformation> <name>vmrest</name> <version>8.0.0.229</version> </VersionInformation> 2. Extra fields in a resource are ignored by the server. This means that if we add a field to a resource in a future release, and the new resource is sent to an older server, the operation will complete (with the exception of updating the field that it does not have). 3. Clients ignore new fields. The XML schema files that are provided for clients include a provision for arbitrary fields to be added at the end. This means that when a new field is added to a resource exposed by the server, it will not affect client code. 4. New resources are added at new URLs. Adding a new resource means adding a new URL, not changing existing URLs. This means that existing client code can continue to run against the new version without change. Getting Unity Connection Version To get the active master version of Cisco Unity Connection, do the following GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 7

Image 1 from page 39

Page 40#

chunk 7

GET http://<connection-server>/vmrest/version/product/ The following is the response from the above GET request and the actual response will depend upon the information given by you: <VersionInformation> <name>Cisco Unity Connection Version</name> <version>11.5.1.17108-2</version> </VersionInformation> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 8 Cisco Unity Connection Provisioning Interface (CUPI) API -- About Versioning Getting Unity Connection Version

Page 41#

chunk 8

C H A P T E R 4 Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication and Authorization Links to Other API pages:Cisco_Unity_Connection_APIs • About CUPI Authentication and Authorization, on page 9 About CUPI Authentication and Authorization CUPI uses the same authentication and authorization scheme that the administration console uses. This means that the objects an administrator has access to when authenticated are determined by the roles to which the administrator is assigned. CUPI authenticates by using standard HTTPS and Basic authentication, so that credentials can be passed by using typical mechanisms to send username and password via HTTP headers. Cisco Unity Connection Provisioning Interface (CUPI) API 9

Image 1 from page 41

Page 42#

chunk 9

Cisco Unity Connection Provisioning Interface (CUPI) API 10 Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication and Authorization About CUPI Authentication and Authorization

Page 43#

chunk 10

C H A P T E R 5 Cisco Unity Connection Provisioning Interface (CUPI) API -- Error Handling Links to Other API pages: Cisco_Unity_Connection_APIs • Possible Errors, on page 11 Possible Errors The HTTP status codes themselves provide information about many typical errors. See the following list for some of the status codes returned by CUPI: Explanation Possible Errors Normal response when a page has been successfully fetched. 200 OK The resource has been created. 201 Created The page has moved permanently. It is usually a response from implementing a 301 redirect. 301 Moved Permanently The page has moved temporarily. 302 Moved Temporarily The request could not be understood by the server, due to incorrect syntax. 400 Bad Request Authentication is required. 401 Unauthorized User The server understood the request, but is refusing to fulfill it. 403 Forbidden The server has not found anything that matches the Request-URI. 404 Page Not Found The method specified in the Request-Line is not allowed for the resource identified by the Request-URI. 405 Method Not Allowed The server cannot generate a response that the requester is willing to accept. 406 Not Acceptable The requested resource is no longer available at the server, and no forwarding address is known. This condition is similar to 404, except that the 410 error condition is expected to be permanent. 410 Gone The server is refusing the request, because the request is in a format not supported by the requested resource for the requested method. 415 Unsupported Media Type There is an internal web server error. 500 Server Error Cisco Unity Connection Provisioning Interface (CUPI) API 11

Image 1 from page 43

Page 44#

chunk 11

In addition to the error codes, in most cases CUPI will return an XML document that provides more information about the error: <xs:complexType name="ErrorDetails"> xs:all <xs:element name="errors" maxOccurs="unbounded"> xs:complexType xs:all <xs:element name="code" type="ErrorCode"/> <xs:element name="message" type="xs:string"/> </xs:all> </xs:complexType> </xs:element> </xs:all> </xs:complexType> Cisco Unity Connection Provisioning Interface (CUPI) API 12 Cisco Unity Connection Provisioning Interface (CUPI) API -- Error Handling Possible Errors

Page 45#

chunk 12

C H A P T E R 6 Cisco Unity Connection Provisioning Interface (CUPI) API -- Examples of Basic Operations Links to Other API pages: Cisco_Unity_Connection_APIs • Reading a User's Information, on page 13 • Creating a User, on page 13 • Modifying a User, on page 13 • Deleting a User, on page 14 • Searching for a User, on page 14 • Reset the MWI for a User, on page 14 Reading a User's Information To read a user's information, do the following GET request: GET http://<connection-server>/vmrest/users/{objectid} Creating a User To create a user account, do the following POST request: POST http://<connection-server>/vmrest/users?templateAlias=voicemailusertemplate <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <User> <Alias>jdoe</Alias> <DtmfAccessId>7890</DtmfAccessId> </User> The following is the result of the above POST request: 201 Created The HTTP response will include the full URI to the newly created user in the Location header. Modifying a User To modify a user account, do the following PUT request: Cisco Unity Connection Provisioning Interface (CUPI) API 13

Image 1 from page 45

Page 46#

chunk 13

PUT http://<connection-server>/vmrest/users/{objectid} <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <User> <DisplayName>johnd</DisplayName> </User> The following is the result of the above PUT request: 204 Accepted Deleting a User To delete a user account, do the following DELETE request: DELETE http://<connection-server>/vmrest/users/{objectid} The following is the result of the above DELETE request: 200 OK Searching for a User To search for a user account, do the following GET request: GET http://<connection-server>/vmrest/users?query=(alias%20startswith%20ab) Reset the MWI for a User The reset the MWI for a user: POST http://<connection-server>/vmrest/users/{objectid}?method=resetmwi Cisco Unity Connection Provisioning Interface (CUPI) API 14 Cisco Unity Connection Provisioning Interface (CUPI) API -- Examples of Basic Operations Deleting a User

Page 47#

chunk 14

C H A P T E R 7 Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Count Without Getting the Objects Links to Other API pages:Cisco_Unity_Connection_APIs • Getting the Object Count Without Getting the Objects, on page 15 • Examples, on page 15 Getting the Object Count Without Getting the Objects For performance reasons, you can retrieve an object count without retrieving the objects. For example, you might have over 1000 users and you want to know the exact user count. To speed up the query, you can retrieve only the count of users, without retrieving the payload, by using and setting the query parameter "pageNumber" or "rowsPerPage" to 0, as follows: Examples The following example returns the number of users: GET http://<connection-server>/vmrest/users?rowsPerPage=0 The following example returns the number of users whose alias starts with "John": GET http://<connection-server>/vmrest/users?query=(alias%20startswith%20John)&pageNumber=0 Cisco Unity Connection Provisioning Interface (CUPI) API 15

Image 1 from page 47

Page 48#

chunk 15

Cisco Unity Connection Provisioning Interface (CUPI) API 16 Cisco Unity Connection Provisioning Interface (CUPI) API -- Getting the Object Count Without Getting the Objects Examples

Page 49#

chunk 16

C H A P T E R 8 Cisco Unity Connection Provisioning Interface (CUPI) API -- Searching and Sorting Links to Other API pages:Cisco_Unity_Connection_APIs • Searching, on page 17 • Sorting, on page 17 • Constraints on the Allowed Values in Search Queries and Sorts, on page 18 Searching The general format of a search query is: query=(column [is | startswith] value) For example, to find all users that have an alias starting with the letter "a," the query would be: query=(alias startswith a) The full URL, including escaping spaces as %20, would be: GET http://<connection-server>/vmrest/users?query=(alias%20startswith%20a) (For more information about escaping spaces, see the (RFC for URIs.) Sorting Sorting is similar to searching. The general format of a sort is: sort=(column [asc | desc]) For example, to sort users by alias, the sort would be: sort=(alias asc) The full URL would be: GET http://<connection-server>/vmrest/users?sort=(alias%20asc) Note that spaces must be escaped in the URL as %20 (standard URL escape code for space). Cisco Unity Connection Provisioning Interface (CUPI) API 17

Image 1 from page 49

Page 50#

chunk 17

Constraints on the Allowed Values in Search Queries and Sorts Note the following constraints on the allowed values in the queries and sorts, based on database performance requirements: • Sorts can support only a single column. • Sorts can specify only a column that is indexed. • Queries can support only an indexed column or a boolean column. • Queries can specify more than one column only if all columns belong to a single compound index. (Note: the ability to specify more than one column is not yet implemented; at this time, only single criteria queries are allowed.) • When both a query and a sort are specified, the sort column must be one of the columns in the query. • Queries can use only two conditions: "is" and "startswith". Cisco Unity Connection Provisioning Interface (CUPI) API 18 Cisco Unity Connection Provisioning Interface (CUPI) API -- Searching and Sorting Constraints on the Allowed Values in Search Queries and Sorts

Page 51#

chunk 18

C H A P T E R 9 Cisco Unity Connection Provisioning Interface (CUPI) API -- Voice Names Links to Other API pages: Cisco_Unity_Connection_APIs • About Voice Names, on page 19 • Listing and Viewing, on page 19 • Setting Voice Names, on page 20 About Voice Names Many objects available via the CUPI interface have a voice name field. There are two ways to access the voice name for these objects: • For Connection versions 7.x and 8.0.x the voice names are accessed by using the VoiceFileURI. Modifying the voice name as a voice file requires a three step process as detailed below. • For Connection versions 8.5 and later the voice name access has been simplified so that it can be accessed by using a VoiceNameURI. This new URI is a standard sub-resource of the primary resource URI (see example below). Modifying the voice name by using the new URI reduces the three step process to a single step. The old VoiceFileURI still works in the later versions of Connection, but use of the new URI is easier. http://<server>/users/<user object id>/voicename) Listing and Viewing Voice Name GET for Connection 8.5 and Later Use the standard VoiceNameURI directly to get the file: GET http://<connection-server>/vmrest/<resource>/<resource id>/voicename The response will return the audio/wav data for the voice name. Cisco Unity Connection Provisioning Interface (CUPI) API 19

Image 1 from page 51

Page 52#

chunk 19

Voice Name GET for Connection 7.x and 8.0.x First get the primary resource to find out the voice file URI, then use the VoiceFileURI to get the file: GET http://<connection-server>/vmrest/voicefiles/<voice file name> The response will return the audio/wav data for the voice name. Setting Voice Names Setting a Voice Name in Connection 8.5 and Later PUT the audio data directly to the standard resource voice name URI: PUT /vmrest/<object>/<object id>/voicename content is audio/wav data The response is a 204 indicating that the content has been accepted and copied into the temporary file. Setting a Voice Name in Connection 7.x and 8.0.x To create a voice name for a resource is a three step process. 1. A place-holder for the WAV file must be created with a POST. This is a temporary file place-holder that can be used for up to 30 minutes. If it is not used within 30 minutes (assigned to a resource), the file is assumed to be abandoned and is automatically cleaned. POST /vmrest/voicefiles The response code is 201 and the content is the name of the newly created temporary file. 2. Use the temporary file name to PUT the new audio data. The HTTP content type is "audio/wav" and the payload content is the audio data. PUT /vmrest/voicefiles/<temporary file name> The response is a 204 indicating that the content has been accepted and copied into the temporary file. 3. Set the voicename field of the target resource to the temporary file name. See the example for a user below: PUT /vmrest/users/<user object id> <?xml version="1.0" encoding="UTF-8"?> <User> <VoiceName>temporary file name</VoiceName> </User> Cisco Unity Connection Provisioning Interface (CUPI) API 20 Cisco Unity Connection Provisioning Interface (CUPI) API -- Voice Names Voice Name GET for Connection 7.x and 8.0.x

Page 53#

chunk 20

C H A P T E R 10 Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency Links to Other API pages: Cisco_Unity_Connection_APIs • Subscriber Dependency API, on page 21 Subscriber Dependency API Administrator can use this API to list the objects that reference a specified user. Using this API administrator can also replace the dependencies with another user. Listing Dependencies of All Users GET https://<connection-server>/vmrest/subscriberdependencies The following is the response from the above GET request and the actual response will depend upon the information given by you: <SubscriberDependencies total="2"> <SubscriberDependency> <DependencyType>TT2</DependencyType> <DependentEntityObjectId>43205549-0127-48c9-9261-f84102a5890f</DependentEntityObjectId> <DependentEntityObjectType>3</DependentEntityObjectType> <DependentEntityOwner>Donald_UserTemplate_1 </DependentEntityOwner> <DependencyDestinationType>2</DependencyDestinationType> <SubscriberObjectId>10b494ca-56ff-4430-a49f-747a33abbd09</SubscriberObjectId> <UserURI>/vmrest/users/10b494ca-56ff-4430-a49f-747a33abbd09</UserURI> <DependentEntityOwnerType>User Template </DependentEntityOwnerType> </SubscriberDependency> <SubscriberDependency> <DependencyType>Recipient</DependencyType> <DependentEntityObjectId>beb9623b-60e4-439d-8fe3-b4c7eec42dfc</DependentEntityObjectId> <DependentEntityObjectType>3</DependentEntityObjectType> <DependentEntityOwner>Operator </DependentEntityOwner> <DependencyDestinationType>5</DependencyDestinationType> <SubscriberObjectId>cfbb6680-f028-4282-8740-ba7531e574cf</SubscriberObjectId> <UserURI>/vmrest/users/cfbb6680-f028-4282-8740-ba7531e574cf</UserURI> <DependentEntityOwnerType>Call Handler </DependentEntityOwnerType> </SubscriberDependency> <SubscriberDependencies> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 21

Image 1 from page 53

Page 54#

chunk 21

JSON Example GET https://<connection-server>/vmrest/subscriberdependencies Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "2", "SubscriberDependency": [ { "DependencyType": "TT2", "DependentEntityObjectId": "43205549-0127-48c9-9261-f84102a5890f", "DependentEntityObjectType": "3", "DependentEntityOwner": "Donald_UserTemplate_1", "DependencyDestinationType": "2", "SubscriberObjectId": "10b494ca-56ff-4430-a49f-747a33abbd09", "UserURI": "/vmrest/users/10b494ca-56ff-4430-a49f-747a33abbd09", "DependentEntityOwnerType": "User Template" }, { "DependencyType": "Recipient", "DependentEntityObjectId": "beb9623b-60e4-439d-8fe3-b4c7eec42dfc", "DependentEntityObjectType": "3", "DependentEntityOwner": "Operator", "DependencyDestinationType": "5", "SubscriberObjectId": "cfbb6680-f028-4282-8740-ba7531e574cf", "UserURI": "/vmrest/users/cfbb6680-f028-4282-8740-ba7531e574cf", "DependentEntityOwnerType": "Call Handler" } ] } Response Code: 200 Viewing Dependency of a Specific User GET https://<connection-server>/vmrest/subscriberdependencies/<subscriber-objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: <SubscriberDependencies total="1"> <SubscriberDependency> <DependencyType>Standard Greeting</DependencyType> <DependentEntityObjectId>7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1</DependentEntityObjectId> <DependentEntityObjectType>66</DependentEntityObjectType> <DependentEntityOwner>Texoma_SystemCallhandlerTemplate_1</DependentEntityOwner> <DependencyDestinationType>0</DependencyDestinationType> <SubscriberObjectId>4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</SubscriberObjectId> <UserURI>/vmrest/users/4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</UserURI> <DependentEntityOwnerType>Call Handler Template</DependentEntityOwnerType> </SubscriberDependency> </SubscriberDependencies> Response code: 200 JSON Example GET https://<connection-server>/vmrest/subscriberdependencies/<subscriber-objectid> Accept: application /json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 22 Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency Listing Dependencies of All Users

Page 55#

chunk 22

The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "1", "SubscriberDependency": { "DependencyType": "Standard Greeting", "DependentEntityObjectId": "7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1", "DependentEntityObjectType": "66", "DependentEntityOwner": "Texoma_SystemCallhandlerTemplate_1", "DependencyDestinationType": "0", "SubscriberObjectId": "4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3", "UserURI": "/vmrest/users/4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3", "DependentEntityOwnerType": "Call Handler Template" } } Response Code: 200 Finding Dependencies Example 1: Suppose following is the dependent object of a particular user and it is required to find the complete dependency, then below are the steps that should be followed. Dependent Object: <SubscriberDependency> <DependencyType>Standard Greeting</DependencyType> <DependentEntityObjectId>7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1</DependentEntityObjectId> <DependentEntityObjectType>66</DependentEntityObjectType> <DependentEntityOwner>Texoma_SystemCallhandlerTemplate_1 </DependentEntityOwner> <DependencyDestinationType>0</DependencyDestinationType> <SubscriberObjectId>4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</SubscriberObjectId> <UserURI>/vmrest/users/4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</UserURI> <DependentEntityOwnerType>Call Handler Template</DependentEntityOwnerType> </SubscriberDependency> Steps to be followed: • Check DependentEntityOwnerType and DependentEntityObjectId from the response, which depicts the type of object referencing the user. In the example, the referencing object entity is call handler template, whose name is 'Texoma_SystemCallhandlerTemplate_1' and object id is '7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1'. • Check DependencyType, which specifies type of dependency. In this example, it is Standard Greeting. For more information, see the Possible Value of DependencyType section. • Check DependencyDestinationType, where user is actually referred. In the example, it is 0 that is After Greeting Action. For more information, see the Possible Values of DependencyDestinationType section. • Therefore, user is referenced in the After Greeting action of Standard Greeting of callhandler template(Texoma_SystemCallhandlerTemplate_1) Example 2: Dependent Object: <SubscriberDependency> <DependencyType>PCTRCaller</DependencyType> <DependentEntityObjectId>476dd400-4130-4795-9e15-c8ce3dd57ff3</DependentEntityObjectId> <DependentEntityObjectType>45</DependentEntityObjectType> <DependentEntityOwner>Donald_Operator_1</DependentEntityOwner> <DependencyDestinationType>4</DependencyDestinationType> Cisco Unity Connection Provisioning Interface (CUPI) API 23 Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency Finding Dependencies

Page 56#

chunk 23

<SubscriberObjectId>cfbb6680-f028-4282-8740-ba7531e574cf</SubscriberObjectId> <UserURI>/vmrest/users/cfbb6680-f028-4282-8740-ba7531e574cf</UserURI> <DependentEntityOwnerType>User</DependentEntityOwnerType> </SubscriberDependency> Steps to be followed: • Check the DependentEntityOwnerType and DependentEntityObjectId from response, which depicts the type of object referencing the user. In the example, the referencing object entity is user whose name is 'Donald_Operator_1' and object id is '476dd400-4130-4795-9e15-c8ce3dd57ff3'. For more information, see the Possible Value of DependencyType section. • Check DependencyType, which specifies type of dependency. In this example, the PCTRCaller is DependencyType. • Check DependencyDestinationType, where user is actually referred. In the example, it is 4 that is refrrenced by personal rule caller. For more information, see the Possible Values of DependencyDestinationType section. • In above example specified user is referenced in the personal call transfer rule of user (Donald_Operator_1). Moving Dependencies of One User to Another Example 1: Suppose following is the dependent object of a particular user and it is required to move dependencies to another user, then below are the steps that should be followed. Dependent Object: <SubscriberDependency> <DependencyType>Standard Greeting</DependencyType> <DependentEntityObjectId>7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1</DependentEntityObjectId> <DependentEntityObjectType>66</DependentEntityObjectType> <DependentEntityOwner>Texoma_SystemCallhandlerTemplate_1 </DependentEntityOwner> <DependencyDestinationType>0</DependencyDestinationType> <SubscriberObjectId>4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</SubscriberObjectId> <UserURI>/vmrest/users/4bc6f97a-0c97-4ed9-a7e2-05e611bb02d3</UserURI> <DependentEntityOwnerType>Call Handler Template</DependentEntityOwnerType> </SubscriberDependency> Steps to be followed: • Check the DependentEntityOwnerType and DependentEntityObjectId from response. In this example, DependentEntityOwnerType is Call Handler Template, and DependentEntityObjectId is 7ea0ecb6-4125-4866-a0f6-5308a5a4b3d1. • Perform GET Operation on Dependent Object with DependentEntityObjectId as Object ID of dependent object entity. In this example use URI: https://<connection-server>/vmrest/callhandlertemplates/<DependentEntityObjectId> • Check DependencyType, which specifies type of dependency. In this example it is Greeting (Standard), therefore, use GET on https://<connection-server>/vmrest/callhandlertemplates/<DependentEntityObjectId>/templategreetings/Standard • Check DependencyDestinationType.In this example it is 0 that is After Greeting therefore, perform PUT operation to move the dependency to new user. PUT https://<connection-server>/vmrest/callhandlertemplates/<DependentEntityObjectId>/templategreetings/Standard Cisco Unity Connection Provisioning Interface (CUPI) API 24 Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency Moving Dependencies of One User to Another

Page 57#

chunk 24

<TemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>PHGreeting</AfterGreetingTargetConversation> <AfterGreetingTargetHandlerObjectId>9b121ddf-8ce4-4bbd-b179-ab75ab63eb15</AfterGreetingTargetHandlerObjectId> </TemplateGreeting> Where, AfterGreetingTargetHandlerObjectId is the call handler of new user. In above example After Greeting action of Standard Greeting of call handler template is now referencing callhandler of new user. Explanation of Data Fields Comments Data Type Operations Parameter URI of referenced User String Read Only UserURI Type of dependency (e.g., After Greeting, After Message, Routing Rule, etc.). Possible values are specified in the table given under the Possible Value of DependencyType section. String(24) Read Only DependencyType The unique identifier of the entity that is dependent on the user. String(32) Read Only DependentEntityObjectId The type of object that is dependent on the user. Possible values are specified in the table given under the Possible Values of DependentEntityObjectType section. Integer Read Only DependentEntityObjectType The unique identifier of the entity that owns the object which is dependent on the user. For example, a user's call handler may be the dependent entity, but the call handler is owned by another user. String(36) Read Only DependentEntityOwner Possible values are specified in the table given under the Possible Values of DependencyDestinationType section. Integer Read Only DependencyDestinationType Unique Object Id of referenced User String(36) Read Only SubscriberObjectId The entity owner type of object (e.g., User, Call Handler Template) String(24) Read Only DependentEntityOwnerType Possible Value of Dependency Type DisplayName Description Value Name Notification Reference from notification rule caller NotificationRuleCaller NotificationRuleCaller Closed Greeting Reference from closed greeting GreetingOffHours GreetingOffHours Internal Greeting Reference from internal greeting GreetingInternal GreetingInternal Error Greeting Reference from error greeting GreetingError GreetingError Holiday Greeting Reference from holiday greeting GreetingHoliday GreetingHoliday Cisco Unity Connection Provisioning Interface (CUPI) API 25 Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency Explanation of Data Fields

Page 58#

chunk 25

DisplayName Description Value Name Alternate Greeting Reference from alternate greeting GreetingAlternate GreetingAlternate Busy Greeting Reference from busy greeting GreetingBusy GreetingBusy Standard Greeting Reference from standard greeting GreetingStandard GreetingStandard Exit Action Reference from user's call handler's exit action UserExit UserExit PCTR Caller Reference from personal rule caller PCTRCaller PCTRCaller SMPP Provider Reference from SMPP Provider SMPP Provider SMPP SMPPProvider

Reference from call handler's TT# menu entry TT# TT_Pound * Reference from call handler's TT* menu entry TT* TT_Star 0 Reference from call handler's TT0 menu entry TT0 TT_0 1 Reference from call handler's TT1 menu entry TT1 TT_1 2 Reference from call handler's TT2 menu entry TT2 TT_2 3 Reference from call handler's TT3 menu entry TT3 TT_3 4 Reference from call handler's TT4 menu entry TT4 TT_4 5 Reference from call handler's TT5 menu entry TT5 TT_5 6 Reference from call handler's TT6 menu entry TT6 TT_6 7 Reference from call handler's TT7 menu entry TT7 TT_7 8 Reference from call handler's TT8 menu entry TT8 TT_8 9 Reference from call handler's TT9 menu entry TT9 TT_9 After Greeting Reference from call handler's "AfterGreeting" action After Greeting AfterGreeting AfterMessage Reference from call handler's "AfterMessage" action AfterMessage AfterMessage Exit Reference from call handler's "Exit" action Exit Exit NoInput Reference from call handler's "NoInput" action NoInput NoInput AfterMessage Reference from call handler's "NoSelection" action NoSelection NoSelection Zero Reference from call handler's "Zero" action Zero Zero RoutingRule Reference from a routing rule's "Action". RoutingRule RoutingRule Cisco Unity Connection Provisioning Interface (CUPI) API 26 Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency Possible Value of Dependency Type

Page 60#

chunk 26

Cisco Unity Connection Provisioning Interface (CUPI) API 28 Cisco Unity Connection Provisioning Interface (CUPI) API -- Subscriber Dependency Possible Values of DependencyDestinationType

Page 61#

chunk 27

C H A P T E R 11 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Links to Other API pages: Cisco_Unity_Connection_APIs • Alternate Extensions API, on page 29 Alternate Extensions API Listing the Basic Settings of Alternate Extension GET https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions The following is the response from the above GET request and the actual response will depend upon the information given by you: <AlternateExtensions total="1"> <AlternateExtension> <URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/alternateextensions/f0cfbf52-a6b2-466c-b7e6-eb05d6cce705</URI> <IdIndex>0</IdIndex> <DtmfAccessId>99934</DtmfAccessId> <LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI> <ObjectId>f0cfbf52-a6b2-466c-b7e6-eb05d6cce705</ObjectId> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI> <AlternateExtensionAdvancedURI>/vmrest/alternateextensionadvanceds/42266e69-5e5e-42fe-924e-e94b2c9e06b3</AlternateExtensionAdvancedURI> </AlternateExtension> </AlternateExtensions> Response Code: 200 JSON Example GET https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextension_objectid> Accept: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 29

Image 1 from page 61

Page 62#

chunk 28

The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/alternateextensions/f0cfbf52-a6b2-466c-b7e6-eb05d6cce705", "IdIndex": "0", "DtmfAccessId": "99934", "LocationObjectId": "42a9ab40-490d-4819-9bfb-8ddce4f430ff", "LocationURI": "/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff", "ObjectId": "f0cfbf52-a6b2-466c-b7e6-eb05d6cce705", "PartitionObjectId": "da2114bf-cde7-43d8-9709-cd3895a9d41b", "PartitionURI": "/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b", "AlternateExtensionAdvancedURI": "/vmrest/alternateextensionadvanceds/42266e69-5e5e-42fe-924e-e94b2c9e06b3" } Listing the Advanced Settings of Alternate Extension • Fetch the Alternate Extension URI from following URI: https://<connection-server>/vmrest/users/<user-objectid> • Now fetch the Alternate Extension Advanced URI from a URI: https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextionsion_objectid> • Set following as a Request URI: https://<connection-server>/vmrest/alternateextensionadvanceds/<alternateextensionadvanced_objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: <AlternateExtensionAdvanced> <URI>/vmrest/alternateextensionadvanceds/42266e69-5e5e-42fe-924e-e94b2c9e06b3</URI> <DeviceDtmfAccessIdObjectId>7c26381e-ee0f-4abf-9083-94a5017abc76</DeviceDtmfAccessIdObjectId> <MessageSpeed>100</MessageSpeed> <MessageVolume>50</MessageVolume> <ObjectId>42266e69-5e5e-42fe-924e-e94b2c9e06b3</ObjectId> <PromptSpeed>100</PromptSpeed> <PromptVolume>50</PromptVolume> <SaveMessageOnHangup>true</SaveMessageOnHangup> <SendMessageOnHangup>1</SendMessageOnHangup> <SkipPasswordForKnownDevice>true</SkipPasswordForKnownDevice> <SubscriberObjectId>bf0e9ca3-db47-472d-aa0c-609a3265ada1</SubscriberObjectId> <UserURI>/vmrest/users/bf0e9ca3-db47-472d-aa0c-609a3265ada1</UserURI> </AlternateExtensionAdvanced> Response Code: 200 JSON Example • Step 1: Fetch the Alternate Extension URI from following URI: GET https://<connection-server>/vmrest/users/<user-objectid> • Step 2: Now fetch the Alternate Extension Advanced URI from a URI: Cisco Unity Connection Provisioning Interface (CUPI) API 30 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Listing the Advanced Settings of Alternate Extension

Page 63#

chunk 29

GET https://<connection-server>/vmrest/users/ <user-objectid>/alternateextensions/<alternateextension_objectid> • Step 3: Set following as a Request URI: GET https://<connection-server>/vmrest/alternateextensionadvanceds/<objectid> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/alternateextensionadvanceds/42266e69-5e5e-42fe-924e-e94b2c9e06b3", "DeviceDtmfAccessIdObjectId": "7c26381e-ee0f-4abf-9083-94a5017abc76", "MessageSpeed": "100", "MessageVolume": "50", "ObjectId": "42266e69-5e5e-42fe-924e-e94b2c9e06b3", "PromptSpeed": "100", "PromptVolume": "50", "SaveMessageOnHangup": "true", "SendMessageOnHangup": "1", "SkipPasswordForKnownDevice": "true", "SubscriberObjectId": "bf0e9ca3-db47-472d-aa0c-609a3265ada1", "UserURI": "/vmrest/users/bf0e9ca3-db47-472d-aa0c-609a3265ada1" } Response Code: 200 Create a new Alternate Extension The mandatory fields for creation of alternate extension are IdIndex, DtmfAccessId, and PartitionObjectId. The URI for getting partition object ID use: GET https://<connection-server>/vmrest/partitions The following URI is fetched from the response body of URI: GET https://<connection-server>/vmrest/users/<user-objectid> To create a new alternate extension for a user POST https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions <AlternateExtension> <IdIndex>2</IdIndex> <DtmfAccessId>999341</DtmfAccessId> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> </AlternateExtension> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/fa2114bf-cde7-43d8-9709-cd3895a9d41b/alternateextensions/ea2114bf-cde7-43d8-9709-cd3895a9d41b JSON Example POST https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions Accept: application/json Content-type: application/json Connection: keep-alive { "IdIndex":"2", Cisco Unity Connection Provisioning Interface (CUPI) API 31 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Create a new Alternate Extension

Page 64#

chunk 30

"DtmfAccessId":"999341", "PartitionObjectId":da2114bf-cde7-43d8-9709-cd3895a9d41b" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response code: 201 /vmrest/users/fa2114bf-cde7-43d8-9709-cd3895a9d41b/alternateextensions/ea2114bf-cde7-43d8-9709-cd3895a9d41b Update Basic Settings of Alternate Extension PUT https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<objectid> <AlternateExtension> <DtmfAccessId>999345c1</DtmfAccessId> <PartitionObjectId>e1c25917-7dbe-4691-8226-246f84edc73b</PartitionObjectId> </AlternateExtension> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example PUT https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextension_objectid> Accept: application/json Content-type: application/json Connection: keep-alive { "DtmfAccessId":"123345" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Delete Alternate Extension DELETE https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextension_objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example DELETE https://<connection-server>/vmrest/users/<user-objectid>/alternateextensions/<alternateextension_objectid> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 32 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Update Basic Settings of Alternate Extension

Page 65#

chunk 31

Explanation of Data Fields Description Operation Data Type Field Name URI of Alternate Extension Read Only String URI An index into the alternate extensions for a subscriber. Possible value can be 0-20. Admin-defined alternate extensions utilize the range of 1-10. User-defined alternate extensions utilize the range of 11-20. Integer Read/Write IdIndex The dialable number. Read/Write String(319) DtmfAccessId URI of partition to which the DtmfAccessId is assigned. Read Only String PartitionURI The unique identifier of the Partition to which the DtmfAccessId is assigned. Read/Write String(36) PartitionObjectId The unique identifier of the Location object to which this location (denormalized) belongs. Read/Write String(36) LocationObjectId The unique identifier of the Extension Read Only String(36) ObjectId The text name of this DtmfAccessId to be used when displaying entries. Read/Write String(64) DisplayName URI for getting and setting the advanced settings of Alternate Extension Read Only String AlternateExtensionAdvancedURI Explanation of Data Fields: Advance Settings Description Operation Data Type Field Name URI of Advance setting of Alternate Extension Read Only String URI The default method the subscriber will use to address messages to other subscribers. This can be addressing by ID, addressing by first name then last name, or by last name and then first name. Possible Values can be 0-2. Read/Write Integer AddressMode The amount of time (in milliseconds) between digits on a multiple digit menu command entry (i.e. different than the inter digit timeout that is used for strings of digits such as extensions and transfer strings). Possible Values can be 250-5000. Read/Write Integer CommandDigitTimeout Voice Recognition Confirmation Confidence Threshold Possible Values can be 0-100. Read/Write Integer ConfirmationConfidenceThreshold Cisco Unity Connection Provisioning Interface (CUPI) API 33 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Explanation of Data Fields

Page 66#

chunk 32

Description Operation Data Type Field Name A flag indicating whether Cisco Unity Connection will request confirmation from a subscriber before proceeding with a deletion of a single new or saved message. Possible Values can be: • false: Cisco Unity Connection will not request confirmation from a subscriber before proceeding with a deletion of a single new or saved message. • true: Cisco Unity Connection will request confirmation from a subscriber before proceeding with a deletion of a single new or saved message Read/Write Boolean ConfirmDeleteMessage A flag indicating whether when addressing, after entering one recipient name, whether the subscriber is asked to enter another name or assume the subscriber is finished adding names and is ready to move on to recording the message or applying message options. Possible values: • 0: Unity Connection prompts subscribers to press 1 to add more recipients. • 1: Unity Connection does not prompt subscribers to press 1 to add more recipients. Instead, subscribers continue entering recipient names or extensions (as applicable) until they indicate that they have completed addressing.

  • Changing this setting affects the Send and Forward flows for all subscribers associated with the Unity Connection server, regardless of subscriber conversation style and whether Unity Connection is set up to prompt subscribers to record before or after addressing. - By enabling streamlined addressing, forwarding messages to single recipients requires that subscribers press an extra keystroke as when streamlined addressing is disabled. Read/Write Boolean ContinuousAddMode The device to which this DeviceCustomConvSetting object belongs. The unique identifier of the DtmfAccessId object to which these setting apply. Read Only String(36) Device_DtmfAccessIdObjectId The amount of time to wait (in milliseconds) for first digit when collecting touchtone. Possible Values can be 500-10000. Read/Write Integer FirstDigitTimeout Cisco Unity Connection Provisioning Interface (CUPI) API 34 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Explanation of Data Fields: Advance Settings
Page 67#

chunk 33

Description Operation Data Type Field Name The amount of time to wait (in milliseconds) for input between touch tones when collecting digits in touchtone conversation. Possible Values can be 1000-10000. Read/Write Integer InterDigitDelay A flag indicating whether the subscriber conversation jumps directly to the first message in the message stack after subscriber sign-in. Subscribers will not hear message counts, their own name, top level menus, etc when this setting is active. Possible Values: • false: Subscriber conversation does not jump directly to first message in the message stack after subscriber sign-in. • true: Subscriber conversation jumps directly to the first message in the message stack after subscriber sign-in. Read/Write Boolean JumpToMessagesOnLogin The audio speed Cisco Unity Connection uses to play back messages to the subscriber. Possible Values: A value between 0 and 200 is allowed. • Normal speed, the speed at which messages are recorded is a value of 100. • Twice as fast as normal speed is a value of 200. • Half as fast as normal speed is a value of 50. Read/Write Integer MessageSpeed The audio volume expressed as a percentage that Cisco Unity Connection uses to play back message. Possible Values: A value between 0 and 100 is allowed. • Normal volume, the volume used to record a message is a value of 50. • Twice as loud is a value of 100. • Half as loud as normal volume is a value of 25. Note that the value is only used for message play back, not for other parts of the conversation. Read/Write Integer MessageVolume Cisco Unity Connection Provisioning Interface (CUPI) API 35 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Explanation of Data Fields: Advance Settings

Page 68#

chunk 34

Description Operation Data Type Field Name Indicates whether the voice name of the subscriber or distribution list added to an address list when a subscriber addresses a message to other subscribers is played. Possible Values: • true • false Read/Write Boolean NameConfirmation A globally unique, system-generated identifier for an object. Read Only String(36) ObjectId The audio speed Cisco Unity Connection uses to play back prompts to the subscriber. Possible Values: A value between 0 and 200 is allowed. • Normal speed, the speed at which messages are recorded is a value of 100. • Twice as fast as normal speed is a value of 200. • Half as fast as normal speed is a value of 50. Read/Write Integer PromptSpeed The volume level for playback of system prompts. Possible Values: A value between 0 and 100 is allowed. • Normal volume, the volume used to record a message is a value of 50. • Twice as loud is a value of 100. • Half as loud as normal volume is a value of 25. Note that the value is only used for playback of system prompts, not for other parts of the conversation. Read/Write Integer PromptVolume The number of times to repeat a menu in touchtone. Possible Values: 0-250 Read/Write Integer RepeatMenu A flag indicating when hanging up while listening to a new message, whether the message is marked new again or is marked read. Possible values: • true • false Read/Write Boolean SaveMessageOnHangup Cisco Unity Connection Provisioning Interface (CUPI) API 36 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Explanation of Data Fields: Advance Settings

Page 69#

chunk 35

Description Operation Data Type Field Name Indicates when hanging up while addressing a message that has a recording and at least one recipient, whether the message is discarded, saved or the message is sent. Possible Values: • 0: Message is not sent on hangup unless subscriber explictly issues the command to send the message via DTMFor voice command. • 1: Message is sent on hangup if it has a recording and at least one valid recipient • 2: Message is saved as a draft message Read/Write Integer SendMessageOnHangup Indicates the amount of time (in milliseconds) to jump forward when skipping ahead in a voice or TTS message using either DTMF or voice commands while reviewing messages.Possible Values: 1000-60000 Read/Write Integer SkipForwardTime A flag indicating whether the subscriber will be asked for his/her PIN. Possible Values: • false: Subscriber will not be asked for their PIN when calling in from a known device. • true: Subscriber will be asked for their PIN when calling in from a known device. Read/Write Boolean SkipPasswordForKnownDevice Indicates the amount of time (in milliseconds) to jump backward when skipping in reverse in a voice or TTS message using either DTMF or voice commands while reviewing messages. Possible Values: 1000-60000 Read/Write Integer SkipReverseTime Specifies the required length of silence (in milliseconds) from when the speech prior to the silence matches an active grammar, but where it is possible to speak further and still match the grammar. By contrast, the SpeechCompleteTimeout property is used when the speech prior to the silence matches an active grammar and no further words can be spoken. Possible Values: 300-0000 Read/Write Integer SpeechIncompleteTimeout URI of the subscriber to which alternate extension belongs Read Only String UserURI Cisco Unity Connection Provisioning Interface (CUPI) API 37 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Explanation of Data Fields: Advance Settings

Page 70#

chunk 36

Description Operation Data Type Field Name A variable level of sound sensitivity that enables the speech engine to filter out background noise and not mistake it for speech. A higher value means higher sensitivity. Possible Values: 0-100 Read/Write Integer SpeechSensitivity Object id of Subscriber to which the Alternate Extension Belongs. Read Only String(36) SubscriberObjectId A flag indicating whether the speech recognition conversation is the default conversation for the subscriber. Possible Values: • false: Speech recognition conversation is not default conversation for the subscriber. • true: Speech recognition conversation is the default conversation for the subscriber. This is different from the voice-recognition class of service which indicates that the subscriber is allowed to use the voice-recognition conversation Read/Write Boolean UseVui Cisco Unity Connection Provisioning Interface (CUPI) API 38 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Extension Explanation of Data Fields: Advance Settings

Page 71#

chunk 37

C H A P T E R 12 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names API Links to Other API pages: Cisco_Unity_Connection_APIs • Alternate Names API, on page 39 Alternate Names API Listing the Alternate Names GET https://<connection-server>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20<user-objectid>) The following is the response from the above GET request and the actual response will depend upon the information given by you: <AlternateNames total="3"> <AlternateName> <URI>/vmrest/alternatenames/5fa9e143-d9d3-42ea-9370-e763d8ee319d</URI> <FirstName>sd</FirstName> <LastName>asd</LastName> <ObjectId>5fa9e143-d9d3-42ea-9370-e763d8ee319d</ObjectId> <GlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserObjectId> <GlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserURI> </AlternateName> <AlternateName> <URI>/vmrest/alternatenames/89b0a8b9-68d7-445c-acb9-aaf2a569d5ef</URI> <FirstName>sqdas</FirstName> <LastName>asqd</LastName> <ObjectId>89b0a8b9-68d7-445c-acb9-aaf2a569d5ef</ObjectId> <GlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserObjectId> <GlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserURI> </AlternateName> <AlternateName> <URI>/vmrest/alternatenames/dc03dec6-a9df-4d2b-8972-78c3bceec987</URI> <FirstName>sdwds</FirstName> <LastName>asd</LastName> <ObjectId>dc03dec6-a9df-4d2b-8972-78c3bceec987</ObjectId> <GlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserObjectId> <GlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserURI> Cisco Unity Connection Provisioning Interface (CUPI) API 39

Image 1 from page 71

Page 72#

chunk 38

</AlternateName> </AlternateNames> Response Code: 200 JSON Example GET https://<connection-server>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20<user-objectid>) Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Response Code: 200 Create a new Alternate Name The mandatory fields for creation of an alternate name are: FirstName, LastName, and GlobalUserObjectId. The URI for getting partition object ID use: GET https://<connection-server>/vmrest/partitions The following URI is fetched from the response body of above URI: https://<connection-server>/vmrest/users/<user-objectid> The Request URI: POST https://<connection-server>/vmrest/alternatenames <AlternateName> <FirstName>sdwds</FirstName> <LastName>asd</LastName> <GlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</GlobalUserObjectId> </AlternateName> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/alternatenames/f375d893-c8eb-437b-90bf-7de4b1d0c3e8 JSON Example POST https://<connection-server>/vmrest/alternatenames Accept: application/json Content-type: application/json Connection: keep-alive Request body: { "FirstName":"and", "LastName":"gupta", "GlobalUserObjectId":"9375d893-c8eb-437b-90bf-7de4b1d0c3e8" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/alternatenames/f375d893-c8eb-437b-90bf-7de4b1d0c3e8 Cisco Unity Connection Provisioning Interface (CUPI) API 40 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names API Create a new Alternate Name

Page 73#

chunk 39

Update Alternate Names PUT https://<connection-server>/vmrest/alternatenames/<objectid> <AlternateName> <FirstName>kapil</FirstName> <LastName>gupta</LastName> </AlternateName> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example PUT https://<connection-server>/vmrest/alternatenames/<objectid> Accept: application/json Content-type: application/json Connection: keep-alive { "FirstName":"John", "LastName":"gupta" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response code: 204 Delete Alternate Names DELETE https://<connection-server>/vmrest/alternatenames/<objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example DELETE https://<connection-server>/vmrest/alternatenames/<objectid> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response code: 204 Reference • Cisco Unity Connection Provisioning Interface (CUPI) API 41 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names API Update Alternate Names

Page 74#

chunk 40

Cisco Unity Connection Provisioning Interface (CUPI) API 42 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names API Reference

Page 75#

chunk 41

C H A P T E R 13 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input Links to Other API pages:Cisco_Unity_Connection_APIs • Caller Inputs API, on page 43 Caller Inputs API To get the caller input URI, follow the steps given below: GET https://<connection-server>/vmrest/users/<user-objectid> From above URI get the call handler URI: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> To edit caller inputs, you need to get the menu entries: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries Listing Caller Inputs GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries/<key> The following is the response from the above GET request and the actual response will depend upon the information given by you: <MenuEntry> <URI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/menuentries/1</URI> <CallHandlerObjectId>287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</CallhandlerURI> <TouchtoneKey>1</TouchtoneKey> <Locked>false</Locked> <Action>7</Action> <TargetConversation>BroadcastMessageAdministrator</TargetConversation> <ObjectId>d2a363af-d3f6-46cf-81c9-5ad48d2dccd7</ObjectId> <DisplayName>abc</DisplayName> <TransferType>0</TransferType> Cisco Unity Connection Provisioning Interface (CUPI) API 43

Image 1 from page 75

Page 76#

chunk 42

<TransferRings>9</TransferRings> </MenuEntry> JSON Example GET https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries/4 Accept: application/json Connection: keep-alive { "URI":"/vmrest/handlers/callhandlers/43bb6590-e9e3-43ca-972e-e3e158a96126/menuentries/4" "CallHandlerObjectId":"43bb6590-e9e3-43ca-972e-e3e158a96126" "CallhandlerURI":"/vmrest/handlers/callhandlers/43bb6590-e9e3-43ca-972e-e3e158a96126" "TouchtoneKey":"4" "Locked":"false" "Action":"2" "TargetConversation":"AD" "TargetHandlerObjectId":"80b1b22b-2fd8-458e-abd1-294e83a9ec55" "ObjectId":"a164d69a-5d0a-4c07-b2e2-d972448950db" } Response code: 200 Updating Caller Input Parameters The following is an example of the PUT request that updates caller input parameters: PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> <Callhandler> <OneKeyDelay>9999</OneKeyDelay> <EnablePrependDigits>true</EnablePrependDigits> <PrependDigits>4545</PrependDigits> </Callhandler> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 <Prepend Digits> parameter must be having digits only (extension parameter) Note Updating Caller Input Keys The following is an example of the PUT request that updates the call input keys: PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries The following is an example of the PUT request that edits the call input keys for (): PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries/ Request Body: <MenuEntry> <Locked>true</Locked> </MenuEntry> Cisco Unity Connection Provisioning Interface (CUPI) API 44 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input Updating Caller Input Parameters

Image 1 from page 76

Page 77#

chunk 43

The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Parameters Values Ignore 0 Hang Up 1 Take Message 4 Skip Greeting 5 Restart Greeting 6 Transfer to alternate contact number 7 Route from next call routing rule 8 Example 1: Edit call actions Request Body: <MenuEntry> <Action>7</Action> <TransferType>1</TransferType> <TransferNumber>2344</TransferNumber> <TransferRings>4</TransferRings> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Edit Call Handler The following is an example of the PUT request that shows the call handler object ID: PUT https://<connection-server>/vmrest/handlers/callhandlers Request Body: <MenuEntry> <Action>2</Action> <TargetConversation>PHGreeting</TargetConversation> <TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 3: Interview handler Request Body: <MenuEntry> <Action>2</Action> <TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId> </MenuEntry> Cisco Unity Connection Provisioning Interface (CUPI) API 45 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input Updating Caller Input Keys

Page 78#

chunk 44

The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 4: Directory handler Request Body: <MenuEntry> <Action>2</Action> <TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 5: Conversation Request Body: for broadcast message administrator </MenuEntry> <Action>2</Action> <TargetConversation>BroadcastMessageAdministrator</TargetConversation> </MenuEntry> The following is the response from the PUT request for broadcast message administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for caller system transfer <MenuEntry> <Action>2</Action> <TargetConversation>SystemTransfer</TargetConversation> </MenuEntry> The following is the response from the PUT request for caller system transfer and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for greeting administrator <MenuEntry> <Action>2</Action> <TargetConversation>GreetingAdministrator</TargetConversation> </MenuEntry> The following is the response from the PUT request for greeting administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for sign in <MenuEntry> <Action>2</Action> <TargetConversation>SubSignIn</TargetConversation> </MenuEntry> Cisco Unity Connection Provisioning Interface (CUPI) API 46 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input Updating Caller Input Keys

Page 79#

chunk 45

The following is the response from the PUT request for sign in and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for user system transfer <MenuEntry> <Action>2</Action> <TargetConversation>SubSysTransfer</TargetConversation> </MenuEntry> The following is the response from the PUT request for user system transfer and the actual response will depend upon the information given by you: Response Code: 204 Example 4: Users with Mailbox Request Body: <MenuEntry> <Action>2</Action> <TargetConversation>PHTransfer</TargetConversation> <TargetHandlerObjectId>71cb381b-fd16-4ba8-8a1d-e71684e57b0e</TargetHandlerObjectId> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example For conversation, do the following: Request URI: PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries/4 Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "Action":"2", "TargetConversation":"SubSignIn" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 47 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input Updating Caller Input Keys

Page 80#

chunk 46

Explanation of Data Fields Comments Operations Data Type Parameter Indicate the amount of time that System waits for additional input after callers press a single key that is not locked. If there is no input within this time, system performs the action assigned to the single key. We recommend a value of 1,500 milliseconds (one and one-half seconds). Note • This option is unavailable if Ignore Caller Input is enabled on the Greetings page. • OneKeyDelay can only accept integer with value 0 through 10000 Read/Write Integer OneKeyDelay Unique Id for menu entry. Read Only String(36) ObjectId To simulate abbreviated extensions by using prepended digits for call handlers and user mailboxes. When such digits are defined, they are prepended to any extension that a caller dials while listening to the greeting for the call handler or user mailbox. Possible values: • true • false Default value: false. Read/Write Boolean EnablePrependDigits Digits that are prepended to any extension that a caller dials while listening to the greeting of the user. Read/Write Integer PrependDigits Parameters for caller input keys are present in menu entries URI. For # touchtone key, symbol %23 is used in the URI. Note Read Only String(36) MenuEntriesURI Indicates the phone keypad key to which the settings apply. Read Only String(1) TouchtoneKey A locked menu entry does not allow additional dialing after this choice is entered. Values can be: • false: Unlocked - Additional dialing after this choice is entered is allowed • true: Locked - Additional dialing is ignored Default value: false. Read/Write Boolean Locked Takes values from 0-8. See table for values. Default value: 0 Read/Write Integer Action Menu entries can only belong to call handlers. No other object can own a menu entry. Read Only String(36) CallHandlerObjectId The name of the conversation to which the caller is routed. Read/Write String(36) TargetConversation Cisco Unity Connection Provisioning Interface (CUPI) API 48 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input Explanation of Data Fields

Page 81#

chunk 47

Comments Operations Data Type Parameter The unique identifier of the specific object to send along to the target conversation. Read/Write String(36) TargetHandlerObjectId Extension to which call is transferred. Read/Write Integer TransferNumber Descriptive name of the handler being used. Read/Write String(24) DisplayName The type of call transfer Cisco Unity Connection will perform - supervised or unsupervised (also referred to as "Release to Switch" transfer). Possible Values: • 0: Release to switch • 1: Supervise transfer Default Value: 0 TransferRings Integer Read/Write Applies only when the "TransferType" column is set to supervised (1). This value should never be less than 2 for a supervised transfer. Possible value: 2-20 Default value: 4 Read/Write Integer TransferType Cisco Unity Connection Provisioning Interface (CUPI) API 49 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input Explanation of Data Fields

Page 82#

chunk 48

Cisco Unity Connection Provisioning Interface (CUPI) API 50 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Caller Input Explanation of Data Fields

Page 83#

chunk 49

C H A P T E R 14 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings Links to Other API pages: Cisco_Unity_Connection_APIs • Greetings API, on page 51 Greetings API The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrest/users/<user-objectid> From the above URI, get the call handler object ID: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> The following URI can be used to view the greetings: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings The following URI can be used to view the alternate greeting: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate The following URI can be used to view the busy greeting: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Busy The following URI can be used to view the error greeting: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Error The following URI can be used to view the closed greeting: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Off%20Hours Cisco Unity Connection Provisioning Interface (CUPI) API 51

Image 1 from page 83

Page 84#

chunk 50

The following URI can be used to view the standard greeting: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Standard The following URI can be used to view the holiday greeting: GET https://<connection-server>/vmrest/callhandlers/<CallhandlerObjectId>/greetings/Holiday Updating Fields of Greeting PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate Request Body: Enable greeting <Greeting> <EnableTransfer>true</EnableTransfer> </Greeting> The following is the response from the PUT request to enable greeting and the actual response will depend upon the information given by you: Response Code: 204 Request Body: enable with no end date <Greeting> <EnableTransfer>true</EnableTransfer> <TimeExpires></TimeExpires> </Greeting> The following is the response from the PUT request to enable with no end date and the actual response will depend upon the information given by you: Response Code: 204 Request Body: enable until <Greeting> <EnableTransfer>true</EnableTransfer> <TimeExpires>2014-12-31 05:30:00.000</TimeExpires> </Greeting> The following is the response from the PUT request to enable until and the actual response will depend upon the information given by you: Response Code: 204 Request Body: edit caller hears <Greeting> <PlayWhat>2</PlayWhat> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> </Greeting> Cisco Unity Connection Provisioning Interface (CUPI) API 52 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings Updating Fields of Greeting

Page 85#

chunk 51

The following is the response from the PUT request to edit caller hears and the actual response will depend upon the information given by you: Response Code: 204 Request Body: enable ignore caller inputs <Greeting> <IgnoreDigits>true</IgnoreDigits> </Greeting> The following is the response from the PUT request to enable ignore caller inputs and the actual response will depend upon the information given by you: Response Code: 204 Request Body: enable allow transfers to numbers not associated with users or call handlers <Greeting> <IgnoreDigits>false</IgnoreDigits> <EnableTransfer>true</EnableTransfer> </Greeting> The following is the response from the PUT request to enable allow transfers to numbers not associated with users or call handlers and the actual response will depend upon the information given by you: Response Code: 204 JSON Example PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate Accept: application/json Content-type: application/json Connection: keep-alive { "EnableTransfer":"true","IgnoreDigits":"false" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Operations Data Type Parameter Unique identifier of the directory entry. Read Only String(36) ObjectId The unique identifier of the call handler object to which this greeting rule belongs. Read Only String(36) CallHandlerObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 53 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings Explanation of Data Fields

Page 86#

chunk 52

Comments Operations Data Type Parameter A flag indicating whether Cisco Unity Connection takes action in response to touchtone keys pressed by callers during the greeting. Values can be: • false: Caller input enabled during greeting • true: Caller input ignored during greeting Default Value: false Read/Write Boolean IgnoreDigits The source for the greeting when this greeting is active. Default Value: 0 Default Values can be: • Call handler - 1 (recording) • Subscriber - 0 (system) Read/Write Integer(2) PlayWhat The amount of time (in seconds) that Cisco Unity Connection waits without receiving any input from a caller before Cisco Unity Connection prompts the caller again. Default Value:2 Values can be: • 0: Do wait without receiving caller input and do not replay greeting. • 1 or greater: Wait this number of seconds without receiving any input from the caller before playing the greeting again. Read/Write Integer(2) RepromptDelay The number of times to reprompt a caller. After the number of times indicated here, Cisco Unity Connection performs the after-greeting action. Default Value: 0 Values can be: • 0: Do not reprompt - Cisco Unity Connection will play the greeting once and then the after-greeting action is taken. • 1 or greater: Number of times to reprompt. Read/Write Integer(2) Reprompts The date and time when the greeting rule expires. The greeting rule is considered not expired (enabled), if the value is NULL or a future date. The greeting rule is considered expired (disabled), the value is in the past. Read/Write Data Time(8) TimeExpires The type of greeting, e.g. "Standard," "Off Hours," "Busy," etc. Read Only String(12) GreetingType Cisco Unity Connection Provisioning Interface (CUPI) API 54 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings Explanation of Data Fields

Page 87#

chunk 53

Comments Operations Data Type Parameter AfterMessageAction can only accept integer with value 1, 2, 4, 6, 8 Values can be: • 1: Hang up • 2. for other actions with object id (call handler, interview handler, directory handler) • 4. Take Message • 6. Restart greeting • 8: Route from next call routing rule. Read/Write Integer(2) AfterGreetingAction The unique identifier of the CallAction object that determines what action Cisco Unity Connection will take on the call after the greeting is played. Read/Write String(36) AfterGreetingActionObjectId The name of the conversation to which the caller is routed. Read/Write String(64) AfterGreetingTargetConverstion The unique identifier of the specific object to send along to the target conversation. Read/Write String(36) AfterGreetingTargetHandlerObjectId A flag indicating whether the "Record your message at the tone…" prompt prior to recording a message. Values can be: • 0: System will not play the "Record your message at the tone…" prompt prior to recording a message. • 1: System will play the "Record your message at the tone…" prompt prior to recording a message. Default Value: 1 Read/Write Integer(2) PlayRecordMessagePrompt Cisco Unity Connection Provisioning Interface (CUPI) API 55 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings Explanation of Data Fields

Page 88#

chunk 54

Comments Operations Data Type Parameter A flag indicating when an extension is dialed at the greeting and the extension is not available whether to transfer to another extension. Default value: 0 Values can be: • 0: User cannot be transferred to another extension. • 1: User can "be transferred to another extension." Greeting Type • 1.Alternate - can be used for a variety of special situations, such as vacations, leave of absence, or a holiday. An alternate greeting overrides all other greetings. • 2.Busy - plays when the extension is busy. A busy greeting overrides the standard, off hours, and internal greetings. • 3.Error - plays when a caller attempts to dial an extension that does not exist on the system during a greeting. • 4.Internal - plays to internal callers only. An internal greeting overrides the standard and off hours greetings. • 5.Off hours - plays during the closed (nonbusiness) hours defined for the active schedule. An off hours greeting overrides the standard greeting, and thus limits the standard greeting to the open hours defined for the active schedule. • 6.Standard - plays at all times unless overridden by another greeting. You cannot disable the standard greeting. • 7.Holiday - plays when holiday schedule is encountered unless overridden by an alternate greeting. Read/Write Boolean EnableTransfer Cisco Unity Connection Provisioning Interface (CUPI) API 56 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Greetings Explanation of Data Fields

Page 89#

chunk 55

C H A P T E R 15 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API Links to Other API pages: Cisco_Unity_Connection_APIs • Mailbox API, on page 57 • Listing the Mailbox Details of a User, on page 57 • Updating Mailbox Quota, on page 58 • Explanation of Data Fields, on page 59 Mailbox API To get object ID for message aging policy, use URI GET https://<connection server>/vmrest/messageagingpolicies GET https://<connection server>/vmrest/users/<userobjectid>/mailboxattributes Listing the Mailbox Details of a User GET https://<connection-server>/vmrest/users/<userobjectid>/mailboxattributes The following is the response from the GET request and the actual response will depend upon the information given by you: <MailboxAttributes> <ByteSize>0</ByteSize> <MessageAgingPolicyObjectId>efb2f81f-32c5-4ed6-ba6b-d85260012d5c</MessageAgingPolicyObjectId> <Mounted>true</Mounted> <NotificationType>0</NotificationType> <SendReadReceipts>false</SendReadReceipts> <NumMessages>0</NumMessages> <Send>1024</Send> <Receive>1024</Receive> <Warn>1024</Warn> </MailboxAttributes> Cisco Unity Connection Provisioning Interface (CUPI) API 57

Image 1 from page 89

Page 90#

chunk 56

Response Code: 200 JSON Example GET https://<connection-server>/vmrest/users/<userobjectid>/mailboxattributes Accept: application/json Connection: keep-alive The following is the response from the GET request and the actual response will depend upon the information given by you: { "ByteSize":"0", "MessageAgingPolicyObjectId":"efb2f81f-32c5-4ed6-ba6b-d85260012d5c", "Mounted": "true", "NotificationType":"0", "SendReadReceipts":"false", "NumMessages":"0", "ReceiveQuota":"1024", "SendQuota":"1024", "WarningQuota":"1024" } Response Code: 200 Updating Mailbox Quota Request Body: for use system settings <UserTemplate> <ReceiveQuota>-2</ReceiveQuota> <SendQuota>-2</SendQuota> <WarningQuota>-2</WarningQuota> </UserTemplate> The following is the response from the PUT request for use system settings and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for custom system maximum settings <UserTemplate> <ReceiveQuota>-1</ReceiveQuota> <SendQuota>-1</SendQuota> <WarningQuota>-1</WarningQuota> </UserTemplate> The following is the response from the PUT request for custom system maximum settings and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for custom settings Cisco Unity Connection Provisioning Interface (CUPI) API 58 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API Updating Mailbox Quota

Page 91#

chunk 57

<UserTemplate> <ReceiveQuota>1048576</ReceiveQuota> <SendQuota>1048576</SendQuota> <WarningQuota>1048576</WarningQuota> </UserTemplate> The following is the response from the PUT request for custom settings and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To change mailbox quota, do the following: PUT https://<connection-server>/vmrest/users/<userobjectid>/mailboxattributes Accept: application/json Content-type: application/json Connection: keep-alive { "ReceiveQuota":"104345", "SendQuota":"104345", "WarningQuota":"104345" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Above all values are in bytes and in Cisco Unity Connection Administration, it takes values in MB. Note Explanation of Data Fields Description Operation Data Types Field Name Send limit mailbox size (in bytes). (Max:2048 MB) Possible values: • 2: The default system quota is assigned. • 1: The quota is unlimited. 1- n : Limit in bytes which is integral multiple of 1024 bytes. Read/Write Integer Send Cisco Unity Connection Provisioning Interface (CUPI) API 59 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API Explanation of Data Fields

Image 1 from page 91

Page 92#

chunk 58

Description Operation Data Types Field Name Warning limit mailbox size (in bytes). Maximum size can be 2048 MB. Possible values: • 2: The default system quota is assigned. • 1: The quota is unlimited. 1- n : Limit in bytes which is integral multiple of 1024 bytes. Read/Write Integer Warning Receive limit mailbox size (in bytes). Maximum size can be 2048 MB. Possible values: • 2: The default system quota is assigned. • 1: The quota is unlimited. • 1- n : Limit in bytes. which is integral multiple of 1024 bytes Read/Write Integer Receive A flag indicating whether the mailbox created with this subscriber allows the system to send read receipts on its behalf. Possible values: • false: Disable • true: Enable Default value: false Read/Write Boolean SendReadReceipts The total size, in bytes, of all voice messages for the current user. Read Only Integer ByteSize A flag indicating whether the mailbox store is mounted. Possible value: • false: unMounted • true: Mounted Default value: true Read Only Boolean Mounted The notification type to use for this mailbox created Possible value: • false: Classical - marking a message unread, read and back to unread will turn the notification (mwi) on, off and back on. • true: Modern - once a message has been touched (read) then it will not trigger notifications each time the message is marked unread and read again. Default Value: false Read/Write Integer NotificationType The total number of new messages, read messages, and messages that have been marked deleted Read Only Integer NumMessages Cisco Unity Connection Provisioning Interface (CUPI) API 60 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API Explanation of Data Fields

Page 93#

chunk 59

Description Operation Data Types Field Name Object ID of a message aging policy Read/Write String (36) MessageAgingPolicyObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 61 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API Explanation of Data Fields

Page 94#

chunk 60

Cisco Unity Connection Provisioning Interface (CUPI) API 62 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Mailbox API Explanation of Data Fields

Page 95#

chunk 61

C H A P T E R 16 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Actions API Links to Other API pages: Cisco_Unity_Connection_APIs • Message Actions API, on page 63 Message Actions API Listing Message Actions First hit the URI: GET https://<connection-server>/vmrest/users/<user-objectid> Then, fetch the following URI from the response body: https://<connection-server>/vmrest/users/<user-objectid>/messagehandlers/<object Id> The following is the response from the GET request and the actual response will depend upon the information given by you: <MessageHandler> <URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/messagehandlers/583722c8-e93b-42f0-8052-b75aa1ededb8</URI> <ObjectId>583722c8-e93b-42f0-8052-b75aa1ededb8</ObjectId> <SubscriberObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</SubscriberObjectId> <UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI> <RelayAddress>Texoma@cisco.com</RelayAddress> <VoicemailAction>2</VoicemailAction> <EmailAction>2</EmailAction> <FaxAction>2</FaxAction> <DeliveryReceiptAction>1</DeliveryReceiptAction> </MessageHandler> Response Code: 200 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 63

Image 1 from page 95

Page 96#

chunk 62

GET https://<connection-server>/vmrest/users/<objectid>/messagehandlers/<object Id> Accept: application/json Connection: keep-alive The following is the response from the GET request and the actual response will depend upon the information given by you: Response Body: { "URI":"/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/messagehandlers/583722c8-e93b-42f0-8052-b75aa1ededb8" "ObjectId":"583722c8-e93b-42f0-8052-b75aa1ededb8" "SubscriberObjectId":"9375d893-c8eb-437b-90bf-7de4b1d0c3e8" "UserURI":"/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8" "RelayAddress":Texoma@cisco.com "VoicemailAction":"2" "EmailAction":"2" "FaxAction":"2" "DeliveryReceiptAction":"1" } Response Code: 200 Update Message Actions First hit the URI: https://<connection-server>/vmrest/users/<user-objectid> Then fetch the following URI from the response body: https://<connection-server>/vmrest/users/<user-objectid>/messagehandlers/<object Id> <MessageHandler> <VoicemailAction>2</VoicemailAction> <EmailAction>2</EmailAction> <FaxAction>2</FaxAction> <DeliveryReceiptAction>1</DeliveryReceiptAction> <RelayAddress>cguii@10.com</RelayAddress> </MessageHandler> Response code: 204 JSON Example PUT https://<connection-server>/vmrest/users/<objectid>/messagehandlers/<object Id> Accept: application/json Content-type: application/json Connection: keep-alive { "EmailAction":"2", "FaxAction":"2", "DeliveryReceiptAction":"1", "RelayAddress":"john@cisco.com" } Cisco Unity Connection Provisioning Interface (CUPI) API 64 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Actions API Update Message Actions

Page 97#

chunk 63

Response code: 204 Explanation of Data Fields Description Operations Data Type Parameter The action to take for delivery receipt messages. Possible values are given just below the table. Default value: 1 Read/Write Integer DeliveryReceiptAction The action to take for email messages. Possible values are given just below the table. Default value: 1 Read/Write Integer EmailAction The action to take for fax messages. Possible values are given just below the table. Default value: 1 Read/Write Integer FaxAction The primary key for this table. A globally unique system-generated identifier for a MessageHandler object Read Only String(36) ObjectId The SMTP address to which messages should be relayed Read/Write String(320) RelayAddress The unique identifier of the Subscriber object to which this message handler belongs. Read Only String(36) SubscriberObjectId The action to take for voicemail messages. Possible values are given just below the table. Default value: 1 Read/Write Integer VoicemailAction Email Action, Fax Action, Delivery Receipt Action, and Voicemail Action can take the following values: • 0 - Reject the message • 1 - Accept the message • 2 - Relay the message • 3 - Accept and relay the message Cisco Unity Connection Provisioning Interface (CUPI) API 65 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Actions API Explanation of Data Fields

Page 98#

chunk 64

Cisco Unity Connection Provisioning Interface (CUPI) API 66 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Actions API Explanation of Data Fields

Page 99#

chunk 65

C H A P T E R 17 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Links to Other API pages: Cisco_Unity_Connection_APIs • Message Settings API, on page 67 Message Settings API Administrator can use this API to create and update the message settings. All the parameters for message settings are present in call handler. GET https://<connection-server>/vmrest/users/<user-objectid> From the above URI get the call handler URI: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> Please Find below the combination of values to select language for a call handler: URI for timezone: https://<connection-server>/vmrest/timezones. URI for installed Languages: https://<connection-server>/vmrest/installedlanguages. URI to get all language codes supported: https://<connection-server>/vmrest/languagemap. Language UseDefaultLanguage UseCallLanguage NULL/LanguageCode true false Use System Default Language NULL/LanguageCode true/false true Inherit Language from Caller Language Code false false Particular Language Cisco Unity Connection Provisioning Interface (CUPI) API 67

Image 1 from page 99

Page 100#

chunk 66

Listing Message Settings GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 68 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Listing Message Settings

Page 101#

chunk 67

<Callhandler> <URI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</URI> <CreationTime>2013-03-05T11:24:33Z</CreationTime> <Language>1033</Language> <Undeletable>false</Undeletable> <LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI> <EditMsg>true</EditMsg> <IsPrimary>true</IsPrimary> <OneKeyDelay>1500</OneKeyDelay> <ScheduleSetObjectId>b8a03d12-d425-4cdb-ba36-88e64bf16432</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/b8a03d12-d425-4cdb-ba36-88e64bf16432</ScheduleSetURI> <SendUrgentMsg>1</SendUrgentMsg> <MaxMsgLen>300</MaxMsgLen> <IsTemplate>false</IsTemplate> <ObjectId>287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</ObjectId> <RecipientSubscriberObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</RecipientSubscriberObjectId> <RecipientUserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</RecipientUserURI> <DisplayName>chhaviiiiiii</DisplayName> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>SubSysTransfer</AfterMessageTargetConversation> <TimeZone>190</TimeZone> <UseDefaultLanguage>false</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI> <UseCallLanguage>false</UseCallLanguage> <SendSecureMsg>true</SendSecureMsg> <EnablePrependDigits>false</EnablePrependDigits> <DispatchDelivery>false</DispatchDelivery> <CallSearchSpaceObjectId>4398317e-3f78-425c-aad8-22d9f818b3dd</CallSearchSpaceObjectId> <CallSearchSpaceURI>/vmrest/searchspaces/4398317e-3f78-425c-aad8-22d9f818b3dd</CallSearchSpaceURI> <InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI> <PlayPostGreetingRecording>0</PlayPostGreetingRecording> <PostGreetingRecordingObjectId>cc9de0b0-ddfd-479f-9cc1-b3ee14cba6d0</PostGreetingRecordingObjectId> <SendPrivateMsg>1</SendPrivateMsg> <PlayAfterMessage>1</PlayAfterMessage> <GreetingsURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/greetings</GreetingsURI> <TransferOptionsURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/transferoptions</TransferOptionsURI> <MenuEntriesURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/menuentries</MenuEntriesURI> <CallHandlerOwnerURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842/callhandlerowners </CallHandlerOwnerURI> </Callhandler> Cisco Unity Connection Provisioning Interface (CUPI) API 69 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Listing Message Settings

Page 102#

chunk 68

Response Code: 200 JSON Example GET https://<connection-server>/vmrest/handlers/callhandlers/<CallHandlerObjectId> Accept: application/json Connection: keep-alive Response Code: 200 Updating Message Settings The following is an example of the PUT request that updates message settings: PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> <Callhandler> <EditMsg>true</EditMsg> <MaxMsgLen>1000</MaxMsgLen> <AfterMessageAction>1</AfterMessageAction> <SendUrgentMsg>2</SendUrgentMsg> <UseCallLanguage>false</UseCallLanguage> <SendSecureMsg>false</SendSecureMsg <SendPrivateMsg>1</SendPrivateMsg> <PlayAfterMessage>2</PlayAfterMessage> </Callhandler> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> Accept: application/json Content-type: application/json Connection: keep-alive { "AfterMessageAction":"2", "AfterMessageTargetConversation":"SystemTransfer" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response code: 204 Updating after Message Actions Example 1: Call Handler PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 70 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Updating Message Settings

Page 103#

chunk 69

<Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation> <AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId> </Callhandler> The following is an example of the GET request that shows the call handler object ID: GET https://<connection-server>/vmrest/handlers/callhandlers The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Interview Handler <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId> <AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId> </Callhandler> The following is an example of the GET request that shows the interview handler template object ID: GET https://<connection-server>/vmrest/handlers/interviewhandlers The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 3: Directory Handler <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>AD</AfterMessageTargetConversation> <AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId> </Callhandler> The following is an example of the GET request that shows the interview handler template object ID: GET https://<connection-server>/vmrest/handlers/directoryhandlers The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 4: Conversation Request Body: for broadcast message administrator Cisco Unity Connection Provisioning Interface (CUPI) API 71 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Updating after Message Actions

Page 104#

chunk 70

<Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>BroadcastMessageAdministrator</AfterMessageTargetConversation> </Callhandler> The following is the response from the PUT request for broadcast message administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for caller system transfer <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>SystemTransfer</AfterMessageTargetConversation> </Callhandler> The following is the response from the PUT request for caller system transfer and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for greeting administrator <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>GreetingAdministrator</AfterMessageTargetConversation> </Callhandler> The following is the response from the PUT request for greeting administrator and the actual response will depend upon the information given by you: Response Code: 204 For sign in <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>SubSignIn</AfterMessageTargetConversation> </Callhandler> The following is the response from the PUT request for sign in and the actual response will depend upon the information given by you: Response Code: 204 For system transfer: Request Body: <CallhandlerPrimaryTemplate> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>SubSysTransfer</AfterMessageTargetConversation> </CallhandlerPrimaryTemplate> The following is the response from the PUT request for user system transfer and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 72 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Updating after Message Actions

Page 105#

chunk 71

Response Code: 204 JSON Example PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "AfterMessageAction":"2", "AfterMessageTargetConversation":"SystemTransfer" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Operations Data Type Parameter The maximum recording length (in seconds) for messages left by unidentified callers. Default value : 300 Range: 1-3600 Read/Write Integer MaxMsgLen Allows callers to be prompted to listen to, add to, rerecord, or delete their messages. Values can be: • false: Callers cannot edit messages • true: Callers can edit messages Default value: true Read/Write Boolean EditMsg Values can be: • false: The language is the default language defined for the call handler template. • true: The language is derived from the location to which this call handler template belongs. Default value: true Read/Write Boolean UseDefaultLanguage This flag allows that language to be the language used by handlers in the system to play prompts for users. Values can be: • false: Do not use the language specified by the system call routing rule to play prompts for users • true: Use the language specified by the system call routing rule to play prompts for users Default value: false Read/Write Boolean UseCallLanguage Cisco Unity Connection Provisioning Interface (CUPI) API 73 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Explanation of Data Fields

Page 106#

chunk 72

Comments Operations Data Type Parameter A flag indicating whether an unidentified caller can mark a message as "urgent." Values can be: • 0: Never - messages left by unidentified calls are never marked urgent. • 1: Always - all messages left by unidentified callers are marked urgent. • 2: Ask - Cisco Unity Connection asks unidentified callers whether to mark their messages urgent. Default Value: 0 Read/Write Integer SendUrgentMsg Determines if an outside caller can mark their message as private. Values can be: • 0: Never - No messages are marked private. • 1: Always - All messages are marked private. • 2: Ask - Ask the outside caller if they wish to mark the message as private. Default Value: 0 Read/Write Integer SendPrivateMsg A flag indicating whether an unidentified caller can mark a message as "secure." Values can be: • false: Never - messages left by unidentified calls are never marked secure. • true: Always - all messages left by unidentified callers are marked secure. Default Value: false Read/Write Boolean SendSecureMsg Indicates whether the Sent Message Prompt Recording referenced by Post Greeting Values can be: • 0: Do not play recording • 1: System default recording • 2: Play recording Default value: 0 Read/Write Integer PlayAfterMessage Cisco Unity Connection Provisioning Interface (CUPI) API 74 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Explanation of Data Fields

Page 107#

chunk 73

Comments Operations Data Type Parameter AfterMessageAction can only accept integer with the following values: • 0: Ignore • 1: Hang up • 2: Goto • 3: Error • 4: TakeMsg • 5: SkipGreeting • 6: RestartGreeting • 7: TransferAltContact • 8: Route from next call routing rule. Read/Write Integer AfterMessageAction The unique identifier of the specific object to send along to the target conversation. Read/Write String(36) AfterMessageTargetHandlerObjectId The name of the conversation to which the caller is routed. Read/Write String(64) AfterMessageTargetConversation The Windows Locale ID (LCID) that identifies the language that Cisco Unity Connection plays for system prompts Read/Write Integer Language • Cisco Unity Connection Provisioning Interface (CUPI) API 75 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Explanation of Data Fields

Page 108#

chunk 74

Cisco Unity Connection Provisioning Interface (CUPI) API 76 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Settings API Explanation of Data Fields

Page 109#

chunk 75

C H A P T E R 18 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators Links to Other API pages: Cisco_Unity_Connection_APIs • Message Waiting Indicator (MWI) Settings API, on page 77 Message Waiting Indicator (MWI) Settings API Listing All MWIs GET https://<connection-server>/vmrest/users/<user-objectid>/mwis The following is the response from the above GET request and the actual response will depend upon the information given by you: <Mwis total="1"> <Mwi> <URI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/mwis/2c07a9ca-c041-4dfa-b0d1-7f633883a1b7</URI> <SubscriberObjectId>4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</SubscriberObjectId> <UserURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</UserURI> <ObjectId>2c07a9ca-c041-4dfa-b0d1-7f633883a1b7</ObjectId> <DisplayName>MWI-1</DisplayName> <MwiExtension>99999</MwiExtension> <MwiOn>false</MwiOn> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI> <IncludeTextMessages>false</IncludeTextMessages> <IncludeVoiceMessages>true</IncludeVoiceMessages> <IncludeFaxMessages>false</IncludeFaxMessages> <Active>true</Active> <UsePrimaryExtension>true</UsePrimaryExtension> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> </Mwi> </Mwis> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 77

Image 1 from page 109

Page 110#

chunk 76

Listing Details of a Specific MWI GET https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: <Mwi> <URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/mwis/1a231793-7168-44aa-8657-aa40eda67481</URI> <SubscriberObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</SubscriberObjectId> <UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI> <ObjectId>1a231793-7168-44aa-8657-aa40eda67481</ObjectId> <DisplayName>MWI</DisplayName> <MwiExtension>99934</MwiExtension> <MwiOn>false</MwiOn> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI> <IncludeTextMessages>false</IncludeTextMessages> <IncludeVoiceMessages>true</IncludeVoiceMessages> <IncludeFaxMessages>false</IncludeFaxMessages> <Active>true</Active> <UsePrimaryExtension>true</UsePrimaryExtension> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> </Mwi> Response Code: 200 JSON Example GET https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid> Accept: application/json Connection: keep-alive { "URI":"/vmrest/users/53c84cf9-c8fe-4dd5-a295-b648b72b5a2c/mwis/810ce62e-eeec-4f47-85bd-68c69a7bca66" "SubscriberObjectId":"53c84cf9-c8fe-4dd5-a295-b648b72b5a2c" "UserURI":"/vmrest/users/53c84cf9-c8fe-4dd5-a295-b648b72b5a2c" "ObjectId":"810ce62e-eeec-4f47-85bd-68c69a7bca66" "DisplayName":"MWI-1" "MwiExtension":"99999" "MwiOn":"false" "MediaSwitchObjectId":"e912b134-1bd0-45f9-baae-9f1e096ae3b9" "PhoneSystemURI":"/vmrest/phonesystems/e912b134-1bd0-45f9-baae-9f1e096ae3b9" "IncludeTextMessages":"false" "IncludeVoiceMessages":"true" "IncludeFaxMessages":"false" "Active":"true" "UsePrimaryExtension":"true" "MediaSwitchDisplayName":"PhoneSystem" } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 78 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators Listing Details of a Specific MWI

Page 111#

chunk 77

Create a New MWI The mandatory fields for creation of a MWI are DisplayName, MediaSwitchObjectId, and MWIExtension. URI for getting MediaswitchObjectId: GET https://<connection-server>/vmrest/phonesystems POST https://<connection-server>/vmrest/users/<user-objectid>/mwis <Mwi> <DisplayName>MWI-1</DisplayName> <MwiExtension>9997</MwiExtension> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> </Mwi> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/f82b301d-1ec8-44c6-a3ee-0012269439bf/mwis/a9159ac7-3857-480c-917d-0c599a32fc03 JSON Example: To create MWI POST https://<connection-server>/vmrest/users/<user-objectid>/mwis Accept: application/json Content-type: application/json Connection: keep-alive Request Body:- { "DisplayName":"MWI-1", "MwiExtension":9997", "MediaSwitchObjectId":"ec1e2636-fc14-44fc-8cda-d6c1a3d61150" } Response Code: 201 /vmrest/users/f82b301d-1ec8-44c6-a3ee-0012269439bf/mwis/a9159ac7-3857-480c-917d-0c599a32fc03 Update a MWI PUT https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid> <Mwi> <Active>true</Active> <DisplayName>MWI</DisplayName> <MwiExtension>9997</MwiExtension> <MwiOn>false</MwiOn> <UsePrimaryExtension>true</UsePrimaryExtension> </Mwi> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 79 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators Create a New MWI

Page 112#

chunk 78

JSON Example: To Update MWI PUT https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid> Accept: application/json Content-type: application/json Connection: keep-alive Response Body: { "DisplayName":"NEW_MWI", "UsePrimaryExtension":true" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Delete a MWI DELETE https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example DELETE https://<connection-server>/vmrest/users/<user-objectid>/mwis/<mwi-objectid> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Description Operations Data Type Field Name Flag indicate whether MWI is enabled or not. Possible values: • true means that it is active and the MWI will be turned on/off by the notifier. • false Default value: false (except the default MWI) Read/Write Boolean Active Cisco Unity Connection Provisioning Interface (CUPI) API 80 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators Delete a MWI

Page 113#

chunk 79

Description Operations Data Type Field Name The unique text name of this notification MWI to be used when displaying entries in the administrative console, e.g. Cisco Unity Connection Administration. For example, "Office Phone" or " Lab Phone". Read/Write String(64) Display Name The phone number (extension) of the MWI to activate.NULL means use the subscriber's extension. Read/Write String MwiExtension The unique identifier of the MediaSwitch object to use for activating/deactivating the MWI. Read/Write String(36) MediaSwitchObjectId A flag indicating whether the MWI is on or off. This is the state of the MWI from the perspective of Cisco Unity Connection. Possible values: • false: MWI is off • true: MWI is on Default value: false Read/Write Boolean MwiOn A flag indicating that the primary extension of the subscriber should be used. • true: Use Inherit Extension • false: Do not use Inherit Extension Default value: false (but its true for default MWI) Read/Write Boolean UsePrimaryExtension A flag indicating whether the MWI should be set for a text message. Possible values: • false: Do not set MWI for text message. • true: Set MWI for text message. Default value: false Read/Write Boolean IncludeTextMessages A flag indicating whether the MWI should be set for a voice message. Possible values: false: Do not set MWI for voice message. true: Set MWI for voice message. Default Value: true Read/Write Boolean IncludeVoiceMessages A flag indicating whether the MWI should be set for a FAX message. Possible values: • false: Do not set MWI for fax message. • true: Set MWI for fax message. Default value: false Read/Write Boolean IncludeFaxMessages Name of phone system associated with the user. Read/Write String MediaSwitchDisplayName Cisco Unity Connection Provisioning Interface (CUPI) API 81 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators Explanation of Data Fields

Page 114#

chunk 80

Description Operations Data Type Field Name A globally unique, system-generated identifier for a MWI object. Read Only String(36) ObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 82 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Message Waiting Indicators Explanation of Data Fields

Page 115#

chunk 81

C H A P T E R 19 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Links to Other API pages: Cisco_Unity_Connection_APIs • User Notification Devices API, on page 83 User Notification Devices API The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrest/users/<user-object> From the above URI, get the notification devices object ID: GET https://<connection-server>/vmrest/users/<user-objectid>/usernotificationdevices Pager PUT:https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/pagerdevices/<pagerobjectid> <PagerDevice> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RetriesToWait>10</RetriesToWait> <BusyRetryInterval>5</BusyRetryInterval> <RnaRetryInterval>15</RnaRetryInterval> </PagerDevice> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 83

Image 1 from page 115

Page 116#

chunk 82

PUT https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/pagerdevices/<pagerobjectid> Accept: application/json Content-type: application/json Connection: keep-alive { "FailDeviceObjectId":"c5ce04c1-e76e-4075-97f9-471ac49b7e85" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 To activate notification device <PhoneNumber> parameter is mandatory and <RepeatInterval > parameter is mandatory to enable repeat notify. The provided values can be changed and possible values are given in the Explanation of Fields: Pager and Phone table. Note Listing Pager Device JSON Example To view pager devices, do the following: GET https://<connection-server>/vmrest/users/<users>/<user-objectid>/notificationdevices/pagerdevices/<pagerobjectId> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 84 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Listing Pager Device

Image 1 from page 116

Page 117#

chunk 83

{ URI":"/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/notificationdevices/pagerdevices/6215dce7-cf4a-469a-8722-035b6228ba3d" "TransmitForcedAuthorizationCode":"false" "AfterDialDigits":"" "BusyRetryInterval":"5" "DialDelay":"1" "PhoneNumber":"123" "RetriesOnBusy":"10" "RetriesOnRna":"10" "RingsToWait":"10" "RnaRetryInterval":"1" "SendCount":"false" "WaitConnect":"false" "MediaSwitchObjectId":"7b092808-d815-4c0b-a10d-d02d3f5090b8" "PhoneSystemURI":"/vmrest/phonesystems/7b092808-d815-4c0b-a10d-d02d3f5090b8" "ObjectId":"6215dce7-cf4a-469a-8722-035b6228ba3d" "Active":"false" "DeviceName":"Pager" "DisplayName":"Pager" "MaxBody":"512" "MaxSubject":"64" "SubscriberObjectId":"9375d893-c8eb-437b-90bf-7de4b1d0c3e8" "UserURI":"/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8" "SendCallerId":"false" "Undeletable":"true" "SuccessRetryInterval":"1" "RetriesOnSuccess":"0" "EventList":"NewUrgentFaxUrgentDispatchMessage" "ScheduleSetObjectId":"1f360ab8-076e-4cb5-bfde-ef7d3805f037"InitialDelay":"12" "VoiceMessage":"false" "UrgentOnly":"false" "RepeatInterval":"1" "RepeatNotify":"true", "FailDeviceObjectId":"c5ce04c1-e76e-4075-97f9-471ac49b7e85" } Response Code: 200 Create Pager Device The mandatory parameters are: PhoneNumber, DisplayName, and MediaSwitchObjectId. POST: https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/pagerdevices <PagerDevice> <PhoneNumber>12334</PhoneNumber> <DisplayName>Newpager</DisplayName> <MediaSwitchObjectId>8adf6869-4afc-4455-9fd5-d05b68ca6630</MediaSwitchObjectId> </PagerDevice> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 85 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Create Pager Device

Page 118#

chunk 84

POST https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/pagerdevices Accept: application/json Content-type: application/json Connection: keep-alive { "DisplayName":"New Pager", "PhoneNumber":"1234", "MediaSwitchObjectId":"ae63574f-2aaf-4c28-8973-bfa8e3b1dd1c" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/<user-objectid>/notificationdevices/pagerdevices/84e72420-615e-4d94-b1df-f1317906cce3 The phone system ID is mandatory to create pager device. URI to get ID for phone system: https://<connection-server>/vmrest/phonesystems Phone Devices GET https://<connection-server>/vmrest/users/<user-objectid> From above URI get notification devices URI: https://<connection-server>/vmrest/users/<user-objectid>/usernotificationdevices Listing Phone Device GET:https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: Response code: 200 JSON Example GET https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid> Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 86 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Phone Devices

Page 119#

chunk 85

Create Phone Device The mandatory fields are DisplayName, PhoneNumber, and MediaSwitchObjectId. POST https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices <PhoneDevice> <DisplayName>Work Phone1</DisplayName> <PhoneNumber>123</PhoneNumber> <MediaSwitchObjectId>ae63574f-2aaf-4c28-8973-bfa8e3b1dd1c</MediaSwitchObjectId> </PhoneDevice> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 JSON Example POST https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices Accept: application/json Content-type: application/json Connection: keep-alive { "DisplayName":"Work Phone1", "PhoneNumber":"123", "MediaSwitchObjectId":"ae63574f-2aaf-4c28-8973-bfa8e3b1dd1c" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 URI to get ID for phone system: https://<connection-server>/vmrest/phonesystems Update Phone Device PUT:https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid> <PhoneDevice> <RetriesOnBusy>10</RetriesOnBusy> <RetriesOnRna>10</RetriesOnRna> <RingsToWait>10</RingsToWait> <RnaRetryInterval>1</RnaRetryInterval> </PhoneDevice> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 87 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Create Phone Device

Page 120#

chunk 86

To activate notification device, the <PhoneNumber> parameter is mandatory. The <RepeatInterval> parameter is mandatory to enable repeat notify. The phone devices are of 3 types: Work phone, Home phone, and Mobile phone. You have to provide phone device object id to edit any of the 3 devices. JSON Example PUT https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid> Accept: application/json Content-type: application/json Connection: keep-alive { "FailDeviceObjectId":"c5ce04c1-e76e-4075-97f9-471ac49b7e85" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response code: 204 Delete Phone Device DELETE https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response code: 204 JSON Example DELETE https://<connection-server>/vmrest/users/<user-objectid>/notificationdevices/phonedevices/<phone_objectid> Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 SMTP Device Listing SMTP Device GET:https://<Connection-server>/vmrest/user/notificationdevices/smtpdevices The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 88 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Delete Phone Device

Page 121#

chunk 87

Response code: 200 JSON Example GET https://<connection-server>/vmrest/user/notificationdevices/smtpdevices Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/user/notificationdevices/smtpdevices/eb4dbeae-ec87-417c-8cc0-d4ac3ab04942", "SendCount": "true", "SmtpAddress": "John@cisco.com", "StaticText": [], "ObjectId": "eb4dbeae-ec87-417c-8cc0-d4ac3ab04942", "Active": "false", "DeviceName": "SMTP", "DisplayName": "SMTP", "MaxBody": "512", "MaxSubject": "64", "SubscriberObjectId": "104b8800-554e-47cd-9fe7-ee16c79ce4d2", "SendCallerId": "true", "SendPcaLink": "false", "Undeletable": "true", "HeaderText": "Texoma_Header", "FooterText": "Texoma_Footer" } Response Code: 200 Update SMTP Device GET:https://<Connection-server>/vmrest/user/notificationdevices/smtpdevices/<smtpDeviceObjectId> The following is the response from the above GET request and the actual response will depend upon the information given by you: Response code: 204 <SmtpDevice> <SmtpAddress>John@cisco.com</SmtpAddress> <HeaderText>Texoma_Header</HeaderText> <FooterText>Texoma_Footer</FooterText> </SmtpDevice> JSON Example PUT https://<connection-server>/vmrest/user/notificationdevices/smtpdevices/<smtpDeviceObjectId> Accept: application/json Content-type: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 89 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Update SMTP Device

Page 122#

chunk 88

{ "SmtpAddress": "John@cisco.com", "HeaderText": "Texoma_Header", "FooterText": "Texoma_Footer" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response code: 204 About HTML Notification Devices (in Cisco Unity Connection 9.0(1) and Later) Cisco Unity Connection Provisioning Interface (CUPI) API allows users to view list of Html Notification Devices, a specific notification device or modify an existing HTML Notification Device. Listing HTML Notification Devices The following is an example of the GET request that lists the HTML notification devices for the users: GET /vmrest/users/notificationdevices/htmldevices The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <HtmlDevices total="3"> <HtmlDevice> <URI>/vmrest/users/5786019c-f962-4b86-8103-a01755b9993c/notificationdevices/htmldevices/d7044a91-b3b5-4e5a-9d08-eca2235660fd</URI> <Active>false</Active> <DeviceName>HTML</DeviceName> <DisableMobileNumberFromPCA>false</DisableMobileNumberFromPCA> <DisplayName>HTML_Missed_Call</DisplayName> <NotificationTemplateID>f37de0e3-c070-4d7e-bb98-5b8b1911ed27</NotificationTemplateID> <ObjectId>d7044a91-b3b5-4e5a-9d08-eca2235660fd</ObjectId> <Undeletable>true</Undeletable> <SubscriberObjectId>5786019c-f962-4b86-8103-a01755b9993c</SubscriberObjectId> <UserURI>/vmrest/users/5786019c-f962-4b86-8103-a01755b9993c</UserURI> <DisableTemplateSelectionFromPCA>false</DisableTemplateSelectionFromPCA> <AllowVoiceMailAsAttachment>false</AllowVoiceMailAsAttachment> <MessageCountInSummary>10</MessageCountInSummary> <EventList>NewMissedCall</EventList> <ScheduleSetObjectId>48993a7c-2732-4217-8abc-893604fa16b6</ScheduleSetObjectId> <SendScheduledNotificationAt/> </HtmlDevice> </HtmlDevices> Listing an HTML Notification Device for Users The following is an example of the GET request that lists a particular html notification device for the end users represented by <deviceid>: GET /vmrest/user/notificationdevices/htmldevices/<deviceid> Cisco Unity Connection Provisioning Interface (CUPI) API 90 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API About HTML Notification Devices (in Cisco Unity Connection 9.0(1) and Later)

Page 123#

chunk 89

The following is the response from the above GET request and the actual result will depend upon the information has been provided by you: <HtmlDevice> <URI>/vmrest/user/notificationdevices/htmldevices/8660c5af-b544-47cc-93eb-93f4923bc03b</URI> <Active>false</Active> <CallbackNumber>1234</CallbackNumber> <DeviceName>HTML</DeviceName> <DisableMobileNumberFromPCA>false</DisableMobileNumberFromPCA> <DisableTemplateSelectionFromPCA>false</DisableTemplateSelectionFromPCA> <DisplayName>HTML</DisplayName> <NotificationTemplateID>75825d74-bf4f-4af3-bf84-6226389a8611 </NotificationTemplateID> <ObjectId>8660c5af-b544-47cc-93eb-93f4923bc03b</ObjectId> <PhoneNumber /> <SmtpAddress /> <Undeletable>true</Undeletable> <SubscriberObjectId>a880bb22-0df1-45aa-893e-895ebf2d3652 </SubscriberObjectId> <UserURI>/vmrest/users</UserURI> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>1fb3df1c-6ff6-4876-996d-59052126f1fa </ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </HtmlDevice> Modifying an HTML Notification Device for Users The following is an example of the PUT request that modifies the HTML notification device for the users as represented by <deviceid>: PUT /vmrest/users/notificationdevices/htmldevices/<deviceid> The input for the PUT request will be XML or JSON as per HtmlDevice schema. The output for this request returns the successful response code. Modifying an HTML Notification Device to Apply HTML Notification Template The following is an example of the PUT request that modifies the HTML notification device as represented by <deviceid>: PUT /vmrest/users/notificationdevices/htmldevices/<deviceobjectid> <HtmlDevice> <NotificationTemplateID>103c4514-db6e-489b-bc08-e9e131b60099</NotificationTemplateID> </HtmlDevice> Configuring an HTML-Based Notification Template with an HTML Notification Device This PUT request allow users to apply an HTML-based notification template with an HTML notification device. The user can perform this action if the template selection rights are given by administrator. The following is an example of PUT request: PUT /vmrest/users/notificationdevices/htmldevices/<deviceobjectid> Cisco Unity Connection Provisioning Interface (CUPI) API 91 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Modifying an HTML Notification Device for Users

Page 124#

chunk 90

This API will modify a particular HTML notification device for the end users as represented by <deviceobjectid>. Configuring Schedule Notification Cisco Unity Connection allows you to receive schedule notification tag in 24 hours format (hh:mm) using <SendScheduledNotificationAt>. You can configure multiple notifications using comma in the separated values. The schedules mentioned in this tag would overwrite all the existing schedules. In order to delete all existing schedules, provide an empty <SendScheduledNotificationAt> tag. Listing Schedule Notification The following is an example of the GET request that lists the HTML notification devices for the users: GET vmrest/users/<user-object-id>/notificationdevices/htmldevices/<device-object-id> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <HtmlDevice> <URI>/vmrest/users/a3ab2df0-f16c-405f-afdf-394495acf000/notificationdevices/htmldevices/856c8ce9-d7dd-4623-888b-8d14874061af</URI> <Active>True</Active> <DeviceName>HTML</DeviceName> <DisplayName>HTMLDevice1</DisplayName> <NotificationTemplateID>3be2bd9e-114b-4103-a724-4e6c908d7c86</NotificationTemplateID> <ObjectId>856c8ce9-d7dd-4623-888b-8d14874061af</ObjectId> <SubscriberObjectId>a3ab2df0-f16c-405f-afdf-394495acf000</SubscriberObjectId> <SendScheduledNotificationAt>10:15,23:00 </SendScheduledNotificationAt> <EventList>NewVoiceMail</EventList> </HtmlDevice> JSON Example GET vmrest/users/<user-object-id>/notificationdevices/htmldevices/<device-object-id>?jsopn=1 { { "URI":"/vmrest/users/707c291f-95d8-4353-9d8c-2439722f4c25/notificationdevices/htmldevices/49d04c39-f899-445c-a939810d66b30e38", "Active":"false", "DeviceName":"HTML", "DisableMobileNumberFromPCA":"false", "DisplayName":"HTML", "ObjectId":"49d04c39-f899-445c-a939-810d66b30e38", "Undeletable":"true", "SubscriberObjectId":"707c291f-95d8-4353-9d8c-2439722f4c25", "UserURI":"/vmrest/users/707c291f-95d8-4353-9d8c2439722f4c25", "DisableTemplateSelectionFromPCA":"false", "AllowVoiceMailAsAttachment":"false", "EventList":"NewVoiceMail", "ScheduleSetObjectId":"a6fec625-58e1-4a2c-8950-829ee307d81a", "SendScheduledNotificationAt":"12:50" } } Cisco Unity Connection Provisioning Interface (CUPI) API 92 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Configuring Schedule Notification

Page 125#

chunk 91

Response Code: 200 OK Modifying Schedule Notification The following is an example of the PUT request that modifies the Schedule notification for the user as represented by <SendScheduledNotificationAt>: PUT vmrest/users/<user-object-id>/notificationdevices/htmldevices/<device-object-id> Response Code: 204 OK <HtmlDevice> <URI>/vmrest/users/a3ab2df0-f16c-405f-afdf-394495acf000/notificationdevices/htmldevices/856c8ce9-d7dd-4623-888b-8d14874061af</URI> <Active>True</Active> <DeviceName>HTML</DeviceName> <DisplayName>HTMLDevice1</DisplayName> <NotificationTemplateID>3be2bd9e-114b-4103-a724-4e6c908d7c86</NotificationTemplateID> <ObjectId>856c8ce9-d7dd-4623-888b-8d14874061af</ObjectId> <SubscriberObjectId>a3ab2df0-f16c-405f-afdf-394495acf000</SubscriberObjectId> <SendScheduledNotificationAt>10:15,23:00 </SendScheduledNotificationAt> <EventList>NewVoiceMail</EventList> </HtmlDevice> JSON Example PUT vmrest/users/<user-object-id>/notificationdevices/htmldevices/<device-object-id>?jsonp=1 { "Active":"false", "DisplayName":"HTML", "NotificationTemplateID":"3be2bd9e-114b-4103-a724-4e6c908d7c86", "EventList":"NewMissedCall", "SendScheduledNotificationAt":"9:00" } Response Code: 204 OK The following is an example of the PUT request that deletes all the existing schedules by representing the <SendScheduledNotificationAt> tag empty: <HtmlDevice> <Active>True</Active> <DisplayName>HTMLDevice1</DisplayName> <NotificationTemplateID>3be2bd9e-114b-4103-a724-4e6c908d7c86</NotificationTemplateID> <ObjectId>856c8ce9-d7dd-4623-888b-8d14874061af</ObjectId> <EventList>None</EventList> <SendScheduledNotificationAt></SendScheduledNotificationAt> </HtmlDevice> Response Code : 204 Ok JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 93 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Modifying Schedule Notification

Page 126#

chunk 92

{ "Active":"false", "DisplayName":"HTML", "NotificationTemplateID":"3be2bd9e-114b-4103-a724-4e6c908d7c86", "EventList":"NewMissedCall", "SendScheduledNotificationAt":"" } Response Code : 204 Ok Explanation of Data Fields Comments Operations Data Type Device Name Device name of HTML notification device. Read Only String(12) Device Name The preferred text name of the notification device to be used when displaying entries in the administrative console, e.g. Cisco Unity Connection Administration. For example, "Home Phone," Pager 2," "Work Phone, " etc. Read Only String(64) Display Name Enable notification device. Values: • true:Enable the device • false:Do not enable the notification device Read Only Boolean Active By default it is NewVoiceMail. Possible values: • All Voice messages: NewVoiceMail • All voice message urgent only: NewUrgentVoiceMail • Dispatch message: DispatchMessage • Dispatch message urgent only: UrgentDispatchMessage • Fax message: NewFax • Fax message urgent only: NewUrgentFax • Calendar Appointments: CalendarAppointment • Calendar Meetings: CalendarMeeting Default value: NewVoiceMail. To keep value of this field blank, enter "None" value for the field. Note Read/Write String EventList SMTP address to be notified. Read Only String(320) SmtpAddress Unique identifier of Notification Device Read Only String(36) ObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 94 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Explanation of Data Fields

Page 127#

chunk 93

Comments Operations Data Type Device Name Disable Outdial Number From Cisco PCA Values: • false:Enable Outdial Number From Cisco PCA (Default value) • True:Disable Outdial Number From Cisco PCA Read Only Boolean DisableMobileNumberFromPCA Outdial Number Read Only Integer CallbackNumber The unique identifier of the Subscriber object to which this notification device belongs. Read Only String(36) SubscriberObjectID The unique identifier of the Schedule Read Only String(36) ScheduleSetObjectId Disable HTML Template selection From Cisco PCA • true:Disable • false:enable Default value is false. Read Only Boolean DisableTemplateSelectionFromPCA A flag indicating whether Cisco Unity Connection will allow notifier to send voice mail recording with the notification. false: Don't Allow notifier to send voice mail recording with the notification true: Allow notifier to send voice mail recording with the notification Default value is false. Read Only Boolean AllowVoiceMailAsAttachement The unique identifier of the Notification Template object which this notification device is using for HTML based notification This URI can be used to fetch NotificationTemplateID https://<Connectio-server>/vmrest/notificationtemplates Read Only String(36) NotificationTemplateID The phone number to dial, including the trunk access code (if any), of the device. Read/Write String PhoneNumber flag indicating whether HTML cannot be deleted or not. Possible values: • true: For default HTML Device • false:For other userdefined HTML Devices Read Only Boolean Undeletable A tag that is use to receive schedule notifications in 24 hours format (hh:mm). You can configure multiple notifications using comma in the separated values. Read/Write Integer SendScheduledNotificationAt Cisco Unity Connection Provisioning Interface (CUPI) API 95 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Explanation of Data Fields

Page 128#

chunk 94

Enum Type Description Value Name System greeting - Cisco Unity Connection plays a prerecorded greeting along with the recorded name of the subscriber (for example, "Sorry, <subscriber name> is not available"). If the subscriber does not have a recorded name, Cisco Unity Connection plays the subscriber extension instead. When a greeting is enabled but not recorded, Cisco Unity Connection plays a prerecorded system greeting. 0 SystemGreeting Recorded greeting - use a personal recording for the call handler (or subscriber). This can be recorded over the phone or from the Cisco Unity Connection Administration and CPCA administrative interfaces on the call handler/subscriber. 1 RecordedGreeting No greeting is played. 2 NoGreeting Cisco Unity Connection Provisioning Interface (CUPI) API 96 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Notification Devices API Enum Type

Page 129#

chunk 95

C H A P T E R 20 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Links to Other API pages:Cisco_Unity_Connection_APIs • Phone Menu API, on page 97 Phone Menu API Listing Phone Menu Fields All the parameters of Phone Menu are present at the URI: GET https://<connection-server>/vmrest/users/<user-objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 97

Image 1 from page 129

Page 130#

chunk 96

<User> <URI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</URI> <ObjectId>4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <Alias>undeliverablemessagesmailbox</Alias> <DisplayName>Undeliverable Messages</DisplayName> <TimeZone>190</TimeZone> <CreationTime>2013-03-05T10:54:38Z</CreationTime> <IsTemplate>false</IsTemplate> <CosObjectId>610c9c71-32be-4465-b61a-523f24a9d828</CosObjectId> <CosURI>/vmrest/coses/610c9c71-32be-4465-b61a-523f24a9d828</CosURI> <Language>1033</Language> <LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI> <AddressMode>0</AddressMode> <ClockMode>0</ClockMode> <ConversationTui>SubMenu</ConversationTui> <GreetByName>true</GreetByName> <ListInDirectory>false</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <SayCopiedNames>true</SayCopiedNames> <SayDistributionList>true</SayDistributionList> <SayMsgNumber>true</SayMsgNumber> <SaySender>true</SaySender> <SayTimestampAfter>true</SayTimestampAfter> <SayTimestampBefore>false</SayTimestampBefore> <SayTotalNew>false</SayTotalNew> <SayTotalNewEmail>false</SayTotalNewEmail> <SayTotalNewFax>false</SayTotalNewFax> <SayTotalNewVoice>true</SayTotalNewVoice> <SayTotalReceipts>false</SayTotalReceipts> <SayTotalSaved>true</SayTotalSaved> <Speed>100</Speed> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI> <Undeletable>true</Undeletable> <UseBriefPrompts>false</UseBriefPrompts> <Volume>50</Volume> <EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone> <EnAltGreetPreventSkip>false</EnAltGreetPreventSkip> <EnAltGreetPreventMsg>false</EnAltGreetPreventMsg> <EncryptPrivateMessages>false</EncryptPrivateMessages> <DeletedMessageSortOrder>2</DeletedMessageSortOrder> <SayAltGreetWarning>false</SayAltGreetWarning> <SaySenderExtension>false</SaySenderExtension> <SayAni>false</SayAni> <CallAnswerTimeout>4</CallAnswerTimeout> <CallHandlerObjectId>13a3c5fc-f706-4bd0-aeeb-32dad2c4a29b</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/13a3c5fc-f706-4bd0-aeeb-32dad2c4a29b</CallhandlerURI> <MessageTypeMenu>false</MessageTypeMenu> <NewMessageSortOrder>1</NewMessageSortOrder> <SavedMessageSortOrder>2</SavedMessageSortOrder> <MessageLocatorSortOrder>1</MessageLocatorSortOrder> <NewMessageStackOrder>1234567</NewMessageStackOrder> <SavedMessageStackOrder>1234567</SavedMessageStackOrder> <EnablePersonalRules>true</EnablePersonalRules> <RecordUnknownCallerName>true</RecordUnknownCallerName> <RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst> <ExitAction>2</ExitAction> Cisco Unity Connection Provisioning Interface (CUPI) API 98 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Listing Phone Menu Fields

Page 131#

chunk 97

<ExitTargetConversation>PHGreeting</ExitTargetConversation> <PromptSpeed>100</PromptSpeed> <ExitTargetHandlerObjectId>939d4d12-cec8-4fee-ae47-fbf0cf20c33e</ExitTargetHandlerObjectId> <RepeatMenu>1</RepeatMenu> <FirstDigitTimeout>5000</FirstDigitTimeout> <InterdigitDelay>3000</InterdigitDelay> <PromptVolume>50</PromptVolume> <ExitCallActionObjectId>d6507973-3041-4798-ac83-c6c691cb9187</ExitCallActionObjectId> <AddressAfterRecord>false</AddressAfterRecord> <DtmfAccessId>99999</DtmfAccessId> <ConfirmDeleteMessage>false</ConfirmDeleteMessage> <ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage> <ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages> <IsClockMode24Hour>false</IsClockMode24Hour> <SynchScheduleObjectId>821f40e6-3a97-412c-ae7f-6c7ade9a754b</SynchScheduleObjectId> <SynchScheduleURI>/vmrest/schedules/821f40e6-3a97-412c-ae7f-6c7ade9a754b</SynchScheduleURI> <RouteNDRToSender>true</RouteNDRToSender> <IsSetForVmEnrollment>true</IsSetForVmEnrollment> <VoiceNameRequired>false</VoiceNameRequired> <SendBroadcastMsg>false</SendBroadcastMsg> <UpdateBroadcastMsg>false</UpdateBroadcastMsg> <ConversationVui>VuiStart</ConversationVui> <ConversationName>SubMenu</ConversationName> <SpeechCompleteTimeout>0</SpeechCompleteTimeout> <SpeechIncompleteTimeout>750</SpeechIncompleteTimeout> <UseVui>false</UseVui> <SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice> <JumpToMessagesOnLogin>false</JumpToMessagesOnLogin> <UseDefaultTimeZone>true</UseDefaultTimeZone> <EnableMessageLocator>false</EnableMessageLocator> <AssistantRowsPerPage>5</AssistantRowsPerPage> <InboxMessagesPerPage>20</InboxMessagesPerPage> <InboxAutoRefresh>15</InboxAutoRefresh> <InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients> <PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage> <ReadOnly>false</ReadOnly> <EnableTts>true</EnableTts> <SmtpAddress>undeliverablemessagesmailbox@ucbu-aricent-vm463.cisco.com</SmtpAddress> <ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold> <AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings> <SpeechConfidenceThreshold>40</SpeechConfidenceThreshold> <SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy> <SpeechSensitivity>50</SpeechSensitivity> <EnableVisualMessageLocator>false</EnableVisualMessageLocator> <ContinuousAddMode>false</ContinuousAddMode> <NameConfirmation>false</NameConfirmation> <CommandDigitTimeout>1500</CommandDigitTimeout> <SaveMessageOnHangup>false</SaveMessageOnHangup> <SendMessageOnHangup>1</SendMessageOnHangup> <SkipForwardTime>5000</SkipForwardTime> <SkipReverseTime>5000</SkipReverseTime> <UseShortPollForCache>false</UseShortPollForCache> <SearchByExtensionSearchSpaceObjectId>877942bf-6600-4b7a-809d-159199cfc2ec</SearchByExtensionSearchSpaceObjectId> <SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/877942bf-6600-4b7a-809d-159199cfc2ec</SearchByExtensionSearchSpaceURI> <SearchByNameSearchSpaceObjectId>877942bf-6600-4b7a-809d-159199cfc2ec</SearchByNameSearchSpaceObjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 99 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Listing Phone Menu Fields

Page 132#

chunk 98

<SearchByNameSearchSpaceURI>/vmrest/searchspaces/877942bf-6600-4b7a-809d-159199cfc2ec</SearchByNameSearchSpaceURI> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI> <UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight> <LdapType>0</LdapType> <CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp> <MwisURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/mwis</MwisURI> <NotificationDevicesURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/notificationdevices</NotificationDevicesURI> <MessageHandlersURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/messagehandlers</MessageHandlersURI> <ExternalServiceAccountsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e- d48e7e9b73c1/externalserviceaccounts</ExternalServiceAccountsURI> <AlternateExtensionsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/alternateextensions</AlternateExtensionsURI> <PrivateListsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/privatelists</PrivateListsURI> <UserWebPasswordURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/credential/password</UserWebPasswordURI> <UserVoicePinURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/credential/pin</UserVoicePinURI> <SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%204d5df6e3-a036-4f16-8f1e-d48e7e9b73c1) </SmtpProxyAddressesURI> <AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%204d5df6e3-a036-4f16-8f1e-d48e7e9b73c1) </AlternateNamesURI> </User> Response Code: 200 Updating Phone menu fields To update the attributes of Phone Menu, the following steps can be followed: PUT https://<connection-server>/vmrest/users/<user-objectid> <User> <UseBriefPrompts>true</UseBriefPrompts> <PromptVolume>100</PromptVolume> <PromptSpeed>100</PromptSpeed> <IsClockMode24Hour>false</IsClockMode24Hour> <ConversationTui>SubMenu</ConversationTui> <MessageLocatorSortOrder>1</MessageLocatorSortOrder> <JumpToMessagesOnLogin>false</JumpToMessagesOnLogin> </User> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 100 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Updating Phone menu fields

Page 133#

chunk 99

Updating Conversation fields Example 1: Edit call actions <User> <ExitAction>1</ExitAction> </User> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Edit call handler <User> <ExitAction>2</ExitAction> <ExitTargetConversation>PHTransfer</ExitTargetConversation> <ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId> </User> The following URI can be used to view call handler template object ID: GET https://<connection-server>/vmrest/handlers/callhandlers The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 3: Interview handler <User> <ExitAction>2</ExitAction> <ExitTargetConversation>PHInterview</ExitTargetConversation> <ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId> </User> The following is an example of the GET request that shows the interview handler template object ID: GET https://<connection-server>/vmrest/handlers/interviewhandlers The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 4: Directory handler The following is an example of the GET request that shows the directory handler template object ID: GET https://<connection-server>/vmrest/handlers/directoryhandlers Cisco Unity Connection Provisioning Interface (CUPI) API 101 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Updating Conversation fields

Page 134#

chunk 100

<User> <ExitAction>2</ExitAction> <ExitTargetConversation>AD</ExitTargetConversation> <ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId> </User> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 5: Conversation Request Body: for broadcast message administrator <User> <ExitAction>2</ExitAction> <ExitTargetConversation>BroadcastMessageAdministrator</ExitTargetConversation> </UserTemplate> The following is the response from the PUT request for broadcast message administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for caller system transfer <User> <ExitAction>2</ExitAction> <ExitTargetConversation>SystemTransfer</ExitTargetConversation> </User> The following is the response from the PUT request for caller system transfer and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for greeting administrator <User> <ExitAction>2</ExitAction> <ExitTargetConversation>GreetingAdministrator</ExitTargetConversation> </User> The following is the response from the PUT request for greeting administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for sign in <UserTemplate> <ExitAction>2</ExitAction> <ExitTargetConversation>SubSignIn</ExitTargetConversation> </UserTemplate> Cisco Unity Connection Provisioning Interface (CUPI) API 102 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Updating Conversation fields

Page 135#

chunk 101

The following is the response from the PUT request for sign in and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for user system transfer <User> <ExitAction>2</ExitAction> <ExitTargetConversation>SubSysTransfer</ExitTargetConversation> </User> The following is the response from the PUT request for user system transfer and the actual response will depend upon the information given by you: Response Code: 204 Example 6: Users with Mailbox <User> <ExitAction>2</ExitAction> <ExitTargetConversation>PHTransfer</ExitTargetConversation> <ExitTargetHandlerObjectId>71cb381b-fd16-4ba8-8a1d-e71684e57b0e</ExitTargetHandlerObjectId> </User> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To set exit action, do the following: PUT https://<connection-server>/vmrest/users/<userobjectid> Accept: application/json Content-type: application/json Connection: keep-alive { "ExitAction":"2", "ExitTargetConversation":"SubSysTransfer" } The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 103 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Updating Conversation fields

Page 136#

chunk 102

Explanation of Data Fields Description Operation Data Type Field Name A flag indicating whether the subscriber hears brief or full phone menus when accessing Cisco Unity Connection over the phone. Possible values: • true: Brief • false: Full Read/Write Boolean UseBriefPrompts The volume level for playback of system prompts. The range can vary from 0 to 100. Possible values: • 25: Low • 50: Medium • 100: High Default Value: 50 Read/Write Integer PromptVolume The audio speed Cisco Unity Connection uses to play back prompts to the subscriber. Possible values: • 50: Slow • 100: Normal • 150: Fast • 200: Fastest Default Value: 100 Read/Write Integer PromptSpeed Cisco Unity Connection Provisioning Interface (CUPI) API 104 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Explanation of Data Fields

Page 137#

chunk 103

Description Operation Data Type Field Name The time format used for the message timestamps that the subscriber hears when they listen to their messages over the phone. Possible values: • true: 24-Hour Clock (00:00 - 23:59) • false: 12-Hour Clock (12:00 AM - 11:59 PM) EnableMessageLocator Boolean Read/Write A flag indicating whether the message locator feature is enabled for the subscriber. Possible Values: • false: Message locator feature is disabled for subscriber • true: Message locator feature is enabled for subscriber Default Value: false RepeatMenu Integer Read/Write The number of times to repeat a menu in touchtone conversation. The range can vary from 0 to 250. Default value: 1 ConversationTui String Read/Write The name of the conversation the subscriber uses to set up, send, and retrieve messages. Possible values: • SubMenu: Classic Conversation • SubMenu_Alternate_Custom: Custom keypad mapping1 • SubMenu_Alternate_Custom1: Custom keypad mapping1 • SubMenu_AlternateN: Alternate Keypad Mapping(N) • SubMenu_AlternateS: Alternate Keypad Mapping(S) • SubMenu_AlternateX: Alternate Keypad Mapping (X) • SubMenuOpt1: Optional conversation1 • SubMenu_AlternateI: Standard Conversation Read/Write Boolean IsClockMode24Hour The order in which system will sort messages when the "Message Locator" feature is enabled. Possible values: • 1: Last In, First Out • 2: First In, First Out Default Value: 1 Read/Write Integer MessageLocatorSortOrder The amount of time to wait (in milliseconds) for first digit when collecting touchtone. The range can vary from 500 to 10000. Default value: 5000 Read/Write Integer FirstDigitTimeout The amount of time to wait (in milliseconds) for input between touch tones when collecting digits in touchtone conversation. The range can vary from 1000 to 10000. Default Value: 3000 Read/Write Integer InterdigitDelay The amount of time (in milliseconds) between digits on a multiple digit menu command entry (i.e. different than the inter digit timeout that is used for strings of digits such as extensions and transfer strings). The range can vary from 250 to 5000. Default value: 1500 Read/Write Integer CommandDigitTimeout Cisco Unity Connection Provisioning Interface (CUPI) API 105 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Explanation of Data Fields

Page 138#

chunk 104

Description Operation Data Type Field Name A flag indicating whether the subscriber hears his/her name when they log into their mailbox over the phone. Possible Values: • false: Do not play the name. • true: Play the recorded voice name. Default Value: true Read/Write Boolean GreetByName A flag indicating whether Cisco Unity Connection notifies the subscriber when they login via the phone (plays conversation) or CPCA (displays a warning banner) if their alternate greeting is turned on. • true- Notify the subscriber when they login if their alternate greeting is turned on • false: Do not notify the subscriber that their alternate greeting is turned on Default Value: false Read/Write Boolean SayAltGreetWarning A flag indicating whether the subscriber conversation jumps directly to the first message in the message stack after subscriber sign-in. Possible values: • false: Subscriber conversation does not jump directly to first message in the message stack after subscriber sign-in. • true: Subscriber conversation jumps directly to the first message in the message stack after subscriber sign-in. Default Value: true Read/Write Boolean JumpToMessagesOnLogin The unique identifier of the CallAction object that is taken when a caller exits the subscriber conversation by pressing the * key or timing out. Read Only String(36) ExitCallActionObjectId The type of call action to take, e.g., hang-up, goto another object, etc. Possible values: 0-8 Default Value: 0 Read/Write Integer ExitAction The name of the conversation to which the caller is routed. Read/Write String(64) ExitTargetConversation The unique identifier of the specific object to send along to the target conversation. Read Only String(36) ExitTargetHandlerObjectId • Cisco Unity Connection Provisioning Interface (CUPI) API 106 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Phone Menu API Explanation of Data Fields

Page 139#

chunk 105

C H A P T E R 21 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Links to Other API pages: Cisco_Unity_Connection_APIs • Playback Message Settings API, on page 107 Playback Message Settings API The following URI can be used to view the playback message settings of the specific user: GET https://<connection-server>/vmrest/users/<user-objectid> Edit Parameters PUT https://<connection-server>/vmrest/users/<user-objectid> <User> <Volume>50</Volume> <Speed>100</Speed> <SayTotalNew>true</SayTotalNew> <SayTotalNewVoice>true</SayTotalNewVoice> <SayTotalNewEmail>false</SayTotalNewEmail> <SayTotalNewFax>false</SayTotalNewFax> <SayTotalReceipts>false</SayTotalReceipts> <SayTotalSaved>true</SayTotalSaved> <SayTotalDraftMsg>false</SayTotalDraftMsg> <MessageTypeMenu>false</MessageTypeMenu> <NewMessageSortOrder>2</NewMessageSortOrder> <SaveMessageOnHangup>1</SaveMessageOnHangup> <DeletedMessageSortOrder>1</DeletedMessageSortOrder> <SaySender>true</SaySender> <SaySenderExtension>false</SaySenderExtension> <SayAni>true</SayAni> <SayMsgNumber>true</SayMsgNumber> <SayTimestampBefore>true</SayTimestampBefore> <AutoAdvanceMsgs>false</AutoAdvanceMsgs> <ConfirmDeleteMessage>true</ConfirmDeleteMessage> </User> Cisco Unity Connection Provisioning Interface (CUPI) API 107

Image 1 from page 139

Page 140#

chunk 106

The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 To sort the message type: Note • for new message: <NewMessageSortOrder> 2 </NewMessageSortOrder> • for saved message: <SaveMessageSortOrder> 1 </SaveMessageSortOrder> • for deleted message: <DeletedMessageSortOrder> 1 </DeletedMessageSortOrder> All the possible values for above three parameters are given in the table. JSON Example PUT https://<connection-server>/vmrest/users/<user-objectid> Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "Volume":"50" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 108 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Edit Parameters

Image 1 from page 140

Page 141#

chunk 107

Explanation of Data Fields Description Operation Data Type Parameters The audio volume expressed as a percentage that Cisco Unity Connection uses to play back message. The range can vary from 0 to 100. Possible values: • 25: Low • 50: Medium • 100: High Default value: 50 Read/Write Integer Volume The audio speed system uses to play back messages to the subscriber. The range can vary from 0 to 200. • 50: Slow • 100: Normal • 150: Fast • 200: Fastest Default value: 100 Read/Write Integer Speed A flag indicating whether system announces the total number of new messages in the subscriber mailbox. Possible values: • false: Do not announce total number of new messages. • true: Announce the total number of new messages in the subscriber mailbox. Default Value: false Read/Write Boolean SayTotalNew A flag indicating whether system announces the total number of new e-mail messages in the subscriber mailbox Possible values: • false: Do not announce total number of new e-mail messages. • true: Announce the total number of new e-mail messages in the subscriber mailbox. Default Value: false Read/Write Boolean SayTotalNewEmail A flag indicating whether system announces the total number of new fax messages in the subscriber mailbox. • false: Do not announce total number of new fax messages. • true: Announce the total number of new fax messages in the subscriber mailbox. Default Value: false Read/Write Boolean SayTotalNewFax Cisco Unity Connection Provisioning Interface (CUPI) API 109 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Explanation of Data Fields

Page 142#

chunk 108

Description Operation Data Type Parameters A flag indicating whether system announces the total number of new voice messages in the subscriber mailbox. • false: Do not announce total number of new voice messages. • true: Announce the total number of new voice messages in the subscriber mailbox. Default Value: true Read/Write Boolean SayTotalNewVoice A flag indicating whether system announces the total number of new receipts in the subscriber mailbox. Possible values: • false: Do not announce total number of new receipts. • true: Announce the total number of new receipts in the subscriber mailbox. Default Value: false Read/Write Boolean SayTotalReceipts A flag indicating whether system announces the total number of saved messages in the subscriber mailbox. Possible values: • false: Do not announce total number of saved messages. • true: Announce the total number of saved messages in the subscriber mailbox. Default Value: false Read/Write Boolean SayTotalSaved A flag indicating whether Cisco Unity Connection announces the total number of draft messages in the subscriber mailbox. Possible values • false: Do not announce total number of draft messages. • true: Announce the total number of draft messages in the subscriber mailbox. Default Value: false Read/Write Boolean SayTotalDraftMsg A flag indicating whether system plays the message type menu when the subscriber logs on to system over the phone. Possible values: • false: Do not play message type menu • true: Play message type menu Default Value: false Read/Write Boolean MessageTypeMenu Cisco Unity Connection Provisioning Interface (CUPI) API 110 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Explanation of Data Fields

Page 143#

chunk 109

Description Operation Data Type Parameters The order in which system plays the following types new messages: Possible values: • Urgent voice messages • Non-urgent voice messages • Urgent fax messages • Non-urgent fax messages • Urgent e-mail messages • Non-urgent e-mail messages • Receipts and notices Read/Write String NewMessageStackOrder A flag indicating when hanging up while listening to a new message, whether the message is marked new again or is marked read. Possible Values: • false: Message is marked new again • true: Message is marked read Default Value: false Read/Write Boolean SaveMessageOnHangup The order in which system plays the following types of saved messages: • Urgent voice messages • Non-urgent voice messages • Urgent fax messages • Non-urgent fax messages • Urgent e-mail messages • Non-urgent e-mail messages • Receipts and notices Read/Write String(36) SavedMessageStackOrder The order in which Cisco Unity Connection will sort new messages. Possible values: • 1: Newest First • 2: Oldest First Default Value: 1 Read/Write Integer NewMessageSortOrder The order in which Cisco Unity Connection will sort saved messages.. Possible values: • 1: Newest First • 2: Oldest First Default Value: 2 Read/Write Integer SavedMessageSortOrder Cisco Unity Connection Provisioning Interface (CUPI) API 111 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Explanation of Data Fields

Page 144#

chunk 110

Description Operation Data Type Parameters The order in which Cisco Unity Connection presents deleted messages to the subscriber. Possible values: • 1: Newest First • 2: Oldest First Default Value: 2 Read/Write Integer DeleteMessageSortOrder A flag indicating whether system announces the sender of a message during message playback for the subscriber. Possible values: • false: Do not announce the sender. • true: Announce the sender. Default Value: true Read/Write Boolean SaySender A flag indicating whether Cisco Unity Connection during message playback, plays the primary extension information of the subscriber who sent the message after playing the sender's voice name. Possible values: • false: Do not play the extension information of the subscriber who sent the message. • true: After playing the sender's voice name, play the primary extension information of the subscriber who sent the message. Read/Write Boolean SaySenderExtension A flag indicating whether Cisco Unity Connection plays the Automatic Number Identification (ANI) information during message playback for voice messages from unidentified callers. Possible Values: • true • false Default value: false Read/Write Boolean SayAni A flag indicating whether system announces the position of each message in the stack (i.e., 'Message 1', 'Message 2' ,etc.) during message playback for the subscriber. Possible values: • false: Do not play the message number. • true: Play the message number. Default value: true Read/Write Boolean SayMsgNumber Cisco Unity Connection Provisioning Interface (CUPI) API 112 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Explanation of Data Fields

Page 145#

chunk 111

Description Operation Data Type Parameters A flag indicating whether system announces the timestamp before it plays back each for the subscriber. • false: Do not announce the timestamp before each message is played. • true: Announce the timestamp before each message is played. Default value: false Read/Write Boolean SayTimestampBefore A flag indicating whether Cisco Unity Connection announces the length of each message during message playback. possible values: • true • false Default value: false Read/Write Boolean SayMessageLength Indicates the amount of time (in milliseconds) to jump forward when skipping ahead in a voice or TTS message using either DTMF or voice commands while reviewing messages. Default Value: 5000 The range can vary from 1000 to 60000. Read/Write Integer SkipForwardTime Indicates the amount of time (in milliseconds) to jump backward when skipping in reverse in a voice or TTS message using either DTMF or voice commands while reviewing messages. Default Value: 5000 The range can vary from 1000 to 60000. Read/Write Integer SkipReverseTime A flag indicating whether Message Bookmark is enabled for the subscriber Possible values: • false: Message Bookmark feature is disabled for subscriber • true: Message Bookmark feature is enabled for subscriber Default value: false Read/Write Boolean EnableMessageBookmark A flag indicating when hanging up while listening to a new message, whether the message is marked new again or is marked read. • false: Message is marked new again • true: Message is marked read Default Value: false Read/Write Boolean SaveMessageOnHangup This flag works exactly the same as the SaySender flag on a user, except the conversation plays the sender in the message footer. Possible Values: • false: Do not announce the sender. • True: Announce the sender. Read/Write Boolean SaySenderAfter Cisco Unity Connection Provisioning Interface (CUPI) API 113 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Explanation of Data Fields

Page 146#

chunk 112

Description Operation Data Type Parameters This flag works exactly the same as the SaySenderExtension flag on a user, except the conversation plays the sender's extension in the message footer. Possible Values: • false: Do not play the extension information of the subscriber who sent the message. • true- After playing the sender's voice name, play the primary extension information of the subscriber who sent the message. Read/Write Boolean SaySenderExtensionAfter This flag works exactly the same as the SayMsgNumber flag on a user, except the conversation plays the message number in the message footer. Possible Values: • false: Do not play the message number. • true: Play the message number. Read/Write Boolean SayMsgNumberAfter This flag works exactly the same as the SayAni flag on a user, except the conversation plays the ani in the message footer. Possible Values: • true • false Default value: false Read/Write Boolean SayAniAfter This flag works exactly the same as the SayMessageLength flag on a user, except the conversation plays the message length in the message footer. Possible Values: • true • false Default value: false Read/Write Boolean SayMessageLengthAfter A flag indicating whether the conversation moves to the next message in the playback stack automatically during playback after playing the After Message Menu. Possible Values: • false: Do not automatically skip to the next message after playing the After Message Menu once. • true: Automatically skip to the next message after playing the After Message Menu once. Default Value: false Read/Write Boolean AutoAdvanceMsgs Cisco Unity Connection Provisioning Interface (CUPI) API 114 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Explanation of Data Fields

Page 147#

chunk 113

Description Operation Data Type Parameters A flag indicating whether system will request confirmation from a subscriber before proceeding with a deletion of a single new or saved message. • false: system will not request confirmation from a subscriber before proceeding with a deletion of a single new or saved message. • true: system will request confirmation from a subscriber before proceeding with a deletion of a single new or saved message. Default Value: false Read/Write Boolean ConfirmDeleteMessage Cisco Unity Connection Provisioning Interface (CUPI) API 115 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Explanation of Data Fields

Page 148#

chunk 114

Cisco Unity Connection Provisioning Interface (CUPI) API 116 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Playback Message Settings Explanation of Data Fields

Page 149#

chunk 115

C H A P T E R 22 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Post Greeting Recording Links to Other API pages: Cisco_Unity_Connection_APIs • Post Greeting Recording Settings API, on page 117 Post Greeting Recording Settings API The following URI can be used to view the user object ID: GET https://<connection-server>/vmrest/users/<user-objectid> From the above URI, get the call handler object ID. Update Post Greeting Recording Settings Request Body: <CallhandlerPrimaryTemplate> <PlayPostGreetingRecording>1</PlayPostGreetingRecording> </CallhandlerPrimaryTemplate> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update post greeting recording settings, do the following: Request URI: PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/<ObjectId> Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "PlayPostGreetingRecording":"1" } Cisco Unity Connection Provisioning Interface (CUPI) API 117

Image 1 from page 149

Page 150#

chunk 116

The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Values Operations Data Type Parameters • 0: Do Not Play Recording • 1: Play Recording to All Callers • 2: Play Recording Only to Unidentified Callers Read/Write Integer PlayPostGreetingRecording Object Id of post greeting. URI to fetch it: https://<connection-server>/vmrest/postgreetingrecordings Read/Write String(64) PostGreetingRecordingObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 118 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Post Greeting Recording Explanation of Data Fields

Page 151#

chunk 117

C H A P T E R 23 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API Links to Other API pages: Cisco_Unity_Connection_APIs • Private List API , on page 119 Private List API Listing All the Private Lists GET https://<connection-server>/vmrest/users/<user-objectid>/privatelists The following is the response from the above GET request and the actual response will depend upon the information given by you: <PrivateLists total="1"> <PrivateList> <URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-634a2315db9c</URI> <ObjectId>8465e5d7-f0d2-4d32-81b1-634a2315db9c</ObjectId> <DisplayName>Test1</DisplayName> <UserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserObjectId> <UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI> <DtmfName>83781</DtmfName> <Alias>Texoma_8465e5d7-f0d2-4d32-81b1-634a2315db9c</Alias> <NumericId>1</NumericId> <IsAddressable>true</IsAddressable> <PrivateListMembersURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-634a2315db9c/privatelistmembers</PrivateListMembersURI> <AlternateNamesURI>/vmrest/alternatenames?query=(PersonalGroupObjectId%20is%208465e5d7-f0d2-4d32-81b1-634a2315db9c) </AlternateNamesURI> </PrivateList> </PrivateLists> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 119

Image 1 from page 151

Page 152#

chunk 118

Listing a Particular Private List GET https://<connection-server>/vmrest/users/<user-objectid>/privatelists/<objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: <PrivateList> <URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-634a2315db9c</URI> <ObjectId>8465e5d7-f0d2-4d32-81b1-634a2315db9c</ObjectId> <DisplayName>Test1</DisplayName> <UserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserObjectId> <UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI> <DtmfName>83781</DtmfName> <Alias>Texoma_8465e5d7-f0d2-4d32-81b1-634a2315db9c</Alias> <NumericId>1</NumericId> <IsAddressable>true</IsAddressable> <PrivateListMembersURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1- 634a2315db9c/privatelistmembers</PrivateListMembersURI> <AlternateNamesURI>/vmrest/alternatenames?query=(PersonalGroupObjectId%20is%208465e5d7-f0d2-4d32-81b1-634a2315db9c) </AlternateNamesURI> </PrivateList> Response Code: 200 JSON Example GET https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { “URI”: “/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1-634a2315db9c” “ObjectId”: “8465e5d7-f0d2-4d32-81b1-634a2315db9c” “DisplayName”: “Test1” “UserObjectId”: “9375d893-c8eb-437b-90bf-7de4b1d0c3e8” “UserURI”: “/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8” “DtmfName”: “83781” “Alias”: “Texoma_8465e5d7-f0d2-4d32-81b1-634a2315db9c” “NumericId”: “1” “IsAddressable”: “true” “PrivateListMembersURI”: “/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/8465e5d7-f0d2-4d32-81b1- 634a2315db9c/privatelistmembers” “AlternateNamesURI”: “/vmrest/alternatenames?query=(PersonalGroupObjectId%20is%208465e5d7-f0d2-4d32-81b1-634a2315db9c)” } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 120 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API Listing a Particular Private List

Page 153#

chunk 119

Create a Private list The mandatory field for creation is DisplayName. POST https://<connection-server>/vmrest/users/<user-objectid>/privatelists <PrivateList> <DisplayName>Test1</DisplayName> </PrivateList> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/2375d893-c8eb-437b-90bf-7de4b1d0c3e5 JSON Example POST https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid> Accept: application/json Content-type: application/json Connection: keep-alive { "DisplayName":"Test1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists/2375d893-c8eb-437b-90bf-7de4b1d0c3e5 Update Private List PUT https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid> <PrivateList> <DisplayName>Test11</DisplayName> </PrivateList> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example PUT https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid> Accept: application/json Content-type: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 121 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API Create a Private list

Page 154#

chunk 120

{ "DisplayName":"Test11" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Delete Private List DELETE https://<connection-server>/vmrest/users/<user-objectid>/privatelists/<objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example DELETE https://<connection-server>vmrest/users/<user-objectid>/privatelists/<objectid> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Description Operation Data Type Field Name The preferred text name of the list to be used when displaying entries such as in the administrative console, e.g. Cisco Unity Connection Administration. Read/Write String DisplayName The unique identifier of the User object to which this list belongs. Read Only String(36) UserObjectId The digits corresponding to the numeric keypad mapping on a standard touchtone phone representing the group name. These digits would need to be dialed to address a message to this list via the phone. Read Only String DtmfName The unique text name for either a list Read Only String Alias If being used as a personal voicemail list (i.e., "private" voicemail list), the numeric identifier for the personal group,(Value 0-4) Read Only String NumericId Cisco Unity Connection Provisioning Interface (CUPI) API 122 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API Delete Private List

Page 155#

chunk 121

Description Operation Data Type Field Name A flag indicating whether the entity to which the alias belongs is addressable. Possible Values: • false: The entity is not addressable • true: The entity is addressable. Default value: true Read Only Boolean IsAddressable Unique identifier of private List Read Only String(36) ObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 123 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API Explanation of Data Fields

Page 156#

chunk 122

Cisco Unity Connection Provisioning Interface (CUPI) API 124 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Private List API Explanation of Data Fields

Page 157#

chunk 123

C H A P T E R 24 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Send Message Settings Links to Other API pages: Cisco_Unity_Connection_APIs • Send Message Settings API, on page 125 Send Message Settings API Listing the Send Message Settings The following URI can be used to get the Send Message Settings API of user: GET https://<connection-server>/vmrest/users/<user-objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: <User> <AddressMode>0</AddressMode> <SendBroadcastMsg>true</SendBroadcastMsg> <UpdateBroadcastMsg>true</UpdateBroadcastMsg> <NameConfirmation>false</NameConfirmation> <ContinuousAddMode>false</ContinuousAddMode> <SendMessageOnHangup>2</SendMessageOnHangup> </User> Response Code: 200 JSON Example GET https://<connection-server>/vmrest/users/<user-objectid> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 125

Image 1 from page 157

Page 158#

chunk 124

{ “AddressMode”: “0” “SendBroadcastMsg”: “true” “UpdateBroadcastMsg”: “true” “NameConfirmation”: “false” “ContinuousAddMode”: “false” “SendMessageOnHangup”: “2” } Response Code: 200 Update Send Message Settings PUT https://<connection-server>/vmrest/users/<user-objectid> <User> <AddressMode>0</AddressMode> <SendBroadcastMsg>true</SendBroadcastMsg> <UpdateBroadcastMsg>true</UpdateBroadcastMsg> <NameConfirmation>false</NameConfirmation> <ContinuousAddMode>false</ContinuousAddMode> <SendMessageOnHangup>2</SendMessageOnHangup> </User> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example PUT https://<connection-server>/vmrest/users/<user-objectid> Accept: application/json Content-type: application/json Connection: keep-alive { "AddressMode":"2", "UpdateBroadcastMsg":"true" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 126 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Send Message Settings Update Send Message Settings

Page 159#

chunk 125

Explanation of Data Fields Values Data Type Parameter User Can Send Broadcast Messages to Users on This Server Values: • 0: Cannot send broadcast messages. • 1: Can send broadcast messages. Default value: False Boolean SendBroadcastMsg User Can Update Broadcast Messages Stored on This Server Boolean UpdateBroadcastMsg Address mode options. • 0: Spelling the Last Name Then First Name • 1: Entering the extension • 2: Spelling the First Name Then Last Name Integer AddressMode Confirm Recipient by Name Boolean NameConfirmation Continue Adding Names after Each Recipient. Default value: False Boolean ContinuousAddMode Automatically Add Recipients to Addressing Priority List Boolean UseDynamicNameSearchWeight Allow Users to Save Draft Messages Boolean EnableSaveDraft Retain Urgency Flag When Forwarding or Replying to Messages Boolean RetainUrgentMessageFlag Allow addressing a message or discard Message or save Message as draft on hanging. • 0: Discard Message • 1: Send Message • 2: Save Message as Draft Integer SendMessageOnHangup • Cisco Unity Connection Provisioning Interface (CUPI) API 127 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Send Message Settings Explanation of Data Fields

Page 160#

chunk 126

Cisco Unity Connection Provisioning Interface (CUPI) API 128 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Send Message Settings Explanation of Data Fields

Page 161#

chunk 127

C H A P T E R 25 Cisco Unity Connection Provisioning Interface (CUPI) API -- User SMTP Proxy Address • SMTP Proxy Address API, on page 129 SMTP Proxy Address API Listing the SMTP proxy Address GET https://<connection-server>/vmrest/smtpproxyaddresses?query=(GlobalUserObjectId%20is%20<user-objectid>) The following is the response from the above GET request and the actual response will depend upon the information given by you: <SmtpProxyAddresses total="2"> <SmtpProxyAddress> <URI>/vmrest/smtpproxyaddresses/3d71d2ed-5baf-48c4-bf25-875bca56e30e</URI> <ObjectId>3d71d2ed-5baf-48c4-bf25-875bca56e30e</ObjectId> <SmtpAddress>chhavi@we.com</SmtpAddress> <ObjectGlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserObjectId> <ObjectGlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserURI> </SmtpProxyAddress> <SmtpProxyAddress> <URI>/vmrest/smtpproxyaddresses/062fc8cc-a0aa-4ad7-b74c-9589dd95cb1c</URI> <ObjectId>062fc8cc-a0aa-4ad7-b74c-9589dd95cb1c</ObjectId> <SmtpAddress>chhavi@5.co</SmtpAddress> <ObjectGlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserObjectId> <ObjectGlobalUserURI>/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserURI> </SmtpProxyAddress> </SmtpProxyAddresses> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 129

Image 1 from page 161

Page 162#

chunk 128

JSON Example GET https://<connection-server>/vmrest/smtpproxyaddresses?query=(GlobalUserObjectId%20is%20<user-objectid>) Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "2", "SmtpProxyAddress": [ { "URI": "/vmrest/smtpproxyaddresses/3d71d2ed-5baf-48c4-bf25-875bca56e30e", "ObjectId": "3d71d2ed-5baf-48c4-bf25-875bca56e30e", "SmtpAddress": "john@we.com", "ObjectGlobalUserObjectId": "9375d893-c8eb-437b-90bf-7de4b1d0c3e8", "ObjectGlobalUserURI": "/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8" }, { "URI": "/vmrest/smtpproxyaddresses/062fc8cc-a0aa-4ad7-b74c-9589dd95cb1c", "ObjectId": "062fc8cc-a0aa-4ad7-b74c-9589dd95cb1c", "SmtpAddress": "mary@5.co", "ObjectGlobalUserObjectId": "9375d893-c8eb-437b-90bf-7de4b1d0c3e8", "ObjectGlobalUserURI": "/vmrest/globalusers/9375d893-c8eb-437b-90bf-7de4b1d0c3e8" } ] } Response Code: 200 Create an SMTP Proxy Address The mandatory fields for creation are SmtpAddress and ObjectGlobalUserObjectId POST https://<connection-server>vmrest/smtpproxyaddresses <SmtpProxyAddress> <SmtpAddress>Texoma@cisco.com</SmtpAddress> <ObjectGlobalUserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectGlobalUserObjectId> </SmtpProxyAddress> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/smtpproxyaddresses/8375d893-c8eb-437b-90bf-7de4b1d0c3e8 JSON Example POST https://<connection-server>vmrest/smtpproxyaddresses Accept: application/json Content-type: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 130 Cisco Unity Connection Provisioning Interface (CUPI) API -- User SMTP Proxy Address Create an SMTP Proxy Address

Page 163#

chunk 129

{ "SmtpAddress":"Texoma@cisco.com", "ObjectGlobalUserObjectId":"9375d893-c8eb-437b-90bf-7de4b1d0c3e8" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/smtpproxyaddresses/8375d893-c8eb-437b-90bf-7de4b1d0c3e8 Update SMTP proxy Address PUT https://<connection-server>/vmrest/smtpproxyaddresses/<objectid> <SmtpProxyAddress> <SmtpAddress>Texoma@cisco.com</SmtpAddress> </SmtpProxyAddress> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example PUT https://<connection-server>vmrest/smtpproxyaddresses/<object_id> Accept: application/json Content-type: application/json Connection: keep-alive { "SmtpAddress":"Texoma@cisco.com" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Delete SMTP Proxy Address DELETE https://<connection-server>/vmrest/smtpproxyaddresses/<objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 131 Cisco Unity Connection Provisioning Interface (CUPI) API -- User SMTP Proxy Address Update SMTP proxy Address

Page 164#

chunk 130

DELETE https://<connection-server>vmrest/smtpproxyaddresses/<objectid> Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Description Operation Data Type Field Name The primary key for this table. Read Only String(36) ObjectId The full SMTP proxy address for this object. Read/Write String(320) SmtpAddress The unique identifier of the Global User to which this SMTP address belongs. Read/Write String(36) ObjectGlobalUserObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 132 Cisco Unity Connection Provisioning Interface (CUPI) API -- User SMTP Proxy Address Explanation of Data Fields

Page 165#

chunk 131

C H A P T E R 26 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules • Transfer Rule API, on page 133 Transfer Rule API First get the call handler URI of a particular user: GET https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> From call handler URI get for transfer options: GET https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions For alternate transfer rule: GET https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Alternate For closed transfer rule: GET https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Off%20Hours For Standard transfer rule: GET https://<Connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Standard Listing All Transfer Rules GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 133

Image 1 from page 165

Page 166#

chunk 132

<TransferOptions total="2"> <TransferOption> <URI>/vmrest/callhandlerprimarytemplates/939d4d12-cec8-4fee-ae47-fbf0cf20c33e/transferoptions/Off%20Hours</URI> <CallHandlerObjectId>939d4d12-cec8-4fee-ae47-fbf0cf20c33e</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/939d4d12-cec8-4fee-ae47-fbf0cf20c33e</CallhandlerURI> <TransferOptionType>Off Hours</TransferOptionType> <Action>0</Action> <RnaAction>1</RnaAction> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferDtDetect>false</TransferDtDetect> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI> <UsePrimaryExtension>true</UsePrimaryExtension> <PlayTransferPrompt>true</PlayTransferPrompt> <PersonalCallTransfer>false</PersonalCallTransfer> <Enabled>true</Enabled> </TransferOption> <TransferOption> <URI>/vmrest/handlers/callhandlers/939d4d12-cec8-4fee-ae47-fbf0cf20c33e/transferoptions/Standard</URI> <CallHandlerObjectId>939d4d12-cec8-4fee-ae47-fbf0cf20c33e</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/939d4d12-cec8-4fee-ae47-fbf0cf20c33e</CallhandlerURI> <TransferOptionType>Standard</TransferOptionType> <Action>0</Action> <RnaAction>1</RnaAction> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferDtDetect>false</TransferDtDetect> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI> <UsePrimaryExtension>true</UsePrimaryExtension> <PlayTransferPrompt>true</PlayTransferPrompt> <PersonalCallTransfer>false</PersonalCallTransfer> <Enabled>true</Enabled> </TransferOption> </TransferOptions> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 134 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules Listing All Transfer Rules

Page 167#

chunk 133

Viewing the Alternate Transfer Rule The following is an example of the GET request that lists the details of alternate transfer rule: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Alternate The following is the response from the above GET request and the actual response will depend upon the information given by you: <TransferOption> <URI>/vmrest/callhandlerprimarytemplates/45e0a6f4-43c4-472a-8ffb-f6124aa549d0/transferoptions/Alternate</URI> <CallHandlerObjectId>45e0a6f4-43c4-472a-8ffb-f6124aa549d0</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/45e0a6f4-43c4-472a-8ffb-f6124aa549d0</CallhandlerURI> <TransferOptionType>Alternate</TransferOptionType> <Action>1</Action> <RnaAction>1</RnaAction> <TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferDtDetect>false</TransferDtDetect> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> <MediaSwitchObjectId>221ee752-5147-4326-9990-d4a138674f9e</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/221ee752-5147-4326-9990-d4a138674f9e</PhoneSystemURI> <UsePrimaryExtension>true</UsePrimaryExtension> <PlayTransferPrompt>true</PlayTransferPrompt> <PersonalCallTransfer>false</PersonalCallTransfer> <Enabled>false</Enabled> </TransferOption> Response Code: 200 JSON Example To view the alternate transfer rule, do the following: GET https://<connection-server>/vmrest/handlers/<callhandlerObjectId>/transferoptions/Alternate Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 135 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules Viewing the Alternate Transfer Rule

Page 168#

chunk 134

{ "URI":"/vmrest/handlers/callhandlers/43bb6590-e9e3-43ca-972e-e3e158a96126/transferoptions/Alternate" "CallHandlerObjectId":"43bb6590-e9e3-43ca-972e-e3e158a96126" "CallhandlerURI":"/vmrest/handlers/callhandlers/43bb6590-e9e3-43ca-972e-e3e158a96126" "TransferOptionType":"Alternate" "Action":"0" "RnaAction":"1" "TimeExpires":"1972-01-01 00:00:00.0" "TransferAnnounce":"false" "TransferConfirm":"false" "TransferDtDetect":"false" "TransferHoldingMode":"0" "TransferIntroduce":"false" "TransferRings":"4" "TransferScreening":"false" "TransferType":"0" "MediaSwitchObjectId":"e912b134-1bd0-45f9-baae-9f1e096ae3b9" "PhoneSystemURI":"/vmrest/phonesystems/e912b134-1bd0-45f9-baae-9f1e096ae3b9" "UsePrimaryExtension":"true" "PlayTransferPrompt":"true" "PersonalCallTransfer":"false" "Enabled":"false" } Response Code: 200 Updating Transfer Option The following is an example of the PUT request that updates the transfer option: PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Alternate <TransferOption> <Action>0</Action> <TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> </TransferOption> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update the transfer rule, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 136 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules Updating Transfer Option

Page 169#

chunk 135

PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/transferoptions/Alternate Accept: application/json Content-type: application/json Connection: keep-alive { "Action":"1", "TransferAnnounce":"false", "TransferConfirm":"false", "TransferHoldingMode":"0", "TransferIntroduce":"false", "TransferRings":"4", "TransferScreening":"false", "TransferType":"0" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Operations Data Type Parameter The type of transfer option, e.g. "Standard," "Off Hours," or "Alternate." Read Only String(64) TransferOptionType To enable transfer rules. Possible values: • true • false Default value: false Read/Write Boolean Enabled The date and time when this transfer option expires. If the transfer rule is enabled, the value is NULL or a date in the future. If the transfer rule is disable, the value is a past date. Read/Write DateTime TimeExpires A flag indicating whether Cisco Unity Connection transfers the call to the call handler greeting or attempts to transfer the call to an extension. Values can be: • 0: Greeting • 1: Extension Read/Write Integer Actions Cisco Unity Connection Provisioning Interface (CUPI) API 137 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules Explanation of Data Fields

Page 170#

chunk 136

Comments Operations Data Type Parameter The type of call transfer Cisco Unity Connection will perform - supervised or unsupervised (also referred to as "Release to Switch" transfer). Values: • 0: Release to Switch • 1: Supervise Transfer Read/Write Integer TransferType The number of times the extension rings before Cisco Unity Connection considers it a "ring no answer" and plays the subscriber or handler greeting. Applies only when the "TransferType" column is set to supervised (1). This value should never be less than 2 for a supervised transfer. Possible Values: 2-20 Default value: 4 Read/Write Integer TransferRings Enables "Wait While I Transfer Your Call" Prompt. Values: • false: System will not play the "Wait while I transfer your call" prompt prior to transfer. • true: System will play the "Wait while I transfer your call" prompt prior to transfer. Default value: true Read/Write Boolean PlayTransferPrompt The action Cisco Unity Connection will take when the extension is busy. Applies only when the "TransferType" column is set to supervised (1). Values: • 0: Send callers to voicemail. • 1: Put callers on hold without asking. • 2: Ask callers to hold. Read/Write Integer TransferHoldingMode A flag indicating whether Cisco Unity Connection plays "transferring call" when the subscriber answers the phone. Requires a "TransferType" of supervised (1). Values: • false: Do not say "Transferring call" when the subscriber answers the phone • true: Say "Transferring call" when the subscriber answers the phone Default value: false Read/Write Boolean TransferAnnounce Cisco Unity Connection Provisioning Interface (CUPI) API 138 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules Explanation of Data Fields

Page 171#

chunk 137

Comments Operations Data Type Parameter A flag indicating whether Cisco Unity Connection will say "call for <recorded name of the call handler>" when the subscriber answers the phone. Requires a "TransferType" of supervised (1). This functionality is normally used when a single extension number is being shared by multiple subscribers or a scenario where the subscriber who is the message recipient takes calls for more than one dialed extension. The introduction alerts the subscriber who answers that the call is for the call handler. Default value: false Read/Write Boolean TransferIntroduce A flag indicating whether Cisco Unity Connection prompts the subscriber to accept or refuse a call ("Press 1 to take the call or 2 and I'll take a message"). If the call is accepted, it is transferred to the subscriber phone. If the call is refused, Cisco Unity Connection plays the applicable subscriber greeting. Requires a "TransferType" of supervised (1). Typically this is used in conjunction with the call screening option ("TransferScreening" column) enabled. This combination enables the subscriber to hear the name of the caller and then decide if they want to take the call or not. Values: • false: Transfer confirm disabled • true: Transfer confirm enabled Default value: false Read/Write Boolean TransferConfirm Requires a "TransferType" of supervised (1). Normally this column is used along with "TransferConfirm" to allow the subscriber to screen calls. Values: • false: Call screening disabled • true: Ask and record caller name Default value: false Read/Write Boolean TransferScreening Cisco Unity Connection Provisioning Interface (CUPI) API 139 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules Explanation of Data Fields

Page 172#

chunk 138

Cisco Unity Connection Provisioning Interface (CUPI) API 140 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Transfer Rules Explanation of Data Fields

Page 173#

chunk 139

C H A P T E R 27 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API • User API , on page 141 • Admin User API , on page 165 User API Administrator can use this API to create/update/delete/fetch the user with mailbox. Various attributes of user, for example notification device, greetings, contact, private list, phone menu, call transfer, screening, or personal data, can also be updated using this API . Listing the Users The request can be used to fetch the list of all users. GET https://<connection-server>/vmrest/users The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 141

Image 1 from page 173

Page 174#

chunk 140

<Users total="2"> <User> <URI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</URI> <ObjectId>4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <Alias>undeliverablemessagesmailbox</Alias> <DisplayName>Undeliverable Messages</DisplayName> <TimeZone>0</TimeZone> <CreationTime>2013-03-05T10:54:38Z</CreationTime> <CosObjectId>610c9c71-32be-4465-b61a-523f24a9d828</CosObjectId> <CosURI>/vmrest/coses/610c9c71-32be-4465-b61a-523f24a9d828</CosURI> <Language>0</Language> <LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI> <ListInDirectory>false</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI> <CallHandlerObjectId>13a3c5fc-f706-4bd0-aeeb-32dad2c4a29b</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/13a3c5fc-f706-4bd0-aeeb-32dad2c4a29b</CallhandlerURI> <DtmfAccessId>99999</DtmfAccessId> <VoiceNameRequired>false</VoiceNameRequired> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI> <Inactive>false</Inactive> <MwisURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/mwis</MwisURI> <NotificationDevicesURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/notificationdevices</NotificationDevicesURI> <MessageHandlersURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/messagehandlers</MessageHandlersURI> <ExternalServiceAccountsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/externalserviceaccounts</ExternalServiceAccountsURI> <AlternateExtensionsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/alternateextensions</AlternateExtensionsURI> <PrivateListsURI>/vmrest/users/4d5df6e3-a036-4f16-8f1e-d48e7e9b73c1/privatelists</PrivateListsURI> <SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%204d5df6e3-a036-4f16-8f1e- d48e7e9b73c1)</SmtpProxyAddressesURI> <AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%204d5df6e3-a036-4f16-8f1e-d48e7e9b73c1) </AlternateNamesURI> </User> <User> <URI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce</URI> <ObjectId>671fd8d1-7240-4e60-9194-0ec9c4a626ce</ObjectId> <Alias>operator</Alias> <DisplayName>Operator</DisplayName> <TimeZone>0</TimeZone> <CreationTime>2013-03-05 10:54:39.02</CreationTime> <CosObjectId>610c9c71-32be-4465-b61a-523f24a9d828</CosObjectId> <CosURI>/vmrest/coses/610c9c71-32be-4465-b61a-523f24a9d828</CosURI> <Language>0</Language> Cisco Unity Connection Provisioning Interface (CUPI) API 142 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing the Users

Page 175#

chunk 141

<LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI> <ListInDirectory>false</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI> <CallHandlerObjectId>4546d6df-5120-4fb3-9719-8d521b8a5796</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/4546d6df-5120-4fb3-9719-8d521b8a5796</CallhandlerURI> <DtmfAccessId>99990</DtmfAccessId> <VoiceNameRequired>false</VoiceNameRequired> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI> <Inactive>false</Inactive> <MwisURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/mwis</MwisURI> <NotificationDevicesURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/notificationdevices</NotificationDevicesURI> <MessageHandlersURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/messagehandlers</MessageHandlersURI> <ExternalServiceAccountsURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/externalserviceaccounts</ExternalServiceAccountsURI> <AlternateExtensionsURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/alternateextensions</AlternateExtensionsURI> <PrivateListsURI>/vmrest/users/671fd8d1-7240-4e60-9194-0ec9c4a626ce/privatelists</PrivateListsURI> <SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%20671fd8d1-7240-4e60-9194-0ec9c4a626ce)</SmtpProxyAddressesURI> <AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20671fd8d1-7240-4e60-9194-0ec9c4a626ce) </AlternateNamesURI> </User> <User> <URI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9</URI> <ObjectId>8321097e-cca4-483f-b24c-0f2175e6e4c9</ObjectId> <FirstName>John</FirstName> <LastName>10000</LastName> <Alias>John10000</Alias> <City/> <Department/> <EmployeeId/> <DisplayName>John 10000</DisplayName> <EmailAddress>john@cisco.com</EmailAddress> <TimeZone>190</TimeZone> <CreationTime>2015-06-01T05:03:15Z</CreationTime> <CosObjectId>0a987b74-acf0-4310-ab81-4ebe0190cca4</CosObjectId> <CosURI>/vmrest/coses/0a987b74-acf0-4310-ab81-4ebe0190cca4</CosURI> <Language>1033</Language> <LocationObjectId>17f9c794-d4e4-453b-a9df-771c48c0590e</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/17f9c794-d4e4-453b-a9df-771c48c0590e</LocationURI> <ListInDirectory>true</ListInDirectory> <IsVmEnrolled>false</IsVmEnrolled> <MediaSwitchObjectId>6f37f783-437a-4c9b-aefe-74201f33deab</MediaSwitchObjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 143 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing the Users

Page 176#

chunk 142

<PhoneSystemURI>/vmrest/phonesystems/6f37f783-437a-4c9b-aefe-74201f33deab</PhoneSystemURI> <CallHandlerObjectId>be938317-6c75-4d67-9c9e-642ba90d85d1</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/be938317-6c75-4d67-9c9e-642ba90d85d1</CallhandlerURI> <DtmfAccessId>10000</DtmfAccessId> <VoiceNameRequired>false</VoiceNameRequired> <PartitionObjectId>30c21994-bd80-4992-97ce-601ca93bf3da</PartitionObjectId> <PartitionURI>/vmrest/partitions/30c21994-bd80-4992-97ce-601ca93bf3da</PartitionURI> <Inactive>false</Inactive> <MwisURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/mwis</MwisURI> <NotificationDevicesURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/notificationdevices</NotificationDevicesURI> <MessageHandlersURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/messagehandlers</MessageHandlersURI> <ExternalServiceAccountsURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/externalserviceaccounts</ExternalServiceAccountsURI> <AlternateExtensionsURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/alternateextensions</AlternateExtensionsURI> <PrivateListsURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/privatelists</PrivateListsURI> <VideoServiceAccountsURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/videoserviceaccounts</VideoServiceAccountsURI> <UserWebPasswordURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/credential/password</UserWebPasswordURI> <UserMailboxURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/mailboxattributes</UserMailboxURI> <MailboxStoreName>Unity Messaging Database -1</MailboxStoreName> <UserVoicePinURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/credential/pin</UserVoicePinURI> <UserRoleURI>/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/userroles</UserRoleURI> <SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%208321097e-cca4-483f-b24c-0f2175e6e4c9) </SmtpProxyAddressesURI> <AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%208321097e-cca4-483f-b24c-0f2175e6e4c9)</AlternateNamesURI> </User> </Users> Response Code: 200 JSON Example To view the list of users, do the following: GET https://<connection-server>/vmrest/users Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 144 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing the Users

Page 177#

chunk 143

{ "Users": { "-total": "1", "User": { "URI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9", "ObjectId": "8321097e-cca4-483f-b24c-0f2175e6e4c9", "FirstName": "John", "LastName": "10000", "Alias": "John10000", "DisplayName": "John 10000", "EmailAddress": "john@cisco.com", "TimeZone": "190", "CreationTime": "2015-06-01T05:03:15Z", "CosObjectId": "0a987b74-acf0-4310-ab81-4ebe0190cca4", "CosURI": "/vmrest/coses/0a987b74-acf0-4310-ab81-4ebe0190cca4", "Language": "1033", "LocationObjectId": "17f9c794-d4e4-453b-a9df-771c48c0590e", "LocationURI": "/vmrest/locations/connectionlocations/17f9c794-d4e4-453b-a9df-771c48c0590e", "ListInDirectory": "true", "IsVmEnrolled": "false", "MediaSwitchObjectId": "6f37f783-437a-4c9b-aefe-74201f33deab", "PhoneSystemURI": "/vmrest/phonesystems/6f37f783-437a-4c9b-aefe-74201f33deab", "CallHandlerObjectId": "be938317-6c75-4d67-9c9e-642ba90d85d1", "CallhandlerURI": "/vmrest/handlers/callhandlers/be938317-6c75-4d67-9c9e-642ba90d85d1", "DtmfAccessId": "10000", "VoiceNameRequired": "false", "PartitionObjectId": "30c21994-bd80-4992-97ce-601ca93bf3da", "PartitionURI": "/vmrest/partitions/30c21994-bd80-4992-97ce-601ca93bf3da", "Inactive": "false", "MwisURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/mwis", "NotificationDevicesURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/notificationdevices", "MessageHandlersURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/messagehandlers", "ExternalServiceAccountsURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/externalserviceaccounts", "AlternateExtensionsURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/alternateextensions", "PrivateListsURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/privatelists", "VideoServiceAccountsURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/videoserviceaccounts", "UserWebPasswordURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/credential/password", "UserMailboxURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/mailboxattributes", "MailboxStoreName": "Unity Messaging Database -1", "UserVoicePinURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/credential/pin", "UserRoleURI": "/vmrest/users/8321097e-cca4-483f-b24c-0f2175e6e4c9/userroles", "SmtpProxyAddressesURI": "/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%208321097e-cca4-483f-b24c-0f2175e6e4c9)", "AlternateNamesURI": "/vmrest/alternatenames?query=(GlobalUserObjectId%20is%208321097e-cca4-483f-b24c-0f2175e6e4c9)" } } } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 145 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing the Users

Page 178#

chunk 144

Listing Users based on Email Address In Cisco Unity Connection 11.5(1) and later, the system administrator can use email address to list the users using following URI: GET https://<connection-server>/vmrest/users?query=(emailaddress is emailaddress@domain.com) GET https://<connection-server>/vmrest/users?query=(emailaddress startswith emailaddress@domain.com) GET https://<connection-server>/vmrest/users?query=(emailaddress isnull) GET https://<connection-server>/vmrest/users?query=(emailaddress isnotnull) The following is an example of the GET request that lists the details of specific user based on the email address (emailaddress is emailaddress@domain.com: Cisco Unity Connection Provisioning Interface (CUPI) API 146 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing Users based on Email Address

Page 179#

chunk 145

<User> <URI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1</URI> <ObjectId>fc78a2c6-3065-46a5-b5cb-0bba363280d1</ObjectId> <FirstName>abc</FirstName> <LastName></LastName> <Alias>abc</Alias> <City> </City> <Department> </Department> <EmployeeId> </EmployeeId> <DisplayName>abc</DisplayName> <EmailAddress>abc@cisco.com</EmailAddress> <TimeZone>190</TimeZone> <CreationTime>2016-05-11T09:51:04Z</CreationTime> <CosObjectId>4e1c04f4-eb53-4f19-aaa2-0982121fa8fd</CosObjectId> <CosURI>/vmrest/coses/4e1c04f4-eb53-4f19-aaa2-0982121fa8fd</CosURI> <Language>1033</Language> <LocationObjectId>44471f12-f7cb-4d99-80fe-672bf039faef</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/44471f12-f7cb-4d99-80fe-672bf039faef</LocationURI> <ListInDirectory>true</ListInDirectory> <IsVmEnrolled>false</IsVmEnrolled> <MediaSwitchObjectId>cf3e31a0-979f-4011-b239-0881cd9c4292</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/cf3e31a0-979f-4011-b239-0881cd9c4292</PhoneSystemURI> <CallHandlerObjectId>5e6a0ef4-4ffb-4654-a1ba-1a595ae76f7a</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5e6a0ef4-4ffb-4654-a1ba-1a595ae76f7a</CallhandlerURI> <DtmfAccessId>9899</DtmfAccessId> <VoiceNameRequired>false</VoiceNameRequired> <PartitionObjectId>7c789d46-449b-4ae4-b3f4-176e3b46bd18</PartitionObjectId> <PartitionURI>/vmrest/partitions/7c789d46-449b-4ae4-b3f4-176e3b46bd18</PartitionURI> <Inactive>false</Inactive> <MwisURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/mwis</MwisURI> <NotificationDevicesURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/notificationdevices</NotificationDevicesURI> <MessageHandlersURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/messagehandlers</MessageHandlersURI> <ExternalServiceAccountsURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/externalserviceaccounts</ExternalServiceAccountsURI> <AlternateExtensionsURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/alternateextensions</AlternateExtensionsURI> <PrivateListsURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/privatelists</PrivateListsURI> <VideoServiceAccountsURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/videoserviceaccounts</VideoServiceAccountsURI> <UserWebPasswordURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/credential/password</UserWebPasswordURI> <UserMailboxURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/mailboxattributes</UserMailboxURI> <MailboxStoreName>Unity Messaging Database -1</MailboxStoreName> Cisco Unity Connection Provisioning Interface (CUPI) API 147 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing Users based on Email Address

Page 180#

chunk 146

<UserVoicePinURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/credential/pin</UserVoicePinURI> <UserRoleURI>/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/userroles</UserRoleURI> <SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%20fc78a2c6-3065-46a5-b5cb-0bba363280d1)</SmtpProxyAddressesURI> <AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20fc78a2c6-3065-46a5-b5cb-0bba363280d1)</AlternateNamesURI> </User> Response Code: 200 JSON Example To view the details of particular user based on email address (emailaddress is emailaddress@domain.com), do the following: GET https://<connection-server>/vmrest/users?query=(emailaddress is abc@cisco.com) Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 148 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing Users based on Email Address

Page 181#

chunk 147

{ "Users": { "-total": "1", "User": { "URI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1" "ObjectId":"fc78a2c6-3065-46a5-b5cb-0bba363280d1" "FirstName":"abc" "Alias":"abc" "DisplayName":"abc" "EmailAddress":"abc@cisco.com" "TimeZone":"190" "CreationTime":"2016-05-11T09:51:04Z" "CosObjectId":"4e1c04f4-eb53-4f19-aaa2-0982121fa8fd" "CosURI":"/vmrest/coses/4e1c04f4-eb53-4f19-aaa2-0982121fa8fd" "Language":"1033" "LocationObjectId":"44471f12-f7cb-4d99-80fe-672bf039faef" "LocationURI":"/vmrest/locations/connectionlocations/44471f12-f7cb-4d99-80fe-672bf039faef" "ListInDirectory":"true" "IsVmEnrolled":"false" "MediaSwitchObjectId":"cf3e31a0-979f-4011-b239-0881cd9c4292" "PhoneSystemURI":"/vmrest/phonesystems/cf3e31a0-979f-4011-b239-0881cd9c4292" "CallHandlerObjectId":"5e6a0ef4-4ffb-4654-a1ba-1a595ae76f7a"/CallHandlerObjectId" "CallhandlerURI":"/vmrest/handlers/callhandlers/5e6a0ef4-4ffb-4654-a1ba-1a595ae76f7a" "DtmfAccessId":"9899" "VoiceNameRequired":"false" "PartitionObjectId":"7c789d46-449b-4ae4-b3f4-176e3b46bd18" "PartitionURI":"/vmrest/partitions/7c789d46-449b-4ae4-b3f4-176e3b46bd18" "Inactive":"false" "MwisURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/mwis" "NotificationDevicesURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/notificationdevices" "MessageHandlersURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/messagehandlers" "ExternalServiceAccountsURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/externalserviceaccounts" "AlternateExtensionsURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/alternateextensions" "PrivateListsURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/privatelists" "VideoServiceAccountsURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/videoserviceaccounts" "UserWebPasswordURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/credential/password" "UserMailboxURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/mailboxattributes" "MailboxStoreName":"Unity Messaging Database -1" "UserVoicePinURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/credential/pin" "UserRoleURI":"/vmrest/users/fc78a2c6-3065-46a5-b5cb-0bba363280d1/userroles" "SmtpProxyAddressesURI":"/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%20fc78a2c6-3065-46a5-b5cb-0bba363280d1)" "AlternateNamesURI":"/vmrest/alternatenames?query=(GlobalUserObjectId%20is%20fc78a2c6-3065-46a5-b5cb-0bba363280d1)" } Cisco Unity Connection Provisioning Interface (CUPI) API 149 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing Users based on Email Address

Page 182#

chunk 148

} } Listing Specific Tenant Related Users by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related user using the following URI: GET https://<connection-server>/vmrest/users?query=(TenantObjectId is <Tenant-ObjectId>) To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Viewing the Details of a Specific User The following is an example of the GET request that lists the details of specific user represented by the provided value of object ID: GET https://<connection-server>/vmrest/users/<user-objectId> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 150 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing Specific Tenant Related Users by System Administrator

Page 183#

chunk 149

<User> <URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</URI> <ObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <FirstName>jsdghj</FirstName> <Initials>efjoe</Initials> <LastName>djghfjk</LastName> <Alias>Texoma</Alias> <City/> <State/> <Country>US</Country> <PostalCode/> <Department/> <Manager/> <Title>eoufowe</Title> <Building/> <EmployeeId>2343</EmployeeId> <Address/> <DisplayName>user_Opera_1</DisplayName> <BillingId/> <TimeZone>190</TimeZone> <CreationTime>2013-03-05T11:24:33Z</CreationTime> <IsTemplate>false</IsTemplate> <DtmfNameFirstLast>5734453544355</DtmfNameFirstLast> <DtmfNameLastFirst>3544355573445</DtmfNameLastFirst> <CosObjectId>8ab2b94d-1531-4589-865f-27bd3eea8adc</CosObjectId> <CosURI>/vmrest/coses/8ab2b94d-1531-4589-865f-27bd3eea8adc</CosURI> <Language>1033</Language> <LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationURI> <AddressMode>0</AddressMode> <ClockMode>0</ClockMode> <ConversationTui>SubMenu</ConversationTui> <GreetByName>true</GreetByName> <ListInDirectory>true</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <SayCopiedNames>true</SayCopiedNames> <SayDistributionList>true</SayDistributionList> <SayMsgNumber>true</SayMsgNumber> <SaySender>true</SaySender> <SayTimestampAfter>true</SayTimestampAfter> <SayTimestampBefore>false</SayTimestampBefore> <SayTotalNew>false</SayTotalNew> <SayTotalNewEmail>false</SayTotalNewEmail> <SayTotalNewFax>false</SayTotalNewFax> <SayTotalNewVoice>true</SayTotalNewVoice> <SayTotalReceipts>false</SayTotalReceipts> <SayTotalSaved>true</SayTotalSaved> <Speed>100</Speed> <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150</PhoneSystemURI> <Undeletable>false</Undeletable> <UseBriefPrompts>false</UseBriefPrompts> <Volume>50</Volume> <EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone> <EnAltGreetPreventSkip>false</EnAltGreetPreventSkip> <EnAltGreetPreventMsg>false</EnAltGreetPreventMsg> <EncryptPrivateMessages>false</EncryptPrivateMessages> <DeletedMessageSortOrder>2</DeletedMessageSortOrder> <SayAltGreetWarning>false</SayAltGreetWarning> <SaySenderExtension>false</SaySenderExtension> Cisco Unity Connection Provisioning Interface (CUPI) API 151 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Viewing the Details of a Specific User

Page 184#

chunk 150

<SayAni>false</SayAni> <XferString/> <CallAnswerTimeout>4</CallAnswerTimeout> <CallHandlerObjectId>287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/287cdcc0-9f77-48e0-a7b1-0f9b1a5ac842</CallhandlerURI> <MessageTypeMenu>false</MessageTypeMenu> <NewMessageSortOrder>1</NewMessageSortOrder> <SavedMessageSortOrder>2</SavedMessageSortOrder> <MessageLocatorSortOrder>1</MessageLocatorSortOrder> <NewMessageStackOrder>1234567</NewMessageStackOrder> <SavedMessageStackOrder>1234567</SavedMessageStackOrder> <EnablePersonalRules>true</EnablePersonalRules> <RecordUnknownCallerName>true</RecordUnknownCallerName> <RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst> <ExitAction>2</ExitAction> <ExitTargetConversation>PHGreeting</ExitTargetConversation> <PromptSpeed>100</PromptSpeed> <ExitTargetHandlerObjectId>55af319d-7a26-40ad-9b20-153ee1f39e99</ExitTargetHandlerObjectId> <RepeatMenu>1</RepeatMenu> <FirstDigitTimeout>5000</FirstDigitTimeout> <InterdigitDelay>3000</InterdigitDelay> <PromptVolume>50</PromptVolume> <ExitCallActionObjectId>2b3566bd-0339-43a4-85a1-09ab3177f0e9</ExitCallActionObjectId> <AddressAfterRecord>false</AddressAfterRecord> <DtmfAccessId>99934</DtmfAccessId> <ConfirmDeleteMessage>false</ConfirmDeleteMessage> <ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage> <ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages> <IsClockMode24Hour>false</IsClockMode24Hour> <SynchScheduleObjectId>58dce2eb-9d6d-4621-b81d-a56c80b83897</SynchScheduleObjectId> <SynchScheduleURI>/vmrest/schedules/58dce2eb-9d6d-4621-b81d-a56c80b83897</SynchScheduleURI> <RouteNDRToSender>true</RouteNDRToSender> <IsSetForVmEnrollment>true</IsSetForVmEnrollment> <VoiceNameRequired>false</VoiceNameRequired> <SendBroadcastMsg>false</SendBroadcastMsg> <UpdateBroadcastMsg>false</UpdateBroadcastMsg> <ConversationVui>VuiStart</ConversationVui> <ConversationName>SubMenu</ConversationName> <SpeechCompleteTimeout>0</SpeechCompleteTimeout> <SpeechIncompleteTimeout>750</SpeechIncompleteTimeout> <UseVui>false</UseVui> <SkipPasswordForKnownDevice>true</SkipPasswordForKnownDevice> <JumpToMessagesOnLogin>true</JumpToMessagesOnLogin> <UseDefaultTimeZone>true</UseDefaultTimeZone> <EnableMessageLocator>false</EnableMessageLocator> <DtmfNameFirst>573445</DtmfNameFirst> <DtmfNameLast>3544355</DtmfNameLast> <AssistantRowsPerPage>5</AssistantRowsPerPage> <InboxMessagesPerPage>20</InboxMessagesPerPage> <InboxAutoRefresh>15</InboxAutoRefresh> <InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients> <PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage> <ReadOnly>false</ReadOnly> <EnableTts>true</EnableTts> <SmtpAddress>user_operator_1@ucbu-aricent-vm463.cisco.com</SmtpAddress> <ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold> <AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings> <SpeechConfidenceThreshold>40</SpeechConfidenceThreshold> <SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy> <SpeechSensitivity>50</SpeechSensitivity> Cisco Unity Connection Provisioning Interface (CUPI) API 152 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Viewing the Details of a Specific User

Page 185#

chunk 151

<EnableVisualMessageLocator>false</EnableVisualMessageLocator> <ContinuousAddMode>false</ContinuousAddMode> <NameConfirmation>false</NameConfirmation> <CommandDigitTimeout>1500</CommandDigitTimeout> <SaveMessageOnHangup>false</SaveMessageOnHangup> <SendMessageOnHangup>1</SendMessageOnHangup> <SkipForwardTime>5000</SkipForwardTime> <SkipReverseTime>5000</SkipReverseTime> <UseShortPollForCache>true</UseShortPollForCache> <SearchByExtensionSearchSpaceObjectId>5d004dee-14ef-4fc4-83b8-850274628286</SearchByExtensionSearchSpaceObjectId> <SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/5d004dee-14ef-4fc4-83b8-850274628286</SearchByExtensionSearchSpaceURI> <SearchByNameSearchSpaceObjectId>5d004dee-14ef-4fc4-83b8-850274628286</SearchByNameSearchSpaceObjectId> <SearchByNameSearchSpaceURI>/vmrest/searchspaces/5d004dee-14ef-4fc4-83b8-850274628286</SearchByNameSearchSpaceURI> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionURI> <Inactive>false</Inactive> <UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight> <LdapType>1</LdapType> <FaxServerObjectId>1564dbbc-002f-47b9-a0f3-38f2cd6e2d87</FaxServerObjectId> <FaxServerURI>/vmrest/faxservers/1564dbbc-002f-47b9-a0f3-38f2cd6e2d87</FaxServerURI> <MwisURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/mwis</MwisURI> <NotificationDevicesURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/notificationdevices</NotificationDevicesURI> <MessageHandlersURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/messagehandlers</MessageHandlersURI> <ExternalServiceAccountsURI>/vmrest/users/9375d893-c8eb-437b-90bf- 7de4b1d0c3e8/externalserviceaccounts</ExternalServiceAccountsURI> <AlternateExtensionsURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/alternateextensions</AlternateExtensionsURI> <PrivateListsURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/privatelists</PrivateListsURI> <UserWebPasswordURI>/vmrest/users/7e048531-acdf-460b-884e-415be712d0bc/credential/password</UserWebPasswordURI> <UserVoicePinURI>/vmrest/users/7e048531-acdf-460b-884e-415be712d0bc/credential/pin</UserVoicePinURI> <UserRoleURI>/vmrest/users/7e048531-acdf-460b-884e-415be712d0bc/userroles</UserRoleURI> <SmtpProxyAddressesURI>/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%209375d893-c8eb-437b-90bf-7de4b1d0c3e8)</SmtpProxyAddressesURI> <AlternateNamesURI>/vmrest/alternatenames?query=(GlobalUserObjectId%20is%209375d893-c8eb-437b-90bf-7de4b1d0c3e8) </AlternateNamesURI> </User> Response Code: 200 JSON Example To view the details of particular user, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 153 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Viewing the Details of a Specific User

Page 186#

chunk 152

GET https://<connection-server>/vmrest/users?query=(emailaddress is abc@cisco.com) Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 154 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Viewing the Details of a Specific User

Page 187#

chunk 153

{ "URI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1" "ObjectId":"6c91a90f-0771-492b-a7a5-083ea246a7e1" "UseDefaultLanguage":"true" "Alias":"Texoma" "DisplayName":"Texoma" "TimeZone":"190" "CreationTime":"2013-03-14T10:54:47Z" "IsTemplate":"false" "CosObjectId":"844e18ef-884c-4f43-b9ce-1dc0d53196c2" "CosURI":"/vmrest/coses/844e18ef-884c-4f43-b9ce-1dc0d53196c2" "Language":"1033" "LocationObjectId":"42a9ab40-490d-4819-9bfb-8ddce4f430ff" "LocationURI":"/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb-8ddce4f430ff" "AddressMode":"0" "ClockMode":"0" "ConversationTui":"SubMenu" "GreetByName":"true" "ListInDirectory":"true" "IsVmEnrolled":"true" "SayCopiedNames":"true" "SayDistributionList":"true" "SayMsgNumber":"true" "SaySender":"true" "SayTimestampAfter":"true" "SayTimestampBefore":"false" "SayTotalNew":"true" "SayTotalNewEmail":"true" "SayTotalNewFax":"false" "SayTotalNewVoice":"true" "SayTotalReceipts":"false" "SayTotalSaved":"true" "Speed":"100" "MediaSwitchObjectId":"ec1e2636-fc14-44fc-8cda-d6c1a3d61150" "PhoneSystemURI":"/vmrest/phonesystems/ec1e2636-fc14-44fc-8cda-d6c1a3d61150" "Undeletable":"false" "UseBriefPrompts":"false" "Volume":"50" "EnAltGreetDontRingPhone":"false" "EnAltGreetPreventSkip":"false" "EnAltGreetPreventMsg":"false" "EncryptPrivateMessages":"false" "DeletedMessageSortOrder":"2" "SayAltGreetWarning":"false" "SaySenderExtension":"false" "SayAni":"false" "CallAnswerTimeout":"4" "CallHandlerObjectId":"fc2f99c4-31ac-465b-b143-5d21c760439c" "CallhandlerURI":"/vmrest/handlers/callhandlers/fc2f99c4-31ac-465b-b143-5d21c760439c" "MessageTypeMenu":"false" "NewMessageSortOrder":"1" "SavedMessageSortOrder":"2" "MessageLocatorSortOrder":"1" "NewMessageStackOrder":"1234567" "SavedMessageStackOrder":"1234567" "EnablePersonalRules":"true" "RecordUnknownCallerName":"true" "RingPrimaryPhoneFirst":"false" "ExitAction":"2" "ExitTargetConversation":"PHGreeting" "PromptSpeed":"100" "ExitTargetHandlerObjectId":"939d4d12-cec8-4fee-ae47-fbf0cf20c33e" "RepeatMenu":"1" Cisco Unity Connection Provisioning Interface (CUPI) API 155 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Viewing the Details of a Specific User

Page 188#

chunk 154

"FirstDigitTimeout":"5000" "InterdigitDelay":"3000" "PromptVolume":"50" "ExitCallActionObjectId":"a5ab392f-dce6-4de2-af7f-92f9ebd14300" "AddressAfterRecord":"false" "DtmfAccessId":"12345" "ConfirmDeleteMessage":"false" "ConfirmDeleteDeletedMessage":"false" "ConfirmDeleteMultipleMessages":"true" "IsClockMode24Hour":"false" "SynchScheduleObjectId":"214cc45c-db48-44c6-a239-aa4c5e65e32a" "SynchScheduleURI":"/vmrest/schedules/214cc45c-db48-44c6-a239-aa4c5e65e32a" "RouteNDRToSender":"true" "IsSetForVmEnrollment":"true" "VoiceNameRequired":"false" "SendBroadcastMsg":"false" "UpdateBroadcastMsg":"false" "ConversationVui":"VuiStart" "ConversationName":"SubMenu" "SpeechCompleteTimeout":"0" "SpeechIncompleteTimeout":"750" "UseVui":"false" "SkipPasswordForKnownDevice":"false" "JumpToMessagesOnLogin":"false" "UseDefaultTimeZone":"true" "EnableMessageLocator":"false" "AssistantRowsPerPage":"5" "InboxMessagesPerPage":"20" "InboxAutoRefresh":"15" "InboxAutoResolveMessageRecipients":"true" "PcaAddressBookRowsPerPage":"5" "ReadOnly":"false" "EnableTts":"true" "SmtpAddress":"vishu11@ucbu-aricent-vm463.cisco.com" "ConfirmationConfidenceThreshold":"60" "AnnounceUpcomingMeetings":"60" "SpeechConfidenceThreshold":"40" "SpeechSpeedVsAccuracy":"50" "SpeechSensitivity":"50" "EnableVisualMessageLocator":"false" "ContinuousAddMode":"false" "NameConfirmation":"false" "CommandDigitTimeout":"1500" "SaveMessageOnHangup":"false" "SendMessageOnHangup":"1" "SkipForwardTime":"5000" "SkipReverseTime":"5000" "UseShortPollForCache":"false" "SearchByExtensionSearchSpaceObjectId":"877942bf-6600-4b7a-809d-159199cfc2ec" "SearchByExtensionSearchSpaceURI":"/vmrest/searchspaces/877942bf-6600-4b7a-809d-159199cfc2ec" "SearchByNameSearchSpaceObjectId":"877942bf-6600-4b7a-809d-159199cfc2ec" "SearchByNameSearchSpaceURI":"/vmrest/searchspaces/877942bf-6600-4b7a-809d-159199cfc2ec" "PartitionObjectId":"da2114bf-cde7-43d8-9709-cd3895a9d41b" "PartitionURI":"/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b" "Inactive": "false", "UseDynamicNameSearchWeight":"false" "LdapType":"0" "MwisURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/mwis" "NotificationDevicesURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/notificationdevices" Cisco Unity Connection Provisioning Interface (CUPI) API 156 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Viewing the Details of a Specific User

Page 189#

chunk 155

"MessageHandlersURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/messagehandlers" "ExternalServiceAccountsURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/externalserviceaccounts" "AlternateExtensionsURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/alternateextensions" "PrivateListsURI":"/vmrest/users/6c91a90f-0771-492b-a7a5-083ea246a7e1/privatelists" "SmtpProxyAddressesURI":"/vmrest/smtpproxyaddresses?query=(ObjectGlobalUserObjectId%20is%206c91a90f-0771-492b-a7a5-083ea246a7e1)" "AlternateNamesURI":"/vmrest/alternatenames?query=(GlobalUserObjectId%20is%206c91a90f-0771-492b-a7a5-083ea246a7e1)" } Response Code: 200 Creating a User This request can be used to create a new user. The mandatory fields for creation of a user are alias and DtmfAccessId. The URI for getting user template alias is: https://<connection-server>/vmrest/usertemplates. The URI for getting MailboxStoreObjectId is: https://<connection-server>/vmrest/mailboxstores. The ObjectId field in the response body of above URI is used as MailboxStoreObjectId. Users can be created in two ways: 1. This creates the user using default mailbox store: POST https://<connection-server>/vmrest/users?templateAlias=<usertemplatealias> 2. This creates the user using specified mailbox store object ID: POST https://<connection-server>/vmrest/users?templateAlias=<usertemplateAlias>&MailboxStoreObjectId=<mailboxStore-ObjectId> <User> <Alias>texoma</Alias> <DtmfAccessId >123422</DtmfAccessId > </User> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/f82b301d-1ec8-44c6-a3ee-0012269439bf JSON Example To create user, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 157 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Creating a User

Page 190#

chunk 156

POST https://<Connection-server>/vmrest/users?templateAlias=voicemailusertemplate Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Alias":"voicemailusertemplate1", "DisplayName":"Voice Mail User Template 1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/f82b301d-1ec8-44c6-a3ee-0012269439bf Updating a User The following is an example of the PUT request that update details of a user: PUT https://<connection-server>/vmrest/users/<user-objectid> <User> <Alias>Texoma</Alias> <UseShortPollForCache> true</UseShortPollForCache> <ListInDirectory>true </ListInDirectory> <SkipPasswordForKnownDevice>true </SkipPasswordForKnownDevice> <IsVmEnrolled> true</IsVmEnrolled> <RouteNDRToSender >true</RouteNDRToSender > <MediaSwitchObjectId>ec1e2636-fc14-44fc-8cda-d6c1a3d61150 </MediaSwitchObjectId> <DtmfAccessId>99934</DtmfAccessId> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <Inactive>false</Inactive> <CosObjectId>8ab2b94d-1531-4589-865f-27bd3eea8adc</CosObjectId> <SearchByExtensionSearchSpaceObjectId>877942bf-6600-4b7a-809d-159199cfc2ec</SearchByExtensionSearchSpaceObjectId> </User> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update details of a user: PUT https://<connection-server>/vmrest/users/<user-objectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "DtmfAccessId":"123” } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 158 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Updating a User

Page 191#

chunk 157

Response Code: 204 Update Language and TimeZone: Language UseDefaultLanguage UseCallLanguage NULL/LanguageCode true false Use System Default Language NULL/LanguageCode true/false true Inherit Language from Caller Language Code false false Particular Language • URI for timezone: https://<Connection-server>/vmrest/timezones • URI for installed Languages: https://<Connection-server>/vmrest/installedlanguages • URI to get Language code: https://<Connection-server>/vmrest/languagemap <User> <UseDefaultTimeZone>false</UseDefaultTimeZone> <TimeZone>175</TimeZone> <UseDefaultLanguage>false</UseDefaultLanguage> <Language>1034</Language> </User> Response Code: 204 JSON Example To delete a user, do the following: DELETE https://<connection-server>/vmrest/users/<user-objectid> Accept: application/json Content-type: application/json Connection: keep_alive Response Code: 204 Delete a User The following is an example of the DELETE request that can be used to delete a user: DELETE https://<connection-server>/vmrest/users/<user-objectid> Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 159 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Update Language and TimeZone:

Page 192#

chunk 158

JSON Example To delete a user, do the following: DELETE https://<connection-server>/vmrest/users/<user-objectid> Accept: application/json Content-type: application/json Connection: keep_alive Response Code: 204 Explanation of Data Fields: Description Data Type Operation Field Name A flag displays the status of a user. Possible values: • true: if user is inactive. • false: if user is active. Default Value: false You can only change the status from true to false. Note Boolean Read/Write Inactive A unique text name of a user. Users enter the alias to sign in to the Cisco Personal Communications Assistant (Cisco PCA). The administrators enter the alias to sign in to Cisco Unity Connection Administration. String(64) Read/Write Alias Descriptive name of the user. String(64) Read/Write DisplayName The first name (i.e., given name) of the user. String(64) Read/Write FirstName The last name (i.e., surname or family name) of the user, by which a user is commonly known. String(64) Read/Write LastName The full SMTP address for the user String(320) Read/Write SmtpAddress The time zone to which this user account is associated. URI for timezone is: https://<Connection-server>/vmrest/timezones. Integer(4) Read/Write TimeZone Indicates if the default timezone is being used. Possible values: • true: if default time zone is to be used • false: to use specific time zone, if false is selected timezone should be also specified. Boolean Read/Write UseDefaultTimeZone Cisco Unity Connection Provisioning Interface (CUPI) API 160 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Explanation of Data Fields:

Page 193#

chunk 159

Description Data Type Operation Field Name The preferred language of this user. For a user with a voice mailbox, it is the language in which the subscriber hears instructions played to them. If the subscriber has TTS enabled by their class of service, it is the language used for TTS. Integer Read/Write Language Set to true, if the call handler is using default language from the location it belongs to. If false, you need to specify the language, so set the particular language Boolean Read/Write UseDefaultLanguage The LDAP configuration information for the user. Possible Value: • 0-Do not Integrate with LDAP directory. • 1-Integrate with LDAP directory • 2-Authenticate • 4-Inactive Default Value: 0 Integer Read/Write LdapType The unique identifier of the LocationVMS object to which the user belongs to. String(36) Read Only LocationObjectId A flag indicating whether this instance of a user object is a "template" for creating new users. Possible values: • true: if user template • false: if user Default Value: false Boolean Read Only IsTemplate The initial letters of some or all of the names of the user. String(64) Read/Write Initials The position or function of a user within an organization, such as 'Vice President'. String(64) Read/Write Title The numeric or alphanumeric identifier assigned to a person, typically based on order of hire or association with an organization. String(64) Read/Write EmployeeId The physical address such as a house number and street name where the user is located, or with which a user is associated. String(128) Read/Write Address The name of the building where the user is based. String(64) Read/Write Building The name of a locality, such as a city, county or other geographic region where the user is located, or with which a user is associated. String(64) Read/Write City The full name of the state or province where this user is located, or with which a user is associated. String(64) Read/Write State Cisco Unity Connection Provisioning Interface (CUPI) API 161 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Explanation of Data Fields:

Page 194#

chunk 160

Description Data Type Operation Field Name For users in the United States, the zip code where the user is located. For users in Canada, Mexico, and other countries, the postal code where the user is located. String(40) Read/Write PostalCode The two-letter ISO 3166-1 country code where the user is located, or with which a user is associated. URI to fetch available country code: https://<Connection-server>/vmrest/languagemap.From the response fetch last 2 letter of the Languagetag parameter. String(2) Read/Write Country The name or number for the department or subdivision of an organization to which a person belongs to. String(64) Read/Write Department The name of the person who is the manager or supervisor of the user. Any character except non-printing ASCII characters can be used here. String(64) Read/Write Manager Accounting information or project code associated with the user. Any ASCII or Unicode character can be used here. String(32) Read/Write BillingId The corporate email address of the user. String(320) Read/Write EmailAddress The DTMF access id (i.e., extension) of the subscriber. String(40) Read/Write DtmfAccessId The cross-server transfer extension. If NULL, the user's primary extension is used. String(40) Read/Write XferString The unique identifier of the FaxServer object for the subscriber. String(36) Read/Write FaxServerObjectId The unique identifier of the partition associated with the user String(36) Read/Write PartitionObjectId The unique identifier of the MediaSwitch object associated with the user String(36) Read/Write MediaSwitchObjectId The unique identifier of the SearchSpace which is used to limit the visibility to dialable/addressable objects when searching by extension (dial string). String(36) Read/Write SearchByExtensionSearchSpaceObjectId The unique identifier of the SearchSpace which is used to limit the visibility to dialable/addressable objects when searching by name (character string). String(36) Read/Write SearchByNameSearchSpaceObjectId The unique identifier of the class of service object to which this user account is associated. String(36) Read/Write CosObjectId The unique identifier of the primary CallHandler object for the subscriber. String(36) Read/Write CallHandlerObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 162 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Explanation of Data Fields:

Page 195#

chunk 161

Description Data Type Operation Field Name The unique identifier of the schedule set Cisco Unity Connection will use for making standard versus off hours decisions within this call handler. To update the ScheduleSetObjectId ,first go to the user URI, then go to the callhandler URI, and then update the scheduleset. Note String(36) Read/Write ScheduleSetObjectId The unique identifier of the tenant to which the user belongs. This field is reflected in the response only if the user belongs to a particular tenant. String(36) Read Only TenantObjectId A flag indicating whether Cisco Unity Connection plays the enrollment conversation (record a voice name, indicate if they are listed in the directory, etc.) for the subscriber when they login. Possible values: • false: The enrollment conversation is not played for the subscriber when they login. • true: The enrollment conversation is played for the subscriber when they login. Default value: true Boolean Read/Write IsVmEnrolled A flag indicating whether the subscriber will be asked for his/her PIN when attempting to sign-in from a known device. Possible values: • false: Do not Skip PIN When Calling From a Known Extension • true: Skip PIN When Calling From a Known Extension Default value: false Boolean Read/Write SkipPasswordForKnownDevice A flag indicating whether Cisco Unity Connection should list the subscriber in the phone directory for outside callers. Possible values: • false: Do not list in Directory • true: List in directory Default value: false Boolean Read/Write ListInDirectory Cisco Unity Connection Provisioning Interface (CUPI) API 163 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Explanation of Data Fields:

Page 196#

chunk 162

Description Data Type Operation Field Name A flag indicating whether the user's polling cycle for retrieving the calendar information will be the shorter "power user" polling cycle. Possible values: • false: The subscriber's polling cycle is determined by the system default polling cycle. (System configuration setting "Normal Calendar Caching Poll Interval"). • true: The shorter "power user" polling cycle is used. (System configuration setting "Short Calendar Caching Poll Interval"). Default value : false Boolean Read/Write UseShortPollForCache Flag indicating whether to Send Non-Delivery Receipts on Failed Message Delivery. Possible values: • true: Send Non-Delivery Receipts on Failed Message Delivery. • false: Do not Send Non-Delivery Receipts on Failed Message Delivery. Default value: true Boolean Read/Write RouteNDRToSender Flag indicating whether a user cannot be deleted or not. Possible values: • true: For default users • false: For other created users Boolean Read Only Undeletable The name of the WAV file containing the recorded audio (voice name, greeting, etc.) for the parent object. String(40) Read/Write VoiceName The phone number of the fax machine that the user sends faxes to for printing. String(255) Read/Write DialablePhoneNumber The corporate Phone number. String(255) Read Only PhoneNumber Flag indicating whether an SMTP proxy address matching the corporate e-mail address (column EmailAddress) should be created for the user. Possible values: • false: Do not create matching SMTP proxy address. • true: Create matching SMTP proxy address. Default value: false MailboxStoreName Read Only String Mailbox store name used by the user Boolean Read/Write CreateSmtpProxyFromCorp Cisco Unity Connection Provisioning Interface (CUPI) API 164 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Explanation of Data Fields:

Page 197#

chunk 163

Admin User API Cisco Unity Connection 12.5 SU3 and later, supports Admin User API. Administrator can use this API to create/update/delete/fetch the users who does not have mailbox using Admin User API. Various attributes of user without mailbox, for example first name, last name, display name, alias, time zone, language, password, roles, password settings, can also be updated using this API . Listing Admin Users without Mailbox The request can be used to fetch the list of all users without mailbox. GET https://<connection-server>/vmrest/adminusers The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 165 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Admin User API

Page 198#

chunk 164

<Users total="4"> <User> <URI>/vmrest/adminusers/c8a3a38b-df1a-4612-9679-d1fddc790e95</URI> <ObjectId>c8a3a38b-df1a-4612-9679-d1fddc790e95</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <Alias>admin</Alias> <DisplayName>admin</DisplayName> <TimeZone>190</TimeZone> <CreationTime>2020-07-28T10:13:15Z</CreationTime> <IsTemplate>false</IsTemplate> <Language>1033</Language> <LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId> <Undeletable>true</Undeletable> <UseDefaultTimeZone>true</UseDefaultTimeZone> <ReadOnly>true</ReadOnly> <SmtpAddress>admin@ucbu-aricent-vm405.cisco.com</SmtpAddress> <LdapType>0</LdapType> <UserWebPasswordURI>/vmrest/users/c8a3a38b-df1a-4612-9679-d1fddc790e95/credential/password</UserWebPasswordURI> <UserRoleURI>/vmrest/users/c8a3a38b-df1a-4612-9679-d1fddc790e95/userroles</UserRoleURI> </User> <User> <URI>/vmrest/adminusers/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2</URI> <ObjectId>0b008d28-a8ce-4d14-aa6f-3b584d3d43d2</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <FirstName>Cisco Unity Connection</FirstName> <LastName>Messaging System</LastName> <Alias>UnityConnection</Alias> <DisplayName>Cisco Unity Connection Messaging System</DisplayName> <TimeZone>190</TimeZone> <CreationTime>2020-07-28T10:13:15Z</CreationTime> <IsTemplate>false</IsTemplate> <Language>1033</Language> <LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId> <Undeletable>true</Undeletable> <UseDefaultTimeZone>true</UseDefaultTimeZone> <ReadOnly>true</ReadOnly> <SmtpAddress>unityconnection@ucbu-aricent-vm405.cisco.com</SmtpAddress> <LdapType>0</LdapType> <UserWebPasswordURI>/vmrest/users/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2/credential/password</UserWebPasswordURI> <UserRoleURI>/vmrest/users/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2/userroles</UserRoleURI> </User> <User> <URI>/vmrest/adminusers/6fd02048-a02c-4bb8-a440-c6c063cb3dcd</URI> <ObjectId>6fd02048-a02c-4bb8-a440-c6c063cb3dcd</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <FirstName>Replication</FirstName> <LastName>Agent</LastName> <Alias>Replication</Alias> <DisplayName>Replication Agent (ucbu-aricent-vm405)</DisplayName> <TimeZone>190</TimeZone> <CreationTime>2020-07-28T10:13:18Z</CreationTime> <IsTemplate>false</IsTemplate> <Language>1033</Language> <LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId> <Undeletable>true</Undeletable> <UseDefaultTimeZone>true</UseDefaultTimeZone> <ReadOnly>true</ReadOnly> <SmtpAddress>replication@ucbu-aricent-vm405.cisco.com</SmtpAddress> Cisco Unity Connection Provisioning Interface (CUPI) API 166 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing Admin Users without Mailbox

Page 199#

chunk 165

<LdapType>0</LdapType> <UserWebPasswordURI>/vmrest/users/6fd02048-a02c-4bb8-a440-c6c063cb3dcd/credential/password</UserWebPasswordURI> <UserRoleURI>/vmrest/users/6fd02048-a02c-4bb8-a440-c6c063cb3dcd/userroles</UserRoleURI> </User> <User> <URI>/vmrest/adminusers/0347d21e-c238-4079-8d77-662499c058ba</URI> <ObjectId>0347d21e-c238-4079-8d77-662499c058ba</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <FirstName>George</FirstName> <Initials>GD</Initials> <LastName>Davis</LastName> <Alias>Davis</Alias> <State>Mumbai</State> <Title>Trainee</Title> <Address>HNo4 Street Ville Parle</Address> <DisplayName>George</DisplayName> <TimeZone>190</TimeZone> <CreationTime>2020-07-29T09:03:42Z</CreationTime> <IsTemplate>false</IsTemplate> <Language>1033</Language> <LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId> <Undeletable>false</Undeletable> <UseDefaultTimeZone>true</UseDefaultTimeZone> <ReadOnly>false</ReadOnly> <SmtpAddress>davis@ucbu-aricent-vm405.cisco.com</SmtpAddress> <LdapType>3</LdapType> <UserWebPasswordURI>/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/credential/password</UserWebPasswordURI> <UserRoleURI>/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/userroles</UserRoleURI> </User> </Users> Response Code: 200 JSON Example To view the list of admin users, do the following: GET https://<connection-server>/vmrest/adminusers Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 167 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing Admin Users without Mailbox

Page 200#

chunk 166

{ "@total": "4", "User": [ { "URI": "/vmrest/adminusers/c8a3a38b-df1a-4612-9679-d1fddc790e95", "ObjectId": "c8a3a38b-df1a-4612-9679-d1fddc790e95", "UseDefaultLanguage": "true", "Alias": "admin", "DisplayName": "admin", "TimeZone": "190", "CreationTime": "2020-07-28T10:13:15Z", "IsTemplate": "false", "Language": "1033", "LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5", "Undeletable": "true", "UseDefaultTimeZone": "true", "ReadOnly": "true", "SmtpAddress": "admin@ucbu-aricent-vm405.cisco.com", "LdapType": "0", "UserWebPasswordURI": "/vmrest/users/c8a3a38b-df1a-4612-9679-d1fddc790e95/credential/password", "UserRoleURI": "/vmrest/users/c8a3a38b-df1a-4612-9679-d1fddc790e95/userroles" }, { "URI": "/vmrest/adminusers/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2", "ObjectId": "0b008d28-a8ce-4d14-aa6f-3b584d3d43d2", "UseDefaultLanguage": "true", "FirstName": "Cisco Unity Connection", "LastName": "Messaging System", "Alias": "UnityConnection", "DisplayName": "Cisco Unity Connection Messaging System", "TimeZone": "190", "CreationTime": "2020-07-28T10:13:15Z", "IsTemplate": "false", "Language": "1033", "LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5", "Undeletable": "true", "UseDefaultTimeZone": "true", "ReadOnly": "true", "SmtpAddress": "unityconnection@ucbu-aricent-vm405.cisco.com", "LdapType": "0", "UserWebPasswordURI": "/vmrest/users/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2/credential/password", "UserRoleURI": "/vmrest/users/0b008d28-a8ce-4d14-aa6f-3b584d3d43d2/userroles" }, { "URI": "/vmrest/adminusers/6fd02048-a02c-4bb8-a440-c6c063cb3dcd", "ObjectId": "6fd02048-a02c-4bb8-a440-c6c063cb3dcd", "UseDefaultLanguage": "true", "FirstName": "Replication", "LastName": "Agent", "Alias": "Replication", "DisplayName": "Replication Agent (ucbu-aricent-vm405)", "TimeZone": "190", "CreationTime": "2020-07-28T10:13:18Z", "IsTemplate": "false", "Language": "1033", "LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5", "Undeletable": "true", "UseDefaultTimeZone": "true", "ReadOnly": "true", "SmtpAddress": "replication@ucbu-aricent-vm405.cisco.com", "LdapType": "0", "UserWebPasswordURI": Cisco Unity Connection Provisioning Interface (CUPI) API 168 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Listing Admin Users without Mailbox

Page 201#

chunk 167

"/vmrest/users/6fd02048-a02c-4bb8-a440-c6c063cb3dcd/credential/password", "UserRoleURI": "/vmrest/users/6fd02048-a02c-4bb8-a440-c6c063cb3dcd/userroles" }, { "URI": "/vmrest/adminusers/0347d21e-c238-4079-8d77-662499c058ba", "ObjectId": "0347d21e-c238-4079-8d77-662499c058ba", "UseDefaultLanguage": "true", "FirstName": "George", "Initials": "GD", "LastName": "Davis", "Alias": "Davis", "State": "Mumbai", "Title": "Trainee", "Address": "HNo4 Street Ville Parle", "DisplayName": "George", "TimeZone": "190", "CreationTime": "2020-07-29T09:03:42Z", "IsTemplate": "false", "Language": "1033", "LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5", "Undeletable": "false", "UseDefaultTimeZone": "true", "ReadOnly": "false", "SmtpAddress": "davis@ucbu-aricent-vm405.cisco.com", "LdapType": "3", "UserWebPasswordURI": "/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/credential/password", "UserRoleURI": "/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/userroles" } ] } Response Code: 200 Viewing Details of Admin User without Mailbox The following is an example of the GET request that lists the details of specific user without mailbox represented by the provided value of object ID: GET https://<connection-server>/vmrest/adminusers/<user-objectId> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 169 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Viewing Details of Admin User without Mailbox

Page 202#

chunk 168

<User> <URI>/vmrest/adminusers/0347d21e-c238-4079-8d77-662499c058ba</URI> <ObjectId>0347d21e-c238-4079-8d77-662499c058ba</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <FirstName>George</FirstName> <Initials>GD</Initials> <LastName>Davis</LastName> <Alias>Davis</Alias> <State>Mumbai</State> <Title>Trainee</Title> <Address>HNo4 Street Ville Parle</Address> <DisplayName>George</DisplayName> <TimeZone>190</TimeZone> <CreationTime>2020-07-29T09:03:42Z</CreationTime> <IsTemplate>false</IsTemplate> <Language>1033</Language> <LocationObjectId>58b236f7-3c20-4e61-89a0-809740c05de5</LocationObjectId> <Undeletable>false</Undeletable> <UseDefaultTimeZone>true</UseDefaultTimeZone> <ReadOnly>false</ReadOnly> <SmtpAddress>davis@ucbu-aricent-vm405.cisco.com</SmtpAddress> <LdapType>3</LdapType> <UserWebPasswordURI>/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/credential/password</UserWebPasswordURI> <UserRoleURI>/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/userroles</UserRoleURI> </User> Response Code: 200 JSON Example To view the details of particular user, do the following: GET https://<connection-server>/vmrest/adminusers/{user-objectId} Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 170 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Viewing Details of Admin User without Mailbox

Page 203#

chunk 169

{ "URI": "/vmrest/adminusers/0347d21e-c238-4079-8d77-662499c058ba", "ObjectId": "0347d21e-c238-4079-8d77-662499c058ba", "UseDefaultLanguage": "true", "FirstName": "George", "Initials": "GD", "LastName": "Davis", "Alias": "Davis", "State": "Mumbai", "Title": "Trainee", "Address": "HNo4 Street Ville Parle", "DisplayName": "George", "TimeZone": "190", "CreationTime": "2020-07-29T09:03:42Z", "IsTemplate": "false", "Language": "1033", "LocationObjectId": "58b236f7-3c20-4e61-89a0-809740c05de5", "Undeletable": "false", "UseDefaultTimeZone": "true", "ReadOnly": "false", "SmtpAddress": "davis@ucbu-aricent-vm405.cisco.com", "LdapType": "3", "UserWebPasswordURI": "/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/credential/password", "UserRoleURI": "/vmrest/users/0347d21e-c238-4079-8d77-662499c058ba/userroles" } Response Code: 200 Creating Admin User without Mailbox This request can be used to create a new user who does not have a mailbox.The mandatory fields for creation of a user are alias and templateAlias. 1. This creates the admin user using default administratortemplate: POST https://<connection-server>/vmrest/adminusers?templateAlias=<administratortemplate> <user> <Alias>Davis</Alias> <DisplayName>George</DisplayName> <FirstName>George</FirstName> <LastName>Davis</LastName> <TimeZone>190</TimeZone> <UseDefaultTimeZone>true</UseDefaultTimeZone> <IsTemplate>false</IsTemplate> <Language>1033</Language> <UseDefaultLanguage>true</UseDefaultLanguage> <LdapType>3</LdapType> <Initials>GD</Initials> <Title>Trainee</Title> <Address>HNo4 Street Ville Parle</Address> <State>Mumbai</State> <Undeletable>false</Undeletable> </user> The following is the response from the above POST request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 171 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Creating Admin User without Mailbox

Page 204#

chunk 170

Response Code: 201 /vmrest/users/0347d21e-c238-4079-8d77-662499c058ba JSON Example To create user, do the following: POST https://<Connection-server>/vmrest/adminusers?templateAlias=administratortemplate Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "UseDefaultLanguage" : "true" "Alias":"Davis", "DisplayName":"George" "FirstName" : "George" "LastName" : "Davis" "TimeZone":"190" "UseDefaultTimeZone" : "true" "IsTemplate" : "false" "Language" : "1033" "LdapType" : "3" "Initials" : "GD" "Title" : "Trainee" "Address" : "HNo4 Street Ville Parle" "State" : "Mumbai" "Undeletable" : "false" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/0347d21e-c238-4079-8d77-662499c058ba Updating Admin User without Mailbox The following is an example of the PUT request that update details of a user without mailbox: PUT https://<connection-server>/vmrest/adminusers/<user-objectid> <user> <Alias>Texoma</Alias> <DisplayName>richardtexoma</DisplayName> <IsTemplate>false</IsTemplate> <Language>1020</Language> <LocationObjectId>35ac99ba-e098-4195-9ffb-cecb5a7cab65</LocationObjectId> <Undeletable>true</Undeletable> <UseDefaultTimeZone>true</UseDefaultTimeZone> <ReadOnly>true</ReadOnly> <TimeZone>140</TimeZone> </user> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 172 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Updating Admin User without Mailbox

Page 205#

chunk 171

JSON Example To update details of a user: PUT https://<connection-server>/vmrest/adminusers/<user-objectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "TimeZone":"170” } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Deleting Admin User without Mailbox The following is an example of the DELETE request that can be used to delete a user who does not have a mailbox: DELETE https://<connection-server>/vmrest/adminusers/<user-objectid> Response Code: 204 JSON Example To delete a user, do the following: DELETE https://<connection-server>/vmrest/adminusers/<user-objectid> Accept: application/json Content-type: application/json Connection: keep_alive Response Code: 204 Explanation of Data Fields Description Data Type Operation Field Name A unique text name of a user. String(64) Read/Write Alias A flag displays the status of a user. Possible values: • true: if user is inactive. • false: if user is active. Default Value: false You can only change the status from true to false. Note Boolean Read/Write Inactive Cisco Unity Connection Provisioning Interface (CUPI) API 173 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Deleting Admin User without Mailbox

Page 206#

chunk 172

Description Data Type Operation Field Name Descriptive name of the user. String(64) Read/Write DisplayName The first name (i.e., given name) of the user. String(64) Read/Write FirstName The last name (i.e., surname or family name) of the user, by which a user is commonly known. String(64) Read/Write LastName The full SMTP address for the user String(320) Read/Write SmtpAddress The time zone to which this user account is associated. URI for timezone is: https://<Connection-server>/vmrest/timezones. Integer(4) Read/Write TimeZone Indicates if the default timezone is being used. Possible values: • true: if default time zone is to be used • false: to use specific time zone, if false is selected timezone should be also specified. Boolean Read/Write UseDefaultTimeZone The preferred language of user. Integer Read/Write Language Set to true, if the call handler is using default language from the location it belongs to. If false, you need to specify the language, so set the particular language Boolean Read/Write UseDefaultLanguage The LDAP configuration information for the user. Possible Values: • 0-Not integrated with LDAP directory. • 3-Integrated with LDAP directory Default Value: 0 Integer Read/Write LdapType The unique identifier of the LocationVMS object to which the user belongs to. String(36) Read Only LocationObjectId A flag indicating whether this instance of a user object is a "template" for creating new users. Possible values: • true: if user template • false: if user Default Value: false Boolean Read Only IsTemplate The initial letters of some or all of the names of the user. String(64) Read/Write Initials The position or function of a user within an organization, such as 'Vice President'. String(64) Read/Write Title The physical address such as a house number and street name where the user is located, or with which a user is associated. String(128) Read/Write Address Cisco Unity Connection Provisioning Interface (CUPI) API 174 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Explanation of Data Fields

Page 207#

chunk 173

Description Data Type Operation Field Name The name of the building where the user is based. String(64) Read/Write Building The name of a locality, such as a city, county or other geographic region where the user is located, or with which a user is associated. String(64) Read/Write City The full name of the state or province where this user is located, or with which a user is associated. String(64) Read/Write State For users in the United States, the zip code where the user is located. For users in Canada, Mexico, and other countries, the postal code where the user is located. String(40) Read/Write PostalCode The two-letter ISO 3166-1 country code where the user is located, or with which a user is associated. URI to fetch available country code: https://<Connection-server>/vmrest/languagemap. From the response fetch last 2 letter of the Languagetag parameter. String(2) Read/Write Country The name or number for the department or subdivision of an organization to which a person belongs to. String(64) Read/Write Department The name of the person who is the manager or supervisor of the user. Any character except non-printing ASCII characters can be used here. String(64) Read/Write Manager Accounting information or project code associated with the user. Any ASCII or Unicode character can be used here. String(32) Read/Write BillingId The corporate email address of the user. String(320) Read/Write EmailAddress Flag indicating whether a user cannot be deleted or not. Possible values: • true: For default users • false: For other created users Boolean Read Only Undeletable Cisco Unity Connection Provisioning Interface (CUPI) API 175 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Explanation of Data Fields

Page 208#

chunk 174

Cisco Unity Connection Provisioning Interface (CUPI) API 176 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Management API Explanation of Data Fields

Page 209#

chunk 175

C H A P T E R 28 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings • User Password and PIN Settings API, on page 177 User Password and PIN Settings API Listing User PIN Settings GET https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin The following is the response from the above GET request and the actual response will depend upon the information given by you: <Credential> <URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/credential/pin</URI> <UserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserObjectId> <CredentialType>4</CredentialType> <Credentials/> <IsPrimary>false</IsPrimary> <CantChange>false</CantChange> <DoesntExpire>true</DoesntExpire> <TimeChanged>2013-03-05 11:24:33.344</TimeChanged> <HackCount>5</HackCount> <Locked>true</Locked> <TimeLastHack>2013-03-11 10:23:30.581</TimeLastHack> <TimeLockout>2013-03-05 11:24:33.344</TimeLockout> <Alias>Texoma</Alias> <CredMustChange>true</CredMustChange> <CredentialPolicyObjectId>a97ff291-8e60-475a-b7ee-e956ae83a730</CredentialPolicyObjectId> <Hacked>false</Hacked> <ObjectId>3f6f1cb0-3b00-45b5-91fd-d8553737eec7</ObjectId> <EncryptionType>3</EncryptionType> </Credential> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 177

Image 1 from page 209

Page 210#

chunk 176

Listing User Password Settings GET https://<Connection-server>/vmrest/users/<user-objectid>/credential/password The following is the response from the above GET request and the actual response will depend upon the information given by you: <Credential> <URI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/credential/password</URI> <UserObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserObjectId> <CredentialType>3</CredentialType> <Credentials/> <IsPrimary>false</IsPrimary> <CantChange>false</CantChange> <DoesntExpire>true</DoesntExpire> <TimeChanged>2013-03-05 11:24:33.344</TimeChanged> <HackCount>5</HackCount> <Locked>true</Locked> <TimeLastHack>2013-03-11 10:23:30.581</TimeLastHack> <TimeLockout>2013-03-05 11:24:33.344</TimeLockout> <Alias>Texoma</Alias> <CredMustChange>true</CredMustChange> <CredentialPolicyObjectId>a97ff291-8e60-475a-b7ee-e956ae83a730</CredentialPolicyObjectId> <Hacked>false</Hacked> <ObjectId>3f6f1cb0-3b00-45b5-91fd-d8553737eec7</ObjectId> <EncryptionType>3</EncryptionType> </Credential> Response Code: 200 JSON Example GET https://<Connection-server>/vmrest/users/<user-objectid>/credential/password Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 178 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings Listing User Password Settings

Page 211#

chunk 177

{ “URI”: “/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8/credential/password” “UserObjectId”: “9375d893-c8eb-437b-90bf-7de4b1d0c3e8” “CredentialType”: “3” “Credentials” “IsPrimary”: “false” “CantChange”: “false” “DoesntExpire”: “true” “TimeChanged”: “2013-03-05 11:24:33.344” “HackCount”: “5” “Locked”: “true” “TimeLastHack”: “2013-03-11 10:23:30.581” “TimeLockout”: “2013-03-05 11:24:33.344” “Alias”: “Texoma” “CredMustChange”: “true” “CredentialPolicyObjectId”: “a97ff291-8e60-475a-b7ee-e956ae83a730” “Hacked”: “false” “ObjectId”: “3f6f1cb0-3b00-45b5-91fd-d8553737eec7” “EncryptionType”: “3” } Response Code: 200 Update Password/PIN Settings For PIN: PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin For Password: PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/password <Credential> <Locked>false</Locked> <DoesntExpire>true</DoesntExpire> <CredMustChange>true</CredMustChange> <CredentialPolicyObjectId>43e16996-57c6-46c4-86c0-f37d2edf0385</CredentialPolicyObjectId> </Credential> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Unlock Password/PIN Settings A user's PIN is the password that a user must enter over the phone to sign into their mailbox to listen or send new messages by phone. To change a user's PIN you need the object ID of the user. A user's password is the web application password that is required to interact with web applications, such as the Cisco PCA or the Inbox applications. For Password: PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/password Cisco Unity Connection Provisioning Interface (CUPI) API 179 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings Update Password/PIN Settings

Page 212#

chunk 178

For PIN: PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin <Credential> <HackCount>0</HackCount> <TimeHacked></TimeHacked> </Credential> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example: To Unlock Password: PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/password Accept: application/json Content-type: application/json Connection: keep-alive Response Body: { "HackCount":"0", "TimeHacked":"" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 To Unlock Password PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/password Accept: application/json Content-type: application/json Connection: keep-alive Response Body: { "HackCount":"0", "TimeHacked":"" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Change Password/PIN For Password: PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/password Cisco Unity Connection Provisioning Interface (CUPI) API 180 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings To Unlock Password

Page 213#

chunk 179

For PIN: PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin <Credential> <Credentials>ciscfo1234</Credentials> </Credential> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example: To Update PIN PUT https://<Connection-server>/vmrest/users/<user-objectid>/credential/pin Accept: application/json Content-type: application/json Connection: keep-alive Response Body: { "Credentials":"cisco1234" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Description Operation Data Type Field Name A flag indicating whether access to the user account associated with this set of credentials is locked. Possible values: • true • false Default value: false Read/Write Boolean Locked A flag indicating whether the user can set this credential. Possible values: • false: User can change credential • true: User cannot change credential Default Value: false Read/Write Boolean CantChange Cisco Unity Connection Provisioning Interface (CUPI) API 181 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings Explanation of Data Fields

Page 214#

chunk 180

Description Operation Data Type Field Name A flag indicating whether the user must change their credentials (PIN or password) at the next login. Possible values: • true • false Default Value :true Read/Write Boolean CredMustChange A flag indicating whether this user credential will expire, and therefore the user must change the credential periodically. However, if the credential does not expire (value = "true"), the user still may change the credential (if allowed by CantChange). Possible values: • true • false Default value: false Read/Write Boolean DoesntExpire The unique identifier of the CredentialPolicy object that is associated with this credential. Value for this parameter can be fetched from the objectid parameter. Response of the following URI: GET: https://<conection-server>/vmrest/credentialpolicies. Read/Write String(36) CredentialPolicyObjectId The unique identifier of the CredentialPolicy object that is associated with this credential. Value for this parameter can be fetched from the objectid parameter. Response of the following URI: GET: https://<conection-server>/vmrest/credentialpolicies. Read/Write datetime(8) TimeChanged The number of logon attempted that failed due to invalid credentials. The Unity system or external authentication provider determined that the credentials supplied as part of a user logon attempt were invalid. Default value: 0 Read/Write Integer(4) HackCount The date and time of the last logon attempt with an invalid user credential. Read/Write datetime(8) TimeLastHack The date and time that the credential was locked by an administrator. Read/Write datetime(8) TimeLockout The date and time that the credential was locked due to too many hacks. The date and time is recorded in this column whenever a user credential is locked due to too many hacks based on the credential policy. Read/Write datetime(8) TimeHacked Unique identifier for the password/pin Read Only String (36) ObjectId The PIN or password, for a user. The credentials are stored in an encrypted format. Read/Write String(256) Credentials A unique text name of the user. Read/Write String(64) Alias Cisco Unity Connection Provisioning Interface (CUPI) API 182 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings Explanation of Data Fields

Page 215#

chunk 181

Description Operation Data Type Field Name A flag indicating whether access to the user account associated with this set of credentials is locked due too many hack attempts. Possible Values: • true • false Default Value: false Read/Write Boolean Hacked Type of encryption that was used to generate the credentials. Possible values:(0-5) • UNKNOWN: 0 • HASH_MD5: 1 • HASH_SHA1: 2 • HASH_IMS: 3 • REVERSIBLE: 4 • NONE: 5 Default Value: 0 Read/Write Integer EncryptionType The type of credential such as password, PIN, Windows or Domino credential. • 4- for PIN • 3- for Password Read/Write CredentialType CredentialType Cisco Unity Connection Provisioning Interface (CUPI) API 183 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings Explanation of Data Fields

Page 216#

chunk 182

Cisco Unity Connection Provisioning Interface (CUPI) API 184 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Password PIN Settings Explanation of Data Fields

Page 217#

chunk 183

C H A P T E R 29 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Roles • User Roles API, on page 185 User Roles API Listing User Roles GET https://<connection-server>/vmrest/users/<user-objectid>/userroles The following is the response from the above GET request and the actual response will depend upon the information given by you: <UserRole> <URI>/vmrest/users/d8054a3a-6c09-4a25-9880-6589d2f1dc85/userroles/973e143e-af15-4ef4-a7c1-5fafd9cc53d4</URI> <ObjectId>973e143e-af15-4ef4-a7c1-5fafd9cc53d4</ObjectId> <UserObjectId>d8054a3a-6c09-4a25-9880-6589d2f1dc85</UserObjectId> <UserURI>/vmrest/users/d8054a3a-6c09-4a25-9880-6589d2f1dc85</UserURI> <RoleObjectId>ba166947-41e8-4ec9-ad14-03658d91240e</RoleObjectId> <RoleURI>/vmrest/roles/ba166947-41e8-4ec9-ad14-03658d91240e</RoleURI> <RoleName>Audit Administrator</RoleName> <Alias>ABCD_user template</Alias> </UserRole> Response Code: 200 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 185

Image 1 from page 217

Page 218#

chunk 184

GET https://<connection-server>/vmrest/useres/<usereobjectid>/userroles Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total":"1" "UserRole": { "URI":"/vmrest/users/a9272189-720b-44b3-86e0-df7ef519599c/userroles/167b7661-ee8b-4c83-8867-decb88ec0c1c" "ObjectId":"167b7661-ee8b-4c83-8867-decb88ec0c1c" "UserObjectId":"a9272189-720b-44b3-86e0-df7ef519599c" "UserURI":"/vmrest/users/a9272189-720b-44b3-86e0-df7ef519599c" "RoleObjectId":"04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15" "RoleURI":"/vmrest/roles/04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15" "RoleName":"Help Desk Administrator" "Alias":"tenant005_usertemplate_1" } } Response Code: 200 Adding Roles POST https://<connection-server>/vmrest/users/<user-objectid>/userroles To get the roles object ID, use this URI: Note https://<connection-server>/vmrest/roles <UserRole> <RoleObjectId>4f077e4e-61c7-4ce8-a58a-2c4bc6089319</RoleObjectId> </UserRole> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/39871e30-849a-4dcf-b868-2faf360d503a/userroles/f4d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15 JSON Example POST https://<connection-server>/vmrest/useres/<user-objectid>/userroles Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "RoleObjectId":"04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15" } Cisco Unity Connection Provisioning Interface (CUPI) API 186 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Roles Adding Roles

Image 1 from page 218

Page 219#

chunk 185

The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/users/39871e30-849a-4dcf-b868-2faf360d503a/userroles/f4d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15 Delete Role of User DELETE https://<connection-server>/vmrest/users/<user-objectid>/userroles/<userrolesId> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example DELETE https://<connection-server>/vmrest/users/<user-objectid>/userroles/<userroleid> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Data Type Operations Parameter A globally unique, system-generated identifier for a particular role of user Read Only String(36) ObjectId URI of the User object (subject) to which this role is assigned. Read Only String UserId The unique identifier of the User object (subject) to which this role is assigned. Read Only String(36) UserObjectId The unique identifier of the Role object that specifies the privileges to be granted to the subject, for the target. For example, the role could be a "Technician." Read/Write String(36) RoleObjectId The name of the role. Read Only String(64) RoleName URI of the particular role Read Only String RoleURI The alias of the user Read Only String(64) Alias Cisco Unity Connection Provisioning Interface (CUPI) API 187 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Roles Delete Role of User

Page 220#

chunk 186

Cisco Unity Connection Provisioning Interface (CUPI) API 188 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Roles Explanation of Data Fields

Page 221#

chunk 187

C H A P T E R 30 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings • Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names, on page 189 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Passwords and Password Settings, on page 192 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Primary and Alternate Extensions, on page 193 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS), on page 195 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Enabling Single Inbox Example, on page 198 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Notification Devices, on page 199 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Private List Members , on page 212 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Private Lists, on page 215 • Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Proxy Addresses , on page 217 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Import, on page 219 Cisco Unity Connection Provisioning Interface (CUPI) API -- Alternate Names About Alternate Names This page contains information on how to use the API to create, list, update, and delete Alternate Names. Alternate Names are shared by users, contacts, distribution lists, private lists, and VPIM locations. Each of these objects can have Alternate Names associated with them. Listing and Viewing The following is an example of a GET that lists all Alternate Names: GET http://<connection-server>/vmrest/alternatenames The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 189

Image 1 from page 221

Page 222#

chunk 188

200 OK <?xml version="1.0" encoding="UTF-8"?> <AlternateNames total="5"> <AlternateName> <URI>/vmrest/alternatenames/a2ec7ba8-db89-4135-8cde-2fce23e59616</URI> <FirstName>Ooser</FirstName> <LastName>Aye</LastName> <ObjectId>a2ec7ba8-db89-4135-8cde-2fce23e59616</ObjectId> <GlobalUserObjectId>bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b</GlobalUserObjectId> <GlobalUserURI>/vmrest/globalusers/bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b</GlobalUserURI> </AlternateName> <AlternateName> <URI>/vmrest/alternatenames/c10257ad-886a-451d-9d96-09499dbf5cf1</URI> <FirstName>allvoicemaleusers</FirstName> <ObjectId>c10257ad-886a-451d-9d96-09499dbf5cf1</ObjectId> <DistributionListObjectId>a9a648f7-bf32-4851-a0c5-62c0165116ae</DistributionListObjectId> <DistributionListURI>/vmrest/distributionlists/a9a648f7-bf32-4851-a0c5-62c0165116ae</DistributionListURI> </AlternateName> <AlternateName> <URI>/vmrest/alternatenames/2b5b5a9a-1721-4ca6-a1e6-92d375f6c761</URI> <FirstName>khan</FirstName> <LastName>ah</LastName> <ContactObjectId>95beb3f7-b142-4ca5-861f-e36d65aef463</ContactObjectId> <ContactURI>/vmrest/contacts/95beb3f7-b142-4ca5-861f-e36d65aef463</ContactURI> <ObjectId>2b5b5a9a-1721-4ca6-a1e6-92d375f6c761</ObjectId> </AlternateName> <AlternateName> <URI>/vmrest/alternatenames/d6d06ae0-6c63-4944-9426-ce4027aa67fd</URI> <FirstName>privut lyst</FirstName> <ObjectId>d6d06ae0-6c63-4944-9426-ce4027aa67fd</ObjectId> <PersonalGroupObjectId>10966c03-e64b-4c3d-9809-990b62865c6a</PersonalGroupObjectId> </AlternateName> <AlternateName> <URI>/vmrest/alternatenames/44e03050-5e7e-4792-be69-96e1e7511224</URI> <FirstName>vpim lokaychion aye</FirstName> <ObjectId>44e03050-5e7e-4792-be69-96e1e7511224</ObjectId> <LocationObjectId>6aacd387-72e9-4971-82e5-b04a7a9790ad</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/6aacd387-72e9-4971-82e5-b04a7a9790ad</LocationURI> </AlternateName> </AlternateNames> In this example, the first Alternate Name in the list belongs to a user as denoted by the GlobalUserObjectId field. The second Alternate Name belongs to a Distribution List, and so on. For Distribution Lists, Private Lists, and VPIM Locations, only the FirstName field is used to provide the Alternate Name. These objects only have a single Display Name, they do not have separate first and last names. To retrieve a sorted list of all Alternate Names, add the following query parameter: sort=(column [asc | desc]) For example, to retrieve a list of all Alternate Names sorted by Object Id in ascending order: GET http://<connection-server>/vmrest/alternatenames?sort=(objectid%20asc) Cisco Unity Connection Provisioning Interface (CUPI) API 190 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing and Viewing

Page 223#

chunk 189

To retrieve a specific Alternate Name by its object ID: GET http://<connection-server>/vmrest/alternatenames/<objectid> Searching To retrieve a list of Alternate Names that meet a specified search criteria, add the following query parameter to a GET: query=(column [is | startswith] value) For example, to find all Alternate Names with a GlobalUserObjectId that equals "bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b" (this is a search to find all Alternate Names for a specific User): GET http://<connection-server>/vmrest/alternatenames?query=(globaluserobjectid%20is%20bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b) To find Alternate Names for various objects, use the following object id columns: • For Users, use GlobalUserObjectId. • For Contacts, use ContactObjectId. • For Distribution Lists, use DistributionListObjectId. • For Private Lists, use PersonalGroupObjectId. • For VPIM Locations, use LocationObjectId. Creating The required fields for creating an Alternate Name are a parent object id, a First Name, and for some objects a Last Name. To determine what parent object id column to use to create the new Alternate Name, use the list found in the Searching section above. For example, if you are creating an Alternate Name for a User, then a GlobalUserObjectId needs to be provided. The following is an example of a POST that creates an Alternate Name for a User with a First Name of "Mike" and a Last Name of "Wholebert" whose Global User Object Id is "bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b": POST http://<connection-server>/vmrest/alternatenames <?xml version="1.0" encoding="UTF-8"?> <AlternateName> <FirstName>Mike</FirstName> <LastName>Wholebert</LastName> <GlobalUserObjectId>bde24d71-95fa-4ba8-bf1b-0e19a4e9a68b</GlobalUserObjectId> </AlternateName> When creating Distribution Lists, Private Lists, or VPIM Locations, only the FirstName field is used to provide the Alternate Name Updating The following is an example of a PUT request that modifies the First Name and Last Name of an existing Alternate Name: Cisco Unity Connection Provisioning Interface (CUPI) API 191 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Searching

Page 224#

chunk 190

PUT http://<connection-server>/vmrest/alternatenames/<objectid> <?xml version="1.0" encoding="UTF-8"?> <AlternateName> <FirstName>Mick</FirstName> <LastName>Holebert</LastName> </AlternateName> Deleting The following is an example of a DELETE request that deletes an Alternate Name: DELETE http://<connection-server>/vmrest/alternatenames/<objectid> Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Passwords and Password Settings Changing a User's PIN A user's PIN is the password that a user must enter over the phone to sign in to their mailbox, so that they can listen to or send new messages by phone. To change a user's PIN you need the object ID of the user. The following example changes the user's PIN to 635241. PUT vmrest/users/<objectid>/credential/pin <?xml version="1.0" encoding="UTF-8"?> <Credential> <Credentials>635241</Credentials> </Credential> Changing a User's Password A user's password is the web application password required to interact with web applications, such as the PCA or the Inbox applications. The following example changes the user's password to My1stPassword. PUT vmrest/users/<objectid>/credential/password <?xml version="1.0" encoding="UTF-8"?> <Credential> <Credentials>My1stPassword</Credentials> </Credential> Setting the User Cannot Change Password Flag To configure a PIN or password so that the user cannot change it, use the CantChange element. Here is an example of changing a user's PIN such that the user cannot change it. Cisco Unity Connection Provisioning Interface (CUPI) API 192 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Deleting

Page 225#

chunk 191

PUT vmrest/users/<objectid>/credential/pin <?xml version="1.0" encoding="UTF-8"?> <Credential> <CantChange>true</CantChange> </Credential> Here is an example of changing a user's password such that the user cannot change it. PUT vmrest/users/<objectid>/credential/password <?xml version="1.0" encoding="UTF-8"?> <Credential> <CantChange>true</CantChange> </Credential> Note that the only difference in these examples is the URI; they both use the same Credentials object. Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Primary and Alternate Extensions About Changing Primary and Alternate Extensions A common scenario is having a primary extension that needs to be changed, but the old primary extension needs to be kept around as an alternate extension for that same user. This document describes the steps to make such a change. It shows how to either create a new alternate extension for a user, or update an existing alternate extension. Viewing the Primary Extension The user's primary extension is the DTMFAccessID field on the user object. The following is an example of a GET that lists the user object: GET /vmrest/users/<userobjectid> The user's primary extension will also show up in their list of alternate extensions with an IdIndex of 0. Updating the Primary Extension The following is an example of a PUT that modifies the DTMFAccessID of a user to 2001: PUT /vmrest/users/<userobjectid> <?xml version="1.0" encoding="UTF-8"?> <User> <DtmfAccessId>2001</DtmfAccessId> </User> The user's primary extension can also be updated through the user's alternate extensions URI by executing a PUT that modifies the alternate extension with an IdIndex of 0. Cisco Unity Connection Provisioning Interface (CUPI) API 193 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Changing Primary and Alternate Extensions

Page 226#

chunk 192

Creating a New Alternate Extension The following is an example of a POST that creates an alternate extension of 2000 for a user. The IdIndex field is explained in further detail below. POST /vmrest/users/<userobjectid>/alternateextensions <?xml version="1.0" encoding="UTF-8"?> <AlternateExtension> <IdIndex>1</IdIndex> <DtmfAccessId>2000</DtmfAccessId> </AlternateExtension> Updating an Existing Alternate Extension The following is an example of a PUT that modifies the DTMFAccessID of an alternate extension on a user to 2000. The IdIndex field is explained in further detail below. PUT /vmrest/users/<userobjectid>/alternateextensions/<alternateextensionobjectid> <?xml version="1.0" encoding="UTF-8"?> <AlternateExtension> <DtmfAccessId>2000</DtmfAccessId> </AlternateExtension> Explaining the IdIndex Field The IdIndex field indicates what type of phone this extension represents. It does not affect the behavior of the alternate extension, it simply is a way to categorize and order the alternate extensions. Cisco Unity Connection allows a user to have 9 administrator-defined alternate extensions and 10 user-defined alternate extensions (if allowed by COS). Only one alternate extension is associated with each IdIndex, and every extension must have an IdIndex. Non-alternate extensions (primary, distribution list, location, etc.) have an IdIndex containing a value of 0. Administrator-defined alternate extensions use the range of 1-9. User-defined alternate extensions use the range of 11-20. User-defined alternate extensions cannot be created by administrators, only by users (if allowed by their COS). In Cisco Unity Connection Administration, administrator-defined alternate extensions have their IdIndex translated into a Phone Type, which is simply a text tag to help you categorize your alternate extensions. The table below shows the translations. 1 = Work Phone 2 = Work Phone 2 3 = Home Phone 4 = Home Phone 2 5 = Mobile Phone 6 = Mobile Phone 2 7 = Work Fax Cisco Unity Connection Provisioning Interface (CUPI) API 194 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Creating a New Alternate Extension

Page 227#

chunk 193

8 = Work Fax 2 9 = Home Fax Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) About Classes of Service (COSes) This page contains information on how to use the API to create, list, update, and delete classes of service. Listing and Viewing The following is an example of a GET request that lists all Classes of Service: GET http://<connection-server>/vmrest/coses The following is the response from the above GET request: <?xml version="1.0" encoding="UTF-8"?> <Coses total="2"> <Cos> <URI>/vmrest/coses/e0da866c-07d4-41ae-8ca9-e334e4732ea7</URI> <ObjectId>e0da866c-07d4-41ae-8ca9-e334e4732ea7</ObjectId> <DisplayName>Voice Mail User COS</DisplayName> </Cos> <Cos> <URI>/vmrest/coses/38a57ca9-406d-4dec-9fc0-d7fc54ef5dff</URI> <ObjectId>38a57ca9-406d-4dec-9fc0-d7fc54ef5dff</ObjectId> <DisplayName>System</DisplayName> </Cos> </Coses> To retrieve a sorted list of all Classes of Service, add the following query parameter: sort=(column [asc|desc]) For example, to retrieve a list of all Classes of Service sorted by their display names in ascending order: GET http://<connection-server>/vmrest/coses?sort=(displayname%20asc) To retrieve a specific Class of Service by its object ID: GET http://<connection-server>/vmrest/coses/<objectid> The following is the response from the above GET request (requesting a single Class of Service by object ID) done on the factory default Voice Mail User Cos: Cisco Unity Connection Provisioning Interface (CUPI) API 195 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS)

Page 228#

chunk 194

<?xml version="1.0" encoding="UTF-8"?> <Cos> <URI>/vmrest/coses/a9a3a677-31f1-4edb-acd0-6a2135e15995</URI> <ObjectId>a9a3a677-31f1-4edb-acd0-6a2135e15995</ObjectId> <AccessFaxMail>false</AccessFaxMail> <AccessTts>false</AccessTts> <CallHoldAvailable>false</CallHoldAvailable> <CallScreenAvailable>false</CallScreenAvailable> <CanRecordName>true</CanRecordName> <FaxRestrictionObjectId>d762807b-fbab-4b46-b21b-bf9e37648d0a</FaxRestrictionObjectId> <ListInDirectoryStatus>true</ListInDirectoryStatus> <LocationObjectId>7fe7907a-2222-482e-83cb-d8d4ad32adc1</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/7fe7907a-2222-482e-83cb-d8d4ad32adc1</LocationURI> <MaxGreetingLength>90</MaxGreetingLength> <MaxMsgLength>300</MaxMsgLength> <MaxNameLength>30</MaxNameLength> <MaxPrivateDlists>25</MaxPrivateDlists> <MovetoDeleteFolder>true</MovetoDeleteFolder> <OutcallRestrictionObjectId>1c7c3ebf-391e-44f6-8ee2-3717049c614d</OutcallRestrictionObjectId> <PersonalAdministrator>true</PersonalAdministrator> <DisplayName>Voice Mail User COS</DisplayName> <XferRestrictionObjectId>54caa5d6-0ec6-49c9-a80f-52ae743c256f</XferRestrictionObjectId> <Undeletable>true</Undeletable> <WarnIntervalMsgEnd>0</WarnIntervalMsgEnd> <CanSendToPublicDl>true</CanSendToPublicDl> <EnableEnhancedSecurity>false</EnableEnhancedSecurity> <AccessVmi>false</AccessVmi> <AccessLiveReply>false</AccessLiveReply> <UaAlternateExtensionAccess>0</UaAlternateExtensionAccess> <AccessCallRoutingRules>false</AccessCallRoutingRules> <WarnMinMsgLength>0</WarnMinMsgLength> <SendBroadcastMessage>false</SendBroadcastMessage> <UpdateBroadcastMessage>false</UpdateBroadcastMessage> <AccessVui>false</AccessVui> <ImapCanFetchMessageBody>true</ImapCanFetchMessageBody> <ImapCanFetchPrivateMessageBody>false</ImapCanFetchPrivateMessageBody> <MaxMembersPVL>99</MaxMembersPVL> <AccessIMAP>false</AccessIMAP> <ReadOnly>false</ReadOnly> <AccessAdvancedUserFeatures>false</AccessAdvancedUserFeatures> <AccessUnifiedClient>false</AccessUnifiedClient> <RequireSecureMessages>4</RequireSecureMessages> <AccessOutsideLiveReply>false</AccessOutsideLiveReply> <AccessSTT>false</AccessSTT> <EnableSTTSecureMessage>0</EnableSTTSecureMessage> </Cos> RequireSecureMessages is a custom type that controls how secure messages are generated by users. It can be set to mark all messages as secure (1), never mark messages as secure (2), ask the user if they want to mark a message as secure (3), or only mark private messages as secure (4). One can also use CUPI For End Users to retrieve one's own Class of Service with the following request: GET /vmrest/user/cos Cisco Unity Connection Provisioning Interface (CUPI) API 196 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing and Viewing

Page 229#

chunk 195

Searching To retrieve a list of Classes of Service that meet a specified search criteria, add the following query parameter: query=(column [is|startswith] value) For example, to find all Classes of Service with a display name that starts with "System": GET http://<connection-server>/vmrest/coses?query=(displayname%20startswith%20System) Creating The only required field for creating a COS is DisplayName. All other fields are optional. The following is an example of a POST request that creates a COS with the display name "My New COS": POST http://<connection-server>/vmrest/coses <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Cos> <DisplayName>My New COS</DisplayName> </Cos> The following is the response from the above POST request: 201 Created /vmrest/coses/8ae8b4a2-a25b-4f16-95d9-77abcb91b764 Updating The following is an example of a PUT request that modifies the display name of an existing COS: PUT http://<connection-server>/vmrest/coses/<objectid> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Cos> <DisplayName>My New CoS</DisplayName> </Cos> The following is the response from the above PUT request: 204 No Content null Deleting The following is an example of a DELETE request that deletes a Class of Service: DELETE http://vmrest/coses/<objectid> The following is the response from the above DELETE request: Cisco Unity Connection Provisioning Interface (CUPI) API 197 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Searching

Page 230#

chunk 196

204 No Content null Cisco Unity Connection Provisioning Interface (CUPI) API -- Enabling Single Inbox Example Enabling Single Inbox for a User This document explains how to use the API to enable the Single Inbox feature for a user. The API being used in all these examples is CUPI. The Single Inbox feature is available only in Cisco Unity Connection 8.5 and later. Note Update Class of Service To allow a user to use the Single Inbox feature, the Class of Service must allow it. The AccessIMAP field controls access to the Single Inbox feature. This field must be set to "true." Here is an example of modifying an existing Class of Service to allow access to the Single Inbox feature: PUT /vmrest/coses/<cosobjectid> <?xml version="1.0" encoding="UTF-8"?> <Cos> <AccessIMAP>true</AccessIMAP> </Cos> Create or Update Unified Messaging Service Unified Messaging Services cannot currently be created or updated through the API. Any configuration changes will need to be done through another interface such as Cisco Unity Connection Administration. Create or Update Unified Messaging Accounts To enable the Single Inbox feature for a user, the user must have a correctly configured Unified Messaging Account in which the EnableMailboxSynCapability field is set to "true." Note that prior to Connection 8.5, Unified Messaging Accounts were referred to as External Service Accounts, and this is how the API refers to them. Here is an example of modifying an existing Unified Messaging Account to enable the Single Inbox feature: Cisco Unity Connection Provisioning Interface (CUPI) API 198 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Enabling Single Inbox Example

Image 1 from page 230

Page 231#

chunk 197

PUT /vmrest/users/<userobjectid>/externalserviceaccounts/<externalserviceaccountobjectid> <?xml version="1.0" encoding="UTF-8"?> <ExternalServiceAccount> <EnableMailboxSynchCapability>true</EnableMailboxSynchCapability> </ExternalServiceAccount> Cisco Unity Connection Provisioning Interface (CUPI) API -- Notification Devices About Notification Devices This page contains information on how to use the API to create, list, update, and delete Notification Devices. Cisco Unity Connection supports four different types of Notification Devices: • Phone Devices • Pager Devices • SMS Devices • SMTP Devices The generic Notification Device resource contains the data fields that are common to most or all of the specialized Device resources, which in turn may contain additional data fields that are specific to certain Device resources. A listing of all data fields, including a description of what they mean and which specialized Device types support them, can be found later in this document. An API user can retrieve a complete list of all Notification Devices or a specific Notification Device, but this is a read-only resource. In order to create, update, or delete a Notification Device, an API user must use the appropriate specialized Device resource. In other words, an API user can retrieve all of a user's Notification Devices, but if they then want to update a particular Phone Device, they must do the update operation on the Phone Device resource, not the Notification Device resource. This will be explained in more detail below. The Notification Device resource and the four specialized Device resources contain data fields from the Device objects in the database, plus some data fields from the Notification Rule object. From an API user's perspective, this detail may not usually be important, but it is worth mentioning that the Device resources collapse two database objects into a single resource. This can be safely done because there is always a one-to-one mapping in the database of Notification Devices and Notification Rules. The factory default User Template for Voicemail Users contains five Notification Devices: three Phone Devices (Home, Work, and Mobile), one Pager Device, and one SMTP Device. Any of these default Notification Devices can be modified, and new Devices of any of four specialized types can be created or deleted. Note that Notification Devices for User Templates are not currently exposed via the API, only Notification Devices for Users are exposed. Listing and Viewing An API user can list all generic Notification Device resources or all Device resources of a specified type (Phone, Pager, SMS, or SMTP). Cisco Unity Connection Provisioning Interface (CUPI) API 199 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Notification Devices

Page 232#

chunk 198

Listing and Viewing Notification Devices The following is an example of a GET that lists all Notification Devices of all types for the specified User: Cisco Unity Connection Provisioning Interface (CUPI) API 200 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing and Viewing Notification Devices

Page 233#

chunk 199

GET https://<connection-server>/vmrest/users/<UserObjectId>/notificationdevices {noformat} The following is the response from the above GET request. Notice that this list contains a mix of different types of specialized Devices, since the request was for a list of all Notification Devices. The Type field indicates the specialized Device type for each Notification Device (1 = Phone, 2 = Pager, 4 = SMTP, 5 = SMS). {noformat} 200 OK <?xml version="1.0" encoding="UTF-8"?> <NotificationDevices total="5"> <NotificationDevice> <URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/2b13dda8-6249-45b2-9a87-aba1b27a1f95</URI> <SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId> <UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI> <ObjectId>2b13dda8-6249-45b2-9a87-aba1b27a1f95</ObjectId> <DisplayName>Pager</DisplayName> <Active>false</Active> <BusyRetryInterval>5</BusyRetryInterval> <Type>2</Type> <DialDelay>1</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <SendCount>true</SendCount> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>Pager</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>true</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>1</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </NotificationDevice> <NotificationDevice> <URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/0f4ce029-1939-4ae0-9dee-9d84c77fadae</URI> <SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId> <UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI> <ObjectId>0f4ce029-1939-4ae0-9dee-9d84c77fadae</ObjectId> <DisplayName>Home Phone</DisplayName> <Active>false</Active> <BusyRetryInterval>5</BusyRetryInterval> <Conversation>SubNotify</Conversation> <Type>1</Type> Cisco Unity Connection Provisioning Interface (CUPI) API 201 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing and Viewing Notification Devices

Page 234#

chunk 200

<DialDelay>1</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <SendCount>false</SendCount> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>Home Phone</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>false</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>0</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </NotificationDevice> <NotificationDevice> <URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/878de0bf-9169-4ef7-afe4-ec82998c2322</URI> <SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId> <UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI> <ObjectId>878de0bf-9169-4ef7-afe4-ec82998c2322</ObjectId> <DisplayName>Mobile Phone</DisplayName> <Active>false</Active> <BusyRetryInterval>5</BusyRetryInterval> <Conversation>SubNotify</Conversation> <Type>1</Type> <DialDelay>1</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <SendCount>false</SendCount> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>Mobile Phone</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>false</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>0</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> Cisco Unity Connection Provisioning Interface (CUPI) API 202 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing and Viewing Notification Devices

Page 235#

chunk 201

<EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </NotificationDevice> <NotificationDevice> <URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/3a314c33-a69f-4179-a260-0c84a4520b3b</URI> <SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId> <UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI> <ObjectId>3a314c33-a69f-4179-a260-0c84a4520b3b</ObjectId> <DisplayName>Work Phone</DisplayName> <Active>true</Active> <AfterDialDigits>1701</AfterDialDigits> <BusyRetryInterval>5</BusyRetryInterval> <Conversation>SubNotify</Conversation> <Type>1</Type> <DialDelay>1</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <PhoneNumber>3475</PhoneNumber> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <SendCount>false</SendCount> <WaitConnect>false</WaitConnect> <MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>Work Phone</DeviceName> <PromptForId>true</PromptForId> <SendCallerId>false</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>0</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>AllMessage</EventList> <ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId> <InitialDelay>5</InitialDelay> <RepeatInterval>15</RepeatInterval> <RepeatNotify>true</RepeatNotify> <FailDeviceObjectId>0f4ce029-1939-4ae0-9dee-9d84c77fadae</FailDeviceObjectId> </NotificationDevice> <NotificationDevice> <URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/3e7f802b-d707-489f-b241-399ab67a0dc3</URI> <SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId> <UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI> <ObjectId>3e7f802b-d707-489f-b241-399ab67a0dc3</ObjectId> <DisplayName>SMTP</DisplayName> <Active>false</Active> <BusyRetryInterval>0</BusyRetryInterval> <Type>4</Type> <DialDelay>0</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> Cisco Unity Connection Provisioning Interface (CUPI) API 203 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing and Viewing Notification Devices

Page 236#

chunk 202

<RetriesOnBusy>0</RetriesOnBusy> <RetriesOnRna>0</RetriesOnRna> <RingsToWait>0</RingsToWait> <RnaRetryInterval>0</RnaRetryInterval> <SendCount>true</SendCount> <WaitConnect>false</WaitConnect> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>SMTP</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>true</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>0</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </NotificationDevice> </NotificationDevices> Listing and Viewing Specialized Devices The following is an example of a GET that lists all Phone Devices for the specified User. Listing all specialized devices of other types is very similar; simply do a GET to the pagerdevices, smsdevices, or smtpdevices resource, rather than to the phonedevices resource. GET https://<connection-server>/vmrest/users/<UserObjectId>/notificationdevices/phonedevices The following is the response from the above GET request. Note that each returned resource is a Phone Device rather than a Notification Device since the request was for Phone Devices only. Cisco Unity Connection Provisioning Interface (CUPI) API 204 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing and Viewing Specialized Devices

Page 237#

chunk 203

200 OK <?xml version="1.0" encoding="UTF-8"?> <PhoneDevices total="3"> <PhoneDevice> <URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/3a314c33-a69f-4179-a260-0c84a4520b3b</URI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <AfterDialDigits>1701</AfterDialDigits> <BusyRetryInterval>5</BusyRetryInterval> <Conversation>SubNotify</Conversation> <DialDelay>1</DialDelay> <PhoneNumber>3475</PhoneNumber> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <WaitConnect>false</WaitConnect> <MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI> <ObjectId>3a314c33-a69f-4179-a260-0c84a4520b3b</ObjectId> <Active>true</Active> <DeviceName>Work Phone</DeviceName> <DisplayName>Work Phone</DisplayName> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId> <UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI> <PromptForId>true</PromptForId> <Undeletable>true</Undeletable> <DetectTransferLoop>false</DetectTransferLoop> <EventList>AllMessage</EventList> <ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId> <InitialDelay>5</InitialDelay> <RepeatInterval>15</RepeatInterval> <RepeatNotify>true</RepeatNotify> <FailDeviceObjectId>0f4ce029-1939-4ae0-9dee-9d84c77fadae</FailDeviceObjectId> </PhoneDevice> <PhoneDevice> <URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/0f4ce029-1939-4ae0-9dee-9d84c77fadae</URI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <BusyRetryInterval>5</BusyRetryInterval> <Conversation>SubNotify</Conversation> <DialDelay>1</DialDelay> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI> <ObjectId>0f4ce029-1939-4ae0-9dee-9d84c77fadae</ObjectId> <Active>false</Active> <DeviceName>Home Phone</DeviceName> <DisplayName>Home Phone</DisplayName> <MaxBody>512</MaxBody> Cisco Unity Connection Provisioning Interface (CUPI) API 205 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing and Viewing Specialized Devices

Page 238#

chunk 204

<MaxSubject>64</MaxSubject> <SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId> <UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI> <PromptForId>false</PromptForId> <Undeletable>true</Undeletable> <DetectTransferLoop>false</DetectTransferLoop> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </PhoneDevice> <PhoneDevice> <URI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa/notificationdevices/phonedevices/878de0bf-9169-4ef7-afe4-ec82998c2322</URI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <BusyRetryInterval>5</BusyRetryInterval> <Conversation>SubNotify</Conversation> <DialDelay>1</DialDelay> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>6ecaa89b-2d29-4a21-8013-75c154ee58f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/6ecaa89b-2d29-4a21-8013-75c154ee58f5</PhoneSystemURI> <ObjectId>878de0bf-9169-4ef7-afe4-ec82998c2322</ObjectId> <Active>false</Active> <DeviceName>Mobile Phone</DeviceName> <DisplayName>Mobile Phone</DisplayName> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <SubscriberObjectId>70c5d764-b2f3-498a-b16e-1a4d2a369dfa</SubscriberObjectId> <UserURI>/vmrest/users/70c5d764-b2f3-498a-b16e-1a4d2a369dfa</UserURI> <PromptForId>false</PromptForId> <Undeletable>true</Undeletable> <DetectTransferLoop>false</DetectTransferLoop> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>d7ea64ca-e3fc-4d0a-8bd5-ef2337a31b97</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </PhoneDevice> /PhoneDevices> Listing of HTML Notification Device for a User (in Cisco Unity Connection 9.0(1) and Later) The following is an example of the GET request that lists the HTML notification devices for a user: GET /vmrest/users/<userobjectid>/notificationdevices/htmldevices The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 206 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing of HTML Notification Device for a User (in Cisco Unity Connection 9.0(1) and Later)

Page 239#

chunk 205

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <HtmlDevices total="2"> <HtmlDevice> <URI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9/notificationdevices/htmldevices/eb8af2c7-1466-4d36-9f8a-957c001ad4c5</URI> <Active>false</Active> <CallbackNumber></CallbackNumber> <DeviceName>HTML</DeviceName> <DisableMobileNumberFromPCA>false</DisableMobileNumberFromPCA> <DisplayName>HTML</DisplayName> <NotificationTemplateID>a00ea2a4-623e-414e-bf9c-a15c77075766</NotificationTemplateID> <ObjectId>eb8af2c7-1466-4d36-9f8a-957c001ad4c5</ObjectId> <PhoneNumber></PhoneNumber> <SmtpAddress></SmtpAddress> <Undeletable>true</Undeletable> <SubscriberObjectId>24cb82fc-5153-4c3f-abc7-ef442b27b4e9</SubscriberObjectId> <UserURI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9</UserURI> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>e6706d47-257f-4e24-bf9f-a182bb3b2633</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </HtmlDevice> <HtmlDevice> <URI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9/notificationdevices/htmldevices/64d260ca-7f09-46df-be87-88cd3ba9c5e3</URI> <Active>false</Active> <DeviceName>SMTP</DeviceName> <DisableMobileNumberFromPCA>true</DisableMobileNumberFromPCA> <DisplayName>HTML_3</DisplayName> <NotificationTemplateID>103c4514-db6e-489b-bc08-e9e131b60099</NotificationTemplateID> <ObjectId>64d260ca-7f09-46df-be87-88cd3ba9c5e3</ObjectId> <Undeletable>true</Undeletable> <SubscriberObjectId>24cb82fc-5153-4c3f-abc7-ef442b27b4e9</SubscriberObjectId> <UserURI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9</UserURI> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>e6706d47-257f-4e24-bf9f-a182bb3b2633</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </HtmlDevice> </HtmlDevices> Listing Properties of an HTML Notification Device (in Cisco Unity Connection 9.0(1) and Later) The following is an example of the GET request that displays the properties for a particular HTML notification device: GET /vmrest/users/<userobjectid>/notificationdevices/htmldevices/<deviceid> The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 207 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Listing Properties of an HTML Notification Device (in Cisco Unity Connection 9.0(1) and Later)

Page 240#

chunk 206

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <HtmlDevice> <URI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9/notificationdevices/htmldevices/64d260ca-7f09-46df-be87-88cd3ba9c5e3</URI> <Active>false</Active> <DeviceName>SMTP</DeviceName> <DisableMobileNumberFromPCA>true</DisableMobileNumberFromPCA> <DisplayName>HTML_3</DisplayName> <NotificationTemplateID>103c4514-db6e-489b-bc08-e9e131b60099</NotificationTemplateID> <ObjectId>64d260ca-7f09-46df-be87-88cd3ba9c5e3</ObjectId> <Undeletable>true</Undeletable> <SubscriberObjectId>24cb82fc-5153-4c3f-abc7-ef442b27b4e9</SubscriberObjectId> <UserURI>/vmrest/users/24cb82fc-5153-4c3f-abc7-ef442b27b4e9</UserURI> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>e6706d47-257f-4e24-bf9f-a182bb3b2633</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </HtmlDevice> Searching To retrieve a list of Notification Devices that meet a specified search criteria, add the following query parameter to a GET: query=(column [is | startswith] value) For example, to find all Notification Devices with a DisplayName that starts with "Phone": GET https://<connection-server>/vmrest/users/<UserObjectId/notificationdevices?query=(DisplayName%20startswith%20Home) Search criteria can also be used when doing a GET to the specialized Device resources. Creating A generic Notification Device resource is read-only, so new ones cannot be created. However, the four specialized Device resources are not read-only, so new ones can be created. Each of the four specialized Device resources has different required parameters during creation. Updating A generic Notification Device resource is read-only, so Notification Devices cannot be updated. However, the five specialized Device resources are not read-only, so an API user can update the appropriate specialized Device resource. Updating an Existing Phone Device The following is an example of a PUT request that modifies the FailDeviceObjectId of an existing Phone Device. The FailDeviceObjectId indicates which Notification Device to try if notification fails to the current device, which allows you to setup a chain of Notification Devices. Cisco Unity Connection Provisioning Interface (CUPI) API 208 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Searching

Page 241#

chunk 207

PUT https://<connection-server>/vmrest/users/<UserObjectId>/notificationdevices/phonedevices/2e377eba-a924-434b-b967-bac3815551d3 <PhoneDevice> <FailDeviceObjectId>ac200457-284c-4951-b04a-4d76bd03235e</FailDeviceObjectId> </PhoneDevice> The following is the response from the above PUT request: 204 No Content Updating other types of specialized Device resources is very similar; simply do a PUT to the appropriate pagerdevice, smsdevice, or smtpdevice resource instead of a phonedevice resource. Updating an HTML Notification Device to Apply the HTML Notification Template (in Cisco Unity Connection 9.0(1) and Later) The following is an example of the PUT request that modifies the HTML notification device as represented by <deviceid>: PUT /vmrest/users/<userobjectid>/notificationdevices/htmldevices/<deviceid> <HtmlDevice> <NotificationTemplateID>103c4514-db6e-489b-bc08-e9e131b60099</NotificationTemplateID> </HtmlDevice> The input for the PUT request will be XML or JSON as per HtmlDevice schema. The output for this request returns the successful response code. Deleting A generic Notification Device resource is read-only, so Notification Devices cannot be deleted. However, the four specialized Device resources are not read-only, so an API user can delete the appropriate specialized Device resource, assuming its not one of the factory default Device resources (which are flagged as Undeletable). Explanation of Data Fields The following chart lists all of the data fields available on Notification Devices, Phone Devices, Pager Devices, SMS Devices, and SMTP Devices. In the Device Types column, "Base" means the generic Notification Device resource. Note that on a GET to the generic Notification Device resource, you may receive data fields that are meaningless for a particular type of device, so these fields can be safely ignored. Explanation/Comments Writable? Device Type Field Name ObjectId of the Device Read Only All ObjectId Auto-set during Create. 1=Phone, 2=Pager, 4=SMTP, 5=SMS Read Only Base Type Factory default=false. For newly-created, default=true Read/Write All Active Cisco Unity Connection Provisioning Interface (CUPI) API 209 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Updating an HTML Notification Device to Apply the HTML Notification Template (in Cisco Unity Connection 9.0(1) and Later)

Page 242#

chunk 208

Explanation/Comments Writable? Device Type Field Name Extra-digits to dial after the Phone Number. Default=null Read/Write Base, Phone, Pager AfterDialDigits Time in minutes to wait between retries if Busy. Default=5 Read/Write Base, Phone, Pager BusyRetryInterval Auto-set during Create. Read Only Base, Phone Conversation Flags if Transfer Loop Detection is Enabled. Default=false Read/Write Base, Phone DetectTransferLoop Friendly name for the Device type (not shown in CUCA or CPCA). Default="Other" Read/Write All DeviceName Time in seconds to wait after Connect before dialing AfterDialDigits (ignored if no AfterDialDigits). Default=1 Read/Write Base, Phone, Pager DialDelay Friendly name for the Device like "Mobile Phone" Read/Write All DisplayName Comma-delimited list of Events that trigger Notification (see below). Default=NewVoiceMail Read/Write All EventList ObjectId of next Notification Device to use if this one fails (to chain Notifications). Default=null Read/Write All FailDeviceObjectid Time in minutes to wait after a Message is received before Notification is triggered. Default=0 Read/Write All InitialDelay Maximum number of characters in the Body of a Notification message. Default=512 Read/Write All MaxBody Maximum number of characters in the Subject of a Notification message. Default=64 Read/Write All MaxSubject ObjectId of the Phone System to use for the Dial-out. Read/Write Base, Phone, Pager MediaSwitchObjectId Phone Number to dial to reach the Device. Read/Write Base, Phone, Pager PhoneNumber Flags if the User must enter their ID to get the Notification message. Default=false Read/Write Base, Phone PromptForId Address of Message recipient Read/Write SMS RecipientAddress Time in minutes to wait before re-notifying of messages. Default=0 Read/Write All RepeatInterval Flags if Notification process should begin for each newly arrived message. Default=false Read/Write All RepeatNotify Number of retry attempts if Busy. Default=4 Read/Write Base, Phone, Pager RetriesOnBusy Number of retry attempts if RNA. Default=4 Read/Write Base, Phone, Pager RetriesOnRna Number of retry attempts if successful. Default=0 Read/Write Base, Phone RetriesOnSuccess Number of rings to wait for Connect before RNA. Default=4 Read/Write Base, Phone, Pager RingsToWait Cisco Unity Connection Provisioning Interface (CUPI) API 210 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Explanation of Data Fields

Page 243#

chunk 209

Explanation/Comments Writable? Device Type Field Name Time in minutes to wait between retries if RNA. Default=5 Read/Write Base, Phone, Pager RnaRetryInterval ObjectId of the ScheduleSet during which Notification may trigger. Default=AllHours Read/Write All ScheduleSetObjectId Flag to include CallerId in the Notification message. Default=true Read/Write Base, Pager, SMS, SMTP SendCallerId Flag to include the message counts in the Notification message. Default=true Read/Write Base, Pager, SMS, SMTP SendCount Address of Message sender. Default=null Read/Write SMS SenderAddress Flag to include a link to CPCA in the Notification message. Default=false Read/Write Base, SMTP SendPcaLink ObjectId of the SMPP Provider Read/Write Base, SMS SmppProviderObjectId SMTP address to send the Notification message to Read/Write Base, SMTP SmtpAddress Static text to include in the Notification Message. Default=null Read/Write Base, SMS, SMTP StaticText ObjectId of the User Read Only All SubscriberObjectId Time in minutes to wait between retries if successful. Default=0 Read/Write Base, Pager SuccessRetryInterval Flags if an authorization code should be sent to CUCM after the PhoneNumber is dialed. Default=false Read/Write Base, Phone, Pager TransmitForcedAuthorizationCode Factory default=true. For newly-created, default=false Read Only All Undeletable Flags if need to wait for Connect before dialing AfterDialDigits. Default=true Read/Write Base, Phone, Pager WaitConnect The EventList field is a comma-delimited list of Message types which could trigger Notification. It can contain any of the following values. Note that Calendar Appointments and Meetings are not included in the AllMessage or AllUrgentMessage categories, which just include voicemail, fax, and dispatch messages. Description Event Name No messages of any type or urgency None All messages of all types and urgencies AllMessage All urgent messages of all types AllUrgentMessage Calender appointments CalendarAppointment Calendar meetings CalendarMeeting All dispatch messages DispatchMessage All urgent dispatch messages UrgentDispatchMessage Cisco Unity Connection Provisioning Interface (CUPI) API 211 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Explanation of Data Fields

Page 244#

chunk 210

Description Event Name All fax messages NewFax All urgent fax messages NewUrgentFax All voicemail messages NewVoiceMail All urgent voicemail messages NewUrgentVoiceMail Cisco Unity Connection Provisioning Interface (CUPI) API -- Private List Members Viewing Every private list has members. To see the members of a private list, do the following GET: GET /vmrest/users/<userobjectid>/privatelists/<privatelistobjectid>/privatelistmembers Here is an example of the response you might receive to such a request: Cisco Unity Connection Provisioning Interface (CUPI) API 212 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Private List Members

Page 245#

chunk 211

200 OK <?xml version="1.0" encoding="UTF-8"?> <PrivateListMembers total="4"> <PrivateListMember> <URI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/ df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/ 4d390786-56a8-45e3-85a1-1c0933375b99</URI> <PersonalVoiceMailListObjectId>df523f3a-4e40-4d6d-9f80-72a5bc93331c</PersonalVoiceMailListObjectId> <PrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/ privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c</PrivateListURI> <MemberSubscriberObjectId>444ded7b-e2b9-48c1-9aca-bcfda4372928</ MemberSubscriberObjectId> <MemberUserURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928</ MemberUserURI> <ObjectId>4d390786-56a8-45e3-85a1-1c0933375b99</ObjectId> <Alias>UserA</Alias> <DisplayName>User A</DisplayName> <Extension>1017</Extension> </PrivateListMember> <PrivateListMember> <URI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/ df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/ 4e16bf12-6383-46d9-ae32-9ca9a857ca4f</URI> <PersonalVoiceMailListObjectId>df523f3a-4e40-4d6d-9f80-72a5bc93331c</PersonalVoiceMailListObjectId> <PrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/ privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c</PrivateListURI> <MemberDistributionListObjectId>4523ba2f-015c-414e-ad96-92aba431ed39</MemberDistributionListObjectId> <MemberDistributionListURI>/vmrest/distributionlists/ 4523ba2f-015c-414e-ad96-92aba431ed39</MemberDistributionListURI> <ObjectId>4e16bf12-6383-46d9-ae32-9ca9a857ca4f</ObjectId> <Alias>ListA</Alias> <DisplayName>List A</DisplayName> </PrivateListMember> <PrivateListMember> <URI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/ df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/ c61a60f6-0aa5-4c85-94ba-94fd6c167bd4</URI> <PersonalVoiceMailListObjectId>df523f3a-4e40-4d6d-9f80-72a5bc93331c</PersonalVoiceMailListObjectId> <PrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/ privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c</PrivateListURI> <MemberPersonalVoiceMailListObjectId>48eb2b0f-15a8-4bdf-a3a0-098debed181d</MemberPersonalVoiceMailListObjectId> <MemberPrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/ privatelists/48eb2b0f-15a8-4bdf-a3a0-098debed181d</MemberPrivateListURI> <ObjectId>c61a60f6-0aa5-4c85-94ba-94fd6c167bd4</ObjectId> <Alias>UserA_48eb2b0f-15a8-4bdf-a3a0-098debed181d</Alias> <DisplayName>2</DisplayName> </PrivateListMember> <PrivateListMember> <URI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/privatelists/ df523f3a-4e40-4d6d-9f80-72a5bc93331c/privatelistmembers/ 41295a7c-c9c0-45d3-8060-5a5038f0a49e</URI> <PersonalVoiceMailListObjectId>df523f3a-4e40-4d6d-9f80-72a5bc93331c</PersonalVoiceMailListObjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 213 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Viewing

Page 246#

chunk 212

<PrivateListURI>/vmrest/users/444ded7b-e2b9-48c1-9aca-bcfda4372928/ privatelists/df523f3a-4e40-4d6d-9f80-72a5bc93331c</PrivateListURI> <ObjectId>41295a7c-c9c0-45d3-8060-5a5038f0a49e</ObjectId> <MemberContactObjectId>27e58431-981f-4fbd-b667-69b1aaac89fd</ MemberContactObjectId> <MemberContactURI>/vmrest/contacts/27e58431-981f-4fbd-b667-69b1aaac89fd</ MemberContactURI> <Alias>ConA</Alias> <DisplayName>Con A</DisplayName> <Extension>1290390</Extension> </PrivateListMember> </PrivateListMembers> Every member of a private list can be one of four objects: a user, a distribution list, another private list, or a remote contact (a contact that can receive a message). Depending on which object the member is, different fields are used to track the member information, which consists solely of an object id and a URI to that object. The Alias, Display Name, and Extension of the member in question are also included. These fields are not actual values on the private list member data object; instead, the values are looked up by the API when it performs the GET. Creating The following POST adds a member to a private list. In this example, a user is being added to the private list by simply providing the object id of the user. POST /vmrest/users/<userobjectid>/privatelists/<privatelistobjectid>/ privatelistmembers <?xml version="1.0" encoding="UTF-8"?> <PrivateListMember> <MemberSubscriberObjectId>9bc04f85-9ac4-42f8-9314-547408a6126c</ MemberSubscriberObjectId> </PrivateListMember> Use MemberDistributionListObjectId to add distribution lists to a private list. Use MemberPersonalVoiceMailListObjectId to add other private lists, and use MemberContactObjectId to add contacts. Deleting The following DELETE removes a member from a private list: DELETE /vmrest/users/<userobjectid>/privatelists/<privatelistobjectid>/ privatelistmembers/<privatelistmemberobjectid> Cisco Unity Connection Provisioning Interface (CUPI) API 214 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Creating

Page 247#

chunk 213

Cisco Unity Connection Provisioning Interface (CUPI) API -- Private Lists Viewing Every user with a mailbox can have private lists. To see the private lists belonging to a user, do the following GET request: GET /vmrest/users/<user object id>/privatelists/ Here is an example of the response you might receive to such a request: <?xml version="1.0" encoding="UTF-8"?> <PrivateLists total="1"> <PrivateList> <URI>/vmrest/users/f90d26fc-0e4a-405a-8c42-189a93129bdc/ privatelists/1f443e29-1d6b-4ef8-89a6-2767549e3577</URI> <ObjectId>1f443e29-1d6b-4ef8-89a6-2767549e3577</ObjectId> <DisplayName>1</DisplayName> <UserObjectId>f90d26fc-0e4a-405a-8c42-189a93129bdc</UserObjectId> <UserURI>/vmrest/users/f90d26fc-0e4a-405a-8c42-189a93129bdc</UserURI> <DtmfName>1</DtmfName> <Alias>UserA_1f443e29-1d6b-4ef8-89a6-2767549e3577</Alias> <VoiceName>6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/ 6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav</VoiceFileURI> <NumericId>1</NumericId> <IsAddressable>true</IsAddressable> </PrivateList> </PrivateLists> Many of these fields are consistent with what you see on other objects. Specific fields that are unique to private lists and require explanation are described below. Private lists belong to specific users. The UserObjectId and UserURI field show that relationship. DtmfName is a field with a value that is automatically generated every time the display name changes on the private list. DtmfName holds the digits that would need to be dialed to address a message by name to this group by phone. Alias is a unique text name for the private list. The alias is automatically generated, and to ensure it is unique, it is constructed by concatenating the user alias, an underscore and the private list's object id. The user's alias is truncated to 28 characters to avoid overflow. NumericId is the number of the private list. Private lists are numbered 1 through 99, and when addressing a message by extension over the phone, the number can be used to choose the group. IsAddressable is an odd flag. It flags whether or not the private list is addressable. By default, all private lists are addressable. Creating The following POST creates a private list. In this example, it would be private list 2. Cisco Unity Connection Provisioning Interface (CUPI) API 215 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Private Lists

Page 248#

chunk 214

POST /vmrest/users/<user object id>/privatelists <?xml version="1.0" encoding="UTF-8"?> <PrivateList> <DisplayName>2</DisplayName> <VoiceName>6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav</VoiceName> <NumericId>2</NumericId> </PrivateList> These are the only three parameters that can be explicitly set on a new private list. The other parameters are not allowed on a POST, either defaulting to a certain value or being auto-generated as discussed above. The ObjectId can be explicitly set if desired, but that is optional. Updating Only the following fields can be updated in a PUT request: • DisplayName • VoiceName • NumericId The following example shows a PUT request that modifies some fields, changing a private list to private list 6. PUT /vmrest/users/<user object id>/privatelists/<private list object id> <?xml version="1.0" encoding="UTF-8"?> <PrivateList> <DisplayName>6</DisplayName> <NumericId>6</NumericId> </PrivateList> Deleting A private list can be deleted by a DELETE request: DELETE /vmrest/users/<user object id>/privatelists/<private list object id> Voice Names Creating a voice name for a private list (or for any object exposed in CUPI) is a multi-step process. Step 1: Create a place-holder for the WAV file by doing a POST: POST /vmrest/voicefiles The name of the WAV file will be included in the response. 201 Created 6f9c6d05-42e5-48e3-8d07-204250af320d.wav Step 2: Take the name returned in Step 1, and do a PUT where the HTTP content type is "audio/wav" and the payload content is the audio data: Cisco Unity Connection Provisioning Interface (CUPI) API 216 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Updating

Page 249#

chunk 215

PUT /vmrest/voicefiles/6f9c6d05-42e5-48e3-8d07-204250af320d.wav Step 3: Take the name of the WAV file and do a PUT request on the private list whose voice name you want to set: PUT /vmrest/users/<user object id>/privatelists/<private list object id> <?xml version="1.0" encoding="UTF-8"?> <PrivateList> <VoiceName>6ce746b7-d775-4bc4-9d19-8b6a55b9461d.wav</VoiceName> </PrivateList> The voice name can always be retrieved through the voice name URI, it will return the audio of the greeting as an "audio/wav" media type: GET /vmrest/voicefiles/6f9c6d05-42e5-48e3-8d07-204250af320d.wav Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Proxy Addresses About SMTP Proxy Addresses This page contains information on how to use the API to list SMTP Proxy Addresses. Listing and Viewing The following is an example of a GET that lists all <element name>: GET http://<connection-server>/vmrest/smtpproxyaddresses The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 217 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Proxy Addresses

Page 250#

chunk 216

200 OK <?xml version="1.0" encoding="UTF-8"?> <SmtpProxyAddresses total="2"> <SmtpProxyAddress> <URI>/vmrest/smtpproxyaddresses/9fd21b87-1509-42f1-88ce-3f36122c68ee</URI> <ObjectId>9fd21b87-1509-42f1-88ce-3f36122c68ee</ObjectId> <SmtpAddress>somedude@somewhere.com</SmtpAddress> <ObjectGlobalUserObjectId>0804bda6-953c-4271-b44a-0830c1429af2</ObjectGlobalUserObjectId> <ObjectGlobalUserURI>/vmrest/globalusers/0804bda6-953c-4271-b44a-0830c1429af2</ObjectGlobalUserURI> </SmtpProxyAddress> <SmtpProxyAddress> <URI>/vmrest/smtpproxyaddresses/fc107ad8-b9e5-409e-b0bc-62e295c7532e</URI> <ObjectId>fc107ad8-b9e5-409e-b0bc-62e295c7532e</ObjectId> <SmtpAddress>someotherdude@somewhereelse.com</SmtpAddress> <ObjectGlobalUserObjectId>0804bda6-953c-4271-b44a-0830c1429af2</ObjectGlobalUserObjectId> <ObjectGlobalUserURI>/vmrest/globalusers/0804bda6-953c-4271-b44a-0830c1429af2</ObjectGlobalUserURI> </SmtpProxyAddress> </SmtpProxyAddresses> To retrieve a sorted list of all SMTP Proxy Addresses, add the following query parameter: sort=(column [asc | desc]) For example, to retrieve a list of all SMTP Proxy Addresses sorted by SMTP Address in ascending order: GET http://<connection-server>vmrest/smtpproxyaddresses?sort=(smtpaddress%20asc) To retrieve a specific SMTP Proxy Address by its object ID: GET http://<connection-server>/vmrest/smtpproxyaddresses/<objectid> An SMTP Proxy Address can belong to one of four different objects: a global user, a contact, a distribution list, or a private list. In the above example, both SMTP Proxy Addresses belong to a user because ObjectGlobalUserObjectId property is set. The SMTP Proxy Address belongs to a contact if the ObjectContactObjectId property is set, a distribution list if the ObjectDistributionListObjectId property is set, or a private list if the ObjectPersonalGroupObjectId is set. Searching To retrieve a list of SMTP Proxy Addresses that meet a specified search criteria, add the following query parameter to a GET: query=(column [is | startswith] value) For example, to find all SMTP Proxy Addresses with an SMTP Address that starts with "a": GET http://<connection-server>/vmrest/smtpproxyaddresses?query=(smtpaddress%20startswith%20a) The following properties can be used for searching and sorting SMTP Proxy Addresses: • SmtpAddress • ObjectId • ObjectContactObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 218 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Searching

Page 251#

chunk 217

• ObjectDistributionListObjectId • ObjectGlobalUserObjectId • ObjectPersonalGroupObjectId Cisco Unity Connection Provisioning Interface (CUPI) API -- User Import LDAP Import A GET of an LDAP user will have a phone number. When a user is imported, an LDAP import must specify a dtmfAccessId in the payload (this is often based on the phone number). In this document, <type> in a URI refers to ldap value. Initial Configuration Before any LDAP users can be imported, the LDAP synchronization has to be set as described in the LDAP Directory Integration with Cisco Unity Connection 10.x chapter of Design Guide for Cisco Unity Connection Release 10.x available at https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/10x/design/guide/ 10xcucdgx.html. GET a List of Users That Can Be Imported GET http://<server>/vmrest/import/users/<type> Only users that are eligible for import are returned; users that are already imported are not in this list. Offset and Limit Parameters Can Be Part of the ldap Query http://<server>/vmrest/import/users/<type>?offset=x&limit=y Note the following: • Either parameter can be specified individually • If the offset exceeds the number of entries, the response is an empty list • If no limit is specified and more than 2000 results are returned, the response is an error Filter and Sort To put constraints on search results, LDAP requests support the CUPI standard filter and sort parameters. Example GET /vmrest/import/users/ldap?limit=5 HTTP/1.1 Accept: application/json User-Agent: Java/1.6.0_20 Host: cuc-install-69.cisco.com Connection: keep-alive Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg== Cisco Unity Connection Provisioning Interface (CUPI) API 219 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- User Import

Page 252#

chunk 218

The GET above would produce the following response: HTTP/1.1 200 OK Pragma: No-cache Cache-Control: no-cache Expires: Wed, 31 Dec 1969 16:00:00 PST Set-Cookie: JSESSIONIDSSO=11D3599617B30496BAD4BF2BB4C23B32; Path=/ Set-Cookie: JSESSIONID=2D9E4ACB334EF6DED8734E51EDDDB7F9; Path=/vmrest Content-Type: application/json Transfer-Encoding: chunked Date: Wed, 28 Apr 2010 19:39:03 GMT Server: {"ImportUser":[{"alias":"ui","firstName":"unity","lastName":"instal","pkid":"af7dea71-d6c7-47d9-b1db-419073cf6c"},{"alias":"um","firstName":"unity","lastName":"msgstore","pkid":"452ca72-57e5-464-a14c-f6e147a6e54"},{"alias":"ud","firstName":"unity","lastName":"dirsvc","pkid":"8bf502-64f2-425-9381-7f524aea491"},{"alias":"ua","firstName":"unity","lastName":"admin","pkid":"7dba5d6-9ea-4a92-8513-a9454141d27c"},{"alias":"S-SvrG","firstName":"Sonya","lastName":"ServerG","pkid":"aca43d25-4a3-4270-a174-e5e9f1c3b5b5"}]} Import a User POST http://<server>/vmrest/import/users/<type>?templateAlias=<voice mail user template> with an ImportUser object as payload An important point here is that because these users are imported, almost all values come from the internal database. One exception for an LDAP import is the dtmfAccessId. The dtmfAccessId data is not available in the internal database, so an LDAP import must specify both a pkid and a dtmfAccessId. For example: POST /vmrest/import/users/ldap?templateAlias=voicemailusertemplate HTTP/1.1 Content-Type: application/json User-Agent: Java/1.6.0_20 Host: cuc-install-69.cisco.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg== Content-Length: 126 {"alias":"sdavis","firstName":"sonya","lastName":"davis","dtmfAccessId":"12123","pkid":"c2e2bf1c-f249-40e5-b7b8-31a5b0333647"} The POST above would produce the following response: HTTP/1.1 201 Created Cisco Unity Connection Provisioning Interface (CUPI) API 220 Cisco Unity Connection Provisioning Interface (CUPI) API for User Account Settings Import a User

Page 253#

chunk 219

C H A P T E R 31 License Users Entitlement • Cisco Unity Connection Provisioning Interface (CUPI) API -- License User Entitlement, on page 221 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Bulk User License, on page 223 Cisco Unity Connection Provisioning Interface (CUPI) API -- License User Entitlement License User Entitlement APIs Administrator can use this API to fetch users belonging to a tenant and their license information which includes messaging and Speech view. Listing the Users with Their Licensing Details Who Belongs to a Particular Tenant Obtain the Object ID of the tenant that you want to list the user licenses for: GET https://<connection-server>/vmrest/tenants Perform a GET operation on the tenant Objec tID using the following URI to list all the user licenses: GET https://<connection-server>/vmrest/tenants/c9d9c29d-4a81-47b5-9296-34b193cff5bb/userlicenses The following is the response from the above GET request and the actual response will depend upon the information given by you: <UserLicenses total="1"> <UserLicense> <Alias>raman@Texoma.com</Alias> <DtmfAccessId>1234</DtmfAccessId> <Messaging>Basic</Messaging> <SpeechView>Speech View Standard</SpeechView> </UserLicense></UserLicenses Response Code: 200 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 221

Image 1 from page 253

Page 254#

chunk 220

To list all the user licenses, use the following: Request URI: GET https://<connection-server>/vmrest/tenants/c9d9c29d-4a81-47b5-9296-34b193cff5bb/userlicenses Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "1", "UserLicense": [ { "Alias": "raman", "DtmfAccessId": "1234", "PartitionObjectId": "6a4ac446-8b88-4456-aad7-099f249958fa", "Messaging": "Basic", "SpeechView": "Speech View Standard" } ] } Response Code: 200 List Users by Performing an Query Users can be queried based on all the fields of the License User Entitlement API, namely, Alias, DtmfAccessId, Messaging, SpeechView. Obtain the Object ID of the tenant that you want to list the user licenses for: GET https://<connection-server>/vmrest/tenants Perform a GET operation on the tenant Object ID using the following URI to list the user licenses: GET https://<connection-server>/vmrest/tenants/c9d9c29d-4a81-47b5-9296- 34b193cff5bb/userlicenses?query=(DtmfAccessId%20is%201234) The following is the response from the above GET request and the actual response will depend upon the information given by you: <UserLicenses total="1"> <UserLicense> <Alias>raman@Texoma.com</Alias> <DtmfAccessId>1234</DtmfAccessId> <Messaging>Basic</Messaging> <SpeechView>Speech View Standard</SpeechView> </UserLicense> </UserLicenses> Response Code: 200 JSON Example To list the user licenses, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 222 License Users Entitlement List Users by Performing an Query

Page 255#

chunk 221

Request URI: GET https://<connection-server>/vmrest/tenants/c9d9c29d-4a81-47b5-9296- 34b193cff5bb/userlicenses?query=(DtmfAccessId%20is%201234) Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "1", "UserLicense": [{ "Alias": "raman", "DtmfAccessId": "1234", "PartitionObjectId": "6a4ac446-8b88-4456-aad7-099f249958fa", "Messaging": "Basic", "SpeechView": "Speech View Standard" } ] } Response Code: 200 Explanation of Data Fields Comments Data Type Operations Parameters The Alias of the user belonging to a Tenant. String(64) Read Only Alias The DTMF access id (i.e., extension) of the subscriber. String(40) Read Only dtmfAccessId Licensing Tag either Basic, Enhanced, Enhanced+ String Read Only Messaging It is a licensing Tag that specifies the transcription service. Speech View Standard or Speech View Pro. This field is not displayed when users do not use the transcription service. String Read Only SpeechView Cisco Unity Connection Provisioning Interface (CUPI) API -- Bulk User License Bulk User License APIs The administrator uses this API to fetch all the users along with the license detail of each user. This API works in both Multi Tenancy Mode and Non Multi Tenancy Mode of Cisco Unity Connection. If the number of users is more than 20000, the Bulk User License API performs pagination and fetches the smaller number of users. Cisco Unity Connection Provisioning Interface (CUPI) API 223 License Users Entitlement Explanation of Data Fields

Page 256#

chunk 222

In Cisco Unity Connection 10.0(1) and later, TenantId in API response is available in Tenant Partitioning. Note Listing the Users with Their License Details Perform a GET operation to list the users along with their license details: Get https://<connection-server>/vmrest/userlicenses The following is the response from the above GET request and the actual response will depend upon the information given by you: <UserLicenses total="2"> <UserLicense> <Alias>user1@Tenant1.com</Alias> <Messaging>Basic</Messaging> <SpeechView>Speech View Pro</SpeechView> <TenantId>Tenant1</TenantId> </UserLicense> <UserLicense> <Alias>user2@Tenant1.com</Alias> <Messaging>Basic</Messaging> <SpeechView>Speech View Pro</SpeechView> <TenantId>Tenant1</TenantId> </UserLicense> </UserLicenses> Response Code: 200 JSON Example To list all the users along with their license details, use the following: Request URI: GET https://<connection-server>/vmrest/userlicenses Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "2", "UserLicense": [ { "Alias": "user1@Tenant1.com", "Messaging": "Basic", "TenantId": "Tenant1" }, { "Alias": "user2@Tenant1.com", "Messaging": "Basic", "TenantId": "Tenant1" } ] } Cisco Unity Connection Provisioning Interface (CUPI) API 224 License Users Entitlement Listing the Users with Their License Details

Image 1 from page 256

Page 257#

chunk 223

Response Code: 200 Listing Users with License Details Using Pagination To list the users along with their license details using pagination, pass the value in the properties "rowsPerPage" and "pageNumber". By default the value of "rowsPerPage" is 2001. Perform a GET operation to list the users along with their license details using pagination: Get https://<connection-server>/vmrest/userlicenses?rowsPerPage=1&pageNumber=1 The following is the response from the above GET request and the actual response will depend upon the information given by you: <UserLicenses total="1"> <UserLicense> <Alias>user1@Tenant1.com</Alias> <Messaging>Basic</Messaging> <SpeechView>Speech View Standard</SpeechView> <TenantId>Tenant1</TenantId> </UserLicense> </UserLicenses> Response Code: 200 JSON Example To list all the users along with their license details using pagination, use the following: Request URI: GET https://<connection-server>/vmrest/userlicenses?rowsPerPage=1&pageNumber=1 Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "1", "UserLicense": { "Alias": "user1@Tenant1.com", "Messaging": "Basic", "SpeechView": "Speech View Standard", "TenantId": "Tenant1" } } Response Code: 200 List the Number of Users Using Licenses To List the number of users using licenses, pass the value 0 in the property "rowsPerPage" or "pageNumber". Perform a GET operation to list the number of users using licenses: Get https://<connection-server>/vmrest/userlicenses?pageNumber=0 Cisco Unity Connection Provisioning Interface (CUPI) API 225 License Users Entitlement Listing Users with License Details Using Pagination

Page 258#

chunk 224

The following is the response from the above GET request and the actual response will depend upon the information given by you: <UserLicenses total="2"/> Response Code: 200 JSON Response To list all the number of users using licenses, use the following: Request URI: GET https://<connection-server>/vmrest/userlicenses?pageNumber=0 Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: {"@total": "2"} Response Code: 200 Listing Users Using Same Type of Licenses To list the users that are using same type of licenses, pass the "query" parameter. Perform a GET operation to list the number of users using licenses: Get https://<connection-server>/vmrest/userlicenses?query=(Messaging is Basic) The following is the response from the above GET request and the actual response will depend upon the information given by you: <UserLicenses total="2"> <UserLicense> <Alias>user1@Tenant1.com</Alias> <Messaging>Basic</Messaging> <SpeechView>Speech View Standard</SpeechView> <TenantId>Tenant1</TenantId> </UserLicense> <UserLicense> <Alias>user2@Tenant1.com</Alias> <Messaging>Basic</Messaging> <SpeechView>Speech View Standard</SpeechView> <TenantId>Tenant1</TenantId> </UserLicense> </UserLicenses> <pre> <pre> Response Code: 200 JSON Example To list the number of users using same type of licenses, use the following: Cisco Unity Connection Provisioning Interface (CUPI) API 226 License Users Entitlement Listing Users Using Same Type of Licenses

Page 259#

chunk 225

Request URI: GET https://<connection-server>/vmrest/userlicenses?query=(Messaging is Basic) Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "2", "UserLicense": [ { "Alias": "user1@Tenant1.com", "Messaging": "Basic", "SpeechView": "Speech View Standard", "TenantId": "Tenant1" }, { "Alias": "user2@Tenant1.com", "Messaging": "Basic", "SpeechView": "Speech View Standard", "TenantId": "Tenant1" } ] } Response Code: 200 Listing License Details of a Particular User To list the license of a particular user, pass the "query" parameter. Perform a GET operation to list the number of users using licenses: Get https://<connection-server>/vmrest/userlicenses?query=(Alias is user1) The following is the response from the above GET request and the actual response will depend upon the information given by you: <UserLicenses total="1"> <UserLicense> <Alias>user1</Alias> <Messaging>Basic</Messaging> <SpeechView>Speech View Standard</SpeechView> <TenantId>Tenant1</TenantId> </UserLicense> </UserLicenses> Response Code: 200 JSON Response To list the license of a particular user, use the following: Request URI: GET https://ucbu-aricent-vm259.cisco.com/vmrest/userlicenses?query=(Alias is user1) Accept: application /json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 227 License Users Entitlement Listing License Details of a Particular User

Page 260#

chunk 226

The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "1", "UserLicense": { "Alias": "user1", "Messaging": "Basic", "SpeechView": "Speech View Standard", "TenantId": "Tenant1" } } Response Code: 200 Explanation of Data Fields Comments Data Type Operations Parameters The Alias of the user. String(64) Read Only Alias Licensing Tag either Basic, Enhanced, Enhanced+ String Read Only Messaging It is a licensing Tag that specifies the transcription service Speech View Standard or Speech View Pro This field is not displayed when users do not use the transcription service. String Read Only SpeechView This field contains the Name of the tenant to which the user belongs. This field will be populated only if the connection is working in the Multi Tenancy Mode and user belongs to a Tenant. String Read Only TenantId Cisco Unity Connection Provisioning Interface (CUPI) API 228 License Users Entitlement Explanation of Data Fields

Page 261#

chunk 227

C H A P T E R 32 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs • Classes of Service, on page 229 Classes of Service A class of service (COS) defines limits and permissions for accounts with voice mailboxes. For example, a COS. • Controls user access to licensed features such as the Cisco Unity Connection Web Inbox (Connection 8.5 and later) or Messaging Inbox (Connection 8.0). (When a COS includes access to a feature that requires individual licenses, you can assign groups of users to the COS only if enough licenses are available.) • Controls user access to non-licensed features such as personal call transfer rules. • Controls how users interact with Connection. For example, a COS dictates the maximum length of user messages and greetings, and whether users can choose to be listed in the corporate directory. • Controls call transfer options. • Specifies the number of private distribution lists allowed to users, and the number of members allowed on each list. • Specifies the restriction tables used to control the phone numbers that users can use for transfers and when placing calls. A COS is not specified for the individual accounts or templates that are associated with users without voice mailboxes (typically, these are administrator accounts). Permissions associated with administrator accounts are instead controlled by roles in Connection Administration. Default Classes of Service in Cisco Unity Connection Contains settings that are applicable to end users. By default, this COS is associated with the default Voicemail User template Voicemail User COS A COS that special default user accounts are members of. This COS is read-only and cannot be modified or deleted System Administrator can use this API to create/update/delete/fetch the Class of Service. Various attributes of Class of Service can also be updated using this API. Cisco Unity Connection Provisioning Interface (CUPI) API 229

Page 262#

chunk 228

Listing the Class of Services The following is an example of the GET request that lists all the class of services: GET https://<connection-server>/vmrest/coses The following is an example of the response from the above GET request: <Coses total="3"> <Cos> <URI>/vmrest/coses/6e2c52a8-6bb6-40b0-b31e-27627293520c</URI> <ObjectId>6e2c52a8-6bb6-40b0-b31e-27627293520c</ObjectId> <DisplayName>Voice Mail User COS</DisplayName> </Cos> <Cos> <URI>/vmrest/coses/4af565ec-47d5-43be-9c3b-49d5ea995f63</URI> <ObjectId>4af565ec-47d5-43be-9c3b-49d5ea995f63</ObjectId> <DisplayName>System</DisplayName> </Cos> <Cos> <URI>/vmrest/coses/870f9a46-cc28-4d55-8fbd-e89cd02b9ff8</URI> <ObjectId>870f9a46-cc28-4d55-8fbd-e89cd02b9ff8</ObjectId> <DisplayName>Taxoma_COS_1</DisplayName> </Cos> </Coses> Response Code: 200 JSON Example To list all class of services, do the following: < pre> Request URI: GET https://<connection-server>/vmrest/coses Accept: application /json Connection: keep-alive < /pre> The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "3", "Cos": [ { "URI": "/vmrest/coses/6e2c52a8-6bb6-40b0-b31e-27627293520c", "ObjectId": "6e2c52a8-6bb6-40b0-b31e-27627293520c", "DisplayName": "Voice Mail User COS" }, { "URI": "/vmrest/coses/4af565ec-47d5-43be-9c3b-49d5ea995f63", "ObjectId": "4af565ec-47d5-43be-9c3b-49d5ea995f63", "DisplayName": "System" }, { "URI": "/vmrest/coses/870f9a46-cc28-4d55-8fbd-e89cd02b9ff8", "ObjectId": "870f9a46-cc28-4d55-8fbd-e89cd02b9ff8", "DisplayName": "Taxoma_COS_1" } ] } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 230 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Listing the Class of Services

Page 263#

chunk 229

Viewing the Specific Class of Services The following is an example of the GET request that lists the details of specific class of services represented by the provided value of class of services object ID: GET https://<connection-server>/vmrest/coses/<cosobjectid> The following is the response from the above GET request: <Cos> <URI>/vmrest/coses/77862e8e-42f3-4dac-811d-0be5291a9504</URI> <ObjectId>77862e8e-42f3-4dac-811d-0be5291a9504</ObjectId> <AccessFaxMail>false</AccessFaxMail> <AccessTts>false</AccessTts> <CallHoldAvailable>false</CallHoldAvailable> <CallScreenAvailable>false</CallScreenAvailable> <CanRecordName>true</CanRecordName> <FaxRestrictionObjectId>8045d752-6723-4062-9fc3-22090b85b5d7</FaxRestrictionObjectId> <ListInDirectoryStatus>true</ListInDirectoryStatus> <LocationObjectId>359e627b-c481-4428-8674-bc28f40e8d43</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/359e627b-c481-4428-8674-bc28f40e8d43</LocationURI> <MaxGreetingLength>90</MaxGreetingLength> <MaxMsgLength>300</MaxMsgLength> <MaxNameLength>30</MaxNameLength> <MaxPrivateDlists>25</MaxPrivateDlists> <MovetoDeleteFolder>true</MovetoDeleteFolder> <OutcallRestrictionObjectId>9c07accb-2187-4ca4-baf4-6ae0613f605a</OutcallRestrictionObjectId> <PersonalAdministrator>true</PersonalAdministrator> <DisplayName>HELLO_COS_1</DisplayName> <XferRestrictionObjectId>9c040521-fb05-4ba7-ba8f-d4f06f140b4c</XferRestrictionObjectId> <Undeletable>false</Undeletable> <WarnIntervalMsgEnd>0</WarnIntervalMsgEnd> <CanSendToPublicDl>true</CanSendToPublicDl> <EnableEnhancedSecurity>false</EnableEnhancedSecurity> <AccessVmi>false</AccessVmi> <AccessLiveReply>false</AccessLiveReply> <UaAlternateExtensionAccess>0</UaAlternateExtensionAccess> <AccessCallRoutingRules>false</AccessCallRoutingRules> <WarnMinMsgLength>0</WarnMinMsgLength> <SendBroadcastMessage>false</SendBroadcastMessage> <UpdateBroadcastMessage>false</UpdateBroadcastMessage> <AccessVui>false</AccessVui> <ImapCanFetchMessageBody>true</ImapCanFetchMessageBody> <ImapCanFetchPrivateMessageBody>false</ImapCanFetchPrivateMessageBody> <MaxMembersPVL>99</MaxMembersPVL> <AccessIMAP>false</AccessIMAP> <ReadOnly>false</ReadOnly> <AccessAdvancedUserFeatures>false</AccessAdvancedUserFeatures> <AccessAdvancedUser>false</AccessAdvancedUser> <AccessUnifiedClient>false</AccessUnifiedClient> <RequireSecureMessages>4</RequireSecureMessages> <AccessOutsideLiveReply>false</AccessOutsideLiveReply> <AccessSTT>false</AccessSTT> <EnableSTTSecureMessage>0</EnableSTTSecureMessage> <MessagePlaybackRestriction>0</MessagePlaybackRestriction> <SttType>1</SttType> </Cos> Cisco Unity Connection Provisioning Interface (CUPI) API 231 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Viewing the Specific Class of Services

Page 264#

chunk 230

Response Code: 200 JSON Example To view individual class of services, do the following Request URI: GET https://<connection-server>/vmrest/coses/<cosobjectid> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/coses/77862e8e-42f3-4dac-811d-0be5291a9504", "ObjectId": "77862e8e-42f3-4dac-811d-0be5291a9504", "AccessFaxMail": "false", "AccessTts": "false", "CallHoldAvailable": "false", "CallScreenAvailable": "false", "CanRecordName": "true", "FaxRestrictionObjectId": "8045d752-6723-4062-9fc3-22090b85b5d7", "ListInDirectoryStatus": "true", "LocationObjectId": "359e627b-c481-4428-8674-bc28f40e8d43", "LocationURI": "/vmrest/locations/connectionlocations/359e627b-c481-4428-8674-bc28f40e8d43", "MaxGreetingLength": "90", "MaxMsgLength": "300", "MaxNameLength": "30", "MaxPrivateDlists": "25", "MovetoDeleteFolder": "true", "OutcallRestrictionObjectId": "9c07accb-2187-4ca4-baf4-6ae0613f605a", "PersonalAdministrator": "true", "DisplayName": "HELLO_COS_1", "XferRestrictionObjectId": "9c040521-fb05-4ba7-ba8f-d4f06f140b4c", "Undeletable": "false", "WarnIntervalMsgEnd": "0", "CanSendToPublicDl": "true", "EnableEnhancedSecurity": "false", "AccessVmi": "false", "AccessLiveReply": "false", "UaAlternateExtensionAccess": "0", "AccessCallRoutingRules": "false", "WarnMinMsgLength": "0", "SendBroadcastMessage": "false", "UpdateBroadcastMessage": "false", "AccessVui": "false", "ImapCanFetchMessageBody": "true", "ImapCanFetchPrivateMessageBody": "false", "MaxMembersPVL": "99", "AccessIMAP": "false", "ReadOnly": "false", "AccessAdvancedUserFeatures": "false", "AccessAdvancedUser": "false", "AccessUnifiedClient": "false", "RequireSecureMessages": "4", "AccessOutsideLiveReply": "false", "AccessSTT": "false", "EnableSTTSecureMessage": "0", "MessagePlaybackRestriction": "0", "SttType": "1" } Cisco Unity Connection Provisioning Interface (CUPI) API 232 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Viewing the Specific Class of Services

Page 265#

chunk 231

Response Code: 200 Creating a Class of Services You can create a new class of services in a generic way or by giving restriction tables as input. Example 1: In a generic way POST https://<connection-server>/vmrest/coses Request Body: <Cos> <DisplayName>Texoma_cos_1</DisplayName> </Cos> The following is an example of the POST request that creates a new class of service in a generic way: Response Code: 201 JSON Example To create new COS, do the following: Request URI: POST https://<connection-server>/vmrest/coses Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName":"Texoma_cos_1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Example 2: Giving restriction tables as input The following is an example of the POST request that creates a new class of services by giving restriction tables as input: POST https://<connection-server>/vmrest/coses Request Body: <cos> <DisplayName>Texoma_cos</DisplayName> <FaxRestrictionObjectId>3da15ac5-e56f-4fac-b631-9f08826e1472</FaxRestrictionObjectId> <OutcallRestrictionObjectId>3da15ac5-e56f-4fac-b631-9f08826e1472</OutcallRestrictionObjectId> <XferRestrictionObjectId>3da15ac5-e56f-4fac-b631-9f08826e1472</XferRestrictionObjectId> </cos> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Cisco Unity Connection Provisioning Interface (CUPI) API 233 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Creating a Class of Services

Page 266#

chunk 232

JSON Example: Request URI: POST https://<connection-server>/vmrest/coses Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "FaxRestrictionObjectId":"3da15ac5-e56f-4fac-b631-9f08826e1472", "OutcallRestrictionObjectId":"3da15ac5-e56f-4fac-b631-9f08826e1472", "XferRestrictionObjectId":"3da15ac5-e56f-4fac-b631-9f08826e1472" } The following is the response from the above POST request and the actual response will depend upon the information given by you: <pre> Response Code: 201 Updating the Class of Services Example 1: The following is an example of the PUT request that allows you to update the display name of the class of services: PUT https://<connection-server>/vmrest/coses/<cosobjectid> Request Body: <Cos> <DisplayName>Texoma_123</DisplayName> </Cos> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update display name of COS, do the following: Request URI: PUT https://<connection-server>/vmrest/coses/<cosobjectid> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName": "Texoma_123" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: The following is an example of the PUT request that allows you to update the other fields of the class of services: Cisco Unity Connection Provisioning Interface (CUPI) API 234 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Updating the Class of Services

Page 267#

chunk 233

PUT https://<connection-server>/vmrest/coses/<cosobjectid> Request Body: <Cos> <MaxGreetingLength>45</MaxGreetingLength> <MaxMsgLength>500</MaxMsgLength> <MaxNameLength>50</MaxNameLength> <MaxPrivateDlists>30</MaxPrivateDlists> </Cos> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Request URI: PUT https://<connection-server>/vmrest/coses/<cosobjectid> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "MaxGreetingLength": "45", "MaxMsgLength":"500", "MaxNameLength":"50", "MaxPrivateDlists":"30" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Deleting the Class of Services The following is an example of the DELETE request that deletes a specific class of services where you need to mention the class of service object ID: DELETE https://<connection-server>/vmrest/coses/<cosobjectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To delete class of services, do the following: Request URI: DELETE https://<connection-server>/vmrest/coses/<cosobjectid> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 235 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Deleting the Class of Services

Page 268#

chunk 234

Response Code: 204 Explanation of Data Fields The following chart lists all of the data fields: Comments Data Type Operations Parameters Specifies URI for class of service String Read Only URI Specifies object id of class of service String(36) Read Only ObjectId A flag indicating whether a subscriber assigned this COS is allowed to manage their fax messages over the phone or from the Cisco Unity Connection Inbox. Future feature, 3rd-party fax is not supported in Cisco Unity Connection. Possible values are: • false: Do not allow access to fax mail • true: Allow access to fax mail To allow subscribers to have their e-mail messages delivered to a fax machine, both this column and "AccessTts" must be set to "true". Default Value: false. Boolean Read/Write accessfaxmail A flag indicating whether a subscriber assigned this COS can have to their e-mail messages read to them by an e-mail reader over the phone. Possible values are: • false: Cannot have e-mail messages read over the phone • true: Can have e-mail messages read over the phone To allow subscribers to have their e-mail messages delivered to a fax machine, both this column and "AccessFaxMail" must be set to '"true". Default Value: false. Boolean Read/Write accesstts Cisco Unity Connection Provisioning Interface (CUPI) API 236 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 269#

chunk 235

Comments Data Type Operations Parameters A flag indicating whether the subscriber has the ability to change their own call holding options by using the Cisco Unity Connection Assistant. Call holding settings apply when calls are transferred from the automated attendant or a directory handler to subscriber phones. They do not apply when an outsider caller or another subscriber dials a subscriber extension directly. Possible values are: • false: Cannot change call holding settings via Cisco Unity Assistant • true: Can change call holding settings via Cisco Unity Assistant Default Value: false. Boolean Read/Write callholdavailable A flag indicating whether the subscriber has the ability to change their own call screening options by using the Cisco Unity Assistant. Call screening settings apply when calls are transferred from the automated attendant or a directory handler to subscriber phones. They do not apply when an outsider caller or another subscriber dials a subscriber extension directly. Possible values are: • false: Cannot change call screening settings via Cisco Unity Assistant • true: Can change call screening settings via Cisco Unity Assistant Default Value: false. Boolean Read/Write callscreenavailable Used to prevent subscribers from recording their own names (for example, if an organization has all names and greetings recorded in one voice). Possible values are: • false: Cannot record their name • true: Can record their name Default Value: true. Boolean Read/Write canrecordname The unique identifier for the RestrictionTable objects that Cisco Unity Connection uses to limit phone numbers that the subscriber can enter in fax dialing settings. String Read/Write(36) faxrestrictionobjectid Cisco Unity Connection Provisioning Interface (CUPI) API 237 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 270#

chunk 236

Comments Data Type Operations Parameters A flag indicating whether subscribers can choose to be listed or not in the phone directory. The phone directory (directory assistance) is the audio listing that subscribers and unidentified callers use to reach subscribers and to leave messages. Possible values are: • false: Cannot choose whether or not to be listed in phone directory • true: Can choose whether or not to be listed in phone directory Default value is: true. Boolean Read/Write listindirectorystatus The unique identifier of the LocationVMS to which this COS belongs. String Read Only locationobjectid URI of the LocationVMS. String Read Only locationURI The maximum recording length (in seconds) allowed to the subscriber for recording their greeting. The range can vary from 1 to 1200. Default Value: 90. Integer Read/Write maxgreetinglength The maximum recording length (in seconds) allowed to the subscriber for recording messages and conversations. The range can vary from 1 to 3600. Default Value: 300 Integer Read/Write maxmsglength The maximum recording length (in seconds) allowed to the subscriber for recording their voice name. The range can vary from 1 to 100. Default Value: 30 Integer Read/Write maxnamelength The maximum number of personal voice mail lists the subscriber is allowed to create. The range can vary from 1 to 99. Default Value: 25 Integer Read/Write maxprivatedlists Cisco Unity Connection Provisioning Interface (CUPI) API 238 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 271#

chunk 237

Comments Data Type Operations Parameters A flag indicating whether Cisco Unity Connection moves deleted messages for the subscriber to a Deleted Items folder or physically deletes the message. true='deletion' moves messages to the DeletedItems folder, where it ages until it evaporates. false='deletion' physically deletes the message. When this column is set to "1," a subscriber can: • Use the phone and the Cisco Unity Connection Inbox (as applicable) to permanently delete messages stored in their Deleted Items folder. • Use the phone and the Cisco Unity Connection Inbox to listen to, reply to, or forward messages in their Deleted Items folder, or to restore them to the Inbox. Possible values are: • false: Deleted messages are not moved to a Deleted Items folder, rather they are permanently deleted. • true: Deleted messages are moved to a Deleted Items folder. Default Value: true. Boolean Read/Write movetodeletefolder The unique identifier of the Restriction Table object that Cisco Unity Connection uses to limit phone numbers that the subscriber can enter in message delivery settings. The restriction table also restricts the subscriber extensions that Cisco Unity Connection dials when the phone is selected as the recording and playback device for the Media Master. String Read/Write(36) outcallrestrictionobjectid A flag indicating whether Cisco Unity Connection allows a subscriber to use the Cisco Unity Assistant to personalize their Cisco Unity Connection setting -- including their recorded greetings and message delivery options -- or to set up message notification devices and create private lists. Possible values are: • false: Cannot use Cisco Unity Assistant • true: Can use Cisco Unity Assistant Default Value: true. Boolean Read/Write personaladministrator The unique text name of this COS, e.g. "Default COS," "Basic Voice Mail." Used when displaying entries in the administrative console, e.g. Cisco Unity Connection Administration. DisplayName is a required when creating a new COS. DisplayName Length allowed is 64. String Read/Write(64) displayname Cisco Unity Connection Provisioning Interface (CUPI) API 239 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 272#

chunk 238

Comments Data Type Operations Parameters The unique identifier of the RestrictionTable objects that Cisco Unity Connection uses to limit phone numbers that the subscriber can enter in call transfer settings. String Read/Write(36) xferrestrictionobjectid A flag indicating whether this COS can be deleted via an administrative application such as Cisco Unity Connection Administration. It is used to prevent deletion of factory defaults. Possible values are: • false: COS can be deleted • true: COS cannot be deleted Default Value: false. Boolean Read/Write undeletable This column works together with "WarnMinMsgLength" enabling the record termination warning feature. If the feature is enabled by the settings of these two columns, callers will hear a warning tone sound before the maximum message length is reached. Call termination warning only works with the Unified Communications Manager integration. Possible values are: • 0: Record termination warning disabled • 1-30000: The number of milliseconds from the end of the maximum recording time when the record termination warning tone is played. Default Value: 0. Integer Read/Write warnintervalmsgend A flag indicating whether the subscriber can send messages to system (formerly called "public") distribution lists. Possible values are: • false: Cannot send messages to system distribution lists • true: Can send messages to system distribution lists Default Value: true. Boolean Read/Write cansendtopublicdl A flag indicating whether the subscriber uses regular or enhanced phone security. Enhanced phone security adds RSA two-factor authentication to regular security. Possible values are: • false: Regular security • true: Enhanced phone security (RSA two-factor security) Default Value: false. Boolean Read/Write enableenhancedsecurity Cisco Unity Connection Provisioning Interface (CUPI) API 240 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 273#

chunk 239

Comments Data Type Operations Parameters A flag indicating whether a subscriber assigned this COS can use the Cisco Unity Connection Inbox to listen to, compose, reply to, forward, and delete voice messages. If the subscriber has "AccessFaxMail" set, they can also use it to manage their faxes. This is a licensed feature. Possible values are: • false: Cannot use Cisco Unity Connection Inbox • true: Can use Cisco Unity Connection Inbox Default Value: false. Boolean Read/Write accessvmi A flag indicating whether a subscriber assigned this COS can after listening to a message from another subscriber press 4-4, and Cisco Unity Connection will call the subscriber who left the message. Generally referred to as "Live Reply." Possible values are: • false: Cannot "live reply" to another subscriber • true: Can "live reply" to another subscriber after listening to message from another subscriber Default Value: false. Boolean Read/Write accesslivereply The abilities a subscriber has to manage administer-defined alternate extensions assigned to the subscriber. Determines whether subscribers can view the administrator-defined alternate extensions, and whether subscribers can manage (add, modify, and delete) their own set of alternate extensions in the Cisco Unity Assistant. If enabled, subscribers can define up to 5 alternate extensions in addition to the 9 alternate extensions that an administrator can define for them. Possible values are: • 3: CRUD access - subscriber can view administrator-defined alternate extensions and manage (create, modify, and delete) their own subscriber-defined alternate extensions • 2: CUD access - subscriber can manage (create, modify, and delete) their own subscriber-defined alternate extensions. • 1: Read access - subscriber can view administrator-defined alternate extensions. • 0: No access - subscriber cannot view or manage alternate extensions. Default Value: 0. Integer Read/Write uaalternateextensionaccess Cisco Unity Connection Provisioning Interface (CUPI) API 241 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 274#

chunk 240

Comments Data Type Operations Parameters A flag indicating whether a subscriber assigned this COS can access personal call routing rules. Possible values are: • false: Cannot access to Personal Call Routing rules • true: Can access to Personal Call Routing rules Default Value: false. Boolean Read/Write accesscallroutingrules The minimum length (in milliseconds) that the maximum recording time has to be before the record termination warning feature is active. When the record termination feature is active, Cisco Unity Connection plays a warning tone indicating to the caller that they are almost out of recording time. The range of this field can vary from 0 to 99999. Default Value: 0. Integer Read/Write warnminmsglength A flag indicating whether the subscriber has the ability to send broadcast messages to all subscribers on the VMS. Possible values are: • false: Cannot send broadcast messages. • true: Can send broadcast messages. Default Value: false. Boolean Read/Write sendbroadcastmessage A flag indicating whether the subscriber has the ability to update broadcast messages that are active or will be active in the future. Possible values are: • false: Cannot update broadcast messages. • true: Can update broadcast messages. Default Value: false. Boolean Read/Write updatebroadcastmessage A flag indicating whether a subscriber assigned this COS can use the voice driven inbox conversation. Possible values are: • false: Cannot use the voice driven inbox conversation • true: Can use the voice driven inbox conversation Default Value: false. Boolean Read/Write accessvui Cisco Unity Connection Provisioning Interface (CUPI) API 242 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 275#

chunk 241

Comments Data Type Operations Parameters A flag indicating whether the subscriber can fetch the body of a non-private message using IMAP. Possible values are: • false: Cannot fetch message body of non-private messages. • true: Using IMAP, subscriber can fetch message body of non-private messages. Default Value: true. Boolean Read/Write imapcanfetchmessagebody A flag indicating whether the subscriber can fetch the body of a private message using IMAP. Possible values are: • false: Cannot fetch message body of private messages. • true: Using IMAP, subscriber can fetch message body of private messages. Default Value: false. Boolean Read/Write imapcanfetchprivatemessagebody The maximum number of members allowed in a personal voice mail list. Range 1-999. default value is 99 Integer Read/Write maxmemberspvl A flag indicating whether a subscriber assigned this COS can access VM via an IMAP client. Possible values are: • false: Cannot access voice mail via IMAP • true: Can access voice mail via IMAP Default Value: false. Boolean Read/Write accessimap A flag indicating whether a subscriber can use the unified client. Possible values are: • false: Cannot access voice mail using unified client • true: Can access voice mail using unified client Default Value: true. Boolean Read/Write accessunifiedclient A flag indicating that this COS is read only. It cannot be modified from the Connection Administration. Possible values are: • false: Can modify this COS. • true: Cannot modify this COS. Default Value: false. Boolean Read/Write readonly Cisco Unity Connection Provisioning Interface (CUPI) API 243 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 276#

chunk 242

Comments Data Type Operations Parameters A flag indicating whether or not the subscriber has access to advanced user features. Currently, there are two advanced user features: TTS and VUI. Possible values are: • false: The Subscriber cannot access advanced user features. • true: The Subscriber can access advanced user features. Default Value: false. Boolean Read/Write accessadvanceduserfeatures Specifies when to mark message secure. Possible values are: 1: Always mark secure 2: Never mark secure 3: Ask 4: Set private messages secure Default Value: 4. Integer Read/Write requiresecuremessages A flag indicating whether a subscriber, assigned this COS, can after listening to a message from outside caller issue a command to call the outside caller. When a VUI or TUI command is issued, Cisco Unity Connection will call the outside caller who left the message. Generally referred to as "Return Call to Outside Caller." Possible values are: • false: User cannot "Use Live Reply to Unidentified Callers" • true: User can "Use Live Reply to Unidentified Callers"after listening to message." Default Value: false. Boolean Read/Write accessoutsidelivereply An integer value indicating whether a subscriber assigned this COS can have to their voice messages transcribed to text. Possible values are: • false: Do not use transcription service (speech view). • true: Use speech view transcription service. Default Value: false. Boolean Read/Write accessstt A flag indicating whether a subscriber assigned this COS can have automatic alternate extension. Possible values are: • false: Cannot have automatic alternate extension. • true: Can have automatic alternate extension. Default Value: false. Boolean Read/Write autoalternateextension Cisco Unity Connection Provisioning Interface (CUPI) API 244 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 277#

chunk 243

Comments Data Type Operations Parameters Controls transcriptions and notification of secure messages for Speech To Text transcription feature. Possible values are: • 0: Do not transcribe secure messages • 1: Allow transcriptions of secure messages • 2: Allow transcriptions and notifications of secure messages Default Value: 0. Integer Read/Write enablesttsecuremessage Playback restrictions for GUI clients. Allows restricting playback to phone only or computer only. Possible values are: • 0: No restrictions on message playback • 1: Allow playback on computer speakers only • 2: Allow playback on phone only Default Value: 0. Integer Read/Write messageplaybackrestriction An integer value indicating whether a subscriber assigned standard or PRO COS for STT. Possible values are: • 1: Use speech view standard transcription service. • 2: Use speech view pro transcription service. Default Value: 1. Integer Read/Write stttype Allows video messaging for the users in this class of service. Possible Values: • true : allow Video messaging • false: Do not allow video messaging Default value: false. Boolean Read/Write enablevideomessaging Duplicate of AdvnacedUserFeatures for licensing code purposes. Possible Values: • false: The Subscriber cannot access advanced user features. • true: The Subscriber can access advanced user features. Default: false Boolean Read/Write accessadvanceduser • Cisco Unity Connection Provisioning Interface (CUPI) API 245 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 278#

chunk 244

Cisco Unity Connection Provisioning Interface (CUPI) API 246 Cisco Unity Connection Provisioning Interface (CUPI) API -- Class of Service (COS) APIs Explanation of Data Fields

Page 279#

chunk 245

C H A P T E R 33 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Inputs, on page 247 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings API , on page 252 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Mailbox , on page 263 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Message Settings, on page 264 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Action Template, on page 272 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Notification Devices, on page 274 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Phone Menu, on page 282 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Playback Message Settings, on page 286 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Post Greeting Recordings, on page 289 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Send Message Settings, on page 290 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Transfer Rules, on page 290 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template, on page 297 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Inputs User Template Caller Inputs The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> From the above URI, get the call handler primary template object ID: GET https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 247

Image 1 from page 279

Page 280#

chunk 246

Updating Caller Input Parameters The following is an example of the PUT request that updates caller input parameters: PUT https://<connection-server>/vmrest/handlers/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries All the parameters for caller inputs are present in callhandlerprimarytemplate. Request Body: <CallhandlerPrimaryTemplate> <OneKeyDelay>9999</OneKeyDelay> <EnablePrependDigits>true</EnablePrependDigits> <PrependDigits>4545</PrependDigits> </CallhandlerPrimaryTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 <PrependDigit> parameter must be having digits only (extension parameter) Note Updating Caller Input Keys The following is an example of the PUT request that updates the call input keys: PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries The following is an example of the PUT request that edits the call input keys: PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries/* where "*" is the touchtone key ID. <MenuEntry> <Locked>true</Locked> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 1: Edit call actions Parameters Values Ignore 0 Hang Up 1 Take Message 4 Cisco Unity Connection Provisioning Interface (CUPI) API 248 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Caller Input Parameters

Image 1 from page 280

Page 281#

chunk 247

Parameters Values Skip Greeting 5 Restart Greeting 6 Transfer to alternate contact number 7 Route from next call routing rule 8 <MenuEntry> <Action>7</Action> <TransferType>1</TransferType> <TransferNumber>2344</TransferNumber> <TransferRings>4</TransferRings> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Edit Call Handler <MenuEntry> <Action>2</Action> <TargetConversation>PHGreeting</TargetConversation> <TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 To get the call handler object ID: GET https://<connection-server>/vmrest/handlers/callhandlers Example 3: Interview handler <MenuEntry> <Action>2</Action> <TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 To get the Interview Handler object ID: https://<connection-server>/vmrest/handlers/interviewhandlers Example 4: Directory handler <MenuEntry> <Action>2</Action> <TargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</TargetHandlerObjectId> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 To get the Directory Handler object ID: Cisco Unity Connection Provisioning Interface (CUPI) API 249 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Caller Input Keys

Page 282#

chunk 248

https://<connection-server>/vmrest/handlers/directoryhandlers Example 5: Conversation Request Body: for broadcast message administrator <MenuEntry> <Action>2</Action> <TargetConversation>BroadcastMessageAdministrator</TargetConversation> </MenuEntry> The following is the response from the PUT request for broadcast message administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for caller system transfer <MenuEntry> <Action>2</Action> <TargetConversation>SystemTransfer</TargetConversation> </MenuEntry> The following is the response from the PUT request for caller system transfer and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for greeting administrator <MenuEntry> <Action>2</Action> <TargetConversation>GreetingAdministrator</TargetConversation> </MenuEntry> The following is the response from the PUT request for greeting administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for sign in <MenuEntry> <Action>2</Action> <TargetConversation>SubSignIn</TargetConversation> </MenuEntry> The following is the response from the PUT request for sign in and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for user system transfer <MenuEntry> <Action>2</Action> <TargetConversation>SubSysTransfer</TargetConversation> </MenuEntry> The following is the response from the PUT request for user system transfer and the actual response will depend upon the information given by you: Response Code: 204 Example 4: Users with Mailbox <MenuEntry> <Action>2</Action> <TargetConversation>PHTransfer</TargetConversation> Cisco Unity Connection Provisioning Interface (CUPI) API 250 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Caller Input Keys

Page 283#

chunk 249

<TargetHandlerObjectId>71cb381b-fd16-4ba8-8a1d-e71684e57b0e</TargetHandlerObjectId> </MenuEntry> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example For conversation, do the following: PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/menuentries/4 Accept: application/json Content-type: application/json Connection: keep-alive { "Action":"2", "TargetConversation":"SubSignIn" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Operations Data Type Parameter Indicate the amount of time that System waits for additional input after callers press a single key that is not locked. If there is no input within this time, system performs the action assigned to the single key. We recommend a value of 1,500 milliseconds (one and one-half seconds). Note • This option is unavailable if Ignore Caller Input is enabled on the Greetings page. • OneKeyDelay can only accept integer with value 0 through 10000 Read/Write Integer OneKeyDelay To simulate abbreviated extensions by using prepended digits for call handlers and user mailboxes. When such digits are defined, they are prepended to any extension that a caller dials while listening to the greeting for the call handler or user mailbox. Default value: false. Read/Write Boolean EnablePrependDigits Digits that are prepended to any extension that a caller dials while listening to the greeting of the user. Read/Write Integer PrependDigits Parameters for caller input keys are present in menu entries URI. Read Only String(36) MenuEntriesURI Indicates the phone keypad key to which the settings apply. Read Only String(1) TouchtoneKey Cisco Unity Connection Provisioning Interface (CUPI) API 251 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 284#

chunk 250

Comments Operations Data Type Parameter A locked menu entry does not allow additional dialing after this choice is entered. Values can be: • False: Unlocked - Additional dialing after this choice is entered is allowed • True: Locked - Additional dialing is ignored Default value: false. Read/Write Boolean Locked Takes values from 0-8. See table for values. Read/Write Integer Action Menu entries can only belong to call handlers. No other object can own a menu entry. Read Only String(36) CallHandlerObjectId The name of the conversation to which the caller is routed. Read/Write String(36) TargetConversation The unique identifier of the specific object to send along to the target conversation. Read/Write String(36) TargetHandlerObjectId Extension to which call is transferred. Read/Write Integer TransferNumber Values can be: • 0: Release to switch • 1: Supervise transfer Read/Write Integer TransferType Applies only when the "TransferType" column is set to supervised (1). This value should never be less than 2 for a supervised transfer. Read/Write Integer TransferRings Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings API User Template Greetings APIs The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> From the above URI, get the call handler primary template object ID: GET https://<connection- server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId> The following URI can be used to view the greetings: GET https://<connection- server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId

/usertemplategreetings The following URI can be used to view the alternate greeting: Cisco Unity Connection Provisioning Interface (CUPI) API 252 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings API

Page 285#

chunk 251

GET https://<connection- server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId

/usertemplategreetings/Alternate The following URI can be used to view the busy greeting: GET https://<connection- server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId /usertemplategreetings/Busy The following URI can be used to view the error greeting: GET https://<connection- server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId /usertemplategreetings/Error The following URI can be used to view the closed greeting: GET https://<connection- server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId /usertemplategreetings/Off%20Hours The following URI can be used to view the standard greeting: GET https://<connection- server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId /usertemplategreetings/Standard The following URI can be used to view the holiday greeting: GET https://<connection- server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId /usertemplategreetings/Holiday Updating Fields of Greeting PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate Request Body: Enable greeting <Greeting> <EnableTransfer>true</EnableTransfer> </Greeting> The following is the response from the PUT request to enable greeting and the actual response will depend upon the information given by you: Response Code: 204 Request Body: enable with no end date <Greeting> <EnableTransfer>true</EnableTransfer> <TimeExpires></TimeExpires> </Greeting> Cisco Unity Connection Provisioning Interface (CUPI) API 253 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Fields of Greeting

Page 286#

chunk 252

The following is the response from the PUT request to enable with no end date and the actual response will depend upon the information given by you: Response Code: 204 Request Body: enable until <Greeting> <EnableTransfer>true</EnableTransfer> <TimeExpires>2014-12-31 05:30:00.000</TimeExpires> </Greeting> The following is the response from the PUT request to enable until and the actual response will depend upon the information given by you: Response Code: 204 Request Body: edit caller hears <Greeting> <PlayWhat>2</PlayWhat> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> </Greeting> The following is the response from the PUT request to edit caller hears and the actual response will depend upon the information given by you: Response Code: 204 Request Body: enable ignore caller inputs <Greeting> <IgnoreDigits>true</IgnoreDigits> </Greeting> The following is the response from the PUT request to enable ignore caller inputs and the actual response will depend upon the information given by you: Response Code: 204 Request Body: enable allow transfers to numbers not associated with users or call handlers <Greeting> <IgnoreDigits>false</IgnoreDigits> <EnableTransfer>true</EnableTransfer> </Greeting> The following is the response from the PUT request to enable allow transfers to numbers not associated with users or call handlers and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 254 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Fields of Greeting

Page 287#

chunk 253

PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate Accept: application/json Content-type: application/json Connection: keep-alive { "EnableTransfer":"true","IgnoreDigits":"false" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Changing after Greeting Actions By default all the handlers must have tenant specific handlers Example 1: Change Call Actions Request Body: <UserTemplateGreeting> <AfterGreetingAction>8</AfterGreetingAction> </UserTemplateGreeting> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To change call actions, do the following: PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/6bcd837d-f1cf-43c2-b199-85b457858a16/usertemplategreetings/Alternate Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "AfterGreetingAction":"8" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 255 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Changing after Greeting Actions

Page 288#

chunk 254

Values used for changing call actions are - 1,4,6,8 Note Example 2: Change Call Handler Request Body: <UserTemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>PHTransfer</AfterGreetingTargetConversation> <AfterGreetingTargetHandlerObjectId>ee065a6a-3f95-4b4d-bbbd-98cb2d4c0aa9</AfterGreetingTargetHandlerObjectId> </UserTemplateGreeting> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 For attempt transfer use PHTransfer and for go directly to greetings use PHGreeting and AfterGreetingTargetHandlerObjectId can be viewed from URI: Note GET https://<connection-server>/vmrest/handlers/callhandlers Example 3: Change Interview handler Request Body: <UserTemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>PHInterview</AfterGreetingTargetConversation> <AfterGreetingTargetHandlerObjectId>2f6a0058-7535-48ac-abcd-c4b41d13f47e</AfterGreetingTargetHandlerObjectId> </UserTemplateGreeting> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 AfterGreetingTargetHandlerObjectId can be viewed from URI: Note GET https://<connection-server>/vmrest/handlers/interviewhandler Example 4: Change Directory handler Request Body: <UserTemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>AD</AfterGreetingTargetConversation> <AfterGreetingTargetHandlerObjectId>1f1941a5-3bb7-47ee-96f9-78691cd8ad43</AfterGreetingTargetHandlerObjectId> </UserTemplateGreeting> Cisco Unity Connection Provisioning Interface (CUPI) API 256 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Changing after Greeting Actions

Image 1 from page 288

Page 289#

chunk 255

The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 AfterGreetingTargetHandlerObjectId can be viewed from URI: Note GET https://<connection-server>/vmrest/handlers/directoryhandler Example 5: Change Conversation Request Body: for broadcast message administrator <UserTemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>BroadcastMessageAdministrator</AfterGreetingTargetConversation> </UserTemplateGreeting> The following is the response from the PUT request for broadcast message administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for caller system transfer <UserTemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>SystemTransfer</AfterGreetingTargetConversation> </UserTemplateGreeting> The following is the response from the PUT request for caller system transfer and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for greeting administrator <UserTemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>GreetingsAdministrator</AfterGreetingTargetConversation> </UserTemplateGreeting> The following is the response from the PUT request for greeting administrator and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 257 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Changing after Greeting Actions

Image 1 from page 289

Page 290#

chunk 256

Response Code: 204 Request Body: for sign in <UserTemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>SubSignIn</AfterGreetingTargetConversation> </UserTemplateGreeting> The following is the response from the PUT request for sign in and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for user system transfer <UserTemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>SubSysTransfer</AfterGreetingTargetConversation> </UserTemplateGreeting> The following is the response from the PUT request for user system transfer and the actual response will depend upon the information given by you: Response Code: 204 Example 6: Change user with Mailbox <UserTemplateGreeting> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>PHTransfer</AfterGreetingTargetConversation> <AfterGreetingTargetHandlerObjectId>92a9008d-9e18-4cd1-8e3c-10df32295cd8</AfterGreetingTargetHandlerObjectId> </UserTemplateGreeting> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Changing Caller Option <UserTemplateGreeting> <EnAltGreetDontRingPhone>true</EnAltGreetDontRingPhone> <EnAltGreetPreventSkip>true</EnAltGreetPreventSkip> <EnAltGreetPreventMsg>true</EnAltGreetPreventMsg> </UserTemplateGreeting> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 258 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Changing Caller Option

Page 291#

chunk 257

Creating Greeting The following URI can be used to add greetings: POST https://<connection- server>/vmrest/callhandlerprimarytemplates/<Callhandlerprimarytempl atesObjectId>/usertemplategreetings/Alternate/greetingstreamfiles The following is the response from the POST request and the actual response will depend upon the information given by you: Response Code: 201 Save Video Greetings Unity Connection allows you to save video greetings using both GET and PUT requests. Example of GET Request GET http://<connection-server>/vmrest/Callhandlersprimarytemplates/<callhandlerobjectid>/usertemplates/Greetings/<GreetingType>/GreetingStreamFiles/<language>/video The following is the response of the above GET command and the output may vary depending on your inputs. Response: 200 <CallControl> <resourceId>aad91d6d-aeca-4a72-8069-b656efb3041f.wav</resourceId> <sessionId>570146ed1504cb1</sessionId> </CallControl JSON Example Request GET vmrest/handlers/callhandlers/30600b21-1a4c-47a3-a078-8078984e5376/greetings/Standard/greetingstreamfiles/1033/video Accept: application/json User-Agent: Java/1.6.0_17 Host: <connection-server> Connection: keep-alive authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg= Response HTTP/1.1 200 Content-Type: application/json Date: Fri, 15 Jan 2010 15:14:11 GMT Server: { “resourceId” :” aad91d6d-aeca-4a72-8069-b656efb3041f.wav”, “sessionId” : ”570146ed1504cb1”} Example of PUT Request PUT http://<connection-server>/vmrest/Callhandlersprimarytemplates/<callhandlerobjectid>/usertemplates/Greetings/<GreetingType>/GreetingStreamFiles/<language>/video Cisco Unity Connection Provisioning Interface (CUPI) API 259 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Creating Greeting

Page 292#

chunk 258

<CallControl> <resourceId>aad91d6d-aeca-4a72-8069-b656efb3041f.wav</resourceId> <sessionId>570146ed1504cb1</sessionId> </CallControl> Response: 204 OK JSON Example Request PUT vmrest/handlers/callhandlers/30600b21-1a4c-47a3-a078-8078984e5376/greetings/Standard/greetingstreamfiles/1033/video Content-Type: application/json Accept: application/json Host: <connection-server> Connection: keep-alive authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg== { “resourceId” :” aad91d6d-aeca-4a72-8069-b656efb3041f.wav”, “sessionId” : ”570146ed1504cb1”} Response : HTTP/1.1 204 Content-Type: application/json Date: Fri, 15 Jan 2010 15:14:11 GMT Server: Explanation of Data Fields Comments Operations Data Type Parameter The unique identifier of the call handler object to which this greeting rule belongs. Read Only String(36) CallHandlerObjectId A flag indicating whether Cisco Unity Connection takes action in response to touchtone keys pressed by callers during the greeting. Values can be: • False: Caller input enabled during greeting • True: Caller input ignored during greeting Default Value: False Read/Write Boolean IgnoreDigits The source for the greeting when this greeting is active. Default Value: 0 Default Values can be: • Call handler - 1 (recording) • Subscriber - 0 (system) Read/Write Integer(2) PlayWhat Cisco Unity Connection Provisioning Interface (CUPI) API 260 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 293#

chunk 259

Comments Operations Data Type Parameter The amount of time (in seconds) that Cisco Unity Connection waits without receiving any input from a caller before Cisco Unity Connection prompts the caller again. Default Value:2 Values can be: • 0: Do wait without receiving caller input and do not replay greeting. • 1 or greater: Wait this number of seconds without receiving any input from the caller before playing the greeting again. Read/Write Integer(2) RepromptDelay The number of times to reprompt a caller. After the number of times indicated here, Cisco Unity Connection performs the after-greeting action. Default Value: 0 Values can be: • 0: Do not reprompt - Cisco Unity Connection will play the greeting once and then the after-greeting action is taken. • 1 or greater: Number of times to reprompt. Read/Write Integer(2) Reprompts The date and time when the greeting rule expires. The greeting rule is considered not expired (enabled), if the value is NULL or a future date. The greeting rule is considered expired (disabled), the value is in the past. Read/Write DateTime(8) TimeExpires The type of greeting, e.g. "Standard," "Off Hours," "Busy," etc. Read Only String(12) GreetingType AfterMessageAction can only accept integer with value 1, 2, 4, 6, 8 Values can be: • 1: Hang up • 2. for other actions with object id (call handler, interview handler, directory handler) • 4. Take Message • 6. Restart greeting • 8: Route from next call routing rule. Read/Write Integer(2) AfterGreetingAction The unique identifier of the CallAction object that determines what action Cisco Unity Connection will take on the call after the greeting is played. Read/Write String(36) AfterGreetingActionObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 261 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 294#

chunk 260

Comments Operations Data Type Parameter A flag indicating whether the "Record your message at the tone…" prompt prior to recording a message. Values can be: • 0: System will not play the "Record your message at the tone…" prompt prior to recording a message. • 1: System will play the "Record your message at the tone…" prompt prior to recording a message. Default Value: 1 Read/Write Integer(2) PlayRecordMessagePromp A flag indicating when an extension is dialed at the greeting and the extension is not available whether to transfer to another extension. Default value: 0 Values can be: • 0: User cannot be transferred to another extension. • 1: User can "be transferred to another extension." Read/Write Boolean EnableTransfer A flag indicating whether the personal video recording of the user will be used. Values: • true : Personal Video Recording is enabled. • false : Personal Video Recording is not enabled. Default value : false Read/Write Boolean EnablePersonalVideoRecording A flag indicating whether Cisco Unity Connection will prompt callers to wait for a tone before recording their video message. Values: • true : Callers will be prompted with a tone before recording their video message. • false : Callers will not be prompted with a tone before recording their video message. Default value : false This flag is editable only when the flag EnablePersonalVideoRecording is set to True. Read/Write Boolean PlayRecordVideoMessagePrompt Transfer Callers to Greeting without Ringing User's Phone Read/Write Boolean EnAltGreetDontRingPhone Prevent Callers from Skipping the User's Greeting Read/Write Boolean EnAltGreetPreventSkip Prevent Callers from Leaving Messages Read/Write Boolean EnAltGreetPreventMsg Cisco Unity Connection Provisioning Interface (CUPI) API 262 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 295#

chunk 261

• Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Mailbox Updating Mailbox Quota Request Body: for use system settings <UserTemplate> <ReceiveQuota>-2</ReceiveQuota> <SendQuota>-2</SendQuota> <WarningQuota>-2</WarningQuota> </UserTemplate> The following is the response from the PUT request for use system settings and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for custom system maximum settings <UserTemplate> <ReceiveQuota>-1</ReceiveQuota> <SendQuota>-1</SendQuota> <WarningQuota>-1</WarningQuota> </UserTemplate> The following is the response from the PUT request for custom system maximum settings and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for custom settings <UserTemplate> <ReceiveQuota>1048576</ReceiveQuota> <SendQuota>1048576</SendQuota> <WarningQuota>1048576</WarningQuota> </UserTemplate> The following is the response from the PUT request for custom settings and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To change mailbox quota, do the following: PUT https://<connection-server>/vmrest/users/<userobjectid>/mailboxattributes Accept: application/json Content-type: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 263 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Mailbox

Page 296#

chunk 262

{ "ReceiveQuota":"104345", "SendQuota":"104345", "WarningQuota":"104345" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Above all values are in bytes and in Cisco Unity Connection Administration, it takes values in MB. Note Updating Mailbox Store Get the mailbox store object ID from the following URI: GET https://<connection-server>/vmrest/voicemailboxstores Request Body: <UserTemplate> <MailboxStoreObjectId>9dfffae1-eae2-4eab-abe9-7b0773881d54</MailboxStoreObjectId> </UserTemplates> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Input should be in bytes, that is multiple of 1024. Note Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Message Settings User Template Message Settings Administrator can use this API to create/update/delete/fetch the message settings. All the parameters of message settings are present in call handler primary template. GET https://<connection server>/vmrestvmrest/usertemplates/<usertemplateobjectid> From the above URI get the call handler primary template URI: GET https://<connection- server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 264 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Mailbox Store

Image 1 from page 296

Page 297#

chunk 263

Updating Message Settings The following is an example of the PUT request that updates message settings: PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> <Callhandler> <EditMsg>true</EditMsg> <MaxMsgLen>1000</MaxMsgLen> <AfterMessageAction>1</AfterMessageAction> <SendUrgentMsg>2</SendUrgentMsg> <UseCallLanguage>false</UseCallLanguage> <SendSecureMsg>false</SendSecureMsg <SendPrivateMsg>1</SendPrivateMsg> <PlayAfterMessage>2</PlayAfterMessage> </Callhandler> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> Accept: application/json Content-type: application/json Connection: keep-alive { "AfterMessageAction":"2", "AfterMessageTargetConversation":"SystemTransfer" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response code: 204 Updating after Message Actions Example 1: Call Handler PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation> <AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId> </Callhandler> The following is an example of the GET request that shows the call handler object ID: GET https://<connection-server>/vmrest/handlers/callhandlers Cisco Unity Connection Provisioning Interface (CUPI) API 265 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Message Settings

Page 298#

chunk 264

The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Interview Handler <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId> <AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId> </Callhandler> The following is an example of the GET request that shows the interview handler template object ID: GET https://<connection-server>/vmrest/handlers/interviewhandlers The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 3: Directory Handler <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>AD</AfterMessageTargetConversation> <AfterMessageTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</AfterMessageTargetHandlerObjectId> </Callhandler> The following is an example of the GET request that shows the interview handler template object ID: GET https://<connection-server>/vmrest/handlers/directoryhandlers The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 4: Conversation Request Body: for broadcast message administrator <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>BroadcastMessageAdministrator</AfterMessageTargetConversation> </Callhandler> The following is the response from the PUT request for broadcast message administrator and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 266 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating after Message Actions

Page 299#

chunk 265

Request Body: for caller system transfer <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>SystemTransfer</AfterMessageTargetConversation> </Callhandler> The following is the response from the PUT request for caller system transfer and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for greeting administrator <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>GreetingAdministrator</AfterMessageTargetConversation> </Callhandler> The following is the response from the PUT request for greeting administrator and the actual response will depend upon the information given by you: Response Code: 204 For sign in <Callhandler> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>SubSignIn</AfterMessageTargetConversation> </Callhandler> The following is the response from the PUT request for sign in and the actual response will depend upon the information given by you: Response Code: 204 For system transfer: Request Body: <CallhandlerPrimaryTemplate> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>SubSysTransfer</AfterMessageTargetConversation> </CallhandlerPrimaryTemplate> The following is the response from the PUT request for user system transfer and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 267 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating after Message Actions

Page 300#

chunk 266

PUT https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "AfterMessageAction":"2", "AfterMessageTargetConversation":"SystemTransfer" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Data Type Ojects Parameter The maximum recording length (in seconds) for messages left by unidentified callers. Default value : 300 Range: 1-3600 Read/Write Integer MaxMsgLen Allows callers to be prompted to listen to, add to, rerecord, or delete their messages. Values can be: • False: Callers cannot edit messages • True: Callers can edit messages Default value: True Read/Write Boolean EditMsg Cisco Unity Connection Provisioning Interface (CUPI) API 268 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 301#

chunk 267

Comments Data Type Ojects Parameter Values can be: • False: The language is the default language defined for the call handler template. • True: The language is derived from the location to which this call handler template belongs. Default value: False Read/Write Boolean UseDefaultLanguage This flag allows that language to be the language used by handlers in the system to play prompts for users. Values can be: • False: Do not use the language specified by the system call routing rule to play prompts for users • True: Use the language specified by the system call routing rule to play prompts for users • Default value: False Read/Write Boolean UseCallLanguage Cisco Unity Connection Provisioning Interface (CUPI) API 269 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 302#

chunk 268

Comments Data Type Ojects Parameter A flag indicating whether an unidentified caller can mark a message as "urgent." Values can be: • 0: Never - messages left by unidentified calls are never marked urgent. • 1: Always - all messages left by unidentified callers are marked urgent. • 2: Ask - Cisco Unity Connection asks unidentified callers whether to mark their messages urgent. Read/Write Integer SendUrgentMsg Determines if an outside caller can mark their message as private. Values can be: • 0: Never - No messages are marked private. • 1: Always - All messages are marked private. • 2: Ask - Ask the outside caller if they wish to mark the message as private. Read/Write Integer SendPrivateMsg Cisco Unity Connection Provisioning Interface (CUPI) API 270 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 303#

chunk 269

Comments Data Type Ojects Parameter A flag indicating whether an unidentified caller can mark a message as "secure." Values can be: • 0: Never - messages left by unidentified calls are never marked secure. • 1: Always - all messages left by unidentified callers are marked secure. Read/Write Boolean SendSecureMsg Indicates whether the Sent Message Prompt Recording referenced by Post Greeting Values can be: • 0: Do not play recording • 1: System default recording • 2: Play recording Read/Write Integer PlayAfterMessage AfterMessageAction can only accept integer with value 1 or 8 or 2 Values can be: • 1: Hang up • 8: Route from next call routing rule. Read/Write Integer AfterMessageAction Cisco Unity Connection Provisioning Interface (CUPI) API 271 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 304#

chunk 270

Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Action Template Message Action Template To edit a message action template, you must get the URI for message action from: GET https://<connection server>/vmrestvmrest/usertemplates/<usertemplateobjectid> Message action URI: GET https://<connection server>/vmrestvmrest/usertemplates/<usertemplateobjectid>/usertemplatemessageactions/<usertempl atemessageactionsobjectid> Updating Message Action Request URI PUT https://<connection server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatemessageactions/<objectid> Request Body: <UserTemplateMessageAction> <VoicemailAction>3</VoicemailAction> <RelayAddress>%texoma%@tenant.com</RelayAddress> </UserTemplateMessageAction> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update message actions, do the following: Request URI: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatemessageactions/<objectid> Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "VoicemailAction":"3" "RelayAddress":"texoma@tenant.com" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 272 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Action Template

Page 305#

chunk 271

For relay message and accept and relay message option relay address is mandatory and relay address must be correct for e.g.: tenant@cisco.com In the same way all other actions can be edited like: Voicemail Action, Email Action, Fax Action and Delivery Receipt Action Note Explanation of Data Fields Comments Operation Data Types Parameter The action to take for voicemail messages. Values can be: • 0: Reject the Message • 1: Accept the Message • 2: Relay the Message • 3: Accept and Relay the Message For 2 and 3, values have to provide RelayAddress. Read/Write Integer VoicemailAction The action to take for email messages. Values can be: • 0: Reject the Message • 1: Accept the Message • 2: Relay the Message • 3: Accept and Relay the Message For 2 and 3, values have to provide RelayAddress. Read/Write Integer EmailAction The action to take for fax messages. Values can be: • 0: Reject the Message • 1: Accept the Message • 2: Relay the Message • 3: Accept and Relay the Message For 2 and 3, values have to provide RelayAddress. Read/Write Integer FaxAction Cisco Unity Connection Provisioning Interface (CUPI) API 273 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Image 1 from page 305

Page 306#

chunk 272

Comments Operation Data Types Parameter The action to take for delivery receipt messages. Values can be: • 0: Reject the Message • 1: Accept the Message • 2: Relay the Message • 3: Accept and Relay the Message For 2 and 3, values have to provide RelayAddress. Read/Write Integer DeliveryReceiptAction Select the address to which system relays voicemail, email, fax, or delivery receipts when Connection is configured to relay that message type. This field is not editable unless you have selected Relay the Message or Accept and Relay the Message as the message action for one or more message types. In order to configure Connection to relay messages, you must first configure an SMTP Smart Host on the System Settings > SMTP Configuration > Smart Host page. Enter a combination of text and tokens that Connection replaces with a value from the user profile. (For example, Connection replaces %Alias% with the alias from each user profile when editing the corresponding user.) Note Read/Write String (320) RelayAddress Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Notification Devices User Template Notification Devices The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> From the above URI, get the notification devices object ID: https://<connectionserver>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices Cisco Unity Connection Provisioning Interface (CUPI) API 274 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Notification Devices

Page 307#

chunk 273

Pager The following URI can be used to view the pager device by using user template notification device object ID: GET https://<connection- server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/usertemplatepagerdevic es/<usertemplatenotificationdeviceobjectId> Request Body: Updating Pager <UserTemplatePagerDevice> <Active>true</Active> <DisplayName>Pager1</DisplayName> <InitialDelay>1</InitialDelay> <RepeatNotify>true</RepeatNotify> <RepeatInterval>1</RepeatInterval> <EventList>AllMessage</EventList> <RetriesOnBusy>4</RetriesOnBusy> <BusyRetryInterval>5</BusyRetryInterval> <RetriesOnRna>4</RetriesOnRna> <RnaRetryInterval>15</RnaRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> </UserTemplatePagerDevice> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 To activate notification device <PhoneNumber> parameter is mandatory and <RepeatInterval > parameter is mandatory to enable repeat notify. The provide values can be changed and values are given in above table. Note JSON Example To view pager devices, do the following: GET https://<connectionserver>/vmrestvmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/ usertemplatepagerdevices/<usertemplatenotificationdeviceobjectId> Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 275 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Pager

Image 1 from page 307

Page 308#

chunk 274

{ "URI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-95f8e18a655c/usertemplatenotificationdevices/usertemplatepagerdevices/ad6bdb87-7ab6-4a2a-b4fb-5dae6fd6804c" "TransmitForcedAuthorizationCode":"false" "BusyRetryInterval":"5" "DialDelay":"1" "RetriesOnBusy":"4" "RetriesOnRna":"4" "RingsToWait":"4" "RnaRetryInterval":"15" "SendCount":"true" "WaitConnect":"true" "MediaSwitchObjectId":"0ad0b88c-4a70-4cf7-913e-d5d7a921caca" "PhoneSystemURI":"/vmrest/phonesystems/0ad0b88c-4a70-4cf7-913e-d5d7a921caca" "ObjectId":"ad6bdb87-7ab6-4a2a-b4fb-5dae6fd6804c" "Active":"false" "DeviceName":"Pager" "DisplayName":"Pager" "MaxBody":"512" "MaxSubject":"64" "SubscriberObjectId":"6164ac2d-e8ec-441a-93a0-95f8e18a655c" "UserURI":"/vmrest/users/6164ac2d-e8ec-441a-93a0-95f8e18a655c" "SendCallerId":"true" "Undeletable":"true" "SuccessRetryInterval":"1" "RetriesOnSuccess":"0" "EventList":"NewVoiceMail" "ScheduleSetObjectId":"5fc5a5d7-eaf6-4f4d-80cf-f76f3893ac0e" "InitialDelay":"0" "RepeatInterval":"0" "RepeatNotify":"false" } Response Code: 200 Explanation of Fields: Pager Comments Operation Data Type Parameter Enable notification device. Default value: False Read/Write Boolean Active Name of notification device Read/Write String DisplayName Device name of notification device which can’t be changed. Read Only String DeviceName Have to provide notification device object id. To move back to “Do nothing option”, don’t provide any object Id in this parameter. Read/Write String FailDeviceObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 276 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Fields: Pager

Page 309#

chunk 275

Comments Operation Data Type Parameter Values can be: • All messages: AllMessage • All message urgent only: AllUrgentMessage • All Voice messages: NewVoiceMail • All voice message urgent only: NewUrgentVoiceMai • Dispatch messages: DispatchMessage • Dispatch message urgent only: UrgentDispatchMessage • Fax messages: NewFax • Fax messages urgent only: NewUrgentFax • All voice messages and fax message urgent only: NewUrgentFax,NewVoiceMail • All voice message urgent only and fax message: NewUrgentFax,NewUrgentVoiceMail • Fax message and all voice message: NewFax,NewVoiceMail Read/Write String EventList To activate notification device phone number is mandatory. Read/Write Integer PhoneNumber The extra digits (if any) that Cisco Unity Connection will dial after the phone number. For numeric pagers, the extra digits are shown on the pager display. Read/Write String (32) AfterDialDigits The amount of time (in seconds) Cisco Unity Connection will wait after detecting a successful call before dialing specified additional digits (if any). Additional digits are contained in AfterDialDigits. Integer DialDelay The amount of time (in minutes) from the time a message is received until the message notification triggers (if the message matches the criteria). Default Value: 0 Range: 0-120 Read/Write Integer InitialDelay Cisco Unity Connection Provisioning Interface (CUPI) API 277 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Fields: Pager

Page 310#

chunk 276

Comments Operation Data Type Parameter The number of rings Cisco Unity Connection will wait before hanging up if the device does not answer. Default value: 4 Range: 1-100 Read/Write Integer RingsToWait The number of times Cisco Unity Connection will retry the notification device if it is busy. Default value: 4 Range: 0-100 Read/Write Integer RetriesOnBusy The amount of time (in minutes) Cisco Unity Connection will wait between tries if the device is busy. Default value: 5 Range: 1-100 Read/Write Integer BusyRetryInterval The number of times Cisco Unity Connection will retry the notification device if the device does not answer. Default value: 4 Range: 0-100 Read/Write Integer RetriesOnRna The amount of time (in minutes) Cisco Unity Connection will wait between tries if the device does not answer. Default value: 15 Range: 1-100 Read/Write Integer RnaRetryInterval The number of times Cisco Unity Connection will retry the notification device if it is successful. Default value: 0 Range: 0-100 Read/Write Integer RetriesOnSuccess The amount of time (in minutes) Cisco Unity Connection will wait between tries if the device is successful. Default value: 1 Range: 1-100 Read/Write Integer SuccessRetryInterval The unique identifier of the MediaSwitch objects to use for notification. Read/Write String MediaSwitchObjectid • Phone Devices Phone devices are of 3 types: work phone, home phone and mobile phone. You have to provide phone device object id to edit any of the 3 devices. All the parameters are same as of pager except 1. That is <PromptForId>true</PromptForId>. The following URI can be used to view the phone device using user template notification object ID: Cisco Unity Connection Provisioning Interface (CUPI) API 278 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Phone Devices

Page 311#

chunk 277

GET https://<connection- server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/usertemplatephonedevic es/<usertemplatenotificationdeviceobjectId> HTML Devices The following URI can be used to view the html devices using user template notification object ID: GET https://<connection- server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/usertemplatehtmldevic es/<usertemplatenotificationdeviceobjectId> Request Body: To update an HTML Device <UserTemplateHtmlDevice> <Active>truee</Active> <SmtpAddress>tenant@cisco.com</SmtpAddress> <DisableMobileNumberFromPCA>false</DisableMobileNumberFromPCA> <HeaderText>erwr</HeaderText> </UserTemplateHtmlDevice> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 To activate the SmtpAddress parameter is mandatory. Note Explanation of Fields: HTML Device Comment Operation Data Type Parameter Device name of HTML notification device. Read/Write String DeviceName By default it is NewVoiceMail. Read/Write String EventList SMTP address to be notified. Read/Write String SmtpAddress HTML notification templates. Read/Write String NotificationTemplateID Disable Outdial Number From Cisco PCA. Default value: False Read/Write Boolean DisableMobileNumberFromPCA Outdial number. Read/Write Integer CallbackNumber Cisco Unity Connection Provisioning Interface (CUPI) API 279 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template HTML Devices

Image 1 from page 311

Page 312#

chunk 278

Comment Operation Data Type Parameter Disable HTML Template selection From Cisco PCA. Default value: False Read/Write Boolean DisableTemplateSelectionFromPCA • SMTP Devices The following URI can be used to view the SMTP devices using user template notification object ID: GET https://<connection server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevices/usertemplatesmtpdevices/<usertemplatenotificationdeviceobjectId> Request Body: SMTP Devices <UserTemplateSmtpDevice> <StaticText>ritu</StaticText> <Active>true</Active> <DeviceName>SMTP</DeviceName> <SendCallerId>false</SendCallerId> <SendPcaLink>true</SendPcaLink> <Undeletable>true</Undeletable> <HeaderText>erwr</HeaderText> <FooterText>efs</FooterText> <EventList>AllMessage, CalendarAppointment,CalendarMeeting</EventList> </UserTemplateSmtpDevice> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of fields: SMTP Devices Comment Operation Data Type Parameter Enable SMTP notification device. SMTP address is mandatory to enable it. Default value: False Read/Write Boolean Active SMTP address to be notified. Read/Write String SmtpAddress Delay before the First Notification Attempt Read/Write Integer InitialDelay Repeat Notification if there are Still New Messages. Default value: False Read/Write Boolean RepeatNotify Notification Repeat Interval Read/Write Integer RepeatInterval Cisco Unity Connection Provisioning Interface (CUPI) API 280 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template SMTP Devices

Page 313#

chunk 279

Comment Operation Data Type Parameter Values can be: • All messages: AllMessage • All message urgent only: AllUrgentMessage • All Voice messages: NewVoiceMail • All voice message urgent only: NewUrgentVoiceMai • Dispatch messages: DispatchMessage • Dispatch message urgent only: UrgentDispatchMessage • Fax messages: NewFax • Fax messages urgent only: NewUrgentFax • All voice messages and fax message urgent only: NewUrgentFax,NewVoiceMail • All voice message urgent only and fax message: NewUrgentFax,NewUrgentVoiceMail • Fax message and all voice message: NewFax,NewVoiceMail • Calendar Appointment: CalendarAppointment • Calendar meeting: CalendarMeeting Read/Write String EventList From which number SMTP notification is sent. Read/Write Integer PhoneNumbe Message Header Read/Write String HeaderText Message text Read/Write String StaticText Message footer Read/Write String FooterText Include Message Information in Message Text. Default value: True Read/Write Boolean SendCallerId Include Message Count in Message Text. Default value: True Read/Write Boolean SendCount Cisco Unity Connection Provisioning Interface (CUPI) API 281 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of fields: SMTP Devices

Page 314#

chunk 280

Comment Operation Data Type Parameter Include a Link to the Cisco Unity Connection Web Inbox in Message Text. Default value: False Read/Write Boolean SendPcaLink Creating a new Notification device The following URI can be used to create a pager device: POST https://<connection- server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplatenotificationdevic es/usertemplatepagerdevices Request Body: <UserTemplateNotificationDevice> <DisplayName>Newpager</DisplayName> <MediaSwitchObjectId>8adf6869-4afc-4455-9fd5-d05b68ca6630</MediaSwitchObjectId> </UserTemplateNotificationDevice> he following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/usertemplates/<objectid>/usertemplatenotificationdevices/<objectid> Phone system Id is mandatory to create pager device. Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Phone Menu User Template Phone Menu The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> Updating Phone menu fields Request Body: <UserTemplate> <PromptVolume>50</PromptVolume> <PromptSpeed>100</PromptSpeed> <IsClockMode24Hour>false</IsClockMode24Hour> <ConversationTui>SubMenu</ConversationTui> <MessageLocatorSortOrder>1</MessageLocatorSortOrder> <JumpToMessagesOnLogin>false</JumpToMessagesOnLogin> </UserTemplate> Cisco Unity Connection Provisioning Interface (CUPI) API 282 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Creating a new Notification device

Page 315#

chunk 281

The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Updating Conversation fields Example 1: Edit call actions <User> <ExitAction>1</ExitAction> </User> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Edit call handler <User> <ExitAction>2</ExitAction> <ExitTargetConversation>PHTransfer</ExitTargetConversation> <ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId> </User> The following URI can be used to view call handler template object ID: GET https://<connection-server>/vmrest/handlers/callhandlers The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 3: Interview handler <User> <ExitAction>2</ExitAction> <ExitTargetConversation>PHInterview</ExitTargetConversation> <ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId> </User> The following is an example of the GET request that shows the interview handler template object ID: GET https://<connection-server>/vmrest/handlers/interviewhandlers The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 4: Directory handler The following is an example of the GET request that shows the directory handler template object ID: GET https://<connection-server>/vmrest/handlers/directoryhandlers Cisco Unity Connection Provisioning Interface (CUPI) API 283 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Conversation fields

Page 316#

chunk 282

<User> <ExitAction>2</ExitAction> <ExitTargetConversation>AD</ExitTargetConversation> <ExitTargetHandlerObjectId>c1fc1029-55f4-40dc-a553-40b75664ed8a</ExitTargetHandlerObjectId> </User> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 5: Conversation Request Body: for broadcast message administrator <User> <ExitAction>2</ExitAction> <ExitTargetConversation>BroadcastMessageAdministrator</ExitTargetConversation> </UserTemplate> The following is the response from the PUT request for broadcast message administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for caller system transfer <User> <ExitAction>2</ExitAction> <ExitTargetConversation>SystemTransfer</ExitTargetConversation> </User> The following is the response from the PUT request for caller system transfer and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for greeting administrator <User> <ExitAction>2</ExitAction> <ExitTargetConversation>GreetingAdministrator</ExitTargetConversation> </User> The following is the response from the PUT request for greeting administrator and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for sign in <UserTemplate> <ExitAction>2</ExitAction> <ExitTargetConversation>SubSignIn</ExitTargetConversation> </UserTemplate> Cisco Unity Connection Provisioning Interface (CUPI) API 284 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Conversation fields

Page 317#

chunk 283

The following is the response from the PUT request for sign in and the actual response will depend upon the information given by you: Response Code: 204 Request Body: for user system transfer <User> <ExitAction>2</ExitAction> <ExitTargetConversation>SubSysTransfer</ExitTargetConversation> </User> The following is the response from the PUT request for user system transfer and the actual response will depend upon the information given by you: Response Code: 204 Example 6: Users with Mailbox <User> <ExitAction>2</ExitAction> <ExitTargetConversation>PHTransfer</ExitTargetConversation> <ExitTargetHandlerObjectId>71cb381b-fd16-4ba8-8a1d-e71684e57b0e</ExitTargetHandlerObjectId> </User> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To set exit action, do the following: PUT https://<connection-server>/vmrest/users/<userobjectid> Accept: application/json Content-type: application/json Connection: keep-alive { "ExitAction":"2", "ExitTargetConversation":"SubSysTransfer" } The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Values Parameters *True: Brief • False: Full useBriefPrompts Cisco Unity Connection Provisioning Interface (CUPI) API 285 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 318#

chunk 284

Values Parameters *25: Low • 50: Medium • 100: High PromptVolume *50: Slow • 100: Normal • 150: Fast • 200: Fastest PromptSpeed *True: 24-Hour Clock (00:00 - 23:59) • False: 12-Hour Clock (12:00 AM - 11:59 PM) IsClockMode24Hour *SubMenu: Classic Conversation • SubMenu_Alternate_Custom: Custom keypad mapping1 • SubMenu_Alternate_Custom1: Custom keypad mapping1 • SubMenu_AlternateN: Alternate Keypad Mapping(N) • SubMenu_AlternateS: Alternate Keypad Mapping(S) • SubMenu_AlternateX: Alternate Keypad Mapping (X) • SubMenuOpt1: Optional conversation1 • SubMenu_AlternateI: Standard Conversation ConversationTUI *1: Last In, First Out • 2: First In, First Out MessageLocatorSortOrde PromptVolume and PromptSpeed parameters must be of the same range given in the table. Note Cisco Unity Connection Provisioning Interface (CUPI) API -- Playback Message Settings Playback Message Settings The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> Cisco Unity Connection Provisioning Interface (CUPI) API 286 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Cisco Unity Connection Provisioning Interface (CUPI) API -- Playback Message Settings

Image 1 from page 318

Page 319#

chunk 285

Edit Parameters Request Body: <UserTemplate> <Volume>50</Volume> <Speed>100</Speed> <SayTotalNew>true</SayTotalNew> <SayTotalNewVoice>true</SayTotalNewVoice> <SayTotalNewEmail>false</SayTotalNewEmail> <SayTotalNewFax>false</SayTotalNewFax> <SayTotalReceipts>false</SayTotalReceipts> <SayTotalSaved>true</SayTotalSaved> <SayTotalDraftMsg>false</SayTotalDraftMsg> <MessageTypeMenu>false</MessageTypeMenu> <NewMessageSortOrder>2</NewMessageSortOrder> <SaveMessageOnHangup>1</SaveMessageOnHangup> <DeletedMessageSortOrder>1</DeletedMessageSortOrder> <SaySender>true</SaySender> <SaySenderExtension>false</SaySenderExtension> <SayAni>true</SayAni> <SayMsgNumber>true</SayMsgNumber> <SayTimestampBefore>true</SayTimestampBefore> <AutoAdvanceMsgs>false</AutoAdvanceMsgs> <ConfirmDeleteMessage>true</ConfirmDeleteMessage> </UserTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 To sort the message type: • for new message: <NewMessageSortOrder>2</NewMessageSortOrder> • for saved message: <SaveMessageSortOrder>1</SaveMessageSortOrder> • for deleted message: <DeletedMessageSortOrder>1</DeletedMessageSortOrder> Note All the possible values for above three parameters are given in the table. Explanation of Data Fields Description Operation Data Type Parameter The audio volume expressed as a percentage that Cisco Unity Connection uses to play back message. The range can vary from 0 to 100. Possible values: • 25: Low • 50: Medium • 100: High Default value: 50 Read/Write Integer Volume Cisco Unity Connection Provisioning Interface (CUPI) API 287 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Edit Parameters

Image 1 from page 319

Page 320#

chunk 286

Description Operation Data Type Parameter The audio speed system uses to play back messages to the subscriber. The range can vary from 0 to 200. • 50: Slow • 100: Normal • 150: Fast • 200: Fastest Default value: 100 Read/Write Integer Speed A flag indicating when hanging up while listening to a new message, whether the message is marked new again or is marked read. Possible Values: • false: New • true: Saved Default Value: false Read/Write Boolean SaveMessageOnHangup The order in which Cisco Unity Connection will sort new messages. Possible values: • 1: Newest First • 2: Oldest First Default Value: 1 Read/Write Integer NewMessageSortOrder The order in which Cisco Unity Connection will sort saved messages.. Possible values: • 1: Newest First • 2: Oldest First Default Value: 2 Read/Write Integer SavedMessageSortOrder The order in which Cisco Unity Connection presents deleted messages to the subscriber. Possible values: • 1: Newest First • 2: Oldest First Default Value: 2 Read/Write Integer DeletedMessageSortOrder Volume and Speed parameters must be of the same range given in the table. Note Cisco Unity Connection Provisioning Interface (CUPI) API 288 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Image 1 from page 320

Page 321#

chunk 287

Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Post Greeting Recordings User Template Post Greeting Recordings The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> From the above UR, get the call handler primary template object ID: GET https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId> Update Post Greeting Recording Settings Request Body: <CallhandlerPrimaryTemplate> <PlayPostGreetingRecording>1</PlayPostGreetingRecording> </CallhandlerPrimaryTemplate> The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update post greeting recording settings, do the following: Request URI: PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/<ObjectId> Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "PlayPostGreetingRecording":"1" } The following is the response from the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 289 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Post Greeting Recordings

Page 322#

chunk 288

Explanation of Data Fields Values Parameters • 0: Do Not Play Recording • 1: Play Recording to Al Calers • 2: Play Recording Only to Unidentified Calers PlayPostGreetingRecording Object Id of post greeting. PostGreetingRecordingObjectId Cisco Unity Connection Provisioning Interface (CUPI) API -- Send Message Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Transfer Rules Transfer Rules API Administrator can use this API to create/update/delete/fetch the transfer rules. Various attributes of transfer rules can also be updated using this API. The following are the examples to access various types of transfer rules: • To view call handler primary templates of a particular user template use the URI: GET https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 290 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 323#

chunk 289

• From call handler primary template use the URI to view transfer options: vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions • To view the alternate transfer rule use the URI: GET https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Alternate • To view closed transfer rule use the URI: GET https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Off%20Hours • To view standard transfer rule use the URI: GET https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Standard Viewing the Alternate Transfer Rule The following is an example of the GET request that lists the details of alternate transfer rule: GET https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Alternate The following is the response from the above GET request and the actual response will depend upon the information given by you: <TransferOption> <URI>/vmrest/callhandlerprimarytemplates/45e0a6f4-43c4-472a-8ffb-f6124aa549d0/transferoptions/Alternate</URI> <CallHandlerObjectId>45e0a6f4-43c4-472a-8ffb-f6124aa549d0</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/45e0a6f4-43c4-472a-8ffb-f6124aa549d0</CallhandlerURI> <TransferOptionType>Alternate</TransferOptionType> <Action>1</Action> <RnaAction>1</RnaAction> <TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferDtDetect>false</TransferDtDetect> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> <MediaSwitchObjectId>221ee752-5147-4326-9990-d4a138674f9e</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/221ee752-5147-4326-9990-d4a138674f9e</PhoneSystemURI> <UsePrimaryExtension>true</UsePrimaryExtension> <PlayTransferPrompt>true</PlayTransferPrompt> <PersonalCallTransfer>false</PersonalCallTransfer> <Enabled>false</Enabled> </TransferOption> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 291 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Alternate Transfer Rule

Page 324#

chunk 290

JSON Example To view the alternate transfer rule, do the following: Request URI: GET https://<connection-server>/vmrest/callhandlerprimarytemplates/<callhandlerprimarytemplatesobjectid>/transferoptions Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 292 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Alternate Transfer Rule

Page 325#

chunk 291

{ "@total":"3" "TransferOption":[ { "URI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078/transferoptions/Alternate" "CallHandlerObjectId":"02dcae3e-2e7c-4997-a36e-0f5276281078" "CallhandlerURI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078" "TransferOptionType":"Alternate" "Action":"1" "RnaAction":"1" "TransferAnnounce":"false" "TransferConfirm":"false" "TransferDtDetect":"false" "TransferHoldingMode":"0" "TransferIntroduce":"false" "TransferRings":"4" "TransferScreening":"false" "TransferType":"0" "MediaSwitchObjectId":"7c654c70-e76c-4e47-b8f6-fa92cec6755e" "PhoneSystemURI":"/vmrest/phonesystems/7c654c70-e76c-4e47-b8f6-fa92cec6755e" "UsePrimaryExtension":"true" "PlayTransferPrompt":"true" "PersonalCallTransfer":"false" "Enabled":"true" } { "URI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078/transferoptions/Off%20Hours" "CallHandlerObjectId":"02dcae3e-2e7c-4997-a36e-0f5276281078" "CallhandlerURI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078" "TransferOptionType":"Off Hours" "Action":"1" "RnaAction":"1" "TransferAnnounce":"false" "TransferConfirm":"false" "TransferDtDetect":"false" "TransferHoldingMode":"0" "TransferIntroduce":"false" "TransferRings":"4" "TransferScreening":"false" "TransferType":"0" "MediaSwitchObjectId":"7c654c70-e76c-4e47-b8f6-fa92cec6755e" "PhoneSystemURI":"/vmrest/phonesystems/7c654c70-e76c-4e47-b8f6-fa92cec6755e" "UsePrimaryExtension":"true" "PlayTransferPrompt":"true" "PersonalCallTransfer":"false" "Enabled":"true" } { "URI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078/transferoptions/Standard" "CallHandlerObjectId":"02dcae3e-2e7c-4997-a36e-0f5276281078" "CallhandlerURI":"/vmrest/callhandlerprimarytemplates/02dcae3e-2e7c-4997-a36e-0f5276281078" "TransferOptionType":"Standard" "Action":"1" "RnaAction":"1" "TransferAnnounce":"false" "TransferConfirm":"false" "TransferDtDetect":"false" "TransferHoldingMode":"0" "TransferIntroduce":"false" "TransferRings":"4" "TransferScreening":"false" "TransferType":"0" "MediaSwitchObjectId":"7c654c70-e76c-4e47-b8f6-fa92cec6755e" "PhoneSystemURI":"/vmrest/phonesystems/7c654c70-e76c-4e47-b8f6-fa92cec6755e" Cisco Unity Connection Provisioning Interface (CUPI) API 293 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Alternate Transfer Rule

Page 326#

chunk 292

"UsePrimaryExtension":"true" "PlayTransferPrompt":"true" "PersonalCallTransfer":"false" "Enabled":"true" } ] } Response Code: 200 Updating Transfer Option The following is an example of the GET request that updates the transfer option: GET https://<connection-server>/vmrestvmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Alternate <TransferOption> <Action>0</Action> <TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> </TransferOption> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update the transfer rule, do the following: Request URI: PUT https://<connection-server>/vmrest/callhandlerprimarytemplates/<CallhandlerprimarytemplatesObjectId>/transferoptions/Alternate Accept: application/json Content-type: application/json Connection: keep-alive Request Body: { "Action":"1", "TransferAnnounce":"false", "TransferConfirm":"false", "TransferHoldingMode":"0", "TransferIntroduce":"false", "TransferRings":"4", "TransferScreening":"false", "TransferType":"0" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 294 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Transfer Option

Page 327#

chunk 293

Response Code: 204 Use the following code snippet to change action to "Enable with no end date": <TransferOption> <Enabled>true</Enabled> <TimeExpires></TimeExpires> </TransferOption> Same way closed transfer rule can be edited and for standard transfer rule status cannot be updated. Note Explanation of Data Fields Comments Operations Data Type Parameter The type of transfer option, e.g. "Standard," "Off Hours," or "Alternate." Read Only String(64) TransferOptionType To enable transfer rules. Possible values: • true • false Default value: false Read/Write Boolean Enabled The date and time when this transfer option expires. If the transfer rule is enabled, the value is NULL or a date in the future. If the transfer rule is disable, the value is a past date. Read/Write DateTime TimeExpires A flag indicating whether Cisco Unity Connection transfers the call to the call handler greeting or attempts to transfer the call to an extension. Values can be: • 0: Greeting • 1: Extension Read/Write Integer Actions The type of call transfer Cisco Unity Connection will perform - supervised or unsupervised (also referred to as "Release to Switch" transfer). Values: • 0: Release to Switch • 1: Supervise Transfer Read/Write Integer TransferType Cisco Unity Connection Provisioning Interface (CUPI) API 295 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Image 1 from page 327

Page 328#

chunk 294

Comments Operations Data Type Parameter The number of times the extension rings before Cisco Unity Connection considers it a "ring no answer" and plays the subscriber or handler greeting. Applies only when the "TransferType" column is set to supervised (1). This value should never be less than 2 for a supervised transfer. Possible Values: 2-20 Default value: 4 Read/Write Integer TransferRings Enables "Wait While I Transfer Your Call" Prompt. Values: • false: System will not play the "Wait while I transfer your call" prompt prior to transfer. • true: System will play the "Wait while I transfer your call" prompt prior to transfer. Default value: true Read/Write Boolean PlayTransferPrompt The action Cisco Unity Connection will take when the extension is busy. Applies only when the "TransferType" column is set to supervised (1). Values: • 0: Send callers to voicemail. • 1: Put callers on hold without asking. • 2: Ask callers to hold. Read/Write Integer TransferHoldingMode A flag indicating whether Cisco Unity Connection plays "transferring call" when the subscriber answers the phone. Requires a "TransferType" of supervised (1). Values: • false: Do not say "Transferring call" when the subscriber answers the phone • true: Say "Transferring call" when the subscriber answers the phone Default value: false Read/Write Boolean TransferAnnounce A flag indicating whether Cisco Unity Connection will say "call for <recorded name of the call handler>" when the subscriber answers the phone. Requires a "TransferType" of supervised (1). This functionality is normally used when a single extension number is being shared by multiple subscribers or a scenario where the subscriber who is the message recipient takes calls for more than one dialed extension. The introduction alerts the subscriber who answers that the call is for the call handler. Default value: false Read/Write Boolean TransferIntroduce Cisco Unity Connection Provisioning Interface (CUPI) API 296 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 329#

chunk 295

Comments Operations Data Type Parameter A flag indicating whether Cisco Unity Connection prompts the subscriber to accept or refuse a call ("Press 1 to take the call or 2 and I'll take a message"). If the call is accepted, it is transferred to the subscriber phone. If the call is refused, Cisco Unity Connection plays the applicable subscriber greeting. Requires a "TransferType" of supervised (1). Typically this is used in conjunction with the call screening option ("TransferScreening" column) enabled. This combination enables the subscriber to hear the name of the caller and then decide if they want to take the call or not. Values: • false: Transfer confirm disabled • true: Transfer confirm enabled Default value: false Read/Write Boolean TransferConfirm Requires a "TransferType" of supervised (1). Normally this column is used along with "TransferConfirm" to allow the subscriber to screen calls. Values: • false: Call screening disabled • true: Ask and record caller name Default value: false Read/Write Boolean TransferScreening Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template User Templates API Administrator can use this API to create/update/delete/fetch the user template. Various attributes of user template can also be updated using this API. Listing the User Templates The request can be used to fetch the list of all user templates. It can also be used to fetch the list of user templates based on specific partition object ID, COS objec t ID, mailbox store object ID, phone system, call handler object ID. GET https://<connection-server>/vmrest/usertemplates The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 297 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template

Page 330#

chunk 296

<UserTemplates total="1"> <UserTemplate> <URI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-2b13f76bf631</URI> <ObjectId>c2056af2-bed7-4a0d-9039-2b13f76bf631</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Alias>Texoma_User_Template1</Alias> <City/> <State/> <Country>US</Country> <PostalCode/> <Manager/> <Building/> <Address/> <DisplayName>Texoma_User_Template1</DisplayName> <BillingId/> <TimeZone>190</TimeZone> <CreationTime>2012-12-26 13:04:28.9</CreationTime> <CosObjectId>0ef61610-a729-4b0d-9476-cab095028db3</CosObjectId> <CosURI>/vmrest/coses/0ef61610-a729-4b0d-9476-cab095028db3</CosURI> <Language>1033</Language> <LocationObjectId>27a67e01-bcb4-4012-8b1b-f0a08b736087</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/27a67e01-b cb4-4012-8b1b-f0a08b736087</LocationURI> <AddressMode>0</AddressMode> <ClockMode>0</ClockMode> <ConversationTui>SubMenu</ConversationTui> <GreetByName>true</GreetByName> <ListInDirectory>true</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <SayCopiedNames>true</SayCopiedNames> <SayDistributionList>true</SayDistributionList> <SayMsgNumber>true</SayMsgNumber> <SaySender>true</SaySender> <SayTimestampAfter>true</SayTimestampAfter> <SayTimestampBefore>false</SayTimestampBefore> <SayTotalNew>false</SayTotalNew> <SayTotalNewEmail>false</SayTotalNewEmail> <SayTotalNewFax>false</SayTotalNewFax> <SayTotalNewVoice>true</SayTotalNewVoice> <SayTotalReceipts>false</SayTotalReceipts> <SayTotalSaved>true</SayTotalSaved> <Speed>100</Speed> <MediaSwitchObjectId>b6df8cb3-b3ce-4797-84f3-5559049df8e8</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/b6df8cb3-b3ce-4797-84f3- 5559049df8e8</PhoneSystemURI> <Undeletable>false</Undeletable> <UseBriefPrompts>false</UseBriefPrompts> <Volume>50</Volume> <EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone> <EnAltGreetPreventSkip>false</EnAltGreetPreventSkip> <EnAltGreetPreventMsg>false</EnAltGreetPreventMsg> <EncryptPrivateMessages>false</EncryptPrivateMessages> <DeletedMessageSortOrder>2</DeletedMessageSortOrder> <SayAltGreetWarning>false</SayAltGreetWarning> <SaySenderExtension>false</SaySenderExtension> <SayAni>false</SayAni> <ExitCallActionObjectId>0463e49b-cde4-4c30-877c-acfe25966a42</ExitCallActionObjectId> <CallAnswerTimeout>4</CallAnswerTimeout> <CallHandlerObjectId>83c9b890-6659-4c0f-8be6-8a1a85efee7e</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/83c9b890-6659-4c0f-8be6-8a1a85efee7e</CallhandlerURI> Cisco Unity Connection Provisioning Interface (CUPI) API 298 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Listing the User Templates

Page 331#

chunk 297

<DisplayNameRule>1</DisplayNameRule> <DoesntExpire>false</DoesntExpire> <CantChange>false</CantChange> <MailboxStoreObjectId>e983490d-78a5-45aa-b9a0-31f51460a5bd</MailboxStoreObjectId> <SavedMessageStackOrder>1234567</SavedMessageStackOrder> <NewMessageStackOrder>1234567</NewMessageStackOrder> <MessageLocatorSortOrder>1</MessageLocatorSortOrder> <SavedMessageSortOrder>2</SavedMessageSortOrder> <NewMessageSortOrder>1</NewMessageSortOrder> <MessageTypeMenu>false</MessageTypeMenu> <EnablePersonalRules>true</EnablePersonalRules> <RecordUnknownCallerName>true</RecordUnknownCallerName> <RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst> <PromptSpeed>100</PromptSpeed> <ExitAction>2</ExitAction> <ExitTargetConversation>PHGreeting</ExitTargetConversation> <ExitTargetHandlerObjectId>063956f9-c5ca-4e8b-be67- ff945a8a5d99</ExitTargetHandlerObjectId> <RepeatMenu>1</RepeatMenu> <FirstDigitTimeout>5000</FirstDigitTimeout> <InterdigitDelay>3000</InterdigitDelay> <PromptVolume>50</PromptVolume> <DelayAfterGreeting>0</DelayAfterGreeting> <AddressAfterRecord>false</AddressAfterRecord> <ConfirmDeleteMessage>false</ConfirmDeleteMessage> <ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage> <ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages> <IsClockMode24Hour>false</IsClockMode24Hour> <RouteNDRToSender>true</RouteNDRToSender> <NotificationType>0</NotificationType> <SendReadReceipts>1</SendReadReceipts> <ReceiveQuota>-2</ReceiveQuota> <SendQuota>-2</SendQuota> <WarningQuota>-2</WarningQuota> <IsSetForVmEnrollment>true</IsSetForVmEnrollment> <VoiceNameRequired>false</VoiceNameRequired> <SendBroadcastMsg>false</SendBroadcastMsg> <UpdateBroadcastMsg>false</UpdateBroadcastMsg> <ConversationVui>VuiStart</ConversationVui> <SpeechCompleteTimeout>0</SpeechCompleteTimeout> <SpeechIncompleteTimeout>750</SpeechIncompleteTimeout> <UseVui>false</UseVui> <SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice> <JumpToMessagesOnLogin>true</JumpToMessagesOnLogin> <EnableMessageLocator>false</EnableMessageLocator> <MessageAgingPolicyObjectId>6780a194-6efd-4311-819f- 494a082bb093</MessageAgingPolicyObjectId> <MessageAgingPolicyURI>/vmrest/messageagingpolicies/6780a194-6efd-4311-819f- 494a082bb093</MessageAgingPolicyURI> <AssistantRowsPerPage>5</AssistantRowsPerPage> <InboxMessagesPerPage>20</InboxMessagesPerPage> <InboxAutoRefresh>15</InboxAutoRefresh> <InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients> <PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage> <ReadOnly>false</ReadOnly> <EnableTts>true</EnableTts> <ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold> <AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings> <SpeechConfidenceThreshold>40</SpeechConfidenceThreshold> <SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy> <SpeechSensitivity>50</SpeechSensitivity> <EnableVisualMessageLocator>false</EnableVisualMessageLocator> <ContinuousAddMode>false</ContinuousAddMode> Cisco Unity Connection Provisioning Interface (CUPI) API 299 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Listing the User Templates

Page 332#

chunk 298

<NameConfirmation>false</NameConfirmation> <CommandDigitTimeout>1500</CommandDigitTimeout> <SaveMessageOnHangup>false</SaveMessageOnHangup> <SendMessageOnHangup>1</SendMessageOnHangup> <SkipForwardTime>5000</SkipForwardTime> <SkipReverseTime>5000</SkipReverseTime> <UseShortPollForCache>false</UseShortPollForCache> <SearchByExtensionSearchSpaceObjectId>2e0da21b-54e4-4b51-9f09- 960049a5e806</SearchByExtensionSearchSpaceObjectId> <SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/2e0da21b-54e4-4b51-9f09- 960049a5e806</SearchByExtensionSearchSpaceURI> <SearchByNameSearchSpaceObjectId>2e0da21b-54e4-4b51-9f09-960049a5e806</SearchByNameSearchSpaceObjectId> <SearchByNameSearchSpaceURI>/vmrest/searchspaces/2e0da21b-54e4-4b51-9f09-960049a5e806</SearchByNameSearchSpaceURI> <PartitionObjectId>c6ff147e-c32c-4ade-8f12-46427c795c21</PartitionObjectId> <PartitionURI>/vmrest/partitions/c6ff147e-c32c-4ade-8f12-46427c795c21</PartitionURI> <UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight> <LdapType>0</LdapType> <EnableMessageBookmark>false</EnableMessageBookmark> <SayTotalDraftMsg>false</SayTotalDraftMsg> <EnableSaveDraft>false</EnableSaveDraft> <RetainUrgentMessageFlag>false</RetainUrgentMessageFlag> <SayMessageLength>false</SayMessageLength> <CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp> <AutoAdvanceMsgs>false</AutoAdvanceMsgs> <SaySenderAfter>false</SaySenderAfter> <SaySenderExtensionAfter>false</SaySenderExtensionAfter> <SayMsgNumberAfter>false</SayMsgNumberAfter> <SayAniAfter>false</SayAniAfter> <SayMessageLengthAfter>false</SayMessageLengthAfter> <UserTemplateRolesURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039- 2b13f76bf631/usertemplateroles</UserTemplateRolesURI> <UserTemplateNotificationDevicesURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-2b13f76bf631/usertemplatenotificationdevices</UserTemplateNotificationDevicesURI> <TemplateExternalServiceAccountsURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-2b13f76bf631/templateexternalserviceaccounts</TemplateExternalServiceAccountsURI> <UserTemplateWebPasswordURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-90392b13f76bf631/credential/password</UserTemplateWebPasswordURI> <UserTemplateVoicePinURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039- 2b13f76bf631/credential/pin</UserTemplateVoicePinURI> <UserTemplateMessageActionURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039- 2b13f76bf631/usertemplatemessageactions</UserTemplateMessageActionURI> </UserTemplate> </UserTemplates> Response Code: 200 JSON Example To view the list of user templates, do the following: Request URI: GET https://<connection-server>/vmrest/usertemplates Accept: application/json Content_type: application/json Connection: keep_alive Cisco Unity Connection Provisioning Interface (CUPI) API 300 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Listing the User Templates

Page 333#

chunk 299

The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 301 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Listing the User Templates

Page 334#

chunk 300

{ "@total":"1" "UserTemplate":[ { "URI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0-95f8e18a655c" "ObjectId":"6164ac2d-e8ec-441a-93a0-95f8e18a655c" "TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438" "UseDefaultLanguage":"true" "UseDefaultTimeZone":"true" "Alias":"voicemailusertemplate" "DisplayName":"Voice Mail User Template" "TimeZone":"190" "CreationTime":"2013-02-25T09:39:25Z" "CosObjectId":"0b59d616-6434-443a-95aa-00b9d7315d54" "CosURI":"/vmrest/coses/0b59d616-6434-443a-95aa-00b9d7315d54" "Language":"1033" "LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e" "LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead-d1970625f82e" "AddressMode":"0" "ClockMode":"0" "ConversationTui":"SubMenu" "GreetByName":"true" "ListInDirectory":"true" "IsVmEnrolled":"true" "SayCopiedNames":"true" "SayDistributionList":"true" "SayMsgNumber":"true" "SaySender":"true" "SayTimestampAfter":"true" "SayTimestampBefore":"false" "SayTotalNew":"false" "SayTotalNewEmail":"false" "SayTotalNewFax":"false" "SayTotalNewVoice":"true" "SayTotalReceipts":"false" "SayTotalSaved":"true" "Speed":"100" "MediaSwitchObjectId":"0ad0b88c-4a70-4cf7-913e-d5d7a921caca" "PhoneSystemURI":"/vmrest/phonesystems/0ad0b88c-4a70-4cf7-913e-d5d7a921caca" "Undeletable":"true" "UseBriefPrompts":"false" "Volume":"50" "EnAltGreetDontRingPhone":"false" "EnAltGreetPreventSkip":"false" "EnAltGreetPreventMsg":"false" "EncryptPrivateMessages":"false" "DeletedMessageSortOrder":"2" "SayAltGreetWarning":"false" "SaySenderExtension":"false" "SayAni":"false" "ExitCallActionObjectId":"38f2eab0-a78c-49a2-8aee-ff562844d5db" "CallAnswerTimeout":"4" "CallHandlerObjectId":"6bcd837d-f1cf-43c2-b199-85b457858a16" "CallhandlerURI":"/vmrest/callhandlerprimarytemplates/6bcd837d-f1cf-43c2-b199- 85b457858a16" "DisplayNameRule":"1" "DoesntExpire":"false" "CantChange":"false" "MailboxStoreObjectId":"02089c75-e8a2-4724-a570-9bed7768e716" "SavedMessageStackOrder":"1234567" "NewMessageStackOrder":"1234567" "MessageLocatorSortOrder":"1" Cisco Unity Connection Provisioning Interface (CUPI) API 302 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Listing the User Templates

Page 335#

chunk 301

"SavedMessageSortOrder":"2" "NewMessageSortOrder":"1" "MessageTypeMenu":"false" "EnablePersonalRules":"true" "RecordUnknownCallerName":"true" "RingPrimaryPhoneFirst":"false" "PromptSpeed":"100" "ExitAction":"2" "ExitTargetConversation":"PHGreeting" "ExitTargetHandlerObjectId":"1e0bc010-d9aa-4e1a-b001-a1b40f028d4f" "RepeatMenu":"1" "FirstDigitTimeout":"5000" "InterdigitDelay":"3000" "PromptVolume":"50" "DelayAfterGreeting":"0" "AddressAfterRecord":"false" "ConfirmDeleteMessage":"false" "ConfirmDeleteDeletedMessage":"false" "ConfirmDeleteMultipleMessages":"true" "IsClockMode24Hour":"false" "RouteNDRToSender":"true" "NotificationType":"0" "SendReadReceipts":"1" "ReceiveQuota":"-2" "SendQuota":"-2" "WarningQuota":"-2" "IsSetForVmEnrollment":"true" "VoiceNameRequired":"false" "SendBroadcastMsg":"false" "UpdateBroadcastMsg":"false" "ConversationVui":"VuiStart" "SpeechCompleteTimeout":"0" "SpeechIncompleteTimeout":"750" "UseVui":"false" "SkipPasswordForKnownDevice":"false" "JumpToMessagesOnLogin":"true" "EnableMessageLocator":"false" "MessageAgingPolicyObjectId":"adac77f4-8a77-430d-8836- 0fc9aef3fef5" "MessageAgingPolicyURI":"/vmrest/messageagingpolicies/adac77f4-8a77-430d-8836-0fc9aef3fef5" "AssistantRowsPerPage":"5" "InboxMessagesPerPage":"20" "InboxAutoRefresh":"15" "InboxAutoResolveMessageRecipients":"true" "PcaAddressBookRowsPerPage":"5" "ReadOnly":"false" "EnableTts":"true" "ConfirmationConfidenceThreshold":"60" "AnnounceUpcomingMeetings":"60" "SpeechConfidenceThreshold":"40" "SpeechSpeedVsAccuracy":"50" "SpeechSensitivity":"50" "EnableVisualMessageLocator":"false" "ContinuousAddMode":"false" "NameConfirmation":"false" "CommandDigitTimeout":"1500" "SaveMessageOnHangup":"false" "SendMessageOnHangup":"1" "SkipForwardTime":"5000" "SkipReverseTime":"5000" "UseShortPollForCache":"false" "SearchByExtensionSearchSpaceObjectId":"2e836e16-f715-4a18-bb7c- Cisco Unity Connection Provisioning Interface (CUPI) API 303 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Listing the User Templates

Page 336#

chunk 302

ee5e33281706" "SearchByExtensionSearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c- ee5e33281706" "SearchByNameSearchSpaceObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706" "SearchByNameSearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c- ee5e33281706" "PartitionObjectId":"97bf6afe-346e-4275-967e-43c50be79d32" "PartitionURI":"/vmrest/partitions/97bf6afe-346e-4275-967e-43c50be79d32" "UseDynamicNameSearchWeight":"false" "LdapType":"0" "EnableMessageBookmark":"false" "SayTotalDraftMsg":"false" "EnableSaveDraft":"false" "RetainUrgentMessageFlag":"false" "SayMessageLength":"false" "CreateSmtpProxyFromCorp":"false" "AutoAdvanceMsgs":"false" "SaySenderAfter":"false" "SaySenderExtensionAfter":"false" "SayMsgNumberAfter":"false" "SayAniAfter":"false" "SayMessageLengthAfter":"false" "UserTemplateRolesURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0- 95f8e18a655c/usertemplateroles" "UserTemplateNotificationDevicesURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0- 95f8e18a655c/usertemplatenotificationdevices" "TemplateExternalServiceAccountsURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0- 95f8e18a655c/templateexternalserviceaccounts" "UserTemplateWebPasswordURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0- 95f8e18a655c/credential/password" "UserTemplateVoicePinURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0- 95f8e18a655c/credential/pin" "UserTemplateMessageActionURI":"/vmrest/usertemplates/6164ac2d-e8ec-441a-93a0- 95f8e18a655c/usertemplatemessageactions" } ] } Response Code: 200 Listing Specific Tenant Related User Templates by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related user templates using the following URI: GET https://<connection-server>/vmrest/usertemplates?query=(TenantObjectId is <Tenant-ObjectId>) To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Viewing the Details of Specific User Template The following is an example of the GET request that lists the details of specific user template represented by the provided value of object ID: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 304 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Listing Specific Tenant Related User Templates by System Administrator

Page 337#

chunk 303

The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 305 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of Specific User Template

Page 338#

chunk 304

<UserTemplate> <URI> /vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781 </URI> <ObjectId>c8af2544-2bc9-44fa-b713-e80f306cf781</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Alias>NewCiscoTemplate2</Alias> <City/> <State/> <Country>US</Country> <PostalCode/> <Department/> <Manager/> <Building/> <Address/> <DisplayName>testmonica</DisplayName> <BillingId/> <TimeZone>190</TimeZone> <CreationTime>2012-06-26 05:02:22.05</CreationTime> <CosObjectId>7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosObjectId> <CosURI>/vmrest/coses/7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosURI> <Language>1033</Language> <LocationObjectId>6d4ff2e5-3f26-4a19-b2fa-beca79b4c5e9 </LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/6d4ff2e5-3f26-4a19-b2fa- beca79b4c5e9</LocationURI> <AddressMode>0</AddressMode> <ClockMode>0</ClockMode> <ConversationTui>SubMenu</ConversationTui> <GreetByName>true</GreetByName> <ListInDirectory>true</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <SayCopiedNames>true</SayCopiedNames> <SayDistributionList>true</SayDistributionList> <SayMsgNumber>true</SayMsgNumber> <SaySender>true</SaySender> <SayTimestampAfter>true</SayTimestampAfter> <SayTimestampBefore>false</SayTimestampBefore> <SayTotalNew>false</SayTotalNew> <SayTotalNewEmail>false</SayTotalNewEmail> <SayTotalNewFax>false</SayTotalNewFax> <SayTotalNewVoice>true</SayTotalNewVoice> <SayTotalReceipts>false</SayTotalReceipts> <SayTotalSaved>true</SayTotalSaved> <Speed>100</Speed> <MediaSwitchObjectId>1fb12b1c-cf14-4634-b73d-9b9c58ecdf68</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/1fb12b1c-cf14-4634-b73d- 9b9c58ecdf68</PhoneSystemURI> <Undeletable>false</Undeletable> <UseBriefPrompts>false</UseBriefPrompts> <Volume>50</Volume> <EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone> <EnAltGreetPreventSkip>false</EnAltGreetPreventSkip> <EnAltGreetPreventMsg>false</EnAltGreetPreventMsg> <EncryptPrivateMessages>false</EncryptPrivateMessages> <DeletedMessageSortOrder>2</DeletedMessageSortOrder> <SayAltGreetWarning>false</SayAltGreetWarning> <SaySenderExtension>false</SaySenderExtension> <SayAni>false</SayAni> <ExitCallActionObjectId>27cbb3a8-f040-4ee9-9686-620c43e3d725</ExitCallActionObjectId> <CallAnswerTimeout>4</CallAnswerTimeout> <CallHandlerObjectId>9a5ac35a-0df8-4ebb-8e19-77f936dfd263</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/9a5ac35a-0df8-4ebb-8e19- 77f936dfd263</CallhandlerURI> <DisplayNameRule>1</DisplayNameRule> <DoesntExpire>false</DoesntExpire> Cisco Unity Connection Provisioning Interface (CUPI) API 306 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of Specific User Template

Page 339#

chunk 305

<CantChange>false</CantChange> <MailboxStoreObjectId>cfc43112-601b-4764-ba92-b0220e9d7f23</MailboxStoreObjectId> <SavedMessageStackOrder>1234567</SavedMessageStackOrder> <NewMessageStackOrder>1234567</NewMessageStackOrder> <MessageLocatorSortOrder>1</MessageLocatorSortOrder> <SavedMessageSortOrder>2</SavedMessageSortOrder> <NewMessageSortOrder>1</NewMessageSortOrder> <MessageTypeMenu>false</MessageTypeMenu> <EnablePersonalRules>true</EnablePersonalRules> <RecordUnknownCallerName>true</RecordUnknownCallerName> <RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst> <PromptSpeed>100</PromptSpeed> <ExitAction>2</ExitAction> <ExitTargetConversation>PHTransfer</ExitTargetConversation> <ExitTargetHandlerObjectId>7ae69f21-1c99-4cc1-96c3-a1bbe11fd4ca</ExitTargetHandlerObjectId> <RepeatMenu>1</RepeatMenu> <FirstDigitTimeout>5000</FirstDigitTimeout> <InterdigitDelay>3000</InterdigitDelay> <PromptVolume>50</PromptVolume> <AddressAfterRecord>false</AddressAfterRecord> <ConfirmDeleteMessage>false</ConfirmDeleteMessage> <ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage> <ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages> <IsClockMode24Hour>false</IsClockMode24Hour> <RouteNDRToSender>true</RouteNDRToSender> <NotificationType>0</NotificationType> <SendReadReceipts>0</SendReadReceipts> <ReceiveQuota>-1</ReceiveQuota> <SendQuota>-1</SendQuota> <WarningQuota>-1</WarningQuota> <IsSetForVmEnrollment>true</IsSetForVmEnrollment> <VoiceNameRequired>false</VoiceNameRequired> <SendBroadcastMsg>true</SendBroadcastMsg> <UpdateBroadcastMsg>false</UpdateBroadcastMsg> <ConversationVui>VuiStart</ConversationVui> <SpeechCompleteTimeout>0</SpeechCompleteTimeout> <SpeechIncompleteTimeout>750</SpeechIncompleteTimeout> <UseVui>false</UseVui> <SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice> <JumpToMessagesOnLogin>true</JumpToMessagesOnLogin> <EnableMessageLocator>false</EnableMessageLocator> <MessageAgingPolicyObjectId>2e02eca6-270b-4b7f-a153- f03ea74d403d</MessageAgingPolicyObjectId> <MessageAgingPolicyURI>/vmrest/messageagingpolicies/2e02eca6-270b-4b7f-a153- f03ea74d403d</MessageAgingPolicyURI> <AssistantRowsPerPage>5</AssistantRowsPerPage> <InboxMessagesPerPage>20</InboxMessagesPerPage> <InboxAutoRefresh>15</InboxAutoRefresh> <InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients> <PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage> <ReadOnly>false</ReadOnly> <EnableTts>true</EnableTts> <ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold> <AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings> <SpeechConfidenceThreshold>40</SpeechConfidenceThreshold> <SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy> <SpeechSensitivity>50</SpeechSensitivity> <EnableVisualMessageLocator>false</EnableVisualMessageLocator> <ContinuousAddMode>false</ContinuousAddMode> <NameConfirmation>false</NameConfirmation> <CommandDigitTimeout>1500</CommandDigitTimeout> <SaveMessageOnHangup>false</SaveMessageOnHangup> Cisco Unity Connection Provisioning Interface (CUPI) API 307 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of Specific User Template

Page 340#

chunk 306

<SendMessageOnHangup>1</SendMessageOnHangup> <SkipForwardTime>5000</SkipForwardTime> <SkipReverseTime>5000</SkipReverseTime> <UseShortPollForCache>false</UseShortPollForCache> <SearchByExtensionSearchSpaceObjectId>25e2e004-c194-4593-9961- bdcaf5dd7189</SearchByExtensionSearchSpaceObjectId> <SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/25e2e004-c194-4593-9961- bdcaf5dd7189</SearchByExtensionSearchSpaceURI> <SearchByNameSearchSpaceObjectId>25e2e004-c194-4593-9961- bdcaf5dd7189</SearchByNameSearchSpaceObjectId> <SearchByNameSearchSpaceURI>/vmrest/searchspaces/25e2e004-c194-4593-9961- bdcaf5dd7189</SearchByNameSearchSpaceURI> <PartitionObjectId>12101df7-ecd2-4a48-b5b9-9a96b5f85a25</PartitionObjectId> <PartitionURI>/vmrest/partitions/12101df7-ecd2-4a48-b5b9-9a96b5f85a25</PartitionURI> <UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight> <LdapType>0</LdapType> <EnableMessageBookmark>false</EnableMessageBookmark> <SayTotalDraftMsg>false</SayTotalDraftMsg> <EnableSaveDraft>false</EnableSaveDraft> <RetainUrgentMessageFlag>false</RetainUrgentMessageFlag> <SayMessageLength>false</SayMessageLength> <CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp> <AutoAdvanceMsgs>false</AutoAdvanceMsgs> <SaySenderAfter>false</SaySenderAfter> <SaySenderExtensionAfter>false</SaySenderExtensionAfter> <SayMsgNumberAfter>false</SayMsgNumberAfter> <SayAniAfter>false</SayAniAfter> <SayMessageLengthAfter>false</SayMessageLengthAfter> <UserTemplateRolesURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713- e80f306cf781/usertemplateroles</UserTemplateRolesURI> <UserTemplateNotificationDevicesURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713- e80f306cf781/usertemplatenotificationdevices</UserTemplateNotificationDevicesURI> <UserTemplateWebPasswordURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713- e80f306cf781/credential/password</UserTemplateWebPasswordURI> <UserTemplateVoicePinURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713- e80f306cf781/credential/pin</UserTemplateVoicePinURI> <UserTemplateMessageActionURI>/vmrest/usertemplates/c8af2544-2bc9-44fa-b713- e80f306cf781/usertemplatemessageactions</UserTemplateMessageActionURI> </UserTemplate> Response Code: 200 JSON Example To view the particular user template, do the following: Request URI: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectId> Accept: application/json Content_type: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 308 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of Specific User Template

Page 341#

chunk 307

{ "URI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-099afef0604d" "ObjectId":"a46d269a-6614-485b-8649-099afef0604d" "UseDefaultLanguage":"true" "UseDefaultTimeZone":"true" "Alias":"voicemailusertemplate" "DisplayName":"Voice Mail User Template" "TimeZone":"190" "CreationTime":"2013-02-21T11:39:11Z" "CosObjectId":"c93854b3-c59f-44e7-a6a9-0a6e17578672" "CosURI":"/vmrest/coses/c93854b3-c59f-44e7-a6a9-0a6e17578672" "Language":"1033" "LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c" "LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7- 700497ba975c" "AddressMode":"0" "ClockMode":"0" "ConversationTui":"SubMenu" "GreetByName":"true" "ListInDirectory":"true" "IsVmEnrolled":"true" "SayCopiedNames":"true" "SayDistributionList":"true" "SayMsgNumber":"true" "SaySender":"true" "SayTimestampAfter":"true" "SayTimestampBefore":"false" "SayTotalNew":"false" "SayTotalNewEmail":"false" "SayTotalNewFax":"false" "SayTotalNewVoice":"true" "SayTotalReceipts":"false" "SayTotalSaved":"true" "Speed":"100" "MediaSwitchObjectId":"caf093ef-5e7b-47dd-9db7-9df360d2923e" "PhoneSystemURI":"/vmrest/phonesystems/caf093ef-5e7b-47dd-9db7-9df360d2923e" "Undeletable":"true" "UseBriefPrompts":"false" "Volume":"50" "EnAltGreetDontRingPhone":"false" "EnAltGreetPreventSkip":"false" "EnAltGreetPreventMsg":"false" "EncryptPrivateMessages":"false" "DeletedMessageSortOrder":"2" "SayAltGreetWarning":"false" "SaySenderExtension":"false" "SayAni":"false" "ExitCallActionObjectId":"ecc8570c-c0da-493e-a520-b125529cfee1" "CallAnswerTimeout":"4" "CallHandlerObjectId":"f4f87905-c20a-4df3-b20e-446c1798df19" "CallhandlerURI":"/vmrest/callhandlerprimarytemplates/f4f87905-c20a-4df3-b20e- 446c1798df19" "DisplayNameRule":"1" "DoesntExpire":"false" "CantChange":"false" "MailboxStoreObjectId":"90e5847b-3a87-4c92-a753-eda6ea0fdb4c" "SavedMessageStackOrder":"1234567" "NewMessageStackOrder":"1234567" "MessageLocatorSortOrder":"1" "SavedMessageSortOrder":"2" "NewMessageSortOrder":"1" "MessageTypeMenu":"false" "EnablePersonalRules":"true" "RecordUnknownCallerName":"true" Cisco Unity Connection Provisioning Interface (CUPI) API 309 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of Specific User Template

Page 342#

chunk 308

"RingPrimaryPhoneFirst":"false" "PromptSpeed":"100" "ExitAction":"2" "ExitTargetConversation":"PHGreeting" "ExitTargetHandlerObjectId":"d085ebc6-99ac-46a5-92f3-d26f52701585" "RepeatMenu":"1" "FirstDigitTimeout":"5000" "InterdigitDelay":"3000" "PromptVolume":"50" "AddressAfterRecord":"false" "ConfirmDeleteMessage":"false" "ConfirmDeleteDeletedMessage":"false" "ConfirmDeleteMultipleMessages":"true" "IsClockMode24Hour":"false" "RouteNDRToSender":"true" "NotificationType":"0" "SendReadReceipts":"1" "ReceiveQuota":"-2" "SendQuota":"-2" "WarningQuota":"-2" "IsSetForVmEnrollment":"true" "VoiceNameRequired":"false" "SendBroadcastMsg":"false" "UpdateBroadcastMsg":"false" "ConversationVui":"VuiStart" "SpeechCompleteTimeout":"0" "SpeechIncompleteTimeout":"750" "UseVui":"false" "SkipPasswordForKnownDevice":"false" "JumpToMessagesOnLogin":"true" "EnableMessageLocator":"false" "MessageAgingPolicyObjectId":"12b765a8-a67b-47f6-8ede-3e02aea9f4fe" "MessageAgingPolicyURI":"/vmrest/messageagingpolicies/12b765a8-a67b-47f6-8ede- 3e02aea9f4fe" "AssistantRowsPerPage":"5" "InboxMessagesPerPage":"20" "InboxAutoRefresh":"15" "InboxAutoResolveMessageRecipients":"true" "PcaAddressBookRowsPerPage":"5" "ReadOnly":"false" "EnableTts":"true" "ConfirmationConfidenceThreshold":"60" "AnnounceUpcomingMeetings":"60" "SpeechConfidenceThreshold":"40" "SpeechSpeedVsAccuracy":"50" "SpeechSensitivity":"50" "EnableVisualMessageLocator":"false" "ContinuousAddMode":"false" "NameConfirmation":"false" "CommandDigitTimeout":"1500" "SaveMessageOnHangup":"false" "SendMessageOnHangup":"1" "SkipForwardTime":"5000" "SkipReverseTime":"5000" "UseShortPollForCache":"false" "SearchByExtensionSearchSpaceObjectId":"7aaf45b8-ab06-4dda-af16-378b04a95912" "SearchByExtensionSearchSpaceURI":"/vmrest/searchspaces/7aaf45b8-ab06-4dda-af16- 378b04a95912" "SearchByNameSearchSpaceObjectId":"7aaf45b8-ab06-4dda-af16-378b04a95912" "SearchByNameSearchSpaceURI":"/vmrest/searchspaces/7aaf45b8-ab06-4dda-af16- 378b04a95912" "PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744" "PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744" "UseDynamicNameSearchWeight":"false" Cisco Unity Connection Provisioning Interface (CUPI) API 310 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of Specific User Template

Page 343#

chunk 309

"LdapType":"0" "EnableMessageBookmark":"false" "SayTotalDraftMsg":"false" "EnableSaveDraft":"false" "RetainUrgentMessageFlag":"false" "SayMessageLength":"false" "CreateSmtpProxyFromCorp":"false" "AutoAdvanceMsgs":"false" "SaySenderAfter":"false" "SaySenderExtensionAfter":"false" "SayMsgNumberAfter":"false" "SayAniAfter":"false" "SayMessageLengthAfter":"false" "UserTemplateRolesURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/usertemplateroles" "UserTemplateNotificationDevicesURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/usertemplatenotificationdevices" "TemplateExternalServiceAccountsURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/templateexternalserviceaccounts" "UserTemplateWebPasswordURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/credential/password" "UserTemplateVoicePinURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/credential/pin" "UserTemplateMessageActionURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/usertemplatemessageactions" } Response Code: 200 Viewing the Details of the User Templates Based on Partition Object ID The following is an example of the GET request that lists the details of specific user template represented by the provided value of partition object ID: GET https://<connection-server>/vmrest/usertemplates?query=(PartitionObjectId%20is%20<PartitionObjectId>) The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 311 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of the User Templates Based on Partition Object ID

Page 344#

chunk 310

<UserTemplate> <URI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039-2b13f76bf631</URI> <ObjectId>c2056af2-bed7-4a0d-9039-2b13f76bf631</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Alias>Texoma_User_Template1</Alias> <City/> <State/> <Country>US</Country> <PostalCode/> <Manager/> <Building/> <Address/> <DisplayName>Texoma_User_Template1</DisplayName> <BillingId/> <TimeZone>190</TimeZone> <CreationTime>2012-12-26 13:04:28.9</CreationTime> <CosObjectId>0ef61610-a729-4b0d-9476-cab095028db3</CosObjectId> <CosURI>/vmrest/coses/0ef61610-a729-4b0d-9476-cab095028db3</CosURI> <Language>1033</Language> <LocationObjectId>27a67e01-bcb4-4012-8b1b-f0a08b736087</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/27a67e01-bcb4-4012-8b1b- f0a08b736087</LocationURI> <AddressMode>0</AddressMode> <ClockMode>0</ClockMode> <ConversationTui>SubMenu</ConversationTui> <GreetByName>true</GreetByName> <ListInDirectory>true</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <SayCopiedNames>true</SayCopiedNames> <SayDistributionList>true</SayDistributionList> <SayMsgNumber>true</SayMsgNumber> <SaySender>true</SaySender> <SayTimestampAfter>true</SayTimestampAfter> <SayTimestampBefore>false</SayTimestampBefore> <SayTotalNew>false</SayTotalNew> <SayTotalNewEmail>false</SayTotalNewEmail> <SayTotalNewFax>false</SayTotalNewFax> <SayTotalNewVoice>true</SayTotalNewVoice> <SayTotalReceipts>false</SayTotalReceipts> <SayTotalSaved>true</SayTotalSaved> <Speed>100</Speed> <MediaSwitchObjectId>b6df8cb3-b3ce-4797-84f3-5559049df8e8</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/b6df8cb3-b3ce-4797-84f3- 5559049df8e8</PhoneSystemURI> <Undeletable>false</Undeletable> <UseBriefPrompts>false</UseBriefPrompts> <Volume>50</Volume> <EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone> <EnAltGreetPreventSkip>false</EnAltGreetPreventSkip> <EnAltGreetPreventMsg>false</EnAltGreetPreventMsg> <EncryptPrivateMessages>false</EncryptPrivateMessages> <DeletedMessageSortOrder>2</DeletedMessageSortOrder> <SayAltGreetWarning>false</SayAltGreetWarning> <SaySenderExtension>false</SaySenderExtension> <SayAni>false</SayAni> <ExitCallActionObjectId>0463e49b-cde4-4c30-877c-acfe25966a42</ExitCallActionObjectId> <CallAnswerTimeout>4</CallAnswerTimeout> <CallHandlerObjectId>83c9b890-6659-4c0f-8be6-8a1a85efee7e</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/83c9b890-6659-4c0f-8be6- 8a1a85efee7e</CallhandlerURI> <DisplayNameRule>1</DisplayNameRule> <DoesntExpire>false</DoesntExpire> <CantChange>false</CantChange> Cisco Unity Connection Provisioning Interface (CUPI) API 312 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of the User Templates Based on Partition Object ID

Page 345#

chunk 311

<MailboxStoreObjectId>e983490d-78a5-45aa-b9a0-31f51460a5bd</MailboxStoreObjectId> <SavedMessageStackOrder>1234567</SavedMessageStackOrder> <NewMessageStackOrder>1234567</NewMessageStackOrder> <MessageLocatorSortOrder>1</MessageLocatorSortOrder> <SavedMessageSortOrder>2</SavedMessageSortOrder> <NewMessageSortOrder>1</NewMessageSortOrder> <MessageTypeMenu>false</MessageTypeMenu> <EnablePersonalRules>true</EnablePersonalRules> <RecordUnknownCallerName>true</RecordUnknownCallerName> <RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst> <PromptSpeed>100</PromptSpeed> <ExitAction>2</ExitAction> <ExitTargetConversation>PHGreeting</ExitTargetConversation> <ExitTargetHandlerObjectId>063956f9-c5ca-4e8b-be67- ff945a8a5d99</ExitTargetHandlerObjectId> <RepeatMenu>1</RepeatMenu> <FirstDigitTimeout>5000</FirstDigitTimeout> <InterdigitDelay>3000</InterdigitDelay> <PromptVolume>50</PromptVolume> <DelayAfterGreeting>0</DelayAfterGreeting> <AddressAfterRecord>false</AddressAfterRecord> <ConfirmDeleteMessage>false</ConfirmDeleteMessage> <ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage> <ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages> <IsClockMode24Hour>false</IsClockMode24Hour> <RouteNDRToSender>true</RouteNDRToSender> <NotificationType>0</NotificationType> <SendReadReceipts>1</SendReadReceipts> <ReceiveQuota>-2</ReceiveQuota> <SendQuota>-2</SendQuota> <WarningQuota>-2</WarningQuota> <IsSetForVmEnrollment>true</IsSetForVmEnrollment> <VoiceNameRequired>false</VoiceNameRequired> <SendBroadcastMsg>false</SendBroadcastMsg> <UpdateBroadcastMsg>false</UpdateBroadcastMsg> <ConversationVui>VuiStart</ConversationVui> <SpeechCompleteTimeout>0</SpeechCompleteTimeout> <SpeechIncompleteTimeout>750</SpeechIncompleteTimeout> <UseVui>false</UseVui> <SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice> <JumpToMessagesOnLogin>true</JumpToMessagesOnLogin> <EnableMessageLocator>false</EnableMessageLocator> <MessageAgingPolicyObjectId>6780a194-6efd-4311-819f- 494a082bb093</MessageAgingPolicyObjectId> <MessageAgingPolicyURI>/vmrest/messageagingpolicies/6780a194-6efd-4311-819f- 494a082bb093</MessageAgingPolicyURI> <AssistantRowsPerPage>5</AssistantRowsPerPage> <InboxMessagesPerPage>20</InboxMessagesPerPage> <InboxAutoRefresh>15</InboxAutoRefresh> <InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients> <PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage> <ReadOnly>false</ReadOnly> <EnableTts>true</EnableTts> <ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold> <AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings> <SpeechConfidenceThreshold>40</SpeechConfidenceThreshold> <SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy> <SpeechSensitivity>50</SpeechSensitivity> <EnableVisualMessageLocator>false</EnableVisualMessageLocator> <ContinuousAddMode>false</ContinuousAddMode> <NameConfirmation>false</NameConfirmation> <CommandDigitTimeout>1500</CommandDigitTimeout> <SaveMessageOnHangup>false</SaveMessageOnHangup> <SendMessageOnHangup>1</SendMessageOnHangup> Cisco Unity Connection Provisioning Interface (CUPI) API 313 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of the User Templates Based on Partition Object ID

Page 346#

chunk 312

<SkipForwardTime>5000</SkipForwardTime> <SkipReverseTime>5000</SkipReverseTime> <UseShortPollForCache>false</UseShortPollForCache> <SearchByExtensionSearchSpaceObjectId>2e0da21b-54e4-4b51-9f09- 960049a5e806</SearchByExtensionSearchSpaceObjectId> <SearchByExtensionSearchSpaceURI>/vmrest/searchspaces/2e0da21b-54e4-4b51-9f09- 960049a5e806</SearchByExtensionSearchSpaceURI> <SearchByNameSearchSpaceObjectId>2e0da21b-54e4-4b51-9f09- 960049a5e806</SearchByNameSearchSpaceObjectId> <SearchByNameSearchSpaceURI>/vmrest/searchspaces/2e0da21b-54e4-4b51-9f09- 960049a5e806</SearchByNameSearchSpaceURI> <PartitionObjectId>c6ff147e-c32c-4ade-8f12-46427c795c21</PartitionObjectId> <PartitionURI>/vmrest/partitions/c6ff147e-c32c-4ade-8f12-46427c795c21</PartitionURI> <UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight> <LdapType>0</LdapType> <EnableMessageBookmark>false</EnableMessageBookmark> <SayTotalDraftMsg>false</SayTotalDraftMsg> <EnableSaveDraft>false</EnableSaveDraft> <RetainUrgentMessageFlag>false</RetainUrgentMessageFlag> <SayMessageLength>false</SayMessageLength> <CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp> <AutoAdvanceMsgs>false</AutoAdvanceMsgs> <SaySenderAfter>false</SaySenderAfter> <SaySenderExtensionAfter>false</SaySenderExtensionAfter> <SayMsgNumberAfter>false</SayMsgNumberAfter> <SayAniAfter>false</SayAniAfter> <SayMessageLengthAfter>false</SayMessageLengthAfter> <UserTemplateRolesURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039- 2b13f76bf631/usertemplateroles</UserTemplateRolesURI> <UserTemplateNotificationDevicesURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039- 2b13f76bf631/usertemplatenotificationdevices</UserTemplateNotificationDevicesURI> <TemplateExternalServiceAccountsURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039- 2b13f76bf631/templateexternalserviceaccounts</TemplateExternalServiceAccountsURI> <UserTemplateWebPasswordURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039- 2b13f76bf631/credential/password</UserTemplateWebPasswordURI> <UserTemplateVoicePinURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039- 2b13f76bf631/credential/pin</UserTemplateVoicePinURI> <UserTemplateMessageActionURI>/vmrest/usertemplates/c2056af2-bed7-4a0d-9039- 2b13f76bf631/usertemplatemessageactions</UserTemplateMessageActionURI> </UserTemplate> Response Code: 200 JSON Example To view the details of the user templates based on partition object ID, do the following: Request URI: GET https://<connection-server>/vmrest/usertemplates?query=(PartitionObjectId%20is%20<PartitionObjectId>) Accept: application/json Content_type: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 314 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of the User Templates Based on Partition Object ID

Page 347#

chunk 313

{ "URI":"/vmrest/usertemplates/a46d269a-6614-485b-8649-099afef0604d" "ObjectId":"a46d269a-6614-485b-8649-099afef0604d" "UseDefaultLanguage":"true" "UseDefaultTimeZone":"true" "Alias":"voicemailusertemplate" "DisplayName":"Voice Mail User Template" "TimeZone":"190" "CreationTime":"2013-02-21T11:39:11Z" "CosObjectId":"c93854b3-c59f-44e7-a6a9-0a6e17578672" "CosURI":"/vmrest/coses/c93854b3-c59f-44e7-a6a9-0a6e17578672" "Language":"1033" "LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c" "LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7- 700497ba975c" "AddressMode":"0" "ClockMode":"0" "ConversationTui":"SubMenu" "GreetByName":"true" "ListInDirectory":"true" "IsVmEnrolled":"true" "SayCopiedNames":"true" "SayDistributionList":"true" "SayMsgNumber":"true" "SaySender":"true" "SayTimestampAfter":"true" "SayTimestampBefore":"false" "SayTotalNew":"false" "SayTotalNewEmail":"false" "SayTotalNewFax":"false" "SayTotalNewVoice":"true" "SayTotalReceipts":"false" "SayTotalSaved":"true" "Speed":"100" "MediaSwitchObjectId":"caf093ef-5e7b-47dd-9db7-9df360d2923e" "PhoneSystemURI":"/vmrest/phonesystems/caf093ef-5e7b-47dd-9db7-9df360d2923e" "Undeletable":"true" "UseBriefPrompts":"false" "Volume":"50" "EnAltGreetDontRingPhone":"false" "EnAltGreetPreventSkip":"false" "EnAltGreetPreventMsg":"false" "EncryptPrivateMessages":"false" "DeletedMessageSortOrder":"2" "SayAltGreetWarning":"false" "SaySenderExtension":"false" "SayAni":"false" "ExitCallActionObjectId":"ecc8570c-c0da-493e-a520-b125529cfee1" "CallAnswerTimeout":"4" "CallHandlerObjectId":"f4f87905-c20a-4df3-b20e-446c1798df19" "CallhandlerURI":"/vmrest/callhandlerprimarytemplates/f4f87905-c20a-4df3-b20e- 446c1798df19" "DisplayNameRule":"1" "DoesntExpire":"false" "CantChange":"false" "MailboxStoreObjectId":"90e5847b-3a87-4c92-a753-eda6ea0fdb4c" "SavedMessageStackOrder":"1234567" "NewMessageStackOrder":"1234567" "MessageLocatorSortOrder":"1" "SavedMessageSortOrder":"2" "NewMessageSortOrder":"1" "MessageTypeMenu":"false" "EnablePersonalRules":"true" "RecordUnknownCallerName":"true" Cisco Unity Connection Provisioning Interface (CUPI) API 315 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of the User Templates Based on Partition Object ID

Page 348#

chunk 314

"RingPrimaryPhoneFirst":"false" "PromptSpeed":"100" "ExitAction":"2" "ExitTargetConversation":"PHGreeting" "ExitTargetHandlerObjectId":"d085ebc6-99ac-46a5-92f3-d26f52701585" "RepeatMenu":"1" "FirstDigitTimeout":"5000" "InterdigitDelay":"3000" "PromptVolume":"50" "AddressAfterRecord":"false" "ConfirmDeleteMessage":"false" "ConfirmDeleteDeletedMessage":"false" "ConfirmDeleteMultipleMessages":"true" "IsClockMode24Hour":"false" "RouteNDRToSender":"true" "NotificationType":"0" "SendReadReceipts":"1" "ReceiveQuota":"-2" "SendQuota":"-2" "WarningQuota":"-2" "IsSetForVmEnrollment":"true" "VoiceNameRequired":"false" "SendBroadcastMsg":"false" "UpdateBroadcastMsg":"false" "ConversationVui":"VuiStart" "SpeechCompleteTimeout":"0" "SpeechIncompleteTimeout":"750" "UseVui":"false" "SkipPasswordForKnownDevice":"false" "JumpToMessagesOnLogin":"true" "EnableMessageLocator":"false" "MessageAgingPolicyObjectId":"12b765a8-a67b-47f6-8ede-3e02aea9f4fe" "MessageAgingPolicyURI":"/vmrest/messageagingpolicies/12b765a8-a67b-47f6-8ede- 3e02aea9f4fe" "AssistantRowsPerPage":"5" "InboxMessagesPerPage":"20" "InboxAutoRefresh":"15" "InboxAutoResolveMessageRecipients":"true" "PcaAddressBookRowsPerPage":"5" "ReadOnly":"false" "EnableTts":"true" "ConfirmationConfidenceThreshold":"60" "AnnounceUpcomingMeetings":"60" "SpeechConfidenceThreshold":"40" "SpeechSpeedVsAccuracy":"50" "SpeechSensitivity":"50" "EnableVisualMessageLocator":"false" "ContinuousAddMode":"false" "NameConfirmation":"false" "CommandDigitTimeout":"1500" "SaveMessageOnHangup":"false" "SendMessageOnHangup":"1" "SkipForwardTime":"5000" "SkipReverseTime":"5000" "UseShortPollForCache":"false" "SearchByExtensionSearchSpaceObjectId":"7aaf45b8-ab06-4dda-af16-378b04a95912" "SearchByExtensionSearchSpaceURI":"/vmrest/searchspaces/7aaf45b8-ab06-4dda-af16-378b04a95912" "SearchByNameSearchSpaceObjectId":"7aaf45b8-ab06-4dda-af16- 378b04a95912" "SearchByNameSearchSpaceURI":"/vmrest/searchspaces/7aaf45b8-ab06-4dda-af16- 378b04a95912" "PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744" Cisco Unity Connection Provisioning Interface (CUPI) API 316 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Viewing the Details of the User Templates Based on Partition Object ID

Page 349#

chunk 315

"PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744" "UseDynamicNameSearchWeight":"false" "LdapType":"0" "EnableMessageBookmark":"false" "SayTotalDraftMsg":"false" "EnableSaveDraft":"false" "RetainUrgentMessageFlag":"false" "SayMessageLength":"false" "CreateSmtpProxyFromCorp":"false" "AutoAdvanceMsgs":"false" "SaySenderAfter":"false" "SaySenderExtensionAfter":"false" "SayMsgNumberAfter":"false" "SayAniAfter":"false" "SayMessageLengthAfter":"false" "UserTemplateRolesURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/usertemplateroles" "UserTemplateNotificationDevicesURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/usertemplatenotificationdevices" "TemplateExternalServiceAccountsURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/templateexternalserviceaccounts" "UserTemplateWebPasswordURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/credential/password" "UserTemplateVoicePinURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/credential/pin" "UserTemplateMessageActionURI":"/vmrest/usertemplates/a46d269a-6614-485b-8649- 099afef0604d/usertemplatemessageactions" } Response Code: 200 Same way user templates can be viewed for particular COS object ID, mailbox store object ID, phone system and call handler object ID. • PartitionObjectId can be viewed from https://<connection-server>/vmrest/partitions • COSObjectId : https://<connection-server>/vmrest/coses • PhoneSystem : https://<connection-server>/vmrest/phonesystems Note Creating a User Template The request can be used to create the User Template. It can be used to create the User Template with specific Partition Object ID, COS, MailboxStoreObjectId, Phone System. The following is an example of the POST request that creates a new user template: POST https://<connection-server>/vmrest/usertemplates?templateAlias=voicemailusertemplate Request Body: <UserTemplate> <Alias>ABC_user template</Alias> <DisplayName>ABC@user template</DisplayName> </UserTemplate> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Cisco Unity Connection Provisioning Interface (CUPI) API 317 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Creating a User Template

Page 350#

chunk 316

JSON Example To create user template: POST https://<connection-server>/vmrest/usertemplates?templateAlias=voicemailusertemplate Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Alias":"voicemailusertemplate1", "DisplayName":"Voice Mail User Template 1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Creating a User Template with Specific Partition Object ID The request can be used to create the User Template. It can be used to create the User Template with specific Partition Object ID, COS, MailboxStoreObjectId, Phone System. The following is an example of the POST request that creates a new user template: POST https://<connection-server>/vmrest/usertemplates?templateAlias=voicemailusertemplate Request Body: <UserTemplate> <Alias>ABCs_user template</Alias> <DisplayName>ABCs@user template</DisplayName> <PartitionObjectId>00c25bc8-d3d0-45ec-a786-fcf7a35593cf</PartitionObjectId> </UserTemplate> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Get partition object Id from " https://<connection-server>/vmrest/partitions " . In same way users templates can be created using specific COS object ID, MailboxStoreObjectId, Phone System. Note JSON Example To create user template with specific partition ID, do the following: Request URI: POST https://<connection-server>/vmrest/usertemplates?templateAlias=<TemplatealiasName> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Alias":"voicemailusertemplate12", "DisplayName":"Voice Mail User Templater12", "PartitionObjectId":"be52d373-25c4-416c-81c1-b82479061192" } Cisco Unity Connection Provisioning Interface (CUPI) API 318 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Creating a User Template with Specific Partition Object ID

Page 351#

chunk 317

The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Updating Fields of User Templates The request can be used to update the fields of a user template. It can be used to update Alias, Display Name, Time Zone, Language, COS, Partition Object ID, Phone System and Basic Setting fields of a user template. The following is an example of the PUT request that updates a user template: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> Request Body: <UserTemplate> <Alias>ABCD_user template</Alias> <UseDefaultLanguage>true</UseDefaultLanguage> <Language>1033</Language> <UseDefaultTimeZone>true</UseDefaultTimeZone> <TimeZone>190</TimeZone> <CosObjectId>6f054167-6f6c-4ed5-a498-1776337871ee</CosObjectId> <MediaSwitchObjectId>221ee752-5147-4326-9990-d4a138674f9e</MediaSwitchObjectId> </UserTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update fields of a user template: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Alias":"ABC_user template", "DisplayName":"Auser template", "UseDefaultLanguage":"false", "TimeZone":"190", "MediaSwitchObjectId":"caf093ef-5e7b-47dd-9db7-9df360d2923e", "CosObjectId":"c93854b3-c59f-44e7-a6a9-0a6e17578672" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Update Country Code of the User Template To view the country code, use the following URI: GET https://<connection-server>/vmrest/languagemap And to check language check; use last 2 characters of language check to change the country code. Cisco Unity Connection Provisioning Interface (CUPI) API 319 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Fields of User Templates

Page 352#

chunk 318

The following is an example of the PUT request that updates the country code of a user template: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> Request Body: <UserTemplate> <Country>SA</Country> </UserTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update the country code of a user template, do the following: Request URI: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Country":"XY" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Country code must only have 2 character codes. Note Update Language of User Template To view the language code, use the following URI: PUT https://<connection-server>/vmrest/languagemap And check language code; use that language code to change language of user template. The following is an example of the PUT request that updates the language of a user template: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> Request Body: <UserTemplate> <Language>1025</Language> </UserTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 320 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Update Language of User Template

Image 1 from page 352

Page 353#

chunk 319

To update the language of a user template, do the following: Request URI: PUT https://<connection-server>/vmrest/usertemplates/< usertemplateobjectid > Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Language":"1025" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Delete the User Template The following is an example of the DELETE request that can be used to delete a user template: DELETE https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> Response Code: 204 JSON Example To delete a user template, do the following: Request URI: DELETE https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid> Accept: application/json Content_type: application/json Connection: keep_alive Response Code: 204 Updating Password Settings and Changing Passwords Example 1: Updating voicemail password The following is an example of the PUT request that can be used to update the voicemail password: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/credential/pin Request Body: <UserTemplateCredential> <Credentials>142536</Credentials> </UserTemplateCredential> The following is the response from the above PUT request for updating credentials and the actual response will depend upon the information given by you: Response Code: 204 Voicemail should be in numeric only. Note Cisco Unity Connection Provisioning Interface (CUPI) API 321 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Delete the User Template

Image 1 from page 353

Page 354#

chunk 320

JSON Example To update the credentials, do the following: Request URI: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/credential/pin Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Credentials":"10255" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: To update the fields The following is the response from the above PUT request for updating fields and the actual response will depend upon the information given by you: Request Body: <UserTemplateCredential> <DoesntExpire>true</DoesntExpire> <Locked>false</Locked> <CantChange>false</CantChange> <CredMustChange>false</CredMustChange> <CredentialPolicyObjectId>58f0dc20-f8fc-467d-a648-b5ffbba87dd9</CredentialPolicyObjectId> </UserTemplateCredential> Response Code: 204 Updating fields can be done only when "CredMustChange" parameter is false and in order to change authentication rule and to view authentication rule use the following URI: Note GET https://<connection-server>/vmrest /authenticationrules Example 3: Updating web application password The following is an example of the PUT request that can be used to update the web application password: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/credential/password Request Body: <UserTemplateCredential> <Credentials>Cisco123</Credentials> </UserTemplateCredential> The following is the response from the above PUT request for updating credentials and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 322 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Updating Password Settings and Changing Passwords

Image 1 from page 354

Page 355#

chunk 321

Web password should be in alphanumeric only. Note JSON Example To update the credentials, do the following: Request URI: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/credential/password Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Credentials":"10255", "CantChange":"false", "DoesntExpire":"true", "Locked":"false", "CredMustChange":"false", "CredentialPolicyObjectId":"7b282b66-73b1-4989-9d94-3d105b6ef5e8" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 The following is the response from the above PUT request for updating fields and the actual response will depend upon the information given by you: Request Body: <UserTemplateCredential> <DoesntExpire>true</DoesntExpire> <Locked>false</Locked> <CantChange>false</CantChange> <CredMustChange>false</CredMustChange> <CredentialPolicyObjectId>58f0dc20-f8fc-467d-a648-b5ffbba87dd9</CredentialPolicyObjectId> </UserTemplateCredential> Response Code: 204 Updating fields can be done only when "CredMustChange" parameter is false and in order to change authentication rule and to view authentication rule use the following URI: Note GET https://<connection-server>/vmrest /authenticationrules Adding or Deleting Roles To view the roles object ID use the following URI: GET https://<connection-server>/vmrest/roles Cisco Unity Connection Provisioning Interface (CUPI) API 323 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Adding or Deleting Roles

Image 1 from page 355

Page 356#

chunk 322

Example 1: Adding the roles The following is an example of the POST request that can be used to add the roles: PUT https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles Request Body: <UserTemplateRole> <RoleObjectId>4f077e4e-61c7-4ce8-a58a-2c4bc6089319</RoleObjectId> </UserTemplateRole> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 JSON Example To add the roles, do the following: Request URI: POST https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "RoleObjectId":"04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Example 2: Viewing roles of user template The following is an example of the GET request that can be used to view the roles: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles The following is the response from the above GET request and the actual response will depend upon the information given by you: <UserTemplateRole> <URI>/vmrest/usertemplates/d8054a3a-6c09-4a25-9880- 6589d2f1dc85/usertemplateroles/973e143e-af15-4ef4-a7c1-5fafd9cc53d4</URI> <ObjectId>973e143e-af15-4ef4-a7c1-5fafd9cc53d4</ObjectId> <UserObjectId>d8054a3a-6c09-4a25-9880-6589d2f1dc85</UserObjectId> <UserURI>/vmrest/users/d8054a3a-6c09-4a25-9880-6589d2f1dc85</UserURI> <RoleObjectId>ba166947-41e8-4ec9-ad14-03658d91240e</RoleObjectId> <RoleURI>/vmrest/roles/ba166947-41e8-4ec9-ad14-03658d91240e</RoleURI> <RoleName>Audit Administrator</RoleName> <Alias>ABCD_user template</Alias> </UserTemplateRole> Response Code: 200 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 324 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Adding or Deleting Roles

Page 357#

chunk 323

To view the roles, do the following: Request URI: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles Accept: application/json Content_type: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total":"1" "UserTemplateRole": { "URI":"/vmrest/usertemplates/a9272189-720b-44b3-86e0- df7ef519599c/usertemplateroles/167b7661-ee8b-4c83-8867-decb88ec0c1c" "ObjectId":"167b7661-ee8b-4c83-8867-decb88ec0c1c" "UserObjectId":"a9272189-720b-44b3-86e0-df7ef519599c" "UserURI":"/vmrest/users/a9272189-720b-44b3-86e0-df7ef519599c" "RoleObjectId":"04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15" "RoleURI":"/vmrest/roles/04d0f1ef-a8c6-454a-8cf0-0e8db7bb2b15" "RoleName":"Help Desk Administrator" "Alias":"tenant005_usertemplate_1" } } Response Code: 200 Example 3: Delete role of user template The following is an example of the DELETE request that can be used to view the roles: DELETE https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles/<usertemplaterolesId> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To delete role of user template, do the following: Request URI: DELETE https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/usertemplateroles/<usertemplateroleid> Accept: application/json Content_type: application/json Connection: keep_alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 325 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Adding or Deleting Roles

Page 358#

chunk 324

Explanation of Data Fields Comments Operations Data Type Parameter A unique text name for addressable objects: Global Users, Contacts, DistributionLists, and PersonalGroups. Read/Write String(64) Alias Enter a descriptive name for the user template. Read/Write String(64) Display Name Specifies a globally unique, system-generated identifier for a UserSubscriber object. Read-Only String(36) ObjectId The unique identifier of the tenant to which the user template belongs. This field is reflected in the response only if the user template belongs to a particular tenant. Read-Only String(36) TenantObjectId Possible values can be: • False: The language is the default language defined for the user template. • True: The language is derived from the location to which this user template belongs. Default value: False Read/Write Boolean UseDefaultLanguage Possible values can be: • False: The time zone is the default time zone defined for the user template. • True: The time zone is derived from the location to which this user template belongs. Default value: False Read/Write Boolean UseDefaultTimeZone Enter the city. (optional) Read/Write String(64) City Enter the state. (optional) Read/Write String(64) State Enter the country. (optional) Read/Write String(2) Country Enter the Postal code (optional) Read/Write String(40) PostalCode Enter the users department. (optional) Read/Write String(64) Department Enter the name of the manager. (optional) Read/Write String(64) Manager Enter the user address .(optional) Read/Write String(64) Address Billing ID can be used for organization-specific information, such as accounting information, department names, or project codes. Read/Write String(32) BillingId Select the desired time zone for the user, or check the Use System Default Time Zone check box. Read/Write Integer TimeZone The date and time the user template was created. Read-Only DateTime CreationTime The unique identifier of the COS (Class of Service) object to which this user template account is associated. Read/Write String(36) CosObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 326 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 359#

chunk 325

Comments Operations Data Type Parameter Select Use System Default Language or select a language from the list Read/Write Integer Language Wav file that contains recorded name. Read/Write String VoiceName The unique identifier of the LocationVMS object to which this user belongs. Read-Only String(36) LocationObjectId The default method the subscriber will use to address messages to other subscribers. Possible options are: • 0=LastNameFirst • 1=Extension • 2=FirstNameFirst Default Integer AddressMode The time format used for the message timestamps that the subscriber hears when they listen to their messages over the phone. Possible options are: • 0=SystemDefaultClock • 1=HourClock12 • 2=HourClock24 Read-Only Integer ClockMode The name of the conversation the subscriber uses to set up, send, and retrieve messages. Read-Only String(36) ConversationTUI A flag indicating whether the subscriber hears his/her name when they log into their mailbox over the phone. Values can be: • False: Do not play the name. • True: Play the recorded voice name. Default value: True Read-Only Boolean GreetByName A flag indicating whether system should list the subscriber in the phone directory for outside callers. Possible values can be: • False: Do not list the subscriber in the phone directory. • True: List the subscriber in the phone directory. Default value: True Read/Write Boolean ListInDirectory Cisco Unity Connection Provisioning Interface (CUPI) API 327 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 360#

chunk 326

Comments Operations Data Type Parameter A flag indicating whether system plays the enrollment conversation (record a voice name, indicate if they are listed in the directory, etc.) for the subscriber when they login. Values can be: • False: The enrollment conversation is not played for the subscriber when they login. • True: The enrollment conversation is played for the subscriber when they login. Default value: True Read/Write Boolean IsVmEnrolled A flag indicating whether system announces the "copied" names during message playback for a subscriber. Values can be: • False: Do not announce copied names. • True: Announce copied names. Default value: True Read/Write Boolean SayCopiedNames A flag indicating whether system announces the distribution list that sends a message, if applicable. Values can be: • False: Do not announce the distribution list. • True: Announce the distribution list. Default value: True Read/Write Boolean SayDistributionList A flag indicating whether system announces the position of each message in the stack (i.e., 'Message 1', 'Message 2' ,etc.) during message playback for the subscriber. Values can be: • False: Do not play the message number. • True: Play the message number. Default value: True Read/Write Boolean SayMsgNumber A flag indicating whether system announces the sender of a message during message playback for the subscriber. Values can be: • False: Do not announce the sender. • True: Announce the sender. Default value: True Read/Write Boolean SaySender Cisco Unity Connection Provisioning Interface (CUPI) API 328 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 361#

chunk 327

Comments Operations Data Type Parameter A flag indicating whether system announces the timestamp after it plays back each message for the subscriber. Values can be: • False: Do not announce the timestamp after each message is played. • True: Announce the timestamp after each message is played. Default value: True Read/Write Boolean SayTimeStampAfter A flag indicating whether system announces the timestamp before it plays back each for the subscriber. Values can be: • False: Do not announce the timestamp before each message is played. • True Announce the timestamp before each message is played. Default value: False Read/Write Boolean SayTimeStampBefore A flag indicating whether system announces the total number of new messages in the subscriber mailbox. Values can be: • False: Do not announce total number of new messages. • True: Announce the total number of new messages in the subscriber mailbox. Default value: False Read/Write Boolean SayTotalNew A flag indicating whether system announces the total number of new e-mail messages in the subscriber mailbox. Values can be: • False: Do not announce total number of new e-mail messages. • True: Announce the total number of new e-mail messages in the subscriber mailbox. Default value: False Read/Write Boolean SayTotalNewEmail Cisco Unity Connection Provisioning Interface (CUPI) API 329 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 362#

chunk 328

Comments Operations Data Type Parameter A flag indicating whether system announces the total number of new fax messages in the subscriber mailbox. Values can be: • False: Do not announce total number of new fax messages. • True: Announce the total number of new fax messages in the subscriber mailbox. Default value: False Read/Write Boolean SayTotalNewFax A flag indicating whether system announces the total number of new voice messages in the subscriber mailbox. Values can be: • False: Do not announce total number of new voice messages. • True: Announce the total number of new voice messages in the subscriber mailbox. Default value: True Read/Write Boolean SayTotalNewVoice A flag indicating whether system announces the total number of new receipts in the subscriber mailbox. Values can be: • False: Do not announce total number of new receipts. • True: Announce the total number of new receipts in the subscriber mailbox. Default value: False Read/Write Boolean SayTotalReceipts A flag indicating whether system announces the total number of saved messages in the subscriber mailbox. Values can be: • False: Do not announce total number of saved messages. • True: Announce the total number of saved messages in the subscriber mailbox. Default value: True Read/Write Boolean SayTotalSaved The audio speed system uses to play back messages to the subscriber. Range: 0-200. Read/Write Integer Speed The unique identifier of the MediaSwitch object Cisco Unity Connection uses for subscriber Telephone Record and Playback (TRAP) sessions and to dial MWI on or off requests when the Cisco Unity Connection system has dual switch integration. Read-Only String(36) MediaSwitchObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 330 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 363#

chunk 329

Comments Operations Data Type Parameter Tells whether it can be deleted by administrator or not. Read/Write Boolean Undeletable A flag indicating whether the subscriber hears brief or full phone menus when accessing system over the phone. Default value: False Read/Write Boolean UseBriefPrompts The audio volume expressed as a percentage that Cisco Unity Connection uses to play back message. Range: 0-100 Read/Write Integer Volume A flag indicating whether a caller is prevented from being transferred to the subscriber phone when the subscriber alternate greeting is turned on. Values can be: • False: Ring the phone. • True: Send the caller to the alternate greeting. Default value: False Read-Only Boolean EnAltGreetDontRingPhone A flag indicating whether callers can skip the greeting while it is playing when the alternate greeting is turned on. Values can be: • False: If alternate greeting is active, callers cannot skip the greeting
• True: If alternate greeting is active, callers can skip the greeting. Default value: False Read-Only Boolean EnAltGreetPreventSkip A flag indicating whether callers can leave a message after the greeting when the subscriber alternate greeting is turned on. Values can be: • False: If alternate greeting is active, callers can leave a message for the subscriber • True: If alternate greeting is active, callers cannot leave a message for the subscriber. Default value: False Read-Only Boolean EnAltGreetPreventMsg A flag indicating whether system encrypts messages from the subscriber that are marked private. Values can be: • False: Do not encrypt private messages. • True: Encrypt private messages. Default value: False Read-Only Boolean EncryptPrivateMessages Cisco Unity Connection Provisioning Interface (CUPI) API 331 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 364#

chunk 330

Comments Operations Data Type Parameter The order in which system presents deleted messages to the subscriber. Read-Only Integer DeletedMessageSortOrder A flag indicating whether Cisco Unity Connection notifies the subscriber when they login via the phone (plays conversation) or CPCA (displays a warning banner) if their alternate greeting is turned on. Values can be: • False: Do not notify the subscriber that their alternate greeting is turned on. • True: Notify the subscriber when they login if their alternate greeting is turned on. Default value: False Read-Only Boolean SayAltGreetWarning A flag indicating whether Cisco Unity Connection during message playback, plays the primary extension information of the subscriber who sent the message after playing the sender's voice name. Values can be: • False: Do not play the extension information of the subscriber who sent the message. • True: After playing the sender's voice name, play the primary extension information of the subscriber who sent the message. Default value: False Read-Only Boolean SaySenderExtension A flag indicating whether Cisco Unity Connection plays the Automatic Number Identification (ANI) information during message playback for voice messages from unidentified callers. Default value: False Read-Only Boolean SayAni The unique identifier of the CallAction object that is taken when a caller exits the subscriber conversation by pressing the * key or timing out. Read-Only String(36) ExitCallActionObjectId The number of rings to wait for a subscriber destination to answer before the call is forwarded to the subscriber's primary phone. Read/Write Integer CallAnswerTimeout The unique identifier of the primary CallHandler object for the subscriber. Read-Only String(36) CallHandlerObjectId The format for generating the user display name. Read/Write Integer DisplayNameRule Cisco Unity Connection Provisioning Interface (CUPI) API 332 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 365#

chunk 331

Comments Operations Data Type Parameter A flag indicating whether or not the user credential will automatically expire (and the user required to change the credential upon its expiration) based on a defined schedule. Regardless, the user still may change the credential (if allowed by CantChange). Values can be: • False: The user credential will automatically expire. The expiration of the credential is controlled by the value of the column tbl_CredentialPolicy->MaxDays. • True: The user credential will not automatically expire. Default value: False Read/Write Boolean DoesntExpire A flag indicating whether the user can set/change their credential (i.e., the credential specified by the associated credential policy). Values can be: • False: User is allowed to change their credential. • True: User cannot change their credential. Default value: False Read-Only Boolean CantChange The unique identifier of the MailboxStore object where a mailbox is created for a new subscriber created with this template. Read-Only String(36) MailboxStoreObjectId The order in which system plays the following types of saved messages: • Urgent voice messages • Non-urgent voice messages • Urgent fax messages • Non-urgent fax messages • Urgent e-mail messages • Non-urgent e-mail messages • Receipts and notices Read/Write String(36) SavedMessageStackOrder The order in which system plays the following types new messages: • Urgent voice messages • Non-urgent voice messages* Urgent fax messages • Non-urgent fax messages • Urgent e-mail messages • Non-urgent e-mail messages • Receipts and notices Read/Write String(36) NewMessageStackOrder Cisco Unity Connection Provisioning Interface (CUPI) API 333 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 366#

chunk 332

Comments Operations Data Type Parameter The order in which system will sort messages when the "Message Locator" feature is enabled. Read/Write Integer MessageLocatorSortOrder The order in which system will sort saved messages. Read/Write Integer SavedMessageSortOrder The order in which system will sort new messages. Read/Write Integer NewMessageSortOrder A flag indicating whether system plays the message type menu when the subscriber logs on to system over the phone. Values can be: • False: Do not play message type menu. • True: Play message type menu. Default value: False Read/Write Boolean MessageTypeMenu A flag indicating whether a subscriber's personal rules are enabled. Subscribers can use this setting to disable all personal rules at once. Values can be: • False: Call routing rules disabled for subscriber. • 1: Call routing rules enabled for subscriber. • True: Call routing rules enabled for subscriber. Default value: True Read/Write Boolena EnablePersonalRules A valid authorization code that is entered prior to extending calls to classes of dialed numbers, for example, external, toll and international calls. Read-Only String(36) ForcedAuthorizationCode A flag indicating whether a caller should be promoted to record his/her name if Unity does not receive caller id. Default value: True Read/Write Boolean RecordUnknownCallerName A flag indicating whether a subscriber's primary phone should be rung before trying other destinations in a personal group. Default value: False Read/Write Boolean RingPrimaryPhoneFirst The audio speed system uses to play back prompts to the subscriber. Read/Write Integer PromptSpeed Type of call action to take, e.g., hang-up, go to another object, etc. Read/Write Integer ExitAction The name of the conversation to which the caller is routed. Read/Write String(64) ExitTargetConversation The unique identifier of the specific object to send along to the target conversation. Read-Only String(36) ExitTargetHandlerObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 334 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 367#

chunk 333

Comments Operations Data Type Parameter The number of times to repeat a menu in TUI. Possible range 0-250 Read/Write Integer RepeatMenu The amount of time to wait (in milliseconds) for first digits when collecting touch tones. Range: 500-10000. Read/Write Integer FirstDigitTimeout The amount of time to wait (in milliseconds) for input between touch tones when collecting digits in TUI. Range: 1000-10000 Read-Only Integer InterdigitDelay The volume level for playback of system prompts. Range: 0-100. Read/Write Integer PromptVolume The amount of time (in milliseconds) Cisco Unity Connection will delay after playing greeting. Range: 0-50000. Read/Write Integer DelayAfterGreeting The client matter code to transmit to Call Manger when a phone number is dialed on an outbound call. The CMC is entered after a phone number is dialed so that the customer can assign account or billing codes to the call. Whether or not the CMC will be transmitted is dictated by a setting on outbound call. The subscriber's CMC is used only if the outbound call doesn't have its own CMC. Read-Only String(40) ClientMatterCode A flag indicating whether the subscriber will be prompted to address message before or after it is recorded. Values can be: • False: Prompt subscriber to address message before recording. • True: Prompt subscriber to address message after recording. Default value: False Read/Write Boolean AddressAfterRecord A flag indicating whether system will request confirmation from a subscriber before proceeding with a deletion of a single new or saved message. Values can be: • False: system will not request confirmation from a subscriber before proceeding with a deletion of a single new or saved message. • True: system will request confirmation from a subscriber before proceeding with a deletion of a single new or saved message. Default value: False Read/Write Boolean ConfirmDeleteMessage Cisco Unity Connection Provisioning Interface (CUPI) API 335 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 368#

chunk 334

Comments Operations Data Type Parameter A flag indicating whether system allows the subscriber to choose which message they want to delete or whether system permanently deletes the specified type of messages. A change what system does when subscribers press 3 > 2

2 from the Main menu to permanently delete multiple deleted messages at once. Values can be: • False: System does not prompt the subscriber to choose, and instead permanently deletes the type of messages you specify: either deleted voice messages or all deleted messages (voice, fax, and e-mail, as applicable). • True: System allows the subscriber to choose which messages they want to delete; subscriber can either delete their deleted voice messages or delete all of their deleted messages. Default value: True Read/Write Boolean ConfirmDeleteMultipleMessage The date and time when the personal address book was last imported from a groupware package into the personal groups for a user. Read-Only String(36) PabLastImported The time format used for the message timestamps that the subscriber hears when they listen to their messages over the phone. Values can be: • False: 12-Hour clock - The subscriber hears message timestamps in the time format of a 12-hour clock. For example, a subscriber will hear 1:00 PM when listening to the timestamp of a message left at 1:00 PM. • True: 24-Hour clock - The subscriber hears message timestamps in the time format of a 24-hour clock. For example, a subscriber will hear 13:00 when listening to the timestamp of a message left at 1:00 PM. Default value: False Read/Write Boolean IsClockMode24Hour For an undeliverable message, whether NDR messages will appear in the subscriber mailbox or are deleted by the system. Read/Write Boolean RouteNDRToSender The notification type to use for this mailbox created. Read/Write Integer NotificationType Cisco Unity Connection Provisioning Interface (CUPI) API 336 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 369#

chunk 335

Comments Operations Data Type Parameter A flag indicating whether the mailbox created with this subscriber allows the system to send read receipts on its behalf. Values can be: • 0: Disable • 1: Enable Read/Write Integer SendReadReceipts The mailbox size (in bytes) send limit. (2048 MB) Values can be: • 1: The quota is unlimited. • 2: The default system quota is assigned. Read/Write Integer SendQuota The mailbox size (in bytes) warning limit. (2048 MB) Values can be: • 1: The quota is unlimited. • 2: The default system quota is assigned. Read/Write Integer WarningQuota The mailbox size (in bytes) receive limit. (2048 MB) Values can be: • 1: The quota is unlimited. • 2: The default system quota is assigned. Read/Write Integer ReceiveQuota The distinguished name of the mailbox. Read-Only String(36) MailboxDn The unique identifiers of the Schedule object to use for synchronization Calendar information from groupware (such as Exchange). Read-Only String(36) SynchScheduleObjectId Temporary placeholder until IsVmEnrolled can be phased out. Read-Only Boolean IsSetForVmEnrollment A flag indicating whether the subscriber may send broadcast messages. Values can be: • False: Cannot send broadcast messages. • True: Can send broadcast messages. Default value: False Read/Write Boolean SendBroadcastMsg Cisco Unity Connection Provisioning Interface (CUPI) API 337 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 370#

chunk 336

Comments Operations Data Type Parameter A flag indicating whether the subscriber has the ability to update broadcast messages that are active or will be active in the future. Values can be: • False: Cannot update broadcast messages. • True: Can update broadcast messages. Default value: False Read/Write Boolean UpdateBroadcastMsg The VUI conversation assigned to the subscriber. Read/Write Boolean ConversationVUI Specifies the required length of silence (in milliseconds) following user speech before the recognizer finalizes a result. Read-Only Integer SpeechCompleteTimeout Specifies the required length of silence (in milliseconds) from when the speech prior to the silence matches an active grammar. Read-Only Integer SpeechIncompleteTimeout A flag indicating whether the speech recognition conversation is the default conversation for the subscriber. Values can be: • False: Speech recognition conversation is not default conversation for the subscriber. • True: Speech recognition conversation is the default conversation for the subscriber. Default value: False Read/Write Boolean UseVui A flag indicating whether the subscriber will be asked for his/her PIN when attempting to sign-in from a known device. Default value: False Read/Write Boolean SkipPasswordForKnownDevice A flag indicating whether the subscriber conversation jumps directly to the first message in the message stack after subscriber sign-in. Values can be: • False: Subscriber conversation does not jump directly to first message in the message stack after subscriber sign-in. • True: Subscriber conversation jumps directly to the first message in the message stack after subscriber sign-in. Default value: True Read/Write Boolean JumpToMessagesOnLogin Cisco Unity Connection Provisioning Interface (CUPI) API 338 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 371#

chunk 337

Comments Operations Data Type Parameter A flag indicating whether the message locator feature is enabled for the subscriber. Values can be: • False: Message locator feature is disabled for subscriber. • True: Message locator feature is enabled for subscriber. Default value: False Read/Write Boolean EnableMessageLocator The unique identifier of the MessageAgingPolicy object that applies to the mailbox created for a new subscriber created with this template. Read-Only String(36) MessageAgingPolicyObjectId This controls the number of entries to display per page for all tables in the Unity Assistant, e.g. the Private List Members table. Read-Only Integer AssistantRowsPerPage The number of messages Unity Inbox displays in a page. Read-Only Integer InboxMessagesPerPage The rate (in minutes) at which Unity Inbox performs a refresh. Read-Only Integer InboxAutoRefresh A flag indicating whether Cisco Unity Connection automatically resolves a recipient address entered in the To, Cc or Bcc fields to a subscriber or distribution list. Known as the "AutoResolve" feature. Read-Only Integer InboxAutoResolveMessageRecipients Controls the number of matching entries the Address Book displays per page, when a search is performed. The Address Book is used across multiple PCA applications and so this setting applies globally. Read-Only Integer PcaAddressBookRowsPerPage The Home Page is the first page that is displayed after logging in to the PCA. Read-Only String(36) PcaHomePage A flag indicating whether TTS is enabled for the subscriber. Only relevant if TTS enabled in User's COS also. Values can be: • False: TTS is disabled for the subscriber. • True: TTS is enabled for the subscriber Default value: True Read/Write Boolean EnableTts Voice Recognition Confirmation Confidence Threshold. Read-Only Integer ConfirmationConfidenceThreshold The amount ahead of time, in minutes, that Connection will warn the subscriber of upcoming meetings when the subscriber calls into the system. Read-Only Integer AnnounceUpcomingMeetings Cisco Unity Connection Provisioning Interface (CUPI) API 339 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 372#

chunk 338

Comments Operations Data Type Parameter When the engine matches a spoken phrase, it associates a confidence level with that conclusion. This parameter determines what confidence level should be considered a successful match. A higher value means the engine is will report fewer successful matches, but it will be more confident in the matches that it reports. Range: 0-100. Read-Only Integer SpeechConfidenceThreshold Sets accuracy and performance of speech. Read-Only Integer SpeechSpeedVsAccuracy A variable level of sound sensitivity that enables the speech engine to filter out background noise and not mistake it for speech. Read-Only Integer SpeechSensitivity A flag indicating whether the visual message locator feature is enabled for the subscriber. The visual message locator feature presents a list of messages on the subscriber's IP phone display for the subscriber to select from visually. Values can be: • False: Visual message locator feature disabled for subscriber. • True: Visual message locator feature enabled for subscriber. Default value: False Read/Write Boolean EnableVisualMessageLocator A flag indicating whether when addressing, after entering one recipient name, whether the subscriber is asked to enter another name or assume the subscriber is finished adding names and is ready to move on to recording the message or applying message options. Values can be: • False: Unity Connection prompts subscribers to press 1 to add more recipients. • True: Unity Connection does not prompt subscribers to press 1 to add more recipients. Instead, subscribers continue entering recipient names or extensions (as applicable) until they indicate that they have completed addressing. Default value: False Read/Write Boolean ContinuousAddMode Whether voice name of the user or distribution list is played or not. Values can be: • False: No voice name played. • True: Voice name of subscriber or DL is played. Default value: False Read/Write Boolean NameConfirmation Cisco Unity Connection Provisioning Interface (CUPI) API 340 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 373#

chunk 339

Comments Operations Data Type Parameter The amount of time (in milliseconds) between digits on a multiple digit menu command entry (i.e. different than the inter digit timeout that is used for strings of digits such as extensions and transfer strings). Default value: 1500 Range: 250-5000 Read-Only Integer(4) CommandDigitTimeout A flag indicating when hanging up while listening to a new message, whether the message is marked new again or is marked read. Values can be: • False: Message is marked new again. • True: Message is marked read. Default value: False Read/Write Boolean SaveMessageOnHangup Indicates the amount of time (in milliseconds) to jump forward when skipping ahead in a voice or TTS message using either DTMF or voice commands while reviewing messages. Default Value: 5000 Range: 1000-60000 Read-Only Integer(4) SkipForwardTime Indicates the amount of time (in milliseconds) to jump backward when skipping in reverse in a voice or TTS message using either DTMF or voice commands while reviewing messages. Default Value: 5000 Range: 1000-60000 Read-Only Integer(4) SkipReverseTime A flag indicating whether the user's polling cycle for retrieving calendar information will be the shorter "power user" polling cycle. Values can be: • False: The subscriber's polling cycle is determined by the system default polling cycle. (default value) (System configuration setting "Normal Calendar Caching Poll Interval"). • True: The shorter "power user" polling cycle is used. (System configuration setting "Short Calendar Caching Poll Interval"). Default value: False Read-Only Boolean UseShortPollForCache The unique identifier of the SearchSpace which is used to limit the visibility to dialable/addressable objects when searching by extension (dial string). Read-Only String(36) SearchByExtensionSearchSpaceObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 341 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 374#

chunk 340

Comments Operations Data Type Parameter The unique identifier of the SearchSpace which is used to limit the visibility to dilatable/addressable objects when searching by name (character string). Read-Only String(36) SearchByNameSearchSpaceObjectId The unique identifier of the Partition to which a subscriber's DtmfAccessId created with this template will be assigned. Read/Write String(36) PartitionObjectId Use dynamic name search weight. When this user addresses objects, the name search weight for those objects will automatically be incremented. Read-Only Boolean UseDynamicNameSearchWeight The pkid of associated end user in the sleeping SeaDragon database. Read/Write String(36) LdapCcmPkid The LDAP configuration information for the user. Read-Only Integer LdapType The unique identifier of the FaxServer object for the subscriber. Read-Only String(36) FaxServerObjectId The userid of associated end user in the sleeping SeaDragon database. Read-Only String(36) LdapCcmUserId Alternate transfer option. Read-Only String(36) XferString A flag indicating whether Message Bookmark is enabled for the subscriber. Values can be: • False: Message Bookmark feature is disabled for subscriber. • True: Message Bookmark feature is enabled for subscriber. Default value: False Read/Write Boolean EnableMessageBookmark A flag indicating whether Cisco Unity Connection announces the total number of draft messages in the subscriber mailbox. Values can be: • False: Do not announce total number of draft messages. • True: Announce the total number of draft messages in the subscriber mailbox. Default value: False Read/Write Boolean SayTotalDraftMsg Cisco Unity Connection Provisioning Interface (CUPI) API 342 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 375#

chunk 341

Comments Operations Data Type Parameter A flag indicating whether the save draft message feature is enabled for the subscriber. Values can be: • False: Do not save draft messages. • True: Save draft messages. Default value: False Read/Write Boolean EnableSaveDraft Urgent message flag on a message is retained for both reply and forward message actions. Default value: False Read/Write Boolean RetainUrgentMessageFlag A flag indicating whether Cisco Unity Connection announces the length of each message during message playback. Default value: False Read/Write Boolean SayMessageLength SMTP proxy address matching the corporate e-mail address created for user. Read/Write Boolean CreateSmtpProxyFromCorp A flag indicating that the conversation will, during playback, advance to the next message in the playback stack automatically after it is done playing the after message menu. Values can be: • False: Do not automatically skip to the next message after playing the after message menu once. • True: Do advanced automatically to the next message after playing the after message menu once. Default value: False Read-Only Boolean AutoAdvanceMsgs This flag works exactly the same as the SaySender flag on a user, except the conversation plays the sender in the message footer. Default value: False Read-Only Boolean SaySenderAfter This flag works exactly the same as the SaySenderExtension flag on a user, except the conversation plays the sender's extension in the message footer. Default value: False Read-Only Boolean SaySenderExtensionAfter This flag works exactly the same as the SayMsgNumber flag on a user, except the conversation plays the message number in the message footer. Default value: False Read-Only Boolean SayMsgNumberAfter Cisco Unity Connection Provisioning Interface (CUPI) API 343 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 376#

chunk 342

Comments Operations Data Type Parameter This flag works exactly the same as the SayAni flag on a user, except the conversation plays the ani in the message footer. Default value: False Read-Only Boolean SayAniAfter This flag works exactly the same as the SayMessageLength flag on a user, except the conversation plays the message length in the message footer. Default value: False Read-Only Boolean SayMessageLengthAfter Cisco Unity Connection Provisioning Interface (CUPI) API 344 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Explanation of Data Fields

Page 377#

chunk 343

C H A P T E R 34 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings • Cisco Unity Connection Provisioning Interface (CUPI) API -- Basic User Template Information, on page 345 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Default User Template, on page 364 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template VoiceMail PIN , on page 368 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Transfer Options , on page 368 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Input, on page 371 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings, on page 376 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Settings Notification Devices, on page 380 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Settings Video Service Account, on page 389 Cisco Unity Connection Provisioning Interface (CUPI) API -- Basic User Template Information About User Templates This page contains information on how to use the API to create, list, modify, and delete user templates. When you create user accounts, you base each account on a user template. Creating new user accounts on a template minimizes the number of settings that must be modified on individual user accounts, making the job of creating user accounts easier. Cisco Unity Connection comes with predefined user templates too, which you can modify but not delete. For more information on default user template, see Default User Template section. Cisco Unity Connection Provisioning Interface (CUPI) API 345

Image 1 from page 377

Page 378#

chunk 344

Listing and Viewing User Templates Generic Examples to List User Templates Example 1 The following is an example of the GET request that lists all the User Templates: https://<connection_server>/vmrest/usertemplates The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 346 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing User Templates

Page 379#

chunk 345

<UserTemplates total="1"> <UserTemplate> <URI>/vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1</URI> <ObjectId>7553408b-3415-43db-aa82-3b2dc78062d1</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Alias>voicemailusertemplate</Alias> <DisplayName>Voice Mail User Template</DisplayName> <TimeZone>190</TimeZone> <CreationTime>2012-06-25T06:07:31Z</CreationTime> <CosObjectId>7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosObjectId> <CosURI>/vmrest/coses/7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosURI> <Language>1033</Language> <LocationObjectId>6d4ff2e5-3f26-4a19-b2fa-beca79b4c5e9</LocationObjectId> <LocationURI> /vmrest/locations/connectionlocations/6d4ff2e5-3f26-4a19-b2fa- beca79b4c5e9 </LocationURI> <AddressMode>0</AddressMode> <ClockMode>0</ClockMode> <ConversationTui>SubMenu</ConversationTui> <GreetByName>true</GreetByName> <ListInDirectory>true</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <SayCopiedNames>true</SayCopiedNames> <SayDistributionList>true</SayDistributionList> <SayMsgNumber>true</SayMsgNumber> <SaySender>true</SaySender> <SayTimestampAfter>true</SayTimestampAfter> <SayTimestampBefore>false</SayTimestampBefore> <SayTotalNew>false</SayTotalNew> <SayTotalNewEmail>false</SayTotalNewEmail> <SayTotalNewFax>false</SayTotalNewFax> <SayTotalNewVoice>true</SayTotalNewVoice> <SayTotalReceipts>false</SayTotalReceipts> <SayTotalSaved>true</SayTotalSaved> <Speed>100</Speed> <MediaSwitchObjectId> 1fb12b1c-cf14-4634-b73d- 9b9c58ecdf68 </MediaSwitchObjectId> <PhoneSystemURI> /vmrest/phonesystems/1fb12b1c-cf14-4634-b73d-9b9c58ecdf68 </PhoneSystemURI> <Undeletable>true</Undeletable> <UseBriefPrompts>false</UseBriefPrompts> <Volume>50</Volume> <EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone> <EnAltGreetPreventSkip>false</EnAltGreetPreventSkip> <EnAltGreetPreventMsg>false</EnAltGreetPreventMsg> <EncryptPrivateMessages>false</EncryptPrivateMessages> <DeletedMessageSortOrder>2</DeletedMessageSortOrder> <SayAltGreetWarning>false</SayAltGreetWarning> <SaySenderExtension>false</SaySenderExtension> <SayAni>false</SayAni> <ExitCallActionObjectId> a365e3c0-d8ed-4874-9810-cedb074dfe33 </ExitCallActionObjectId> <CallAnswerTimeout>4</CallAnswerTimeout> <CallHandlerObjectId>f700f378-9656-45ea-94ff-c0462592999e</CallHandlerObjectId> <CallhandlerURI> /vmrest/callhandlerprimarytemplates/f700f378-9656-45ea-94ff-c0462592999e </CallhandlerURI> <DisplayNameRule>1</DisplayNameRule> <DoesntExpire>false</DoesntExpire> <CantChange>false</CantChange> Cisco Unity Connection Provisioning Interface (CUPI) API 347 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 380#

chunk 346

<MailboxStoreObjectId>cfc43112-601b-4764-ba92-b0220e9d7f23</MailboxStoreObjectId> <SavedMessageStackOrder>1234567</SavedMessageStackOrder> <NewMessageStackOrder>1234567</NewMessageStackOrder> <InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients> <PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage> <ReadOnly>false</ReadOnly> <EnableTts>true</EnableTts> <ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold> <AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings> <SpeechConfidenceThreshold>40</SpeechConfidenceThreshold> <SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy> <SpeechSensitivity>50</SpeechSensitivity> <EnableVisualMessageLocator>false</EnableVisualMessageLocator> <ContinuousAddMode>false</ContinuousAddMode> <NameConfirmation>false</NameConfirmation> <CommandDigitTimeout>1500</CommandDigitTimeout> <SaveMessageOnHangup>false</SaveMessageOnHangup> <SendMessageOnHangup>1</SendMessageOnHangup> <SkipForwardTime>5000</SkipForwardTime> <SkipReverseTime>5000</SkipReverseTime> <UseShortPollForCache>false</UseShortPollForCache> <SearchByExtensionSearchSpaceObjectId> 25e2e004-c194-4593-9961-bdcaf5dd7189 </SearchByExtensionSearchSpaceObjectId> <SearchByExtensionSearchSpaceURI> /vmrest/searchspaces/25e2e004-c194-4593-9961-bdcaf5dd7189 </SearchByExtensionSearchSpaceURI> <SearchByNameSearchSpaceObjectId> 25e2e004-c194-4593-9961-bdcaf5dd7189 </SearchByNameSearchSpaceObjectId> <SearchByNameSearchSpaceURI> /vmrest/searchspaces/25e2e004-c194-4593-9961-bdcaf5dd7189 </SearchByNameSearchSpaceURI> <PartitionObjectId>12101df7-ecd2-4a48-b5b9-9a96b5f85a25</PartitionObjectId> <PartitionURI> /vmrest/partitions/12101df7-ecd2-4a48-b5b9-9a96b5f85a25 </PartitionURI> <UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight> <LdapType>0</LdapType> <EnableMessageBookmark>false</EnableMessageBookmark> <SayTotalDraftMsg>false</SayTotalDraftMsg> <EnableSaveDraft>false</EnableSaveDraft> <RetainUrgentMessageFlag>false</RetainUrgentMessageFlag> <SayMessageLength>false</SayMessageLength> <CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp> <AutoAdvanceMsgs>false</AutoAdvanceMsgs> <SaySenderAfter>false</SaySenderAfter> <SaySenderExtensionAfter>false</SaySenderExtensionAfter> <SayMsgNumberAfter>false</SayMsgNumberAfter> <SayAniAfter>false</SayAniAfter> <SayMessageLengthAfter>false</SayMessageLengthAfter> <UserTemplateRolesURI> /vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1/usertemplateroles </UserTemplateRolesURI> <UserTemplateNotificationDevicesURI> /vmrest/usertemplates/7553408b-3415-43db-aa823b2dc78062d1/usertemplatenotificationdevices </UserTemplateNotificationDevicesURI> <UserTemplateWebPasswordURI> /vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1/credential/password </UserTemplateWebPasswordURI> <UserTemplateVoicePinURI> /vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1/credential/pin </UserTemplateVoicePinURI> Cisco Unity Connection Provisioning Interface (CUPI) API 348 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 381#

chunk 347

<UserTemplateMessageActionURI> /vmrest/usertemplates/7553408b-3415-43db-aa82-3b2dc78062d1/usertemplatemessageactions </UserTemplateMessageActionURI> </UserTemplate> Response Code: 200 Example 2 The following is an example of the GET request that lists the User Template as represented by <objectId>: https://<connection_server>/vmrest/usertemplates/<objectId> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 349 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 382#

chunk 348

<UserTemplate> <URI> /vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781 </URI> <ObjectId> c8af2544-2bc9-44fa-b713-e80f306cf781 </ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Alias>NewCiscoTemplate2</Alias> <City/> <State/> <Country>US</Country> <PostalCode/> <Department/> <Manager/> <Building/> <Address/> <DisplayName>testmonica</DisplayName> <BillingId/> <TimeZone>190</TimeZone> <CreationTime>2012-06-26 05:02:22.05</CreationTime> <CosObjectId>7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosObjectId> <CosURI>/vmrest/coses/7be9b3f3-1200-403f-984a-04c07b7c5a7b</CosURI> <Language>1033</Language> <LocationObjectId> 6d4ff2e5-3f26-4a19-b2fa-beca79b4c5e9 </LocationObjectId> <LocationURI> /vmrest/locations/connectionlocations/6d4ff2e5-3f26-4a19-b2fa-beca79b4c5e9 </LocationURI> <AddressMode>0</AddressMode> <ClockMode>0</ClockMode> <ConversationTui>SubMenu</ConversationTui> <GreetByName>true</GreetByName> <ListInDirectory>true</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <SayCopiedNames>true</SayCopiedNames> <SayDistributionList>true</SayDistributionList> <SayMsgNumber>true</SayMsgNumber> <SaySender>true</SaySender> <SayTimestampAfter>true</SayTimestampAfter> <SayTimestampBefore>false</SayTimestampBefore> <SayTotalNew>false</SayTotalNew> <SayTotalNewEmail>false</SayTotalNewEmail> <SayTotalNewFax>false</SayTotalNewFax> <SayTotalNewVoice>true</SayTotalNewVoice> <SayTotalReceipts>false</SayTotalReceipts> <SayTotalSaved>true</SayTotalSaved> <Speed>100</Speed> <MediaSwitchObjectId> 1fb12b1c-cf14-4634-b73d-9b9c58ecdf68 </MediaSwitchObjectId> <PhoneSystemURI> /vmrest/phonesystems/1fb12b1c-cf14-4634-b73d-9b9c58ecdf68 </PhoneSystemURI> <Undeletable>false</Undeletable> <UseBriefPrompts>false</UseBriefPrompts> <Volume>50</Volume> <EnAltGreetDontRingPhone>false</EnAltGreetDontRingPhone> <EnAltGreetPreventSkip>false</EnAltGreetPreventSkip> <EnAltGreetPreventMsg>false</EnAltGreetPreventMsg> <EncryptPrivateMessages>false</EncryptPrivateMessages> <DeletedMessageSortOrder>2</DeletedMessageSortOrder> Cisco Unity Connection Provisioning Interface (CUPI) API 350 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 383#

chunk 349

<SayAltGreetWarning>false</SayAltGreetWarning> <SaySenderExtension>false</SaySenderExtension> <SayAni>false</SayAni> <ExitCallActionObjectId> 27cbb3a8-f040-4ee9-9686-620c43e3d725 </ExitCallActionObjectId> <CallAnswerTimeout>4</CallAnswerTimeout> <CallHandlerObjectId> 9a5ac35a-0df8-4ebb-8e19-77f936dfd263 </CallHandlerObjectId> <CallhandlerURI> /vmrest/callhandlerprimarytemplates/9a5ac35a-0df8-4ebb-8e19-77f936dfd263 </CallhandlerURI> <DisplayNameRule>1</DisplayNameRule> <DoesntExpire>false</DoesntExpire> <CantChange>false</CantChange> <MailboxStoreObjectId> cfc43112-601b-4764-ba92-b0220e9d7f23 </MailboxStoreObjectId> <SavedMessageStackOrder>1234567</SavedMessageStackOrder> <NewMessageStackOrder>1234567</NewMessageStackOrder> <MessageLocatorSortOrder>1</MessageLocatorSortOrder> <SavedMessageSortOrder>2</SavedMessageSortOrder> <NewMessageSortOrder>1</NewMessageSortOrder> <MessageTypeMenu>false</MessageTypeMenu> <EnablePersonalRules>true</EnablePersonalRules> <RecordUnknownCallerName>true</RecordUnknownCallerName> <RingPrimaryPhoneFirst>false</RingPrimaryPhoneFirst> <PromptSpeed>100</PromptSpeed> <ExitAction>2</ExitAction> <ExitTargetConversation>PHTransfer</ExitTargetConversation> <ExitTargetHandlerObjectId> 7ae69f21-1c99-4cc1-96c3-a1bbe11fd4ca </ExitTargetHandlerObjectId> <RepeatMenu>1</RepeatMenu> <FirstDigitTimeout>5000</FirstDigitTimeout> <InterdigitDelay>3000</InterdigitDelay> <PromptVolume>50</PromptVolume> <AddressAfterRecord>false</AddressAfterRecord> <ConfirmDeleteMessage>false</ConfirmDeleteMessage> <ConfirmDeleteDeletedMessage>false</ConfirmDeleteDeletedMessage> <ConfirmDeleteMultipleMessages>true</ConfirmDeleteMultipleMessages> <IsClockMode24Hour>false</IsClockMode24Hour> <RouteNDRToSender>true</RouteNDRToSender> <NotificationType>0</NotificationType> <SendReadReceipts>0</SendReadReceipts> <ReceiveQuota>-1</ReceiveQuota> <SendQuota>-1</SendQuota> <WarningQuota>-1</WarningQuota> <IsSetForVmEnrollment>true</IsSetForVmEnrollment> <VoiceNameRequired>false</VoiceNameRequired> <SendBroadcastMsg>true</SendBroadcastMsg> <UpdateBroadcastMsg>false</UpdateBroadcastMsg> <ConversationVui>VuiStart</ConversationVui> <SpeechCompleteTimeout>0</SpeechCompleteTimeout> <SpeechIncompleteTimeout>750</SpeechIncompleteTimeout> <UseVui>false</UseVui> <SkipPasswordForKnownDevice>false</SkipPasswordForKnownDevice> <JumpToMessagesOnLogin>true</JumpToMessagesOnLogin> <EnableMessageLocator>false</EnableMessageLocator> <MessageAgingPolicyObjectId> 2e02eca6-270b-4b7f-a153-f03ea74d403d </MessageAgingPolicyObjectId> <MessageAgingPolicyURI> Cisco Unity Connection Provisioning Interface (CUPI) API 351 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 384#

chunk 350

/vmrest/messageagingpolicies/2e02eca6-270b-4b7f-a153-f03ea74d403d </MessageAgingPolicyURI> <AssistantRowsPerPage>5</AssistantRowsPerPage> <InboxMessagesPerPage>20</InboxMessagesPerPage> <InboxAutoRefresh>15</InboxAutoRefresh> <InboxAutoResolveMessageRecipients>true</InboxAutoResolveMessageRecipients> <PcaAddressBookRowsPerPage>5</PcaAddressBookRowsPerPage> <ReadOnly>false</ReadOnly> <EnableTts>true</EnableTts> <ConfirmationConfidenceThreshold>60</ConfirmationConfidenceThreshold> <AnnounceUpcomingMeetings>60</AnnounceUpcomingMeetings> <SpeechConfidenceThreshold>40</SpeechConfidenceThreshold> <SpeechSpeedVsAccuracy>50</SpeechSpeedVsAccuracy> <SpeechSensitivity>50</SpeechSensitivity> <EnableVisualMessageLocator>false</EnableVisualMessageLocator> <ContinuousAddMode>false</ContinuousAddMode> <NameConfirmation>false</NameConfirmation> <CommandDigitTimeout>1500</CommandDigitTimeout> <SaveMessageOnHangup>false</SaveMessageOnHangup> <SendMessageOnHangup>1</SendMessageOnHangup> <SkipForwardTime>5000</SkipForwardTime> <SkipReverseTime>5000</SkipReverseTime> <UseShortPollForCache>false</UseShortPollForCache> <SearchByExtensionSearchSpaceObjectId> 25e2e004-c194-4593-9961-bdcaf5dd7189 </SearchByExtensionSearchSpaceObjectId> <SearchByExtensionSearchSpaceURI> /vmrest/searchspaces/25e2e004-c194-4593-9961-bdcaf5dd7189 </SearchByExtensionSearchSpaceURI> <SearchByNameSearchSpaceObjectId> 25e2e004-c194-4593-9961-bdcaf5dd7189 </SearchByNameSearchSpaceObjectId> <SearchByNameSearchSpaceURI> /vmrest/searchspaces/25e2e004-c194-4593-9961-bdcaf5dd7189 </SearchByNameSearchSpaceURI> <PartitionObjectId> 12101df7-ecd2-4a48-b5b9-9a96b5f85a25 </PartitionObjectId> <PartitionURI> /vmrest/partitions/12101df7-ecd2-4a48-b5b9-9a96b5f85a25 </PartitionURI> <UseDynamicNameSearchWeight>false</UseDynamicNameSearchWeight> <LdapType>0</LdapType> <EnableMessageBookmark>false</EnableMessageBookmark> <SayTotalDraftMsg>false</SayTotalDraftMsg> <EnableSaveDraft>false</EnableSaveDraft> <RetainUrgentMessageFlag>false</RetainUrgentMessageFlag> <SayMessageLength>false</SayMessageLength> <CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp> <AutoAdvanceMsgs>false</AutoAdvanceMsgs> <SaySenderAfter>false</SaySenderAfter> <SaySenderExtensionAfter>false</SaySenderExtensionAfter> <SayMsgNumberAfter>false</SayMsgNumberAfter> <SayAniAfter>false</SayAniAfter> <SayMessageLengthAfter>false</SayMessageLengthAfter> <UserTemplateRolesURI> /vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/usertemplateroles </UserTemplateRolesURI> <UserTemplateNotificationDevicesURI> /vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/usertemplatenotificationdevices </UserTemplateNotificationDevicesURI> <UserTemplateWebPasswordURI> /vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/credential/password Cisco Unity Connection Provisioning Interface (CUPI) API 352 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 385#

chunk 351

</UserTemplateWebPasswordURI> <UserTemplateVoicePinURI> /vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/credential/pin </UserTemplateVoicePinURI> <UserTemplateMessageActionURI> /vmrest/usertemplates/c8af2544-2bc9-44fa-b713-e80f306cf781/usertemplatemessageactions </UserTemplateMessageActionURI> </UserTemplate> Response Code: 200 JSON Examples to List User Templates Example 1 The following is an example of the GET request that lists all the User Templates: https://<connection_server>/vmrest/usertemplates/ The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 353 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 386#

chunk 352

{ "@total": "2", "UserTemplate": { "URI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d", "ObjectId": "885dd0af-bdb1-401f-b4e9-6bd9fc8d594d", "UseDefaultLanguage": "true", "UseDefaultTimeZone": "true", "Alias": "voicemailusertemplate", "DisplayName": "Voice Mail User Template", "TimeZone": "4", "CreationTime": "2012-07-29T14:10:26Z", "CosObjectId": "362bf7f9-7cec-4f59-86dd-6c058a9100ef", "CosURI": "/vmrest/coses/362bf7f9-7cec-4f59-86dd-6c058a9100ef", "Language": "1033", "LocationObjectId": "3a403c9c-04c8-496a-ba76-23faaaae5a95", "LocationURI": "/vmrest/locations/connectionlocations/3a403c9c-04c8-496a-ba76-23faaaae5a95", "AddressMode": "0", "ClockMode": "0", "ConversationTui": "SubMenu", "GreetByName": "true", "ListInDirectory": "true", "IsVmEnrolled": "true", "SayCopiedNames": "true", "SayDistributionList": "true", "SayMsgNumber": "true", "SaySender": "true", "SayTimestampAfter": "true", "SayTimestampBefore": "false", "SayTotalNew": "false", "SayTotalNewEmail": "false", "SayTotalNewFax": "false", "SayTotalNewVoice": "true", "SayTotalReceipts": "false", "SayTotalSaved": "true", "Speed": "100", "MediaSwitchObjectId": "0d15753c-e1b4-4865-b00b-999a1ccf56ce", "PhoneSystemURI": "/vmrest/phonesystems/0d15753c-e1b4-4865-b00b-999a1ccf56ce", "Undeletable": "true", "UseBriefPrompts": "false", "Volume": "50", "EnAltGreetDontRingPhone": "false", "EnAltGreetPreventSkip": "false", "EnAltGreetPreventMsg": "false", "EncryptPrivateMessages": "false", "DeletedMessageSortOrder": "2", "SayAltGreetWarning": "false", "SaySenderExtension": "false", "SayAni": "false", "ExitCallActionObjectId": "6352cf7d-89f8-4748-bac5-8878889c3d56", "CallAnswerTimeout": "4", "CallHandlerObjectId": "c9069370-3631-4d36-a53a-1ac4e8d8f444", "CallhandlerURI": "/vmrest/callhandlerprimarytemplates/c9069370-3631-4d36-a53a-1ac4e8d8f444", "DisplayNameRule": "1", "DoesntExpire": "false", "CantChange": "false", "MailboxStoreObjectId": "6d2eb9ad-3caf-41d2-b3db-4451d95057fe", "SavedMessageStackOrder": "1234567", "NewMessageStackOrder": "1234567", "MessageLocatorSortOrder": "1", "SavedMessageSortOrder": "2", Cisco Unity Connection Provisioning Interface (CUPI) API 354 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 387#

chunk 353

"NewMessageSortOrder": "1", "MessageTypeMenu": "false", "EnablePersonalRules": "true", "RecordUnknownCallerName": "true", "RingPrimaryPhoneFirst": "false", "PromptSpeed": "100", "ExitAction": "2", "ExitTargetConversation": "PHGreeting", "ExitTargetHandlerObjectId": "708d5a59-95bb-4804-979b-c56b2f7d719a", "RepeatMenu": "1", "FirstDigitTimeout": "5000", "InterdigitDelay": "3000", "PromptVolume": "50", "DelayAfterGreeting": "0", "AddressAfterRecord": "false", "ConfirmDeleteMessage": "false", "ConfirmDeleteDeletedMessage": "false", "ConfirmDeleteMultipleMessages": "true", "IsClockMode24Hour": "false", "RouteNDRToSender": "true", "NotificationType": "0", "SendReadReceipts": "1", "ReceiveQuota": "2147483647", "SendQuota": "2147483647", "WarningQuota": "2147483647", "IsSetForVmEnrollment": "true", "VoiceNameRequired": "false", "SendBroadcastMsg": "false", "UpdateBroadcastMsg": "false", "ConversationVui": "VuiStart", "SpeechCompleteTimeout": "0", "SpeechIncompleteTimeout": "750", "UseVui": "false", "SkipPasswordForKnownDevice": "false", "JumpToMessagesOnLogin": "true", "EnableMessageLocator": "false", "MessageAgingPolicyObjectId": "a4b9216a-9360-4f9b-8937-cc66fba0ebbe", "MessageAgingPolicyURI": "/vmrest/messageagingpolicies/a4b9216a-9360-4f9b-8937-cc66fba0ebbe", "AssistantRowsPerPage": "5", "InboxMessagesPerPage": "20", "InboxAutoRefresh": "15", "InboxAutoResolveMessageRecipients": "true", "PcaAddressBookRowsPerPage": "5", "ReadOnly": "false", "EnableTts": "true", "ConfirmationConfidenceThreshold": "60", "AnnounceUpcomingMeetings": "60", "SpeechConfidenceThreshold": "40", "SpeechSpeedVsAccuracy": "50", "SpeechSensitivity": "50", "EnableVisualMessageLocator": "false", "ContinuousAddMode": "false", "NameConfirmation": "false", "CommandDigitTimeout": "1500", "SaveMessageOnHangup": "false", "SendMessageOnHangup": "1", "SkipForwardTime": "12345", "SkipReverseTime": "54321", "UseShortPollForCache": "false", "SearchByExtensionSearchSpaceObjectId": "a3933806-a995-443e-8704-498c03377bf7", "SearchByExtensionSearchSpaceURI": "/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7", Cisco Unity Connection Provisioning Interface (CUPI) API 355 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 388#

chunk 354

"SearchByNameSearchSpaceObjectId": "a3933806-a995-443e-8704-498c03377bf7", "SearchByNameSearchSpaceURI": "/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7", "PartitionObjectId": "6ac064a3-79d6-4a52-a3d3-f4311be5c28c", "PartitionURI": "/vmrest/partitions/6ac064a3-79d6-4a52-a3d3-f4311be5c28c", "UseDynamicNameSearchWeight": "false", "LdapType": "0", "EnableMessageBookmark": "false", "SayTotalDraftMsg": "false", "EnableSaveDraft": "false", "RetainUrgentMessageFlag": "false", "SayMessageLength": "false", "CreateSmtpProxyFromCorp": "false", "AutoAdvanceMsgs": "false", "SaySenderAfter": "false", "SaySenderExtensionAfter": "false", "SayMsgNumberAfter": "true", "SayAniAfter": "false", "SayMessageLengthAfter": "false", "UserTemplateRolesURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplateroles", "UserTemplateNotificationDevicesURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplatenotificationdevices", "TemplateExternalServiceAccountsURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/templateexternalserviceaccounts", "UserTemplateWebPasswordURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/credential/password", "UserTemplateVoicePinURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/credential/pin", "UserTemplateMessageActionURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplatemessageactions", "DefaultUserTemplateURI": "/vmrest/userdefaulttemplates" }, { "URI": "/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7", "ObjectId": "7426a16f-e735-4854-9ab6-7463728ea4f7", "UseDefaultLanguage": "true", "UseDefaultTimeZone": "true", "Alias": "AdminTest", "DisplayName": "Admin test", "TimeZone": "4", "CreationTime": "2012-08-28T10:57:12Z", "CosObjectId": "362bf7f9-7cec-4f59-86dd-6c058a9100ef", "CosURI": "/vmrest/coses/362bf7f9-7cec-4f59-86dd-6c058a9100ef", "Language": "1033", "LocationObjectId": "3a403c9c-04c8-496a-ba76-23faaaae5a95", "LocationURI": "/vmrest/locations/connectionlocations/3a403c9c-04c8-496a-ba76-23faaaae5a95", "AddressMode": "0", "ClockMode": "0", "ConversationTui": "SubMenu", "GreetByName": "true", "ListInDirectory": "true", "IsVmEnrolled": "true", "SayCopiedNames": "true", "SayDistributionList": "true", "SayMsgNumber": "true", Cisco Unity Connection Provisioning Interface (CUPI) API 356 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 389#

chunk 355

"SaySender": "true", "SayTimestampAfter": "true", "SayTimestampBefore": "false", "SayTotalNew": "false", "SayTotalNewEmail": "false", "SayTotalNewFax": "false", "SayTotalNewVoice": "true", "SayTotalReceipts": "false", "SayTotalSaved": "true", "Speed": "100", "MediaSwitchObjectId": "0d15753c-e1b4-4865-b00b-999a1ccf56ce", "PhoneSystemURI": "/vmrest/phonesystems/0d15753c-e1b4-4865-b00b-999a1ccf56ce", "Undeletable": "false", "UseBriefPrompts": "false", "Volume": "50", "EnAltGreetDontRingPhone": "false", "EnAltGreetPreventSkip": "false", "EnAltGreetPreventMsg": "false", "EncryptPrivateMessages": "false", "DeletedMessageSortOrder": "2", "SayAltGreetWarning": "false", "SaySenderExtension": "false", "SayAni": "false", "ExitCallActionObjectId": "38d9d3d2-2f70-4e4c-a3bd-54c8e96df9f6", "CallAnswerTimeout": "4", "CallHandlerObjectId": "ee01a097-2c78-4f36-9400-c0a6e0159419", "CallhandlerURI": "/vmrest/callhandlerprimarytemplates/ee01a097-2c78-4f36-9400-c0a6e0159419", "DisplayNameRule": "1", "DoesntExpire": "false", "CantChange": "false", "MailboxStoreObjectId": "6d2eb9ad-3caf-41d2-b3db-4451d95057fe", "SavedMessageStackOrder": "1234567", "NewMessageStackOrder": "1234567", "MessageLocatorSortOrder": "1", "SavedMessageSortOrder": "2", "NewMessageSortOrder": "1", "MessageTypeMenu": "false", "EnablePersonalRules": "true", "RecordUnknownCallerName": "true", "RingPrimaryPhoneFirst": "false", "PromptSpeed": "100", "ExitAction": "2", "ExitTargetConversation": "PHGreeting", "ExitTargetHandlerObjectId": "708d5a59-95bb-4804-979b-c56b2f7d719a", "RepeatMenu": "1", "FirstDigitTimeout": "5000", "InterdigitDelay": "3000", "PromptVolume": "50", "DelayAfterGreeting": "0", "AddressAfterRecord": "false", "ConfirmDeleteMessage": "false", "ConfirmDeleteDeletedMessage": "false", "ConfirmDeleteMultipleMessages": "true", "IsClockMode24Hour": "false", "RouteNDRToSender": "true", "NotificationType": "0", "SendReadReceipts": "1", "ReceiveQuota": "2147483647", "SendQuota": "2147483647", "WarningQuota": "2147483647", "IsSetForVmEnrollment": "true", "VoiceNameRequired": "false", Cisco Unity Connection Provisioning Interface (CUPI) API 357 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 390#

chunk 356

"SendBroadcastMsg": "false", "UpdateBroadcastMsg": "false", "ConversationVui": "VuiStart", "SpeechCompleteTimeout": "0", "SpeechIncompleteTimeout": "750", "UseVui": "false", "SkipPasswordForKnownDevice": "false", "JumpToMessagesOnLogin": "true", "EnableMessageLocator": "false", "MessageAgingPolicyObjectId": "a4b9216a-9360-4f9b-8937-cc66fba0ebbe", "MessageAgingPolicyURI": "/vmrest/messageagingpolicies/a4b9216a-9360-4f9b-8937-cc66fba0ebbe", "AssistantRowsPerPage": "5", "InboxMessagesPerPage": "20", "InboxAutoRefresh": "15", "InboxAutoResolveMessageRecipients": "true", "PcaAddressBookRowsPerPage": "5", "ReadOnly": "false", "EnableTts": "true", "ConfirmationConfidenceThreshold": "60", "AnnounceUpcomingMeetings": "60", "SpeechConfidenceThreshold": "40", "SpeechSpeedVsAccuracy": "50", "SpeechSensitivity": "50", "EnableVisualMessageLocator": "false", "ContinuousAddMode": "false", "NameConfirmation": "false", "CommandDigitTimeout": "1500", "SaveMessageOnHangup": "false", "SendMessageOnHangup": "1", "SkipForwardTime": "12345", "SkipReverseTime": "54321", "UseShortPollForCache": "false", "SearchByExtensionSearchSpaceObjectId": "a3933806-a995-443e-8704-498c03377bf7", "SearchByExtensionSearchSpaceURI": "/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7", "SearchByNameSearchSpaceObjectId": "a3933806-a995-443e-8704-498c03377bf7", "SearchByNameSearchSpaceURI": "/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7", "PartitionObjectId": "6ac064a3-79d6-4a52-a3d3-f4311be5c28c", "PartitionURI": "/vmrest/partitions/6ac064a3-79d6-4a52-a3d3-f4311be5c28c", "UseDynamicNameSearchWeight": "false", "LdapType": "0", "EnableMessageBookmark": "false", "SayTotalDraftMsg": "false", "EnableSaveDraft": "false", "RetainUrgentMessageFlag": "false", "SayMessageLength": "false", "CreateSmtpProxyFromCorp": "false", "AutoAdvanceMsgs": "false", "SaySenderAfter": "false", "SaySenderExtensionAfter": "false", "SayMsgNumberAfter": "true", "SayAniAfter": "false", "SayMessageLengthAfter": "false", "UserTemplateRolesURI": "/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/usertemplateroles", "UserTemplateNotificationDevicesURI": "/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/usertemplatenotificationdevices", Cisco Unity Connection Provisioning Interface (CUPI) API 358 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 391#

chunk 357

"TemplateExternalServiceAccountsURI": "/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/templateexternalserviceaccounts", "UserTemplateWebPasswordURI": "/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/credential/password", "UserTemplateVoicePinURI": "/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/credential/pin", "UserTemplateMessageActionURI": "/vmrest/usertemplates/7426a16f-e735-4854-9ab6-7463728ea4f7/usertemplatemessageactions", "DefaultUserTemplateURI": "/vmrest/userdefaulttemplates" } } Response Code: 200 Example 2 The following is an example of the GET request that lists the User Template as represented by <objectId>: https://<connection_server>/vmrest/usertemplates/<objectId> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 359 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 392#

chunk 358

{ "URI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d", "ObjectId": "885dd0af-bdb1-401f-b4e9-6bd9fc8d594d", "UseDefaultLanguage": "true", "UseDefaultTimeZone": "true", "Alias": "voicemailusertemplate", "DisplayName": "Voice Mail User Template", "TimeZone": "4", "CreationTime": "2012-07-29T14:10:26Z", "CosObjectId": "362bf7f9-7cec-4f59-86dd-6c058a9100ef", "CosURI": "/vmrest/coses/362bf7f9-7cec-4f59-86dd-6c058a9100ef", "Language": "1033", "LocationObjectId": "3a403c9c-04c8-496a-ba76-23faaaae5a95", "LocationURI": "/vmrest/locations/connectionlocations/3a403c9c-04c8-496a-ba76-23faaaae5a95", "AddressMode": "0", "ClockMode": "0", "ConversationTui": "SubMenu", "GreetByName": "true", "ListInDirectory": "true", "IsVmEnrolled": "true", "SayCopiedNames": "true", "SayDistributionList": "true", "SayMsgNumber": "true", "SaySender": "true", "SayTimestampAfter": "true", "SayTimestampBefore": "false", "SayTotalNew": "false", "SayTotalNewEmail": "false", "SayTotalNewFax": "false", "SayTotalNewVoice": "true", "SayTotalReceipts": "false", "SayTotalSaved": "true", "Speed": "100", "MediaSwitchObjectId": "0d15753c-e1b4-4865-b00b-999a1ccf56ce", "PhoneSystemURI": "/vmrest/phonesystems/0d15753c-e1b4-4865-b00b-999a1ccf56ce", "Undeletable": "true", "UseBriefPrompts": "false", "Volume": "50", "EnAltGreetDontRingPhone": "false", "EnAltGreetPreventSkip": "false", "EnAltGreetPreventMsg": "false", "EncryptPrivateMessages": "false", "DeletedMessageSortOrder": "2", "SayAltGreetWarning": "false", "SaySenderExtension": "false", "SayAni": "false", "ExitCallActionObjectId": "6352cf7d-89f8-4748-bac5-8878889c3d56", "CallAnswerTimeout": "4", "CallHandlerObjectId": "c9069370-3631-4d36-a53a-1ac4e8d8f444", "CallhandlerURI": "/vmrest/callhandlerprimarytemplates/c9069370-3631-4d36-a53a-1ac4e8d8f444", "DisplayNameRule": "1", "DoesntExpire": "false", "CantChange": "false", "MailboxStoreObjectId": "6d2eb9ad-3caf-41d2-b3db-4451d95057fe", "SavedMessageStackOrder": "1234567", "NewMessageStackOrder": "1234567", "MessageLocatorSortOrder": "1", "SavedMessageSortOrder": "2", "NewMessageSortOrder": "1", "MessageTypeMenu": "false", "EnablePersonalRules": "true", Cisco Unity Connection Provisioning Interface (CUPI) API 360 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 393#

chunk 359

"RecordUnknownCallerName": "true", "RingPrimaryPhoneFirst": "false", "PromptSpeed": "100", "ExitAction": "2", "ExitTargetConversation": "PHGreeting", "ExitTargetHandlerObjectId": "708d5a59-95bb-4804-979b-c56b2f7d719a", "RepeatMenu": "1", "FirstDigitTimeout": "5000", "InterdigitDelay": "3000", "PromptVolume": "50", "AddressAfterRecord": "false", "ConfirmDeleteMessage": "false", "ConfirmDeleteDeletedMessage": "false", "ConfirmDeleteMultipleMessages": "true", "IsClockMode24Hour": "false", "RouteNDRToSender": "true", "NotificationType": "0", "SendReadReceipts": "1", "ReceiveQuota": "2147483647", "SendQuota": "2147483647", "WarningQuota": "2147483647", "IsSetForVmEnrollment": "true", "VoiceNameRequired": "false", "SendBroadcastMsg": "false", "UpdateBroadcastMsg": "false", "ConversationVui": "VuiStart", "SpeechCompleteTimeout": "0", "SpeechIncompleteTimeout": "750", "UseVui": "false", "SkipPasswordForKnownDevice": "false", "JumpToMessagesOnLogin": "true", "EnableMessageLocator": "false", "MessageAgingPolicyObjectId": "a4b9216a-9360-4f9b-8937-cc66fba0ebbe", "MessageAgingPolicyURI": "/vmrest/messageagingpolicies/a4b9216a-9360-4f9b-8937-cc66fba0ebbe", "AssistantRowsPerPage": "5", "InboxMessagesPerPage": "20", "InboxAutoRefresh": "15", "InboxAutoResolveMessageRecipients": "true", "PcaAddressBookRowsPerPage": "5", "ReadOnly": "false", "EnableTts": "true", "ConfirmationConfidenceThreshold": "60", "AnnounceUpcomingMeetings": "60", "SpeechConfidenceThreshold": "40", "SpeechSpeedVsAccuracy": "50", "SpeechSensitivity": "50", "EnableVisualMessageLocator": "false", "ContinuousAddMode": "false", "NameConfirmation": "false", "CommandDigitTimeout": "1500", "SaveMessageOnHangup": "false", "SendMessageOnHangup": "1", "SkipForwardTime": "12345", "SkipReverseTime": "54321", "UseShortPollForCache": "false", "SearchByExtensionSearchSpaceObjectId": "a3933806-a995-443e-8704-498c03377bf7", "SearchByExtensionSearchSpaceURI": "/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7", "SearchByNameSearchSpaceObjectId": "a3933806-a995-443e-8704-498c03377bf7", "SearchByNameSearchSpaceURI": "/vmrest/searchspaces/a3933806-a995-443e-8704-498c03377bf7", Cisco Unity Connection Provisioning Interface (CUPI) API 361 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Generic Examples to List User Templates

Page 394#

chunk 360

"PartitionObjectId": "6ac064a3-79d6-4a52-a3d3-f4311be5c28c", "PartitionURI": "/vmrest/partitions/6ac064a3-79d6-4a52-a3d3-f4311be5c28c", "UseDynamicNameSearchWeight": "false", "LdapType": "0", "EnableMessageBookmark": "false", "SayTotalDraftMsg": "false", "EnableSaveDraft": "false", "RetainUrgentMessageFlag": "false", "SayMessageLength": "false", "CreateSmtpProxyFromCorp": "false", "AutoAdvanceMsgs": "false", "SaySenderAfter": "false", "SaySenderExtensionAfter": "false", "SayMsgNumberAfter": "true", "SayAniAfter": "false", "SayMessageLengthAfter": "false", "UserTemplateRolesURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplateroles", "UserTemplateNotificationDevicesURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplatenotificationdevices", "TemplateExternalServiceAccountsURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/templateexternalserviceaccounts", "UserTemplateWebPasswordURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/credential/password", "UserTemplateVoicePinURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/credential/pin", "UserTemplateMessageActionURI": "/vmrest/usertemplates/885dd0af-bdb1-401f-b4e9-6bd9fc8d594d/usertemplatemessageactions", "DefaultUserTemplateURI": "/vmrest/userdefaulttemplates" } Response Code: 200 Adding User Template Example 1 The following is an example of the POST request that adds the User Templates: https://<connection_server>/vmrest/usertemplates?templateAlias=voicemailusertemplate The following is an example of the response from the above POST request and the actual response will depend upon the information given by you: <UserTemplate> <DisplayName>DemoUserTemplate</DisplayName> <Alias>DemoUserTemplate</Alias> </UserTemplate> Response Code: 201 Example 2 Cisco Unity Connection Provisioning Interface (CUPI) API 362 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Adding User Template

Page 395#

chunk 361

The following is a JSON example of the POST request that adds the User Templates: https://<connection_server>/vmrest/usertemplates?templateAlias=voicemailusertemplate The following is an example of the response from the above POST request and the actual response will depend upon the information given by you: { "Alias": "adminTemplate1", "DisplayName": "Admin Voice Mail Template" } Response Code: 201 Modifying a User Template Example 1 The following is an example of the PUT request that modifies the user template as represented by <objectId>: https://<connection_server>/vmrest/usertemplate/<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <UserTemplate> <SendBroadcastMsg>true</SendBroadcastMsg> <GreetByName>true</GreetByName> <ListInDirectory>true</ListInDirectory> <IsVmEnrolled>true</IsVmEnrolled> <SayCopiedNames>true</SayCopiedNames> <SayDistributionList>true</SayDistributionList> <SayMsgNumber>true</SayMsgNumber> </UserTemplate> Response Code: 204 Example 2 The following is a JSON example of the PUT request that modifies the user template as represented by <objectId>: https://<connection_server>/vmrest/usertemplate/<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: { "SendBroadcastMsg" : "true", "GreetByName" : "true", "ListInDirectory" : "true", "IsVmEnrolled" : "true" "SayCopiedNames" : "true", "SayDistributionList" : "true", "SayMsgNumber" :"true" } Cisco Unity Connection Provisioning Interface (CUPI) API 363 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Modifying a User Template

Page 396#

chunk 362

Response Code: 204 You can also modify the following for a user template: • User Template Voicemail PIN • User Template Transfer Options • User Template Caller Input • User Template Greetings • User Template Notification Devices • User Template External Services • User Template External Service Accounts Deleting User Templates The following is an example of the DELETE request that deletes a User Template as represented by <objectId>: https://<connection_server>/vmrest/usertemplates/<objectId> The output for this request returns the successful response code. Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API -- Default User Template About Default Templates This section contains information on how to list and modify default User Templates. Cisco Unity Connection comes with the following predefined user templates, which you can modify but not delete: • Voice Mail User Template • Administrator Template Listing Default Templates Example 1 The following is an example of the GET request that lists the default User Templates: https://<connection_server>/vmrest/userdefaulttemplates The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 364 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Deleting User Templates

Page 397#

chunk 363

<DefaultUserTemplates total="2"> <DefaultUserTemplate> <URI> /vmrest/defaultusertemplates/48caecef-6f7a-47aa-91cb-019b761fce69 </URI> <ObjectId>48caecef-6f7a-47aa-91cb-019b761fce69</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Alias>administratortemplate1</Alias> <City/> <State/> <Country>US</Country> <PostalCode/> <Department/> <Building/> <Address/> <DisplayName>Administrator Template</DisplayName> <BillingId/> <TimeZone>190</TimeZone> <CreationTime>2012-07-09T07:27:43Z</CreationTime> <Language>1033</Language> <LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId> <LocationURI> /vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0 </LocationURI> <DisplayNameRule>1</DisplayNameRule> <DoesntExpire>false</DoesntExpire> <CantChange>false</CantChange> <RouteNDRToSender>true</RouteNDRToSender> <Undeletable>true</Undeletable> <ReadOnly>false</ReadOnly> <PartitionObjectId>c2ecf6c5-b3c2-45f4-99fc-e065056501d5</PartitionObjectId> <PartitionURI> /vmrest/partitions/c2ecf6c5-b3c2-45f4-99fc-e065056501d5 </PartitionURI> <LdapType>0</LdapType> <CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp> <DefaultUserTemplateWebPasswordURI> /vmrest/usertemplates/48caecef-6f7a-47aa-91cb-019b761fce69/credential/password </DefaultUserTemplateWebPasswordURI> <DefaultUserTemplateVoicePinURI> /vmrest/usertemplates/48caecef-6f7a-47aa-91cb-019b761fce69/credential/pin </DefaultUserTemplateVoicePinURI> </DefaultUserTemplate> <DefaultUserTemplate> <URI> /vmrest/defaultusertemplates/bc0eedd5-0483-4362-a091-5f89d27b7b3c </URI> <ObjectId>bc0eedd5-0483-4362-a091-5f89d27b7b3c</ObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Alias>voicemailusertemplate</Alias> <DisplayName>Voice Mail User Template</DisplayName> <TimeZone>190</TimeZone> <CreationTime>2012-07-09T07:27:44Z</CreationTime> <CosObjectId>305a9699-03a8-41d0-9215-0fcd32d600b0</CosObjectId> <CosURI>/vmrest/coses/305a9699-03a8-41d0-9215-0fcd32d600b0</CosURI> <Language>1033</Language> <LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId> <LocationURI> /vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0 </LocationURI> <DisplayNameRule>1</DisplayNameRule> <DoesntExpire>false</DoesntExpire> Cisco Unity Connection Provisioning Interface (CUPI) API 365 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing Default Templates

Page 398#

chunk 364

<CantChange>false</CantChange> <MailboxStoreObjectId>15dd71c8-2ba1-4efa-a34e-01613a0d2ef7</MailboxStoreObjectId> <RouteNDRToSender>true</RouteNDRToSender> <Undeletable>true</Undeletable> <ReadOnly>false</ReadOnly> <PartitionObjectId>c2ecf6c5-b3c2-45f4-99fc-e065056501d5</PartitionObjectId> <PartitionURI> /vmrest/partitions/c2ecf6c5-b3c2-45f4-99fc-e065056501d5 </PartitionURI> <LdapType>0</LdapType> <CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp> <DefaultUserTemplateWebPasswordURI> /vmrest/usertemplates/bc0eedd5-0483-4362-a091-5f89d27b7b3c/credential/password </DefaultUserTemplateWebPasswordURI> <DefaultUserTemplateVoicePinURI> /vmrest/usertemplates/bc0eedd5-0483-4362-a091-5f89d27b7b3c/credential/pin </DefaultUserTemplateVoicePinURI> </DefaultUserTemplate> </DefaultUserTemplates> Response code: 200 Example 2 The following is an example of the GET request that lists a specified default User Templates: https://<connection_server>/vmrest/userdefaulttemplates/<objectId> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 366 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing Default Templates

Page 399#

chunk 365

<DefaultUserTemplate> <URI> /vmrest/defaultusertemplates/48caecef-6f7a-47aa-91cb-019b761fce69 </URI> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Alias>administratortemplate1</Alias> <City/> <State/> <Country>US</Country> <PostalCode/> <Department/> <Building/> <Address/> <DisplayName>Administrator Template</DisplayName> <BillingId/> <TimeZone>190</TimeZone> <CreationTime>2012-07-09T07:27:43Z</CreationTime> <Language>1033</Language> <LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId> <LocationURI> /vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0 </LocationURI> <DisplayNameRule>1</DisplayNameRule> <DoesntExpire>false</DoesntExpire> <CantChange>false</CantChange> <RouteNDRToSender>true</RouteNDRToSender> <Undeletable>true</Undeletable> <ReadOnly>false</ReadOnly> <PartitionObjectId>c2ecf6c5-b3c2-45f4-99fc-e065056501d5</PartitionObjectId> <PartitionURI> /vmrest/partitions/c2ecf6c5-b3c2-45f4-99fc-e065056501d5 </PartitionURI> <LdapType>0</LdapType> <CreateSmtpProxyFromCorp>false</CreateSmtpProxyFromCorp> <DefaultUserTemplateWebPasswordURI> /vmrest/usertemplates/48caecef-6f7a-47aa-91cb-019b761fce69/credential/password </DefaultUserTemplateWebPasswordURI> <DefaultUserTemplateVoicePinURI> /vmrest/usertemplates/48caecef-6f7a-47aa-91cb-019b761fce69/credential/pin </DefaultUserTemplateVoicePinURI> </DefaultUserTemplate> Response code: 200 Modifying Default Templates The following is an example of the PUT request that modifies the Default User Templates: https://<connection_server>/vmrest/userdefaulttemplates/<objectId> The actual response will depend upon the information given by you. <DefaultUserTemplate> <City>San Jose</City> <State>CA</State> <Country>US</Country> </DefaultUserTemplate> Cisco Unity Connection Provisioning Interface (CUPI) API 367 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Modifying Default Templates

Page 400#

chunk 366

Response code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template VoiceMail PIN Changing User Template Voicemail PIN The following is an example of the PUT request that modifies the user template Voicemail PIN represented by <objectId>: https://<connection_server>/vmrest/usertemplates/<objectId>/credential/pin The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <UserTemplateCredential> <Credentials>abcd@1234</Credentials> </UserTemplateCredential> Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Transfer Options About Transfer Options Every user template with a mailbox has an associated call handler template, and thus transfers options. Transfer Options are also referred to as Transfer Rules. Listing and Viewing The settings on each transfer option can be read by the GET command. Perform the following steps to list the transfer options for a user template: Step 1 Do the following GET command to list all the user templates: https://<connection_server>/vmrest/usertemplates Step 2 Do the following GET command to list the user template of your choice represented by the <usertemplate-id>: https://<connection_server>/vmrest/usertemplates/<objectId> Step 3 The following URI is the response from the above GET command: https://<connection_server>/vmrest/callhandlerprimarytemplates/<callhandlerprimarytemplates-id> Cisco Unity Connection Provisioning Interface (CUPI) API 368 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template VoiceMail PIN

Page 401#

chunk 367

Step 4 The following URI is the reponse from the above GET command: https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions What to do next Every user template and call handler template has three transfer options: • Standard • Off Hours • Alternate Each transfer option can be accessed through a GET request: • https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Alternate • https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/off%20Hours • https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Standard TimeExpires is the field that determines if a transfer option is enabled or disabled. To enable a transfer option, TimeExpires must be set to a future date, which is the date that the transfer option will expire (be disabled). To disable a transfer option, simply set TimeExpires to a date in the past. Also, if TimeExpires is set to null that means it is enabled indefinitely (however, note that currently CUPI offers no ability to set this field to null). TimeExpires is always treated as GMT. Any required time zone conversion is the responsibility of the client. Action is the field that determines if the transfer option will transfer calls to an extension or directly to the greetings. The Action field is a custom type. A value of 0 denotes that the call will be sent directly to the greetings. A value of 1 denotes that the call will be transferred to an extension. Several settings are specific to how the transfer option should transfer the call (assuming that the Action is set to 1): • TransferType • Extension • TransferRings TransferType determines whether the transfer will be released (a value of 0) or supervised (a value of 1). Extension indicates the extension that the call will transfer to. TransferRings is the number of times Connection will ring the extension before it considers the call a ring-no-answer (RNA), and pulls the call back to play the greeting. This value is only used when the TransferType is set to 1 (a supervised transfer). UsePrimaryExtension is a boolean that is a bit of an oddity. When the value is set to true, the Extension is set to the primary extension of the user. However, note the following caveat when using this field: if UsePrimaryExtension is set to true and the Extension field is set to a value in the same PUT, an error will be thrown. Because setting UsePrimaryExtension to true causes the Extension field to be set to a specific value, you cannot also explicitly set the Extension field in the same PUT; one or the other can occur, but not both. An error will also be thrown if UsePrimaryExtension is set to false and no value is given for the Extension field in the same PUT. In other words, if you set UsePrimaryExtension to false, you must provide a new Extension in the same PUT. Cisco Unity Connection Provisioning Interface (CUPI) API 369 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing

Page 402#

chunk 368

PersonalCallTransfer is a boolean that determines whether personal call transfer rules will be used instead of the basic transfer rules. If PersonalCallTransfer is set to true, then instead of using any of the settings of this transfer rule, the call will be sent to the personal call transfer rules of the user to be acted on. If PersonalCallTransfer is set to false, then the basic transfer rule is used. If you are using personal call transfer rules, set this to true; otherwise, leave it set to false. It's that simple. Creating Note that you cannot use CUPI to create transfer options. Updating To enable the Alternate transfer option until March 9, 2020, you would use the following PUT request: https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Alternate To disable the Alternate transfer option you would do a PUT request with the TimeExpires field set to a date in the past as in this example: Example 1 https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Alternate <?xml version="1.0" encoding="UTF-8"?> <TransferOption> <TimeExpires>1976-03-09 00:00:00.0</TimeExpires> </TransferOption> Response Code: 204 Example 2 https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/transferoptions/Alternate <?xml version="1.0" encoding="UTF-8"?> <TransferOption> <TransferHoldingMode>1</TransferHoldingMode> </TransferOption> Response Code: 204 Deleting Note that you cannot use CUPI to delete transfer options. Cisco Unity Connection Provisioning Interface (CUPI) API 370 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Creating

Page 403#

chunk 369

Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Input About Caller Input This page contains information on how to use the API to list and modify Caller Input. Caller input settings define actions that Cisco Unity Connection takes in response to phone keys pressed by callers. For more information on caller inputs, see Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Caller_Input_Keys Listing and Viewing Caller Input The following is an example of a GET that lists all caller inputs of all types for the specified user template: https://<connection_server>/vmrest/callhandlerprimarytemplates The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 371 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Caller Input

Page 404#

chunk 370

<MenuEntries total="12"> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/* </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>* </TouchtoneKey> <Locked>true</Locked> <Action>2</Action> <TargetConversation>SubSignIn</TargetConversation> <ObjectId>1d111b26-d50c-44a3-bfcc-0b60f2e3207a </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/# </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>#</TouchtoneKey> <Locked>true</Locked> <Action>5</Action> <ObjectId>3e3d796b-ffd3-4388-a2bf-b2cca2cf0b9c </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/0 </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>0</TouchtoneKey> <Locked>false</Locked> <Action>2</Action> <TargetConversation>PHTransfer</TargetConversation> <TargetHandlerObjectId>e4c32c78-42c6-495e-83c5-4a4a17c0cb7f</TargetHandlerObjectId> <ObjectId>050b1a62-b237-457d-a027-d2c3289eab20 </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/1 </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a -1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>1</TouchtoneKey> <Locked>false</Locked> <Action>0</Action> <ObjectId>31a8cba0-8deb-4266-b83b-57a6c1a33ebb </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/2 </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> Cisco Unity Connection Provisioning Interface (CUPI) API 372 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing Caller Input

Page 405#

chunk 371

<TouchtoneKey>2</TouchtoneKey> <Locked>false</Locked> <Action>0</Action> <ObjectId>f7e0cca3-e864-480b-bcd5-84f290587cbf </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/3 </URI><CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>3</TouchtoneKey> <Locked>false</Locked> <Action>0</Action> <ObjectId>910a7722-5cc1-4f98-b6b5-d9ac0c11440f </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/4 </URI><CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>4</TouchtoneKey> <Locked>false</Locked> <Action>0</Action> <ObjectId>da2588dc-557e-4671-892b-edde2987d4c0 </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/5 </URI><CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>5</TouchtoneKey> <Locked>false</Locked> <Action>0</Action> <ObjectId>15c55592-df99-46d0-9a96-19a6ecff2bd5 </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/6 </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>6</TouchtoneKey> <Locked>false</Locked> <Action>0</Action> <ObjectId>bdb6a884-269e-4aab-9ff7-997453e69642 </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/7 </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>7</TouchtoneKey> <Locked>false</Locked> Cisco Unity Connection Provisioning Interface (CUPI) API 373 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing Caller Input

Page 406#

chunk 372

<Action>2</Action> <TargetConversation>PHTransfer</TargetConversation> <TargetHandlerObjectId>b659a96c-6949-4d78-a899-93a2407baf28 </TargetHandlerObjectId> <ObjectId>11e69e5d-1223-4727-ad8c-1dbe3f8f8ce5 </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/8 </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>8</TouchtoneKey> <Locked>false</Locked> <Action>0</Action> <ObjectId>333a6147-cd06-4d71-9def-417cb70c8ebf </ObjectId> </MenuEntry> <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/9 </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>9</TouchtoneKey> <Locked>false</Locked> <Action>0</Action> <ObjectId>eb66e91d-2a82-425a-88f5-f2c058c2491e</ObjectId> </MenuEntry> </MenuEntries> Response Code: 200 Modifying a Caller Input The following is an example of the PUT request that modifies the caller input as represented by <callerinputId>: https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <MenuEntry> <URI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444/menuentries/* </URI> <CallHandlerObjectId>c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/c9069370-3631-4d36-a53a-1ac4e8d8f444 </CallhandlerURI> <TouchtoneKey>* </TouchtoneKey> <Locked>true</Locked> <Action>2</Action> <TargetConversation>SubSignIn</TargetConversation> <ObjectId>1d111b26-d50c-44a3-bfcc-0b60f2e3207a </ObjectId> </MenuEntry> Cisco Unity Connection Provisioning Interface (CUPI) API 374 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Modifying a Caller Input

Page 407#

chunk 373

Response Code: 204 Explanation of Data Fields The following chart lists all of the data fields available on Caller. Explanation/Comment Available Values Writable? Field Name ObjectId of the Device. All Read Only ObjectId Indicate the amount of time that Cisco Unity Connection waits for additional input after callers press a single key that is not locked. Default: 1500 0-10000 Read/Write OneKeyDelay Enable to simulate abbreviated extensions by using prepended digits for call handlers and user mailboxes. Default: false true/false Read/Write EnablePrependDigits Enter the digits that are prepended to any extension that a caller dials while listening to the greeting of the user. Data Length[40] Read/Write PrependDigits Edit caller input settings. Length(1) Read/Write TouchtoneKey Indicates whether Cisco Unity Connection allows additional input (Unlocked) or ignores additional input (Locked). Default: false true/false Read/Write Locked Indicates the action that Cisco Unity Connection takes when a caller presses the key. 2-Go to an object such as a call handler, directory handler or interview handler. 1- HangUp 0-ignore 6-RestartGreeting 8- Route from next calling route 5- Skip Greeting 4- Take message 7- Transfer to Alternate contact number Read/Write Action Cisco Unity Connection Provisioning Interface (CUPI) API 375 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Explanation of Data Fields

Page 408#

chunk 374

Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings Listing and Viewing The following GET allows users templates to listen to and modify their personal greeting: https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/usertemplategreetings The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 376 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Greetings

Page 409#

chunk 375

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <UserTemplateGreetings total="7"> <UserTemplateGreeting> <CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>1</PlayWhat> <RepromptDelay>20</RepromptDelay> <Reprompts>30</Reprompts> <TimeExpires>2012-10-06 09:25:00.0</TimeExpires> <GreetingType>Alternate</GreetingType> <AfterGreetingAction>2</AfterGreetingAction> <AfterGreetingTargetConversation>PHTransfer</AfterGreetingTargetConversation> <AfterGreetingTargetHandlerObjectId>9e96f34b-22bc-429a-8852-46fbceeff182</AfterGreetingTargetHandlerObjectId> <PlayRecordMessagePrompt>false</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> <EnablePersonalVideoRecording>false</EnablePersonalVideoRecording> <PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt> <EnAltGreetDontRingPhone>true</EnAltGreetDontRingPhone> <EnAltGreetPreventSkip>true</EnAltGreetPreventSkip> <EnAltGreetPreventMsg>true</EnAltGreetPreventMsg> <LanguageCode>1033</LanguageCode> </UserTemplateGreeting> <UserTemplateGreeting> <CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <TimeExpires>2020-10-06 09:25:00.0</TimeExpires> <GreetingType>Busy</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>true</EnableTransfer> <EnablePersonalVideoRecording>false</EnablePersonalVideoRecording> <PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt> <LanguageCode>1033</LanguageCode> </UserTemplateGreeting> <UserTemplateGreeting> <CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <GreetingType>Error</GreetingType> <AfterGreetingAction>6</AfterGreetingAction> <AfterGreetingTargetConversation>PHGreeting</AfterGreetingTargetConversation> <AfterGreetingTargetHandlerObjectId>08313019-91db-4aed-8ef3-af13a4a72e22</AfterGreetingTargetHandlerObjectId> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> <EnablePersonalVideoRecording>false</EnablePersonalVideoRecording> <PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt> Cisco Unity Connection Provisioning Interface (CUPI) API 377 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing

Page 410#

chunk 376

<LanguageCode>1033</LanguageCode> </UserTemplateGreeting> <UserTemplateGreeting> <CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <TimeExpires>2013-01-01 00:00:00.0</TimeExpires> <GreetingType>Internal</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>false</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> <EnablePersonalVideoRecording>false</EnablePersonalVideoRecording> <PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt> <LanguageCode>1033</LanguageCode> </UserTemplateGreeting> <UserTemplateGreeting> <CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <GreetingType>Off Hours</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> <EnablePersonalVideoRecording>false</EnablePersonalVideoRecording> <PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt> <LanguageCode>1033</LanguageCode> </UserTemplateGreeting> <UserTemplateGreeting> <CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <GreetingType>Standard</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> <EnablePersonalVideoRecording>false</EnablePersonalVideoRecording> <PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt> <LanguageCode>1033</LanguageCode> </UserTemplateGreeting> <UserTemplateGreeting> <CallHandlerObjectId>a254488a-7f96-4737-9df4-886e3f4b88af</CallHandlerObjectId> <CallhandlerURI>/vmrest/callhandlerprimarytemplates/a254488a-7f96-4737-9df4-886e3f4b88af</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> Cisco Unity Connection Provisioning Interface (CUPI) API 378 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing

Page 411#

chunk 377

<TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <GreetingType>Holiday</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> <EnablePersonalVideoRecording>false</EnablePersonalVideoRecording> <PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt> <LanguageCode>1033</LanguageCode> </UserTemplateGreeting> </UserTemplateGreetings> Response Code: 200 The {greeting type} can be any one of the following: • Standard • Alternate • Busy • Closed • Holiday • Error • Internal Each greeting can be accessed through the following various GET requests: • https://<connection_server>/vmrest/usertemplate/greetings/Alternate • https://<connection_server>/vmrest/usertemplate/greetings/Busy • https://<connection_server>/vmrest/usertemplate/greetings/Error • https://<connection_server>/vmrest/usertemplate/greetings/Internal • https://<connection_server>/vmrest/usertemplate/greetings/Off%20Hours • https://<connection_server>/vmrest/usertemplate/greetings/Standard • https://<connection_server>/vmrest/usertemplate/greetings/Holiday Creating Greetings Note that you cannot use CUPI to create Greetings. Modifying Greetings The following is an example of the PUT request that modifies the personal greeting as represented by <greetingtype>: https://<connection_server>/vmrest/callhandlerprimarytemplates/<objectId>/usertemplategreetings/<Greeting-type The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <UserTemplateGreeting> <EnableTransfer>true</EnableTransfer> <RepromptDelay>454354</RepromptDelay> <Reprompts>30</Reprompts> </UserTemplateGreeting> Cisco Unity Connection Provisioning Interface (CUPI) API 379 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Creating Greetings

Page 412#

chunk 378

Response Code: 204 Deleting Greetings Note that you cannot use CUPI to delete Greetings. Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Settings Notification Devices About Notification Devices This page contains information on how to use the API to create, list, update, and delete Notification Devices. Cisco Unity Connection supports four different types of Notification Devices: • Phone Devices • Pager Devices • HTML Devices • SMTP Devices The generic Notification Device resource contains the data fields that are common to most or all of the specialized Device resources, which in turn may contain additional data fields that are specific to certain Device resources. A listing of all data fields, including a description of what they mean and which specialized Device types support them, can be found later in this document. In order to create, update, or delete a Notification Device, an API user must use the appropriate specialized Device resource. In other words, an API user can retrieve all of a user's Notification Devices, but if they then want to update a particular Phone Device, they must do the update operation on the Phone Device resource, not the Notification Device resource. This will be explained in more detail below. The Notification Device resource and the four specialized Device resources contain data fields from the Device objects in the database, plus some data fields from the Notification Rule object. From an API user's perspective, this detail may not usually be important, but it is worth mentioning that the Device resources collapse two database objects into a single resource. This can be safely done because there is always a one-to-one mapping in the database of Notification Devices and Notification Rules. The factory default User Template for Voicemail Users contains five Notification Devices: three Phone Devices (Home, Work, and Mobile), one Pager Device, one HTML device, and one SMTP Device. Any of these default Notification Devices can be modified, and new Devices of any of four specialized types (phone, pager, HTML, and SMTP) can be created or deleted. Listing and Viewing Notification Devices Example 1 The following is an example of a GET that lists all Notification Devices of all types for the specified User Template: Cisco Unity Connection Provisioning Interface (CUPI) API 380 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Deleting Greetings

Page 413#

chunk 379

https://<connection-server>/vmrest/usertemplates/<objectId>/usertemplatenotificationdevices The following is the response from the above GET request. Notice that this list contains a mix of different types of specialized Devices, since the request was for a list of all Notification Devices. The Type field indicates the specialized Device type for each Notification Device (1 = Phone, 2 = Pager, 4 = SMTP, 8 = HTML). Cisco Unity Connection Provisioning Interface (CUPI) API 381 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing Notification Devices

Page 414#

chunk 380

<UserTemplateNotificationDevices total="7"> <UserTemplateNotificationDevice> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/22b1e3cc-f13d-4349-8811-a196132781a3</URI> <SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId> <UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI> <ObjectId>22b1e3cc-f13d-4349-8811-a196132781a3</ObjectId> <DisplayName>Pager</DisplayName> <Active>false</Active> <BusyRetryInterval>5</BusyRetryInterval> <Type>2</Type> <DialDelay>1</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <SendCount>true</SendCount> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>Pager</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>true</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>1</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </UserTemplateNotificationDevice> <UserTemplateNotificationDevice> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/d2e67ebc-a987-441d-a168-88d1d7dc49c2</URI> <SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId> <UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI> <ObjectId>d2e67ebc-a987-441d-a168-88d1d7dc49c2</ObjectId> <DisplayName>PagerDevice</DisplayName> <Active>false</Active> <BusyRetryInterval>5</BusyRetryInterval> <Type>2</Type> <DialDelay>1</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <SendCount>true</SendCount> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> Cisco Unity Connection Provisioning Interface (CUPI) API 382 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing Notification Devices

Page 415#

chunk 381

<DeviceName>Other</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>true</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>false</Undeletable> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>1</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </UserTemplateNotificationDevice> <UserTemplateNotificationDevice> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/53bd701a-7301-49d0-8404-9769b38094cd</URI> <SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId> <UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI> <ObjectId>53bd701a-7301-49d0-8404-9769b38094cd</ObjectId> <DisplayName>Work Phone</DisplayName> <Active>false</Active> <BusyRetryInterval>5</BusyRetryInterval> <Conversation>SubNotify</Conversation> <Type>1</Type> <DialDelay>1</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <SendCount>false</SendCount> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>Work Phone</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>false</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>0</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </UserTemplateNotificationDevice> <UserTemplateNotificationDevice> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/fa8d720c-7c03-4506-867f-780636b00c13</URI> <SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId> <UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI> <ObjectId>fa8d720c-7c03-4506-867f-780636b00c13</ObjectId> <DisplayName>Home Phone</DisplayName> <Active>false</Active> Cisco Unity Connection Provisioning Interface (CUPI) API 383 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing Notification Devices

Page 416#

chunk 382

<BusyRetryInterval>5</BusyRetryInterval> <Conversation>SubNotify</Conversation> <Type>1</Type> <DialDelay>1</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <SendCount>false</SendCount> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>Home Phone</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>false</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>0</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </UserTemplateNotificationDevice> <UserTemplateNotificationDevice> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/24cd2817-2911-4668-b740-24369c4b0d19</URI> <SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId> <UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI> <ObjectId>24cd2817-2911-4668-b740-24369c4b0d19</ObjectId> <DisplayName>Mobile Phone</DisplayName> <Active>false</Active> <BusyRetryInterval>5</BusyRetryInterval> <Conversation>SubNotify</Conversation> <Type>1</Type> <DialDelay>1</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <RingsToWait>4</RingsToWait> <RnaRetryInterval>15</RnaRetryInterval> <SendCount>false</SendCount> <WaitConnect>true</WaitConnect> <MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>Mobile Phone</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>false</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>0</SuccessRetryInterval> Cisco Unity Connection Provisioning Interface (CUPI) API 384 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing Notification Devices

Page 417#

chunk 383

<RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </UserTemplateNotificationDevice> <UserTemplateNotificationDevice> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/d6871a13-4680-428a-a839-afb6d3b46b6b</URI> <SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId> <UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI> <ObjectId>d6871a13-4680-428a-a839-afb6d3b46b6b</ObjectId> <DisplayName>SMTP</DisplayName> <Active>false</Active> <BusyRetryInterval>0</BusyRetryInterval> <Type>4</Type> <DialDelay>0</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>0</RetriesOnBusy> <RetriesOnRna>0</RetriesOnRna> <RingsToWait>0</RingsToWait> <RnaRetryInterval>0</RnaRetryInterval> <SendCount>true</SendCount> <WaitConnect>false</WaitConnect> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> <DeviceName>SMTP</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>true</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>0</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </UserTemplateNotificationDevice> <UserTemplateNotificationDevice> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/9f2f0ce2-0567-421a-bd89-973ceecb8518</URI> <SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId> <UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI> <ObjectId>9f2f0ce2-0567-421a-bd89-973ceecb8518</ObjectId> <DisplayName>HTML</DisplayName> <Active>false</Active> <BusyRetryInterval>0</BusyRetryInterval> <Type>8</Type> <DialDelay>0</DialDelay> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <RetriesOnBusy>0</RetriesOnBusy> <RetriesOnRna>0</RetriesOnRna> <RingsToWait>0</RingsToWait> <RnaRetryInterval>0</RnaRetryInterval> <SendCount>false</SendCount> <SmtpAddress>aaaa</SmtpAddress> <WaitConnect>false</WaitConnect> <TransmitForcedAuthorizationCode>false</TransmitForcedAuthorizationCode> Cisco Unity Connection Provisioning Interface (CUPI) API 385 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Listing and Viewing Notification Devices

Page 418#

chunk 384

<DeviceName>HTML</DeviceName> <PromptForId>false</PromptForId> <SendCallerId>false</SendCallerId> <SendPcaLink>false</SendPcaLink> <Undeletable>true</Undeletable> <DetectTransferLoop>false</DetectTransferLoop> <SuccessRetryInterval>0</SuccessRetryInterval> <RetriesOnSuccess>0</RetriesOnSuccess> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </UserTemplateNotificationDevice> </UserTemplateNotificationDevices> Response Code: 200 Example 2 The following is an example of a GET that lists a particular Notification Devices for the specified User Template: https://<connection_server>/vmrest/usertemplates/<objectId>/usertemplatenotificationdevices/<objectId> The following is the response from the above GET request. <UserTemplateNotificationDevice> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/usertemplatenotificationdevices/9f2f0ce2-0567-421a-bd89-973ceecb8518</URI> <SubscriberObjectId>85a845d3-063d-4641-aa70-8b536282bffb</SubscriberObjectId> <UserURI>/vmrest/users/85a845d3-063d-4641-aa70-8b536282bffb</UserURI> <ObjectId>9f2f0ce2-0567-421a-bd89-973ceecb8518</ObjectId> <DisplayName>HTML</DisplayName> <Active>false</Active> <Type>8</Type> <MaxBody>512</MaxBody> <MaxSubject>64</MaxSubject> <SmtpAddress>aaaa</SmtpAddress> <DeviceName>HTML</DeviceName> <Undeletable>true</Undeletable> <EventList>NewVoiceMail</EventList> <ScheduleSetObjectId>a884af0a-dd5f-4597-8bc7-31a61e8b612a</ScheduleSetObjectId> <InitialDelay>0</InitialDelay> <RepeatInterval>0</RepeatInterval> <RepeatNotify>false</RepeatNotify> </UserTemplateNotificationDevice> <pre> Response Code: 200 Adding a New Notification Device This section contains information on how to create notification devices: • Adding Pager Notification Device • Adding Phone Notification Device • Adding HTML Notification Device Cisco Unity Connection Provisioning Interface (CUPI) API 386 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Adding a New Notification Device

Page 419#

chunk 385

• Adding SMTP Notification Device • Adding Pager Notification Device Adding Pager Notification Device The following is an example of the POST request that adds a Pager Notification Device: https://<connection_server>/vmrest/usertemplates/<objectId>/notificationdevices/<objectId> The actual response will depend upon the information given by you. <UserTemplatePagerDevice> <DisplayName>pager1</DisplayName> <MediaSwitchObjectId>2b6324a2-d66f-4f25-9572-decf88c9a0b7</MediaSwitchObjectId> <PhoneNumber>5656</PhoneNumber> </UserTemplatePagerDevice> Response Code: 201 Adding Phone Notification Device The following is an example of the POST request that adds a Phone Notification Device: https://<connection_server>/vmrest/usertemplates/<objectId>/notificationdevices/<objectId> The actual response will depend upon the information given by you. <UserTemplatePhoneDevice> <DisplayName>pager1</DisplayName> <MediaSwitchObjectId>2b6324a2-d66f-4f25-9572-decf88c9a0b7</MediaSwitchObjectId> <PhoneNumber>5656</PhoneNumber> </UserTemplatePhoneDevice> Response Code: 201 Adding HTML Notification Device The following is an example of the POST request that adds a HTML Notification Device: https://<connection_server>/vmrest/usertemplates/<objectId>/notificationdevices/<objectId> The actual response will depend upon the information given by you. <UserTemplateHtmlDevice> <DisplayName>Html</DisplayName> < SmtpAddress> a@cisco.com</SmtpAddress> <CallbackNumber>1111</CallbackNumber> </UserTemplateHtmlDevice> Response Code: 201 Cisco Unity Connection Provisioning Interface (CUPI) API 387 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Adding Pager Notification Device

Page 420#

chunk 386

Adding SMTP Notification Device The following is an example of the POST request that adds a HTML Notification Device: https://<connection_server>/vmrest/usertemplates/<objectId>/notificationdevices/<objectId> The actual response will depend upon the information given by you. <UserTemplateSmtpDevice> <DisplayName>SMTP</DisplayName> <SmtpAddress> a@cisco.com</SmtpAddress> <PhoneNumber>5656</PhoneNumber> </UserTemplateSmtpDevice> Response Code: 201 Modifying Notification Device The following is an example of the PUT request that modifies a Notification Device as represented by <objectId>: https://<connection_server>/vmrest/usertemplates/<objectId>/usertemplatenotificationdevices/<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <UserTemplatePhoneDevice> <Active>false</Active> <RepeatInterval>0</RepeatInterval> <RepeatNotify>true</RepeatNotify> <PhoneNumber>123456</PhoneNumber> <AfterDialDigits>11111</AfterDialDigits> <DialDelay>0</DialDelay> <RingsToWait>100</RingsToWait> <RetriesOnBusy>4</RetriesOnBusy> <RetriesOnRna>4</RetriesOnRna> <BusyRetryInterval>1</BusyRetryInterval> <RnaRetryInterval>100</RnaRetryInterval> <RetriesOnRna>100</RetriesOnRna> <MediaSwitchObjectId>1fb12b1c-cf14-4634-b73d-9b9c58ecdf68</MediaSwitchObjectId> <PromptForId>false</PromptForId> <EventList>NewUrgentFax,UrgentDispatchMessage</EventList> </UserTemplatePhoneDevice> Response Code: 204 Deleting a New Notification Device The following is an example of the DELETE request that deletes a Notification Device as represented by <notificationdeviceid>: https://<connection_server>/vmrest/usertemplates/<objectId>/usertemplatenotificationdevices/<objectId> Cisco Unity Connection Provisioning Interface (CUPI) API 388 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Adding SMTP Notification Device

Page 421#

chunk 387

The output for this request returns the successful response code. Response Code: 204 Explanation of Data Fields Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API-_Notification_Devices#Explanation_of_Data_Fields Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Settings Video Service Account Listing the User Template Video Service Account The following is an example of GET request that displays user template settings video service account: GET: https://<server-ip>/vmrest/usertemplates/981d804d-7a81-4171-b33e-8a4b12e0c309/usertemplatevideoserviceaccounts The following is an example of response from the above GET request and the actual result will depend upon the information that has been provided by you: 200 OK <UserTemplateVideoServiceAccounts total="1"> <UserTemplateVideoServiceAccount> <URI>/vmrest/usertemplates/981d804d-7a81-4171-b33e-8a4b12e0c309/usertemplatevideoserviceaccount/88397230-91a7-4248-910d-11e9fd5a8dc3</URI> <ConnectorFactoryObjectId>bf9e3b86-4306-4da3-a958-40f9197c99bd</ConnectorFactoryObjectId> <IsConnectorMapped>true</IsConnectorMapped> <ObjectId>88397230-91a7-4248-910d-11e9fd5a8dc3</ObjectId> <UserTemplateObjectId>981d804d-7a81-4171-b33e-8a4b12e0c309</UserTemplateObjectId> <UserTemplateURI>/vmrest/usertemplates/981d804d-7a81-4171-b33e-8a4b12e0c309</UserTemplateURI> <ConnectorFactoryName>test</ConnectorFactoryName> <MediaServerType>0</MediaServerType> </UserTemplateVideoServiceAccount> </UserTemplateVideoServiceAccounts> JSON Example The following is an example to list a new video service template: Request URI: GET: https://<connection-ip-address>/vmrest/usertemplates/<TemplateObjectid>/usertemplatevideoserviceaccounts The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 389 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Explanation of Data Fields

Page 422#

chunk 388

200 Ok { "UserTemplateVideoServiceAccounts": { "-total": "1", "UserTemplateVideoServiceAccount": { "URI": "/vmrest/usertemplates/b98c46a4-ceaa-43df-bac6-4bd0620dc904/usertemplatevideoserviceaccounts/56b22a57-ffdc-4056-a5a9-5aa1d0987271", "ConnectorFactoryObjectId": "dbd26014-fe57-4d00-bd5a-a1df1bdae6a2", "IsConnectorMapped": "true", "ObjectId": "56b22a57-ffdc-4056-a5a9-5aa1d0987271", "UserTemplateObjectId": "b98c46a4-ceaa-43df-bac6-4bd0620dc904", "UserTemplateURI": "/vmrest/usertemplates/b98c46a4-ceaa-43df-bac6-4bd0620dc904", "ConnectorFactoryName": "video", "MediaServerType": "0" } } } Creating the User Template Video Service Account The following is an example of POST request that can be used to create a new user template video service account: POST: https://<server-ip>/vmrest/usertemplates/<templateobjectid>/usertemplatevideoserviceaccounts Request Body: <UserTemplateVideoServiceAccount> <ConnectorFactoryObjectId>bf9e3b86-4306-4da3-a958-40f9197c99bd</ConnectorFactoryObjectId> <IsConnectorMapped>true</IsConnectorMapped> <ConnectorFactoryName>test</ConnectorFactoryName> <MediaServerType>0</MediaServerType> </UserTemplateVideoServiceAccount> Response Code: 201 OK The following is the response from the above POST request and the actual response will depend upon the information given by you: /vmrest/usertemplates/981d804d-7a81-4171-b33e-8a4b12e0c309/usertemplatevideoserviceaccount/88397230-91a7-4248-910d-11e9fd5a8dc3 JSON Example The following is an example to create a video service template: Request URI: POST:https://<connection-ip-address>/vmrest/usertemplates/<TemplateObjectid>/usertemplatevideoserviceaccounts Accept: application/json Content-type: application/json The following is an example of the above POST request: Cisco Unity Connection Provisioning Interface (CUPI) API 390 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Creating the User Template Video Service Account

Page 423#

chunk 389

{ "TemplateVideoService": { "ConnectorFactoryObjectId": "dbd26014-fe57-4d00-bd5a- a1df1bdae6a2", "ConnectorFactoryName": "myservice" } } The following is the response from the above POST request: /vmrest/usertemplates/<TemplateObjectId>/ usertemplatevideoserviceaccounts /<TemplateObjectid>/ Updating the User Template Video Service Account The following is an example of the PUT request to update the user template video service account: PUT: https://<server-ip>/vmrest/usertemplates/<templateobjectid>/usertemplatevideoserviceaccounts/<objectid> Request Body: <UserTemplateVideoServiceAccount> <ConnectorFactoryObjectId>bf9e3b86-4306-4da3-a958-40f9197c99bd</ConnectorFactoryObjectId> <IsConnectorMapped>true</IsConnectorMapped> <ConnectorFactoryName>test</ConnectorFactoryName> <MediaServerType>0</MediaServerType> </UserTemplateVideoServiceAccount> Response Code: 204 OK JSON Example The following is an example to update a video service template: Request URI: PUT: https://<connection-ip-address>/vmrest/usertemplates/<TemplateObjectid>/usertemplatevideoserviceaccounts/<ObjectId> Accept: application/json Content-type: application/json The following is an example of the PUT request: { "TemplateVideoService": { "IsConnectorMapped": "false ", "ConnectorFactoryName": "myservice", "MediaServerType": "0" } } The following is the response from the above PUT request: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 391 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Updating the User Template Video Service Account

Page 424#

chunk 390

Deleting the User Template Video Service Account The following is an example of DELETE request that deletes user template settings video service account: Request URI: Request URI :https://<server-ip>/vmrest/usertemplates/<templateobjectid>/usertemplatevideoserviceaccounts/<objectid> Below is the response code from the above DELETE request: 204 OK JSON Example The following is an example to delete video service template: Request URI: DELETE: https://<connection-ip-address>/vmrest/usertemplates/<TemplateObjectid>/usertemplatevideoserviceaccounts/<ObjectId> Accept: application/json Content-type: application/json The following is the response from the above DELETE request: 200 Explanation of Data Fields The following chart lists all of the data fields: Comment Data Type Operation Parameters Name Of The Video Service String Read ConnectorFactoryName Media Server Used For Video Integer Read MediaServerType Objectid of Video service created String Read ConnectorFactoryObjectId Objectid of Voice Mail User Template String Read TemplateObjectId Objectid of Video Service Template created String Read TemplateVideoServicesObjectId Validate if the Video Service Account is connected to the Video service Boolean Read, Update IsConnectorMapped Cisco Unity Connection Provisioning Interface (CUPI) API 392 Cisco Unity Connection Provisioning Interface (CUPI) API for User Template Settings Deleting the User Template Video Service Account

Page 425#

chunk 391

C H A P T E R 35 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template • Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input APIs, on page 393 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Template APIs, on page 398 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Enumeration Types, on page 414 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings APIs, on page 418 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Settings APIs, on page 426 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Post Greeting Recordings APIs , on page 427 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Transfer Rule APIs, on page 428 Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input APIs Caller Inputs API To get the caller input URI, follow the steps given below: GET https://<connection-server>/vmrest/users/<user-objectid> From above URI get the call handler URI: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> To edit caller inputs, you need to get the menu entries: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/menuentries Listing the Caller Inputs The following is an example of the GET request that fetch the list of caller inputs: GET https://<connection-server>/vmrest/ callhandlertemplates/<callhandlertemplate- objectid>/templatemenuentries Cisco Unity Connection Provisioning Interface (CUPI) API 393

Image 1 from page 425

Page 426#

chunk 392

The following is the response from the above GET request and the actual response will depend upon the information given by you: <TemplateMenuEntries total="2"> <TemplateMenuEntry> <URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac- 836910ac1a4c/templatemenuentries/</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac- 836910ac1a4c</CallhandlerURI> <TouchtoneKey></TouchtoneKey> <Locked>false</Locked> <Action>4</Action> <ObjectId>de3dce46-1887-489c-9244-ae8b421fe107</ObjectId> </TemplateMenuEntry> <TemplateMenuEntry> <URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac- 836910ac1a4c/templatemenuentries/#</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac- 836910ac1a4c</CallhandlerURI> <TouchtoneKey>#</TouchtoneKey> <Locked>false</Locked> <Action>5</Action> <ObjectId>17ec06a9-6990-4a95-8417-6e22957fcbe5</ObjectId> </TemplateMenuEntry> </TemplateMenuEntries> Response Code: 200 JSON Example To view the list of caller inputs, do the following: Request URI: GET: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templatemenuentries Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 394 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Listing the Caller Inputs

Page 427#

chunk 393

{ "@total":"2" "TemplateMenuEntry": { "URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a/templatemenuentries/" "CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a" "CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a" "TouchtoneKey":"" "Locked":"true" "Action":"2" "TargetConversation":"SubSignIn" "ObjectId":"17184311-90ac-4654-8e26-cfbe08138851" }, { "URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a/templatemenuentries/#" "CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a" "CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a" "TouchtoneKey":"#" "Locked":"true" "Action":"5" "ObjectId":"27eb298c-22a1-4ed7-813b-61c144bc0fdc" }, ] } Response Code: 200 Viewing the Details of Specific Caller Input The following is an example of the GET request that lists the details of specific caller input: GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate- objectid>/templatemenuentries/<TouchToneKey> The following is the response from the above GET request and the actual response will depend upon the information given by you: <TemplateMenuEntry> <URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac- 836910ac1a4c/templatemenuentries/5</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac- 836910ac1a4c</CallhandlerURI> <TouchtoneKey>5</TouchtoneKey> <Locked>false</Locked> <Action>0</Action> <ObjectId>f076155c-80b1-4538-bcc7-c901a6eafbae</ObjectId> </TemplateMenuEntry> Response Code: 200 JSON Example To view a particular caller input, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 395 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Viewing the Details of Specific Caller Input

Page 428#

chunk 394

Request URI: GET: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templatemenuentries/<TouchToneKey> Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a/templatemenuentries/" "CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a" "CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a" "TouchtoneKey":"" "Locked":"true" "Action":"2" "TargetConversation":"SubSignIn" "ObjectId":"17184311-90ac-4654-8e26-cfbe08138851" } Response Code: 200 Updating a Caller Input The following is an example of the PUT request that updates a specific caller input: PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate- objectid>/templatemenuentries/<TouchToneKey> The following is the response from the above PUT request and the actual response will depend upon the information given by you: <TemplateMenuEntry> <Action>7</Action> <TransferNumber>1000</TransferNumber> <TransferType> 1</TransferType> <TransferRings>2</TransferRings> </TemplateMenuEntry> Response Code: 204 JSON Example To update a particular caller input, do the following: Request URI: PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templatemenuentries/<TouchToneKey> Accept: application/json Content_type: application/json Connection: keep_alive The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 396 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Updating a Caller Input

Page 429#

chunk 395

Explanation of Data Fields Comments Data Type Operations Parameter URI of the call handler menu entries. String Read Only URI A transfer rule can belong only to a call handler object. No other object can own a menu entry. String Read Only CallHadlerObjectId URI of the call handler that is being referenced. String Read Only CallHandlerURI The character on the touch-tone keypad that this menu entry corresponds to (*, #, 0,1...9). String Read Only TouchtoneKey A flag indicating whether Cisco Unity Connection ignores additional input after callers press this key. A locked menu entry does not allow additional dialing after this choice is entered, but Cisco Unity Connection will immediately take the associated action. If the action is set to "Ignore" (0), the key is thrown out and the greeting continues playing as normal. Any other action is taken immediately without waiting to determine if the caller is going to dial an extension. Possible Values: • false: Unlocked - Additional dialing after this choice is entered is allowed • true: Locked - Additional dialing is ignored Default value: false Boolean Read/Write Locked Specifies the action to be taken in the event of the key press. Default value: 0 Integer Read/Write Action Specifies the conversation to go to after taking a message. Default value: 0 String Read/Write TargetConversion The unique identifier of the specific object to send along to the target conversation. String Read/Write TargetHandlerObjectId Object ID of the caller input. String Read Only ObjectId The phone number associated with the alternate contact. Integer Read/Write TransferNumber The display name associated with the alternate contact number. String Read/Write DisplayName The type of call transfer Cisco Unity Connection will perform - supervised or unsupervised (also referred to as "Release to Switch" transfer). Default value: 0 Integer Read/Write TransferType Cisco Unity Connection Provisioning Interface (CUPI) API 397 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 430#

chunk 396

Comments Data Type Operations Parameter The number of times the extension rings before Cisco Unity Connection considers it a "ring no answer" and plays the subscriber or handler greeting Possible value can range from 2-20 Default Value: 4 Integer Read/Write TransferRings Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Template APIs Call Handler Templates APIs Each call handler that you add in Cisco Unity Connection is based on a template. Settings from the template are applied as the call handler is created. Unity Connection comes with one default call handler template, which has settings that are suitable for most call handlers. You can also create new templates. Before you create call handlers, review the settings in the template that you plan to use and determine whether you need to make changes or create new templates. For each template, you should consider enabling the transfer, caller input, greetings, and message settings that will be needed for the call handlers that you plan to create. Following Points should be noted:- • If you change settings on a call handler template, the new settings are in effect only for new call handlers that are created by using that template. Changes to template settings do not affect existing call handlers. • Deleting a call handler template does not affect any call handlers that were based on that template when they were created. • Default Template cannot be deleted. Administrator can use this API to create/update/delete/fetch the system call handler templates. Various attributes of a call handler template can also be updated using this API. Listing the Call Handler Templates The following is an example of the GET request that fetch the list of call handler templates: GET https://<connection-server>/vmrest/callhandlertemplates The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 398 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Template APIs

Page 431#

chunk 397

<CallhandlerTemplates total="1"> <CallhandlerTemplate> <URI>/vmrest/callhandlertemplates/5024347a-aac2-463a-98c8-a745a805dc3b</URI> <CreationTime>2013-01-10T09:23:20Z</CreationTime> <Language>1033</Language> <DisplayName>System Call Handler Template1</DisplayName> <UseDefaultLanguage>false</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Undeletable>true</Undeletable> <LocationObjectId>22646a82-1f17-4b42-beec-9cdfd69508c5</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/22646a82-1f17-4b42-beec- 9cdfd69508c5</LocationURI> <EditMsg>true</EditMsg> <IsPrimary>false</IsPrimary> <MaxMsgLen>300</MaxMsgLen> <OneKeyDelay>1500</OneKeyDelay> <ScheduleSetObjectId>10fee566-b137-4652-a378- db8a872a161d</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/10fee566-b137-4652-a378- db8a872a161d</ScheduleSetURI> <SendUrgentMsg>0</SendUrgentMsg> <IsTemplate>true</IsTemplate> <ObjectId>5024347a-aac2-463a-98c8-a745a805dc3b</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <RecipientDistributionListObjectId>f7408e6e-822e-494b-ab29- cff3cf9e0bd9</RecipientDistributionListObjectId> <RecipientDistributionListURI>/vmrest/distributionlists/f7408e6e-822e-494b-ab29- cff3cf9e0bd9</RecipientDistributionListURI> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation> <AfterMessageTargetHandlerObjectId>16cf736f-7254-4654-ab09- 08fe743332a9</AfterMessageTargetHandlerObjectId> <TimeZone>190</TimeZone> <MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8- d3b13f5040f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8- d3b13f5040f5</PhoneSystemURI> <UseCallLanguage>false</UseCallLanguage> <SendSecureMsg>false</SendSecureMsg> <EnablePrependDigits>false</EnablePrependDigits> <DispatchDelivery>false</DispatchDelivery> <CallSearchSpaceObjectId>f3beb4e4-0be5-417f-9491- e233c6d4a40e</CallSearchSpaceObjectId> <CallSearchSpaceURI>/vmrest/searchspaces/f3beb4e4-0be5-417f-9491- e233c6d4a40e</CallSearchSpaceURI> <InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall> <PartitionObjectId>5ec15c45-ace9-41ad-a6c4-b56081c79717</PartitionObjectId> <PartitionURI>/vmrest/partitions/5ec15c45-ace9-41ad-a6c4- b56081c79717</PartitionURI> <PlayPostGreetingRecording>0</PlayPostGreetingRecording> <SendPrivateMsg>0</SendPrivateMsg> <PlayAfterMessage>1</PlayAfterMessage> <GreetingsURI>/vmrest/callhandlertemplates/5024347a-aac2-463a-98c8- a745a805dc3b/templategreetings</GreetingsURI> <TransferOptionsURI>/vmrest/callhandlertemplates/5024347a-aac2-463a-98c8- a745a805dc3b/templatetransferoptions</TransferOptionsURI> <MenuEntriesURI>/vmrest/callhandlertemplates/5024347a-aac2-463a-98c8- a745a805dc3b/templatemenuentries</MenuEntriesURI> </CallhandlerTemplate> </CallhandlerTemplates> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 399 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Listing the Call Handler Templates

Page 432#

chunk 398

JSON Example To view the list of call handler templates, do the following: Request URI: GET: https://<connection-server>/vmrest/callhandlertemplates Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 400 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Listing the Call Handler Templates

Page 433#

chunk 399

{ "@total":"1" "CallhandlerTemplate": [ { "URI":"/vmrest/callhandlertemplates/7a022382-8d0a-4289-880d-d2a432494b02" "CreationTime":"2013-02-25T09:39:23Z" "Language":"1033" "DisplayName":"System Call Handler Template" "UseDefaultLanguage":"true" "UseDefaultTimeZone":"true" "Undeletable":"true" "LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e" "LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead- d1970625f82e" "EditMsg":"true" "IsPrimary":"false" "MaxMsgLen":"300" "OneKeyDelay":"1500" "ScheduleSetObjectId":"5fc5a5d7-eaf6-4f4d-80cf-f76f3893ac0e" "ScheduleSetURI":"/vmrest/schedulesets/5fc5a5d7-eaf6-4f4d-80cf-f76f3893ac0e" "SendUrgentMsg":"0" "IsTemplate":"true" "ObjectId":"7a022382-8d0a-4289-880d-d2a432494b02" "TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438", "RecipientDistributionListObjectId":"dea18b5b-4493-4715-a558-cb85778fd823" "RecipientDistributionListURI":"/vmrest/distributionlists/dea18b5b-4493-4715-a558- cb85778fd823" "AfterMessageAction":"2" "AfterMessageTargetConversation":"PHGreeting" "AfterMessageTargetHandlerObjectId":"c6af281b-dc8b-45b4-a1e9-eccc523d5fb2" "TimeZone":"190" "MediaSwitchObjectId":"0ad0b88c-4a70-4cf7-913e-d5d7a921caca" "PhoneSystemURI":"/vmrest/phonesystems/0ad0b88c-4a70-4cf7-913e-d5d7a921caca" "UseCallLanguage":"true" "SendSecureMsg":"false" "EnablePrependDigits":"false" "DispatchDelivery":"false" "CallSearchSpaceObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706" "CallSearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c- ee5e33281706" "InheritSearchSpaceFromCall":"true" "PartitionObjectId":"97bf6afe-346e-4275-967e-43c50be79d32" "PartitionURI":"/vmrest/partitions/97bf6afe-346e-4275-967e-43c50be79d32" "PlayPostGreetingRecording":"0" "SendPrivateMsg":"0" "PlayAfterMessage":"1" "GreetingsURI":"/vmrest/callhandlertemplates/7a022382-8d0a-4289-880d- d2a432494b02/templategreetings" "TransferOptionsURI":"/vmrest/callhandlertemplates/7a022382-8d0a-4289-880d- d2a432494b02/templatetransferoptions" "MenuEntriesURI":"/vmrest/callhandlertemplates/7a022382-8d0a-4289-880d- d2a432494b02/templatemenuentries" } ] } Response Code: 200 Listing Specific Tenant Related Call Handler Templates by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related call handler templates using the following URI: Cisco Unity Connection Provisioning Interface (CUPI) API 401 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Listing Specific Tenant Related Call Handler Templates by System Administrator

Page 434#

chunk 400

GET https://<connection-server>/vmrest/callhandlertemplates?query=(TenantObjectId is <Tenant-ObjectId>) To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Viewing the Details of Specific Call Handler Template The following is an example of the GET request that lists the details of specific call handler template represented by the provided value of call handler template object ID: GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 402 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Viewing the Details of Specific Call Handler Template

Page 435#

chunk 401

<CallhandlerTemplate> <URI>/vmrest/callhandlertemplates/edcd2336-2c01-49d1-89ff-8746466e0a5e</URI> <CreationTime>2013-01-12T11:40:19Z</CreationTime> <Language>1033</Language> <DisplayName>CallHandler1</DisplayName> <UseDefaultLanguage>false</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <Undeletable>false</Undeletable> <LocationObjectId>22646a82-1f17-4b42-beec-9cdfd69508c5</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/22646a82-1f17-4b42-beec- 9cdfd69508c5</LocationURI> <EditMsg>true</EditMsg> <IsPrimary>false</IsPrimary> <MaxMsgLen>300</MaxMsgLen> <OneKeyDelay>1500</OneKeyDelay> <ScheduleSetObjectId>10fee566-b137-4652-a378-db8a872a161d</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/10fee566-b137-4652-a378- db8a872a161d</ScheduleSetURI> <SendUrgentMsg>0</SendUrgentMsg> <IsTemplate>true</IsTemplate> <ObjectId>edcd2336-2c01-49d1-89ff-8746466e0a5e</ObjectId> <RecipientSubscriberObjectId>f74c4f98-598e-4c47-bf1a- 2b78fc2c2953</RecipientSubscriberObjectId> <RecipientUserURI>/vmrest/users/f74c4f98-598e-4c47-bf1a-2b78fc2c2953</RecipientUserURI> <AfterMessageAction>1</AfterMessageAction> <TimeZone>190</TimeZone> <MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8-d3b13f5040f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8- d3b13f5040f5</PhoneSystemURI> <UseCallLanguage>false</UseCallLanguage> <SendSecureMsg>false</SendSecureMsg> <EnablePrependDigits>false</EnablePrependDigits> <DispatchDelivery>false</DispatchDelivery> <CallSearchSpaceObjectId>f3beb4e4-0be5-417f-9491-e233c6d4a40e</CallSearchSpaceObjectId> <CallSearchSpaceURI>/vmrest/searchspaces/f3beb4e4-0be5-417f-9491- e233c6d4a40e</CallSearchSpaceURI> <InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall> <PartitionObjectId>5ec15c45-ace9-41ad-a6c4-b56081c79717</PartitionObjectId> <PartitionURI>/vmrest/partitions/5ec15c45-ace9-41ad-a6c4-b56081c79717</PartitionURI> <PlayPostGreetingRecording>0</PlayPostGreetingRecording> <SendPrivateMsg>0</SendPrivateMsg> <PlayAfterMessage>1</PlayAfterMessage> <GreetingsURI>/vmrest/callhandlertemplates/edcd2336-2c01-49d1-89ff- 8746466e0a5e/templategreetings</GreetingsURI> <TransferOptionsURI>/vmrest/callhandlertemplates/edcd2336-2c01-49d1-89ff- 8746466e0a5e/templatetransferoptions</TransferOptionsURI> <MenuEntriesURI>/vmrest/callhandlertemplates/edcd2336-2c01-49d1-89ff- 8746466e0a5e/templatemenuentries</MenuEntriesURI> </CallhandlerTemplate> Response Code: 200 JSON Example To view a specific call handler template, do the following: Request URI: GET: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> Accept: application/json Connection: keep_alive Cisco Unity Connection Provisioning Interface (CUPI) API 403 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Viewing the Details of Specific Call Handler Template

Page 436#

chunk 402

The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI":"/vmrest/callhandlertemplates/93b8ada5-c92f-47e6-8d24-9c269293d63c" "CreationTime":"2013-02-26T06:45:09Z" "Language":"1033" "DisplayName":"Call_Handler1" "UseDefaultLanguage":"true" "UseDefaultTimeZone":"false" "Undeletable":"false" "LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e" "LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead- d1970625f82e" "EditMsg":"true" "IsPrimary":"false" "MaxMsgLen":"500" "OneKeyDelay":"1500" "ScheduleSetObjectId":"5c42abd2-84a5-4fcf-84cf-d0a19c70f207" "ScheduleSetURI":"/vmrest/schedulesets/5c42abd2-84a5-4fcf-84cf-d0a19c70f207" "SendUrgentMsg":"1" "IsTemplate":"true" "ObjectId":"93b8ada5-c92f-47e6-8d24-9c269293d63c" "RecipientDistributionListObjectId":"8337a757-b074-42ff-85bd-acda2dfd5d28" "RecipientDistributionListURI":"/vmrest/distributionlists/8337a757-b074-42ff-85bd- acda2dfd5d28" "AfterMessageAction":"2" "AfterMessageTargetConversation":"AD" "AfterMessageTargetHandlerObjectId":"4783cb28-79a6-409a-bf57-18f8208b4e61" "TimeZone":"190" "MediaSwitchObjectId":"343dc222-2d1a-4a19-a5b6-894725542475" "PhoneSystemURI":"/vmrest/phonesystems/343dc222-2d1a-4a19-a5b6-894725542475" "UseCallLanguage":"true" "SendSecureMsg":"false" "EnablePrependDigits":"false" "DispatchDelivery":"true" "CallSearchSpaceObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706" "CallSearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-ee5e33281706" "InheritSearchSpaceFromCall":"true" "PartitionObjectId":"44bdcf73-d5c1-4866-957d-fb35686cbe76" "PartitionURI":"/vmrest/partitions/44bdcf73-d5c1-4866-957d-fb35686cbe76" "PlayPostGreetingRecording":"2" "SendPrivateMsg":"0" "PlayAfterMessage":"2" "GreetingsURI":"/vmrest/callhandlertemplates/93b8ada5-c92f-47e6-8d24- 9c269293d63c/templategreetings" "TransferOptionsURI":"/vmrest/callhandlertemplates/93b8ada5-c92f-47e6-8d24- 9c269293d63c/templatetransferoptions" } Response Code: 200 Creating a New Call Handler Template Mandatory parameters are: • Display Name • Phone System - Fetch phone systems using URI: https://<connection-server>/vmrest/phonesystems • Message recipient - The message recipient can be a distribution list or a user. Use the following URI to fetch users or distribution lists respectively. Cisco Unity Connection Provisioning Interface (CUPI) API 404 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Creating a New Call Handler Template

Page 437#

chunk 403

• https://<connection-server>/vmrest/users • https://<connection-server>/vmrest/distributionlists The following is an example of the POST request that creates a new call handler template: POST https://<connection-server>/vmrest/callhandlertemplates Request Body: <CallhandlerTemplate> <DisplayName>System Call Handler Template1</DisplayName> <RecipientSubscriberObjectId>f74c4f98-598e-4c47-bf1a- 2b78fc2c2953</RecipientSubscriberObjectId> <MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8-d3b13f5040f5</MediaSwitchObjectId> </CallhandlerTemplate> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 JSON Example To create a new call handler template, do the following: Request URI: POST: https://<connection-server>/vmrest/callhandlertemplates Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "DisplayName":"Tenant", "RecipientDistributionListObjectId":"8337a757-b074-42ff-85bd-acda2dfd5d28", "MediaSwitchObjectId":"343dc222-2d1a-4a19-a5b6-894725542475" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Delete the Call Handler Template The following is an example of the DELETE request that can be used to delete a call handler template: DELETE https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To delete a call handler template, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 405 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Delete the Call Handler Template

Page 438#

chunk 404

Request URI: DELETE: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> Accept: application/json Connection: keep_alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Assigning a Schedule to a Call Handler Template The following is an example of the PUT request that can be used to assign a schedule to a call handler template: PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> The ScheduleSetObjectId can be fetched using the URI https://<connection-server>/vmrest/schedulesets. <CallhandlerTemplate> <ScheduleSetObjectId>eb11c6cc-fc9e-4651-8c01-8f0b2e421918</ScheduleSetObjectId> </CallhandlerTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To assign a schedule to a call handler template, do the following: Request URI: PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> Accept: application/json Content_type: application/json Connection: keep_alive { "ScheduleSetObjectId":"5c42abd2-84a5-4fcf-84cf-d0a19c70f207" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Updating Partition of the Call Handler Template This PUT request can be used to assign partition to a call handler template. PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> To fetch PartitionObjectId, use the URI https://<connection-server>/vmrest/partitions. Cisco Unity Connection Provisioning Interface (CUPI) API 406 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Assigning a Schedule to a Call Handler Template

Page 439#

chunk 405

<CallhandlerTemplate> <PartitionObjectId>46a0377b-00d7-40a0-8738-81106fc730ea</PartitionObjectId> </CallhandlerTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update partition of call handler template, do the following: <pre> PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> Accept: application/json Content_type: application/json Connection: keep_alive </pre> { "PartitionObjectId":"fe2fe907-bdcb-416e-89b7-c1bb130d0f98" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Updating Language Option of the Call Handler Template This PUT request can be used to update language for a call handler template. To know languages installed on the server following URI can be used: PUT https://<connection-server>/vmrest/installedlanguages PUT https://<connection-server>/vmrest/callhandlertemplates<callhandlertemplate-objectid> Example 1: The Inherit language field from the call is selected but the UseDefaultLanguage field is not updated <CallhandlerTemplate> <UseDefaultLanguage>true</UseDefaultLanguage> <UseCallLanguage>false</UseCallLanguage> </CallhandlerTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 The Inherit Language field from the call is selected but this the UseDefaultLanguage field is not updated in the database as the language field is missing as the Language field is NULL and UseDefaultLanguage is by default set to TRUE. Note Cisco Unity Connection Provisioning Interface (CUPI) API 407 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Updating Language Option of the Call Handler Template

Image 1 from page 439

Page 440#

chunk 406

Example 2: The Inherit language field from the call is selected and the UseDefaultLanguage field is updated Request Body: <CallhandlerTemplate> <UseCallLanguage>true</UseCallLanguage> <UseDefaultLanguage>false</UseDefaultLanguage> <Language>1033</Language> </CallhandlerTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 The Inherit Language field from the call is selected but the UseDefaultLanguage field is updated in the database as the Language field is specified. The Inherit Language field from the call is selected but the UseDefaultLanguage field is updated in the database as the Language field is specified. Language code for installed language can be fetched from: https://<connection-server>/vmrest/installedlanguages Language code can be fetched from the URI: https://<connection-server>/vmrest/languagemap The below table specify the details of value for each field: Note Description Language UseDefaultLanguage UseCallLanguage This will select the default language. Null/Language Code true false This will inherit the language from user. Null/Language Code true/false true This will select the particular language as per the code. Language Code false false JSON Example To update language option of call handler template, do the follwoing: Request URI: PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "UseCallLanguage":"true", "UseDefaultLanguage":"false", "Language":"1033" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 408 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Updating Language Option of the Call Handler Template

Page 441#

chunk 407

Updating Timezone of a Call Handler Template This PUT request can be used to update timezone for a call handler template. It can be set to default or particular timezone. The mandatory fields for this request are: • UseDefaultTimeZone • TimeZone To know timzones installed on the server following URI can be used: https://<connection-server>/vmrest/timezones PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> Request Body: <CallhandlerTemplate> <UseDefaultTimeZone>false</UseDefaultTimeZone> <TimeZone>190</TimeZone> </CallhandlerTemplate> Response Code: 204 JSON Example To update timezone of call handler template, do the following: Request URI: PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "UseDefaultTimeZone":"false", "TimeZone":"190" } Response Code: 204 The following is the response from the above PUT request and the actual response will depend upon the information given by you: Explanation of Data Fields Comments Data Type Operations Parameter Call Handler Template URI String Read Only URI Specifies the after message action.Possible Values Refer to the table 1 under the section Enum Type as given at the end of the document Default value:1 Integer Read/Write AfterMessageAction Cisco Unity Connection Provisioning Interface (CUPI) API 409 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Updating Timezone of a Call Handler Template

Page 442#

chunk 408

Comments Data Type Operations Parameter Specifies DisplayName of the conversation to go to after taking a message. Possible Values Refer to the table 11 under the section Enum type as given at the end of document. String Read/Write AfterMessageTargetConversation The Unique Identifier of the call action object that Cisco Unity Connection performs after taking a message. String(36) Read/Write AfterMessageTargetHandlerObjectId Is present only if a search space is selected. URI To fetch possible values of CallSearchspaceObjectId :https://<connection-server>//vmrest/searchspaces String(36) Read/Write CallSearchspaceObjectId URL for search spaces String Read Only CallSearchSpaceURI Specifies the creation date and time of the call handler. Format: YYYY-MM-DDThh:mm:ssZ. The default value is the current system date and time Datetime Read Only CreationTime A flag indicating that all messages left for the call handler is for dispatch delivery. Possible Values • false:- specifies no dispatch delivery. • true:- specifies dispatch delivery. Default value is false Boolean Read/Write DispatchDelivery Name of the Call Handler Template String(64) Read/Write DisplayName A flag that determines whether the caller can edit messages. Possible Values • false : Callers cannot edit messages • true : Callers can edit messages Default value is true. Boolean Read/Write EditMsg Specifies if Prepend Digits to Dialed Extensions is enabled. Possible Values • false:- System will not prepend digits when dialing the transfer extension • true:- System will prepend digits when dialing the transfer extension Default value is false Boolean Read/Write EnablePrependDigits Cisco Unity Connection Provisioning Interface (CUPI) API 410 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 443#

chunk 409

Comments Data Type Operations Parameter Specifies if the search space is to be inherited from the call. Possible Values: • true:- Inherit from call. • false:- Do not inherit from call. Default value is true Boolean Read/Write InheritSeachSpaceFromCall A flag indicating whether this is a "primary" call handler for a subscriber, or an "application" call handler. Note:- Each subscriber is associated with a call handler, which is referred to as the "primary call handler" for that subscriber. An "application call handler" is just a normal call handler. Possible Values: • false: Not a primary call handler • true: Primary call handler Default value is false. Boolean Read Only IsPrimary Used to provide default values for selected columns when creating new call handlers. Possible Values: • false: Not a template • true: Is a template Default value is true Boolean Read Only IsTemplate The Windows Locale ID (LCID) which identifies the language that Cisco Unity Connection plays the handler system prompts. Integer Read/Write Language The unique identifier of the Location object to which this handler belongs. String(36) Read Only LocationObjectId Specifies the URI of locations String Read Only LocationURI The maximum recording length (in seconds) for messages left by unidentified callers. This value is used when the call handler is set to an action of "Take Message" (either by an after greeting action in the messagingrule table or via a user input action in the menuentry table. This value only gets applied to unidentified callers leaving a message. This value is not used for subscriber-subscriber messaging. Instead the COS for the calling subscriber determines the maximum recorded message length. Possible Values: Range 1-3600 default value is 300 Integer Read/Write MaxMsgLen Cisco Unity Connection Provisioning Interface (CUPI) API 411 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 444#

chunk 410

Comments Data Type Operations Parameter Specifies the object Id of the Phone System the call handler belongs to. URI To fetch MediaSwitchObjectId :https://<connection-server>/vmrest/phonesystems String(36) Read/Write MediaSwitchObjectId Specifies the URI of Phone Systems String Read Only PhoneSystemURI Object Id of the Call Handler Template. String(36) Read Only ObjectId The unique identifier of the tenant to which the call handler templates belong. This field is reflected in the response only if the call handler template belong to a particular tenant. String(36) Read Only TenantObjectId The amount of time (in milliseconds) that Cisco Unity Connection waits for additional input after callers press a single key that is not locked. If there is no input within this time, Cisco Unity Connection performs the action assigned to the single key. When a caller interrupts a greeting with a digit, Cisco Unity Connection will wait this number of milliseconds to see if they are going to enter more digits. Once this timeout is reached (or the caller terminates the input with a #), Cisco Unity Connection will do a look-up of the resulting string of numbers for a match with a DTMFAccessID value in the dialing domain. If a match is found, the call is sent to the matching object. If no match is found, the "Error greeting" for the call handler is invoked. If a key is "locked" then this value does not apply. Instead action is taken immediately on that key instead of allowing more digits. A value of 0 disables one key input. Possible Values: Range:- 0 - 10000 Default value is1500 Integer Read/Write OneKeyDelay Specifies the object Id of the partition the Call Handler belongs to. URI To fetch PartitionObjectId :https://<connection-server>/vmrest/partitions String(36) Read/Write PartitionObjectId Specifies the URI of partitions. String Read Only PartitionURI Specifies what should be played after the message Possible Values: Refer to the table 3 under the section Enum Type as given at the end of the document Default Value:1 Integer Read/Write PlayAfterMessage Object Id of the recording. URI To fetch its value :https://<connection-server>/vmrest/postgreetingrecordings from above URI get objectid. String(36) Read/Write PlayAfterMessageRecodingObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 412 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 445#

chunk 411

Comments Data Type Operations Parameter Indicates whether the recording referenced by PostGreetingRecordingObjectId should be played. Possible Values: Refer to the table 2 under the section Enum type as given at the end of document. Default value is 0 Integer Read/Write PlayPostGreetingReording Specifies the object Id of the Post Greeting recording. URI To fetch its value: https://<connection-server>/vmrest/postgreetingrecordings from above URI get objectid. String(36) Read/Write PostGreetingRecordingObjectId URI of the Post Greeting Recording String Read Only PostGreetingURI Touch-Tone digits to be prepended to extension when dialing transfer number ( #, 0,1...9,*). Digits, plus, hash and asterisk only are allowed String Read/Write PrependDigits Object Id of the distribution list that is the message recipient. URI To fetch its value: https://<connection-server>/vmrest/ from above URI get objectid. String(36) Read/Write RecipientDistributionListObjectId URI of distribution lists String Read Only RecipientDistributaionListURI Object id of a User with a mailbox that is the message recipient. String(36) Read/Write RecipientSubscriberObjectId Object Id of the schedule set assigned to the Call Handler. String(36) Read/Write SchduleSetObjectId Specifies the URI of schedule sets. String Read Only SchduleSetURI Determines if an outside caller can mark their message as private. Possible Values: Refer to the table 4 under the section Enum type as given at the end of document. Default value is 0 Integer Read/Write SendPrivateMsg A flag indicating whether an unidentified caller can mark a message as "secure." Default value is false Boolean Read/Write SendSecureMsg A flag indicating whether an unidentified caller can mark a message as "urgent." Possible Values: Refer to the table 5 under the section Enum type as given at the end of document. Default value is 0(Never) Integer Read/Write SendUrgentMsg Used when the UseDefaultTimezone is set to false. To know the Integer Time Zone codes for the Time Zones installed on the server following URI can be used: https://<connection-server>/vmrest/timezones Example: 190 is the code for (GMT+05:30) Asia/Kolkata Integer Read/Write TimeZone Cisco Unity Connection Provisioning Interface (CUPI) API 413 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 446#

chunk 412

Comments Data Type Operations Parameter A flag indicating whether Cisco Unity Connection will use the language assigned to the call. Possible values: • true • false Default value is true Boolean Read/Write UseCallLanguage A flag that is dependent on the value of Language Field. if Language is set to Null, UseDefaultLanguage is set to true.if any language is specified, UseDefaultLanguage is set to false Boolean Read/Write UseDefaultLanguage A flag indicating whether Cisco Unity Connection will use the system default Time Zone. Possible values: • true • false Default value is false Boolean Read/Write UseDefaultTimeZone Specifies the URI of greetings. String Read Only GreetingsURI Specifies the URI of transfer options. String Read Only TransferOptionsURI Specifies the URI of menu entries. String Read Only MenuEntriesURI Cisco Unity Connection Provisioning Interface (CUPI) API -- Enumeration Types Enumeration Type Call Actions Description Value Name Ignore - no action taken. 0 Ignore Hangup - the call is immediately terminated. 1 Hangup Goto - go to an object such as a call handler, directory handler or interview handler. 2 Goto Error - play the error greeting. 3 Error Take a message. 4 TakeMsg Skip greeting. 5 SkipGreeting Cisco Unity Connection Provisioning Interface (CUPI) API 414 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Cisco Unity Connection Provisioning Interface (CUPI) API -- Enumeration Types

Page 447#

chunk 413

Description Value Name RestartGreeting - restart greeting on current handler 6 RestartGreeting Transfer to Alternate Contact Number 7 TransferAltContact Route From Next Call Routing Rule 8 RouteFromNextRule Play Post Greeting Recording Description Value Name Don't play the recording 0 No Always play the configured recording 1 Always Play the recording for external calls only 2 External Play After Message Recording Description Value Name Don't play the recording 0 No Play system default 1 Always Play recording 2 Standard Send Private Message Description Value Name No messages are marked private. 0 Never All messages are marked private. 1 Always Ask the outside caller if they wish to mark the message as private. 2 Ask Send Urgent Message Description Value Name Messages left by unidentified calls are never marked urgent. 0 Never All messages left by unidentified callers are marked urgent. 1 Always Cisco Unity Connection asks unidentified callers whether to mark their messages urgent. 2 Ask Cisco Unity Connection Provisioning Interface (CUPI) API 415 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Play Post Greeting Recording

Page 448#

chunk 414

Play What Description Value Name Cisco Unity Connection plays a prerecorded greeting along with the recorded name of the subscriber (for example, "Sorry, <subscriber name> is not available"). If the subscriber does not have a recorded name, Cisco Unity Connection plays the subscriber extension instead. When a greeting is enabled but not recorded, Cisco Unity Connection plays a prerecorded system greeting. 0 SystemGreeting Use a personal recording for the call handler (or subscriber). This can be recorded over the phone or from the Cisco Unity Connection Administration and CPCA administrative interfaces on the call handler/subscriber. 1 Recorded Greeting No greeting is played. 2 NoGreeting Transfer Rule Action Description Value Name Cisco Unity Connection transfers the call to the call handler greeting. 0 PlayGreeting Cisco Unity Connection transfers the call to the number in the "Extension" column in tbl_TransferOption. 1 Transfer Call Handler RNA Action Description Value Name After the number of rings (as defined by "TransferRings" column), pull back the call and transfer the call to the appropriate greeting. 1 PlayGreeting Release the call to the phone system. 0 Release Call Handler Hold Mode Description Value Name Cisco Unity Connection prompts the caller to leave a message and allows the caller to dial another extension. 0 No Cisco Unity Connection plays a prompt indicating that the extension is busy. The caller is put on hold. Note that this hold is not performed by the phone system. 1 Yes Cisco Unity Connection gives the caller the options of holding, leaving a message, or dialing another extension. 2 Ask Cisco Unity Connection Provisioning Interface (CUPI) API 416 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Play What

Page 449#

chunk 415

Transfer Type Description Value Name Listen for busy, ring no answer. 1 Supervised Just let the switch to do the transfer, and do not stay on the line and take action on RNA or busy. 0 Unsupervised AfterMessageTargetConversation/ AfterGreetingTargetConversation/ TargetConversation The AfterMessageTargetConversation/AfterGreetingTargetConversation/TargetConversation fields are read/write, and can take the following values. Although it is not an enumeration type, only certain string values are valid conversation names. For some conversations, it is required to specify their respective TargetHandlerObjectIds as well AfterMessageHandlerObjectid, AfterGreetingHandlerObjectId, and TargethandlerObjectId. Target Handler Description Value Directory Handler Directory conversation AD Use or Call Handler Transfer to a user or call handler PHTransfer Use or Call Handler Play greeting of a user or call handler PHGreeting Interview Handler Interview Conversation PHInterview NA Forwards the call to the user's greeting if the forwarding number matches a user Attempt Forward NA Sends the call to a user's sign-in if the calling number matches a user Attempt SignIn NA Sends the call to a conversation for sending broadcast messages BroadcastMessageAdministrator NA Sends the call to a conversation allowing the caller to transfer to a number they specify (assuming the restriction table allows it). SystemTransfer NA Sends the call to a conversation for checked-out hotel guests. CheckedOutGuest NA Sends the call to a conversation allowing changing greetings by phone. GreetingsAdministrator NA Connects to Visual Voicemail. ReverseTrapConv NA Sends the call to the sign-in conversation, which prompts the user to enter their ID. SubSignIn NA Sends the call to the live-record pilot number configured on Call Manager. ConvUtilsLiveRecord NA Sends the call to a conversation allowing the caller to transfer to a number they specify (assuming the restriction table allows it). However, requires user sign-in first, so unknown callers cannot use it. SubSysTransfer Cisco Unity Connection Provisioning Interface (CUPI) API 417 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Transfer Type

Page 450#

chunk 416

Greeting Type Description Greeting Alternate - can be used for a variety of special situations, such as vacations, leave of absence, or a holiday. An alternate greeting overrides all other greetings. Alternate Busy - plays when the extension is busy. A busy greeting overrides the standard, off hours, and internal greetings. Busy Error - plays when a caller attempts to dial an extension that does not exist on the system during a greeting. Error Internal - plays to internal callers only. An internal greeting overrides the standard and off hours greetings. Internal Off hours - plays during the closed (non business) hours defined for the active schedule. An off hours greeting overrides the standard greeting, and thus limits the standard greeting to the open hours defined for the active schedule. Off Hours Standard - plays at all times unless overridden by another greeting. You cannot disable the standard greeting. Standard Holiday - plays when holiday schedule is encountered unless overridden by an alternate greeting. Holiday Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings APIs Greetings API The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrest/users/<user-objectid> From the above URI, get the call handler object ID: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId> The following URI can be used to view the greetings: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings The following URI can be used to view the alternate greeting: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Alternate The following URI can be used to view the busy greeting: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Busy The following URI can be used to view the error greeting: Cisco Unity Connection Provisioning Interface (CUPI) API 418 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Greeting Type

Page 451#

chunk 417

GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Error The following URI can be used to view the closed greeting: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Off%20Hours The following URI can be used to view the standard greeting: GET https://<connection-server>/vmrest/handlers/callhandlers/<CallhandlerObjectId>/greetings/Standard The following URI can be used to view the holiday greeting: GET https://<connection-server>/vmrest/callhandlers/<CallhandlerObjectId>/greetings/Holiday Listing the Greetings The following is an example of the GET request that fetch the list of greetings: GET https://<connection-server>/vmrest/ callhandlertemplates/<callhandlertemplate- objectid>/templategreetings The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 419 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Listing the Greetings

Page 452#

chunk 418

<TemplateGreetings total="2"> <TemplateGreeting> <URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac- 836910ac1a4c/templategreetings/Alternate</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac- 836910ac1a4c</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <GreetingType>Alternate</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> </TemplateGreeting> <TemplateGreeting> <URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac- 836910ac1a4c/templategreetings/Busy</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac- 836910ac1a4c</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <GreetingType>Busy</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> </TemplateGreeting> </TemplateGreetings> Response Code: 200 JSON Example To view the list of greetings, do the following: Request URI: GET: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templategreetings Accept: appliaction/json Conenction: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 420 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Listing the Greetings

Page 453#

chunk 419

{ "@total":"2" "TemplateGreeting": [ { "URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a/templategreetings/Alternate" "CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a" "CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a" "IgnoreDigits":"false" "PlayWhat":"0" "RepromptDelay":"2" "Reprompts":"0" "TimeExpires":"1972-01-01 00:00:00.0" "GreetingType":"Alternate" "AfterGreetingAction":"4" "PlayRecordMessagePrompt":"true" "EnableTransfer":"false" }, { "URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a/templategreetings/Busy" "CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a" "CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a" "IgnoreDigits":"false" "PlayWhat":"0" "RepromptDelay":"2" "Reprompts":"0" "TimeExpires":"1972-01-01 00:00:00.0" "GreetingType":"Busy" "AfterGreetingAction":"4" "PlayRecordMessagePrompt":"true" "EnableTransfer":"false" }, ] } Response Code: 200 Viewing the Details of Specific Greeting The following is an example of the GET request that lists the details of specific greeting: GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate- objectid>/templategreetings/<Greetingname> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 421 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Viewing the Details of Specific Greeting

Page 454#

chunk 420

<TemplateGreeting> <URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac- 836910ac1a4c/templategreetings/Alternate</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac- 836910ac1a4c</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <GreetingType>Alternate</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> </TemplateGreeting> Response Code: 200 JSON Example To view a specific greeting, do the following: Request URI: GET: https://<connection-server>/vmrest/callhandlertemplates/<Callhandlertemplate-objectid>/templategreetings/<Greetingname> Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI":"/vmrest/callhandlertemplates/a2f8fb8f-68ee-4a17-90a0- bff0308b5b1a/templategreetings/Alternate" "CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a" "CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a" "IgnoreDigits":"false" "PlayWhat":"0" "RepromptDelay":"2" "Reprompts":"0" "TimeExpires":"1972-01-01 00:00:00.0" "GreetingType":"Alternate" "AfterGreetingAction":"4" "PlayRecordMessagePrompt":"true" "EnableTransfer":"false" } Response Code: 200 Updating a Greeting The following is an example of the GET request that updates the details of specific greeting: Cisco Unity Connection Provisioning Interface (CUPI) API 422 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Updating a Greeting

Page 455#

chunk 421

PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templategreetings/<Greetingname> Response Body: <TemplateGreeting> <PlayWhat>1</PlayWhat> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> </TemplateGreeting> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update a particular greeting, do the following: Request URI: PUT: https://<connection-server>/vmrest/callhandlertemplates/<Callhandlertemplate-objectid>/templategreetings/<Greetingname> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "PlayWhat":"1", "PlayRecordMessagePrompt":"true" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Data Type Operations Parameter URI of greetings String Read Only URI The unique identifier of the call handler object to which this greeting rule belongs. String Read Only CallHandlerObjectId URI of the call handler. String Read/Write TemplateCallHandlerURI Cisco Unity Connection Provisioning Interface (CUPI) API 423 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 456#

chunk 422

Comments Data Type Operations Parameter A flag indicating whether Cisco Unity Connection takes action in response to touchtone keys pressed by callers during the greeting. This column overrides all the Menu Entry settings when this greeting is active. This has the same effect as setting all the menu entry keys for this handler to "locked". It is a shorthand way of locking callers into the greeting so they cannot get out until it completes. Possible values: • false: Caller input enabled during greeting • true: Caller input ignored during greeting Default Value: false Boolean Read/Write IgnoreDigits The source for the greeting when this greeting is active. Refer to the section Enumeration Type.<<Link will be mentioned later>> Default Value: 0 Integer Read/Write PlayWhat The amount of time (in seconds) that Cisco Unity Connection waits without receiving any input from a caller before Cisco Unity Connection prompts the caller again. The range of this field can vary from 0 to 100. Possible values: • 0: Do wait without receiving caller input and do not replay greeting. • 1 or greater: Wait this number of seconds without receiving any input from the caller before playing the greeting again. Default Value: 2 Integer Read/Write RepromptDelay The number of times to reprompt a caller. After the number of times indicated here, Cisco Unity Connection performs the after-greeting action. This column is typically used when an audio text application is expecting input from a caller. The range of this field can vary from 0 to 100. Possible values: • 0: Do not re-prompt - Cisco Unity Connection will play the greeting once and then the after-greeting action is taken. • 1 or greater: Number of times to re-prompt. The "RepromptDelay" value determines how many seconds to wait in between replays. Default Value: 0 Integer Read/Write Reprompts Cisco Unity Connection Provisioning Interface (CUPI) API 424 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 457#

chunk 423

Comments Data Type Operations Parameter Specifies the greeting type. Refer to the section Enumeration Type.<<Link will be mentioned later>> Default value: Standard String Read Only GreetingType The type of call action to take, e.g., hang-up, goto another object, etc. Refer to the section Enumeration Type.<<Link will be mentioned later>> Default value: 4 Integer Read/Write AfterGreetingAction Specifies the conversation to go to after the greeting is played. Refer to the section Enumeration Type.<<Link will be mentioned later> String Read/Write AfterGreetingTargetConversation The unique identifier of the call action object that Cisco Unity Connection performs after the greeting is played. String Read/Write AfterGreetingTargetHandlerObjectId The date and time when the greeting rule expires. The greeting rule is considered not expired (enabled), if the value is NULL or a future date. The greeting rule is considered expired (disabled), the value is in the past. The "Enhanced Alternate Greeting" feature uses this column to specify how long the subscriber wants their alternate greeting enabled. The standard greeting rule should never be disabled. The field is not displayed when the Greeting field is enabled with no end date and end time. DateTime Read/Write TimeExpires A flag indicating whether the "Record your message at the tone…" prompt prior to recording a message. Values: • true - Play Record Message prompt is enabled. • false - Play Record prompt is disabled. Default Value: true Boolean Read/Write PlayRecordMessagePrompt A flag indicating when an extension is dialed at the greeting and the extension is not available whether to transfer to another extension. Values: • true: Allows transfer • false: Does not allow Default Value: false Boolean Read/Write EnableTransfer Cisco Unity Connection Provisioning Interface (CUPI) API 425 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 458#

chunk 424

Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Settings APIs Message Settings APIs Administrator can use this API to fetch the message settings. Updating a Message Setting The following is an example of the PUT request that updates the message settings: PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandler-objectid> Request Body: <CallhandlerTemplate> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>SystemTransfer</AfterMessageTargetConversation> </CallhandlerTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update message setting, do the following: Request URI: PUT: https://<connection-server>/vmrest/callhandlertemplates/<calhandler-objectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "AfterMessageAction":"2", "AfterMessageTargetConversation":"SystemTransfer" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 426 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Settings APIs

Page 459#

chunk 425

Cisco Unity Connection Provisioning Interface (CUPI) API -- Post Greeting Recordings APIs Post Greeting Recordings APIs Administrator can use this API to fetch the post greeting recordings. It can be used to fetch the list of post greeting recordings and also a single instance of post greeting recordings. Updating a Post Greeting Recordings The following is an example of the PUT request that updates the post greeting recordings: PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> Request Body: <CallhandlerTemplate> <PlayPostGreetingRecording>2</PlayPostGreetingRecording> <PostGreetingRecordingObjectId>0c6ab589-f289-4d4b-b3b7- e4ec96bb783e</PostGreetingRecordingObjectId> </CallhandlerTemplate> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update post greeting recordings, do the following: Request URI: PUT: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid> Accept: applicaiton/json Content_type: application/json Connection: keep_alive Request Body: { "PlayPostGreetingRecording":"1", "PostGreetingRecordingObjectId":"0c6ab589-f289-4d4b-b3b7-e4ec96bb783e" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 427 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Cisco Unity Connection Provisioning Interface (CUPI) API -- Post Greeting Recordings APIs

Page 460#

chunk 426

Cisco Unity Connection Provisioning Interface (CUPI) API -- Transfer Rule APIs TransferRulesAPIs Administrator can use this API to fetch the transfer rules. It can be used to fetch the list of transfer rules and also a single instance of transfer rules. Listing the Transfer Rules The following is an example of the GET request that fetch the list of transfer rules: GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate- objectid>/templatetransferoptions The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 428 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Cisco Unity Connection Provisioning Interface (CUPI) API -- Transfer Rule APIs

Page 461#

chunk 427

<TemplateTransferOptions total="2"> <TemplateTransferOption> <URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac- 836910ac1a4c/templatetransferoptions/Alternate</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac- 836910ac1a4c</CallhandlerURI> <TransferOptionType>Alternate</TransferOptionType> <Action>0</Action> <RnaAction>1</RnaAction> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferDtDetect>false</TransferDtDetect> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> <MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8- d3b13f5040f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8- d3b13f5040f5</PhoneSystemURI> <UsePrimaryExtension>true</UsePrimaryExtension> <PlayTransferPrompt>true</PlayTransferPrompt> <PersonalCallTransfer>false</PersonalCallTransfer> <Enabled>true</Enabled> </TemplateTransferOption> <TemplateTransferOption> <URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac- 836910ac1a4c/templatetransferoptions/Off Hours</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac- 836910ac1a4c</CallhandlerURI> <TransferOptionType>Off Hours</TransferOptionType> <Action>0</Action> <RnaAction>1</RnaAction> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferDtDetect>false</TransferDtDetect> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> <MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8- d3b13f5040f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8- d3b13f5040f5</PhoneSystemURI> <UsePrimaryExtension>true</UsePrimaryExtension> <PlayTransferPrompt>true</PlayTransferPrompt> <PersonalCallTransfer>false</PersonalCallTransfer> <Enabled>true</Enabled> </TemplateTransferOption> </TemplateTransferOptions> Response Code: 200 JSON Example To list the transfer rules, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 429 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Listing the Transfer Rules

Page 462#

chunk 428

Request URI: GET: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate-objectid>/templatetransferoptions Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total":"2" "TemplateTransferOption": [ { "URI":"/vmrest/callhandlertemplates/e07ee639-bf8a-4c37-9d6a- 0b51beee65c7/templatetransferoptions/Alternate" "CallHandlerObjectId":"e07ee639-bf8a-4c37-9d6a-0b51beee65c7" "CallhandlerURI":"/vmrest/handlers/callhandlers/e07ee639-bf8a-4c37-9d6a- 0b51beee65c7" "TransferOptionType":"Alternate" "Action":"0" "RnaAction":"1" "TransferAnnounce":"false" "TransferConfirm":"false" "TransferDtDetect":"false" "TransferHoldingMode":"0" "TransferIntroduce":"false" "TransferRings":"4" "TransferScreening":"false" "TransferType":"1" "MediaSwitchObjectId":"f92e948f-6bd4-4891-ab8b-a3d930688305" "PhoneSystemURI":"/vmrest/phonesystems/f92e948f-6bd4-4891-ab8b-a3d930688305" "UsePrimaryExtension":"true" "PlayTransferPrompt":"true" "PersonalCallTransfer":"false" "Enabled":"true" }, { "URI":"/vmrest/callhandlertemplates/e07ee639-bf8a-4c37-9d6a- 0b51beee65c7/templatetransferoptions/Off Hours" "CallHandlerObjectId":"e07ee639-bf8a-4c37-9d6a-0b51beee65c7" "CallhandlerURI":"/vmrest/handlers/callhandlers/e07ee639-bf8a-4c37-9d6a- 0b51beee65c7" "TransferOptionType":"Off Hours" "Action":"0" "RnaAction":"1" "TransferAnnounce":"false" "TransferConfirm":"false" "TransferDtDetect":"false" "TransferHoldingMode":"0" "TransferIntroduce":"false" "TransferRings":"4" "TransferScreening":"false" "TransferType":"0" "MediaSwitchObjectId":"f92e948f-6bd4-4891-ab8b-a3d930688305" "PhoneSystemURI":"/vmrest/phonesystems/f92e948f-6bd4-4891-ab8b-a3d930688305" "UsePrimaryExtension":"true" "PlayTransferPrompt":"true" "PersonalCallTransfer":"false" "Enabled":"true" } ] } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 430 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Listing the Transfer Rules

Page 463#

chunk 429

Viewing the Details of Specific Transfer Rule The following is an example of the GET request that lists the details of specific transfer rule: GET https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate- objectId>/templatetransferoptions/<TransferOptionType> The following is the response from the above GET request and the actual response will depend upon the information given by you: <TemplateTransferOption> <URI>/vmrest/callhandlertemplates/5f6e1043-5edf-4646-90ac- 836910ac1a4c/templatetransferoptions/Alternate</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac- 836910ac1a4c</CallhandlerURI> <TransferOptionType>Alternate</TransferOptionType> <Action>0</Action> <RnaAction>1</RnaAction> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferDtDetect>false</TransferDtDetect> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> <MediaSwitchObjectId>abf4b7d1-89d5-45c2-bdc8-d3b13f5040f5</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/abf4b7d1-89d5-45c2-bdc8- d3b13f5040f5</PhoneSystemURI> <UsePrimaryExtension>true</UsePrimaryExtension> <PlayTransferPrompt>true</PlayTransferPrompt> <PersonalCallTransfer>false</PersonalCallTransfer> <Enabled>true</Enabled> </TemplateTransferOption> Response Code: 200 JSON Example To view the details of a specific transfer rule, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 431 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Viewing the Details of Specific Transfer Rule

Page 464#

chunk 430

Request URI: GET: https://<connection-server>/vmrest/callhandlertemplates/<Callhandlertemplate- objectid>/templatetransferoptions/<TransferOptionType> Accept: applciation/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI":"/vmrest/callhandlertemplates/e07ee639-bf8a-4c37-9d6a- 0b51beee65c7/templatetransferoptions/Alternate" "CallHandlerObjectId":"e07ee639-bf8a-4c37-9d6a-0b51beee65c7" "CallhandlerURI":"/vmrest/handlers/callhandlers/e07ee639-bf8a-4c37-9d6a- 0b51beee65c7" "TransferOptionType":"Alternate" "Action":"0" "RnaAction":"1" "TransferAnnounce":"false" "TransferConfirm":"false" "TransferDtDetect":"false" "TransferHoldingMode":"0" "TransferIntroduce":"false" "TransferRings":"4" "TransferScreening":"false" "TransferType":"1" "MediaSwitchObjectId":"f92e948f-6bd4-4891-ab8b-a3d930688305" "PhoneSystemURI":"/vmrest/phonesystems/f92e948f-6bd4-4891-ab8b-a3d930688305" "UsePrimaryExtension":"true" "PlayTransferPrompt":"true" "PersonalCallTransfer":"false" "Enabled":"true" } Response Code: 200 Updating a Transfer Rule The following is an example of the PUT request that updates a transfer rule: PUT https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate- objectid>/templatetransferoptions/<TransferOptionType> Request Body: <TemplateTransferOption> <Action>1</Action> <Extension>1000</Extension> <TimeExpires>2012-12-31 12:00:00.0</TimeExpires> <Enabled>true</Enabled> <PlayTransferPrompt>true</PlayTransferPrompt> <TransferAnnounce>true</TransferAnnounce> <TransferConfirm>true</TransferConfirm> <TransferIntroduce>true</TransferIntroduce> <TransferScreening>true</TransferScreening> <TransferType>1</TransferType> </TemplateTransferOption> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 432 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Updating a Transfer Rule

Page 465#

chunk 431

To update a particular transfer rule, do the following: GET: https://<connection-server>/vmrest/callhandlertemplates/<callhandlertemplate- objectid>/templatetransferoptions/<TransferOptionType> Accept: applciation/json Content_type: application/json Connection: keep_alive Request Body: { "Action":"1", "TimeExpires":"2012-12-31 12:00:00.0", "Extension":"1002", "PlayTransferPrompt":"true", "TransferAnnounce":"true", "TransferConfirm":"true" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Data Type Operations Parameters URI of the call handler transfer options. String Read Only URI Specifies the call handler object ID String Read Only CallHandlerTemplateObjectId URI of the call handler being referenced. String Read Only CallHandlerTemplateURI Specifies the transfer option type. There are 3 transfer option type available: • Alternate - in effect at all times, overrides standard and offhours. • OffHours - off or closed hours based on specified schedule. • Standard - standard hours based on specified schedule. String Read Only TransferOptionType Specifies the transfer rule action. Custom type is Transfer Rule Action. Refer to the section Enumeration Type.<<Link will be mentioned later>> Default value: 0 Integer Read/Write Action Action to take on Ring-No-Answer (RNA) condition. Refer to the section Enumeration Type.<<Link will be mentioned later>> Integer Read/Write RnaAction Cisco Unity Connection Provisioning Interface (CUPI) API 433 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 466#

chunk 432

Comments Data Type Operations Parameters Rather than use a simple on and off scheme for enabling transfer options and greetings, Cisco Unity Connection employs a date scheme. If the value is NULL or a date is in the future then the transfer option is considered enabled. If the date is sometime in the past, then the transfer option is considered disabled. The "Standard" transfer option should never be disabled. For primary call handlers associated with subscribers, the "Alternate" transfer option should always be enabled since subscribers have only one transfer option used currently. Datetime Read/Write TimeExpires A flag indicating whether Cisco Unity Connection plays "transferring call" when the subscriber answers the phone. This field requires a "TransferType" of supervised (1). Values can be: • false: Do not say "Transferring call" when the subscriber answers the phone • true: Say "Transferring call" when the subscriber answers the phone Default value: false Boolean Read/Write TransferAnnounce Cisco Unity Connection Provisioning Interface (CUPI) API 434 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 467#

chunk 433

Comments Data Type Operations Parameters The type of call transfer Cisco Unity Connection will perform - supervised or unsupervised (also referred to as "Release to Switch" transfer). Requires a "TransferType" of supervised. • Unsupervised transfer (also referred to as "Release to Switch" transfer) - Cisco Unity Connection puts the caller on hold, dials the extension, and releases the call to the phone system. When the line is busy or is not answered, the phone system (not Cisco Unity Connection) forwards the call to the subscriber or handler greeting. To use "Unsupervised" transfer, call forwarding must be enabled on the phone system • Supervised transfer - Cisco Unity Connection acts as a receptionist, handling the transfer. If the line is busy or the call is not answered, Cisco Unity Connection (not the phone system) forwards the call to the subscriber or handler greeting. Supervised transfer can be used regardless if the phone system forwards calls or not. Typically TransferConfirm is used in conjunction with the call screening option ("TransferScreening" column) enabled. This combination enables the subscriber to hear the name of the caller and then decide if they want to take the call or not. Default Value: false. Values can be: • false: Transfer confirm disabled • true: Transfer confirm enabled Default value: false Boolean Read/Write TransferConfirm A flag indicating whether Cisco Unity Connection will check for dial tone before attempting to transfer the call. Requires a "TransferType" of supervised (1). This is usually used for phone systems that do not have "positive disconnect" capabilities to avoid sending terminated calls to the operator console, for instance. Possible values can be: • false: Do not check for dial tone prior to transferring a call • true: Check for dial tone prior to transferring a call Default value:false Boolean Read/Write TransferDtDetect The action Cisco Unity Connection will take when the extension is busy. Requires a TransferType column value = "Supervised" (1). Default Value: 0 Integer Read/Write TransferHoldingMode Cisco Unity Connection Provisioning Interface (CUPI) API 435 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 468#

chunk 434

Comments Data Type Operations Parameters A flag indicating whether Cisco Unity Connection will say "call for <recorded name of the call handler>" when the subscriber answers the phone. Requires a "TransferType" of supervised (1). This functionality is normally used when a single extension number is being shared by multiple subscribers or a scenario where the subscriber who is the message recipient takes calls for more than one dialed extension. The introduction alerts the subscriber who answers that the call is for the call handler. Default Value: false. Boolean Read/Write TransferIntroduce The number of times the extension rings before Cisco Unity Connection considers it a "ring no answer" and plays the subscriber or handler greeting. Requires a "TransferType" of supervised (1). The value of this column should never be less than 2 for a supervised transfer. The range can vary from 2 to 20. Default Value: 4 Integer Read/Write TransferRings A flag indicating whether Cisco Unity Connection will prompt callers to say their names. When the phone is answered, the subscriber hears "Call from…" before Cisco Unity Connection transfers the call. Requires a "TransferType" of supervised (1). Normally this column is used along with "TransferConfirm" to allow the subscriber to screen calls. Values can be: • false: Call screening disabled • true: Ask and record caller name Default Value: false Boolean Read/Write TransferScreening The type of call transfer Cisco Unity Connection will perform - supervised or unsupervised (also referred to as "Release to Switch" transfer). • Unsupervised transfer (also referred to as "Release to Switch" transfer) - Cisco Unity Connection puts the caller on hold, dials the extension, and releases the call to the phone system. When the line is busy or is not answered, the phone system (not Cisco Unity Connection) forwards the call to the subscriber or handler greeting. To use "Unsupervised" transfer, call forwarding must be enabled on the phone system. • Supervised transfer - Cisco Unity Connection acts as a receptionist, handling the transfer. If the line is busy or the call is not answered, Cisco Unity Connection (not the phone system) forwards the call to the subscriber or handler greeting. Supervised transfer can be used regardless if the phone system forwards calls or not. Default value: 0 Integer Read/Write TransferType Cisco Unity Connection Provisioning Interface (CUPI) API 436 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 469#

chunk 435

Comments Data Type Operations Parameters The unique identifier of the MediaSwitch object that Cisco Unity Connection uses for transferring the call to the subscriber phone. String Read Only MediaSwitchObjectId Specifies the URI of the phone systems String Read Only PhoneSystemURI If extension is null this will be set to 1 (true) to indicate we are using instead the DtmfAccessId for the owning handler or subscriber. Possible Values: • false • true Default value: true Boolean Read/Write UsePrimaryExtension If an administrator using Cisco Unity Connection Administration chooses to transfer to the extension of a subscriber or call handler, Cisco Unity Connection will automatically enter the DtmfAccessId value pulled from the DtmfAccessId table for the call handler into this column. Note- Digits, hash, comma, asterisk, plus are allowed. Integer Read/Write Extension A flag indicating whether the "Wait while I transfer your call" prompt should be played prior to transferring a call. Values can be: • true - Play Transfer prompt is enabled. • false - Play transfer prompt is disabled. Default Value: true Boolean Read/Write PlayTransferprompt A flag indicating whether or not Personal Call Transfer Rules are used for the specific Transfer Option. Values can be: • false: Not enabled • true: Enabled Default value: false Boolean Read/Write PersonalCallTransfer Indicate whether the transfer option is enabled or not.To enable rule till particular end date TimeExpires should also be specified and to enable transfer rule with no end date, the TimeExpires field should be empty. Possible value: • true: enabled • false: disabled Default value: true This means transfer rules are enabled with no end date by default. Boolean Read/Write Enabled Cisco Unity Connection Provisioning Interface (CUPI) API 437 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 470#

chunk 436

Cisco Unity Connection Provisioning Interface (CUPI) API 438 Cisco Unity Connection Provisioning Interface (CUPI) API for Call Handler Template Explanation of Data Fields

Page 471#

chunk 437

C H A P T E R 36 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List • Cisco Unity Connection Provisioning Interface (CUPI) API -- Distribution List APIs, on page 439 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Distribution List Members APIs, on page 453 Cisco Unity Connection Provisioning Interface (CUPI) API -- Distribution List APIs Distribution List APIs Administrator can use this API to create/update/delete/fetch the distribution lists. You can update various attributes of distribution list using this API. Also members in a distribution list can be added/deleted/fetched using this API. Listing the Distribution Lists The following is an example of the GET request that fetch the list of distribution list: GET https://<connection-server>/vmrest/distributionlists The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 439

Image 1 from page 471

Page 472#

chunk 438

<DistributionLists total="3"> <DistributionList> <URI>/vmrest/distributionlists/24865f76-fa95-412d-bc56-a48ef9e1531a</URI> <ObjectId>24865f76-fa95-412d-bc56-a48ef9e1531a</ObjectId> <Alias>undeliverablemessages</Alias> <DisplayName>Undeliverable Messages</DisplayName> <LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f</LocationURI> <PartitionObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <PartitionURI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7- 43c4d2e2fd0b</PartitionURI> <DistributionListMembersURI>/vmrest/distributionlists/24865f76-fa95-412d-bc56- a48ef9e1531a/distributionlistmembers</DistributionListMembersURI> <AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2 024865f76-fa95-412d-bc56-a48ef9e1531a)</AlternateNamesURI> </DistributionList> <DistributionList> <URI>/vmrest/distributionlists/f3e492dc-822b-43fb-be2f-416b972fb642</URI> <ObjectId>f3e492dc-822b-43fb-be2f-416b972fb642</ObjectId> <Alias>allvoicemailusers</Alias> <DisplayName>All Voice Mail Users</DisplayName> <LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f</LocationURI> <DtmfAccessId>99991</DtmfAccessId> <PartitionObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionObjectId> <PartitionURI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7- 43c4d2e2fd0b</PartitionURI> <DistributionListMembersURI>/vmrest/distributionlists/f3e492dc-822b-43fb-be2f- 416b972fb642/distributionlistmembers</DistributionListMembersURI> <AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2 0f3e492dc-822b-43fb-be2f-416b972fb642)</AlternateNamesURI> </DistributionList> <DistributionList> <URI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031-bc83703f0b1c</URI> <ObjectId>c34b145e-b1f4-40de-9031-bc83703f0b1c</ObjectId> <Alias>allvoicemailenabledcontacts</Alias> <DisplayName>All Voicemail-Enabled Contacts</DisplayName> <LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f</LocationURI> <DtmfAccessId>99992</DtmfAccessId> <PartitionObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionObjectId> <PartitionURI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7- 43c4d2e2fd0b</PartitionURI> <DistributionListMembersURI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031- bc83703f0b1c/distributionlistmembers</DistributionListMembersURI> <AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20c34b145e-b1f4-40de-9031-bc83703f0b1c)</AlternateNamesURI> </DistributionList> </DistributionLists> Response Code: 204 JSON Example To get distribution lists, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 440 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Listing the Distribution Lists

Page 473#

chunk 439

Request URI: GET https://<connection-server>/vmrest/distributionlists Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total":"2" "DistributionList":[ { "URI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331-ed57a73ef9eb" "ObjectId":"d9e61ace-3ece-4722-b331-ed57a73ef9eb" "Alias":"undeliverablemessages" "DisplayName":"Undeliverable Messages" "LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c" "LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7-700497ba975c" "PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744" "TenantObjectId":"fe6541fb-b42c-44f2-8404-ded14cbf7438" "PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744" "DistributionListMembersURI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331-ed57a73ef9eb/distributionlistmembers" "AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%20d9e61ace-3ece-4722-b331-ed57a73ef9eb)" } { "URI":"/vmrest/distributionlists/a1fcfd8b-8749-465b-abe1-b578a8565107" "ObjectId":"a1fcfd8b-8749-465b-abe1-b578a8565107" "Alias":"allvoicemailusers" "DisplayName":"All Voice Mail Users" "LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c" "LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7-700497ba975c" "DtmfAccessId":"99991" "PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744" "PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744" "DistributionListMembersURI":"/vmrest/distributionlists/a1fcfd8b-8749-465b-abe1-b578a8565107/distributionlistmembers" "AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%20a1fcfd8b-8749-465b-abe1-b578a8565107)" } ] } Response Code: 200 Listing Specific Tenant Related Distribution Lists by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related distribution lists using the following URI: GET https://<connection-server>/vmrest/distributionlists?query=(TenantObjectId is <Tenant-ObjectId>) To get the TenantObjectID, use the following URI: Cisco Unity Connection Provisioning Interface (CUPI) API 441 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Listing Specific Tenant Related Distribution Lists by System Administrator

Page 474#

chunk 440

GET https://<connection-server>/vmrest/tenants Viewing the Specific Distribution List The following is an example of the GET request that lists the details of specific distribution list represented by the provided value of distribution list object ID: GET https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> The following is the response from the above GET request and the actual response will depend upon the information given by you: <DistributionList> <URI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031-bc83703f0b1c</URI> <ObjectId>c34b145e-b1f4-40de-9031-bc83703f0b1c</ObjectId> <Alias>allvoicemailenabledcontacts</Alias> <CreationTime>2013-02-14T05:05:42Z</CreationTime> <DisplayName>All Voicemail-Enabled Contacts</DisplayName> <DtmfName>2558642362453622</DtmfName> <IsPublic>true</IsPublic> <Undeletable>true</Undeletable> <VoiceName>d5814a39-94df-4498-acfd-93728a607be7.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/d5814a39-94df-4498-acfd-93728a607be7.wav</VoiceFileURI> <VoiceNameURI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031- bc83703f0b1c/voicename</VoiceNameURI> <LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f</LocationURI> <DtmfAccessId>99992</DtmfAccessId> <AllowContacts>true</AllowContacts> <AllowForeignMessage>false</AllowForeignMessage> <PartitionObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionObjectId> <PartitionURI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</PartitionURI> <DistributionListMembersURI>/vmrest/distributionlists/c34b145e-b1f4-40de-9031- bc83703f0b1c/distributionlistmembers</DistributionListMembersURI> <AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20c34b14 5e-b1f4-40de-9031-bc83703f0b1c)</AlternateNamesURI> </DistributionList> Response Code: 200 JSON Example To get a distribution list for a particular partitions, do the following: Request URI: GET https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 442 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Viewing the Specific Distribution List

Page 475#

chunk 441

{ "URI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331-ed57a73ef9eb" "ObjectId":"d9e61ace-3ece-4722-b331-ed57a73ef9eb" "Alias":"undeliverablemessages" "CreationTime":"2013-02-21T11:39:08Z" "DisplayName":"Undeliverable Messages" "DtmfName":"8633548372253637" "IsPublic":"true" "Undeletable":"true" "VoiceName":"487e3db3-3782-4d30-a000-ef0d03ae22a2.wav" "VoiceFileURI":"/vmrest/voicefiles/487e3db3-3782-4d30-a000-ef0d03ae22a2.wav" "VoiceNameURI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331- ed57a73ef9eb/voicename" "LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c" "LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7- 700497ba975c" "AllowContacts":"false" "AllowForeignMessage":"false" "PartitionObjectId":"9c010254-1493-4e1a-9e47-fe2494792744" "PartitionURI":"/vmrest/partitions/9c010254-1493-4e1a-9e47-fe2494792744" "DistributionListMembersURI":"/vmrest/distributionlists/d9e61ace-3ece-4722-b331- ed57a73ef9eb/distributionlistmembers" "AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%20d9e61 ace-3ece-4722-b331-ed57a73ef9eb)" } Response Code: 200 Getting the Distribution List Based on an Query The following is an example of the GET request that lists the details of specific distribution list represented by the provided value of partition object ID: GET https://<connection- server>/vmrest/distributionlists?query=(PartitionObjectId%20is%20<objectId of the partition>) Where the partition object Id can be fetched using the following request GET https://<connection-server>/vmrest/partitions The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 443 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Getting the Distribution List Based on an Query

Page 476#

chunk 442

<DistributionLists total="3"> <DistributionList> <URI>/vmrest/distributionlists/2fe64511-1b69-4d97-b27b-ef383af4b194</URI> <ObjectId>2fe64511-1b69-4d97-b27b-ef383af4b194</ObjectId> <Alias>undeliverablemessages</Alias> <DisplayName>Undeliverable Messages</DisplayName> <LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb- 8ddce4f430ff</LocationURI> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709- cd3895a9d41b</PartitionURI> <DistributionListMembersURI>/vmrest/distributionlists/2fe64511-1b69-4d97-b27b- ef383af4b194/distributionlistmembers</DistributionListMembersURI> <AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2 02fe64511-1b69-4d97-b27b-ef383af4b194)</AlternateNamesURI> </DistributionList> <DistributionList> <URI>/vmrest/distributionlists/d37dfc67-04c2-48d3-9a7a-f2b316a09840</URI> <ObjectId>d37dfc67-04c2-48d3-9a7a-f2b316a09840</ObjectId> <Alias>allvoicemailusers</Alias> <DisplayName>All Voice Mail Users</DisplayName> <LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb- 8ddce4f430ff</LocationURI> <DtmfAccessId>99991</DtmfAccessId> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709- cd3895a9d41b</PartitionURI> <DistributionListMembersURI>/vmrest/distributionlists/d37dfc67-04c2-48d3-9a7a- f2b316a09840/distributionlistmembers</DistributionListMembersURI> <AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2 0d37dfc67-04c2-48d3-9a7a-f2b316a09840)</AlternateNamesURI> </DistributionList> <DistributionList> <URI>/vmrest/distributionlists/160da8fe-2171-4bf7-9009-e95db94f823e</URI> <ObjectId>160da8fe-2171-4bf7-9009-e95db94f823e</ObjectId> <Alias>allvoicemailenabledcontacts</Alias> <DisplayName>All Voicemail-Enabled Contacts</DisplayName> <LocationObjectId>42a9ab40-490d-4819-9bfb-8ddce4f430ff</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb- 8ddce4f430ff</LocationURI> <DtmfAccessId>99992</DtmfAccessId> <PartitionObjectId>da2114bf-cde7-43d8-9709-cd3895a9d41b</PartitionObjectId> <PartitionURI>/vmrest/partitions/da2114bf-cde7-43d8-9709- cd3895a9d41b</PartitionURI> <DistributionListMembersURI>/vmrest/distributionlists/160da8fe-2171-4bf7-9009- e95db94f823e/distributionlistmembers</DistributionListMembersURI> <AlternateNamesURI>/vmrest/alternatenames?query=(DistributionListObjectId%20is%2 0160da8fe-2171-4bf7-9009-e95db94f823e)</AlternateNamesURI> </DistributionList> </DistributionLists> Response Code: 200 JSON Example To get a particular distribution list, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 444 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Getting the Distribution List Based on an Query

Page 477#

chunk 443

Request URI: GET https://<connection-server>/vmrest/distributionlists?query=(PartitionObjectId%20is%20<objectId of the partition>) Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total":"3" "DistributionList":[ { "URI":"/vmrest/distributionlists/2fe64511-1b69-4d97-b27b-ef383af4b194" "ObjectId":"2fe64511-1b69-4d97-b27b-ef383af4b194" "Alias":"undeliverablemessages" "DisplayName":"Undeliverable Messages" "LocationObjectId":"42a9ab40-490d-4819-9bfb-8ddce4f430ff" "LocationURI":"/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb- 8ddce4f430ff" "PartitionObjectId":"da2114bf-cde7-43d8-9709-cd3895a9d41b" "PartitionURI":"/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b" "DistributionListMembersURI":"/vmrest/distributionlists/2fe64511-1b69-4d97-b27b- ef383af4b194/distributionlistmembers" "AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%20 2fe64511-1b69-4d97-b27b-ef383af4b194)" } { "URI":"/vmrest/distributionlists/d37dfc67-04c2-48d3-9a7a-f2b316a09840" "ObjectId":"d37dfc67-04c2-48d3-9a7a-f2b316a09840" "Alias":"allvoicemailusers" "DisplayName":"All Voice Mail Users" "LocationObjectId":"42a9ab40-490d-4819-9bfb-8ddce4f430ff" "LocationURI":"/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb- 8ddce4f430ff" "DtmfAccessId":"99991" "PartitionObjectId":"da2114bf-cde7-43d8-9709-cd3895a9d41b" "PartitionURI":"/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b" "DistributionListMembersURI":"/vmrest/distributionlists/d37dfc67-04c2-48d3-9a7a- f2b316a09840/distributionlistmembers" "AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%2 0d37dfc67-04c2-48d3-9a7a-f2b316a09840)" } { "URI":"/vmrest/distributionlists/160da8fe-2171-4bf7-9009-e95db94f823e" "ObjectId":"160da8fe-2171-4bf7-9009-e95db94f823e" "Alias":"allvoicemailenabledcontacts" "DisplayName":"All Voicemail-Enabled Contacts" "LocationObjectId":"42a9ab40-490d-4819-9bfb-8ddce4f430ff" "LocationURI":"/vmrest/locations/connectionlocations/42a9ab40-490d-4819-9bfb- 8ddce4f430ff" "DtmfAccessId":"99992" "PartitionObjectId":"da2114bf-cde7-43d8-9709-cd3895a9d41b" "PartitionURI":"/vmrest/partitions/da2114bf-cde7-43d8-9709-cd3895a9d41b" "DistributionListMembersURI":"/vmrest/distributionlists/160da8fe-2171-4bf7-9009- e95db94f823e/distributionlistmembers" "AlternateNamesURI":"/vmrest/alternatenames?query=(DistributionListObjectId%20is%2 0160da8fe-2171-4bf7-9009-e95db94f823e)" } } } Cisco Unity Connection Provisioning Interface (CUPI) API 445 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Getting the Distribution List Based on an Query

Page 478#

chunk 444

Response Code: 200 Creating a Distribution List The following is an example of the POST request that creates a new distribution list where the mandatory field is alias: POST https://<connection-server>/vmrest/distributionlists The following is the response from the above POST request and the actual response will depend upon the information given by you: Request Body: <DistributionList> <Alias>Texoma_allvoicemailusersDL_1 </Alias> <DisplayName>Texoma_allvoicemailusersDL_1</DisplayName> </DistributionList> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/distributionlists/3049a03c-108d-40aa-a989-0b008f07656c JSON Example To create distribution list, do the following: Request URI: POST https://<connection-server>/vmrest/distributionlists Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "Alias":"Texoma1" "DisplayName": "Texoma 1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/distributionlists/dd043e9a-3f34-47eb-a72a-1b4b41e5f9d7 Delete the Distribution List This request can be used to delete a distribution list. DELETE: https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 446 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Creating a Distribution List

Page 479#

chunk 445

To delete a distribution list, do the following: DELETE https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Updating the Distribution List The following is an example of the PUT request that can be used to update the distribution list by replicating remote sites over inter-site links, adding contacts in distribution list, and accepting messages from foreign systems. PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> Example 1: Replicate to remote sites over inter-site links is enabled, disable add contacts in distribution list, and disallow messages from users on remote voice messaging systems that are configured as VPIM locations. Request Body: <DistributionList> <AllowContacts>false</AllowContacts> <AllowForeignMessage>false</AllowForeignMessage> </DistributionList> Response Code: 204 JSON Example: PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "AllowContacts":"false", "AllowForeignMessage":"false" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Replicate to remote sites over inter-site links is disabled, enable add contacts in distribution list, and disallow messages from users on remote voice messaging systems that are configured as VPIM locations. Request Body: <DistributionList> <AllowContacts>true</AllowContacts> <AllowForeignMessage>false</AllowForeignMessage> </DistributionList> Cisco Unity Connection Provisioning Interface (CUPI) API 447 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Updating the Distribution List

Page 480#

chunk 446

The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example: PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "AllowContacts":"false", "AllowForeignMessage":"false" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 3: Replicate to remote sites over inter-site links is enabled, enable add contacts in distribution list, and accept messages from users on remote voice messaging systems that are configured as VPIM locations. Request Body: <DistributionList> <AllowContacts>false</AllowContacts> <AllowForeignMessage>true</AllowForeignMessage> </DistributionList> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example: Request URI: PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "AllowContacts":"false", "AllowForeignMessage":"true" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Updating the Distribution List for Tenant The following is an example of the PUT request that can be used to update the distribution list for Tenants. PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 448 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Updating the Distribution List for Tenant

Page 481#

chunk 447

Request Body: <DistributionList> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> </DistributionList> The following is the response from the above PUT request: Response Code: 204 JSON Example : PUT https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "TenantObjectId":"fe6541fb-b42c-44f2-8404-ded14cbf7438" } Updating the Alternate Names of Distribution Lists The mandatory fields for creation of an alternate name are FirstName and DistributionListObjectId. The URI to get DistributionListObjectId: https://<connection server>/vmrest/distributionlists. Example 1: Adding an alternate name for a distribution list POST https://<connection-server>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20ef4aa84e-97c3-456e-848e-b162a04c9631) Request Body: <AlternateName> <FirstName>Taxoma_list1</FirstName> <DistributionListObjectId>ef4aa84e-97c3-456e-848e-b162a04c9631</DistributionListObjectId> </AlternateName> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/alternatenames/e091a0f6-031e-440d-abd2-783e5f62511b JSON Example: Request URI: POST https://<connection- server>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20ef4aa84e-97c3-456e-848e- b162a04c9631) Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "FirstName":"Taxoma_list1", "DistributionListObjectId":"ef4aa84e-97c3-456e-848e-b162a04c9631" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 449 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Updating the Alternate Names of Distribution Lists

Page 482#

chunk 448

Response Code: 201 /vmrest/alternatenames/e091a0f6-031e-440d-abd2-783e5f62511b Example 2: Listing the alternate names of a distribution list GET https://<connection-server>/vmrest/ alternatenames?query=(DistributionListObjectId%20is%20ef4aa84e-97c3-456e-848e-b162a04c9631) The following is the response from the above GET request and the actual response will depend upon the information given by you: <AlternateNames total="2"> <AlternateName> <URI>/vmrest/alternatenames/865615e9-1c00-4121-acf4-36ee00adb09c</URI> <FirstName>Texoma_Alternane Name 1</FirstName> <ObjectId>865615e9-1c00-4121-acf4-36ee00adb09c</ObjectId> <DistributionListObjectId>e703511f-fa9b-41f2-8662- 23de75fffc96</DistributionListObjectId> <DistributionListURI>/vmrest/distributionlists/e703511f-fa9b-41f2-8662- 23de75fffc96</DistributionListURI> </AlternateName> <AlternateName> <URI>/vmrest/alternatenames/af735ef8-b3f3-4c97-a8ec-667e416cfde2</URI> <FirstName>Texoma_Alternate Name 2</FirstName> <ObjectId>af735ef8-b3f3-4c97-a8ec-667e416cfde2</ObjectId> <DistributionListObjectId>e703511f-fa9b-41f2-8662- 23de75fffc96</DistributionListObjectId> <DistributionListURI>/vmrest/distributionlists/e703511f-fa9b-41f2-8662- 23de75fffc96</DistributionListURI> </AlternateName> </AlternateNames> Response Code: 200 JSON Example: GET https://<connection-server>/vmrest/alternatenames?query=(DistributionListObjectId%20is%20c238c2bf-4037-494d-951b-090468c95dc4) Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total":"1","AlternateName": { "URI":"/vmrest/alternatenames/e091a0f6-031e-440d-abd2-783e5f62511b", "FirstName":"Taxoma_list1", "ObjectId":"e091a0f6-031e-440d-abd2-783e5f62511b", "DistributionListObjectId":"c238c2bf-4037-494d-951b-090468c95dc4", "DistributionListURI":"/vmrest/distributionlists/c238c2bf-4037-494d-951b- 090468c95dc4" } } Response Code: 200 Example 3: Deleting an alternate name Cisco Unity Connection Provisioning Interface (CUPI) API 450 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Updating the Alternate Names of Distribution Lists

Page 483#

chunk 449

DELETE https://<connection-server>/vmrest /alternatenames/<AlternateNameObjectId> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example: DELETE https://<connection-server>/vmrest/alternatenames/<AlternateNameObjectId> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Example 4: Editing an Alternate Name Note that only first name is editable. PUT https://<connection-server>/vmrest/alternatenames/<AlternateNameObjectId> Request Body: <AlternateName> <FirstName>Texoma_Alternane Name1</FirstName> </AlternateName> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example: PUT https://<connection-server>/vmrest/alternatenames/<AlternateNameObjectId> Accept: application/json Connection: keep-alive Request Body: { "FirstName":"Texoma1" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of the Data Fields for Distribution List Comments Data Type Operation Parameter Unique name for a distribution List String(64) Read/Write Alias Cisco Unity Connection Provisioning Interface (CUPI) API 451 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Explanation of the Data Fields for Distribution List

Page 484#

chunk 450

Comments Data Type Operation Parameter A flag indicating whether contacts (system, VPIM,virtual) are allowed to be members of this Distribution List. Purpose of this flag is to enable administrators to create a Distribution List whose members are Contacts. Possible values: • true: allow contacts (system, VPIM,virtual) are allowed to be members of this Distribution List • false: Do not allow contacts (system, VPIM,virtual) are allowed to be members of this Distribution List Default: false Boolean Read/Write AllowContacts Allow users on remote voice messaging systems that are configured as VPIM locations to send messages to this distribution list. Only valid if the list is for subscribers only (i.e. does not allow contacts) Possible Values: • true: allow remote voice messaging • false: Do not allow remote voice messaging. Default: False Boolean Read/Write AllowForeignMesssage The date and time the system distribution list was created in UTC Datetime Read Only CreationTime The unique text name of the system distribution. String(64) Read/Write DisplayName Extension that the phone system uses to connect to the distribution list.It is an optional field. String(40) Read/Write DtmfAccessId The series of digits corresponding to the numeric keypad mapping on a standard touchtone phone representing the display name of the system distribution list. These digits are used for searching the distribution list by name via the phone. String(64) Read Only DtmfName The unique identifier of the LocationVMS object to which this system distribution list belongs. String(16) Read Only LocationObjectId Object Id of the distribution list created. String(36) Read Only ObjectId The unique identifier of the Partition to which the DistributionList is assigned. String(36) Read Only PartitionObjectId The unique identifier of the tenant to which the distribution list belongs. This field is reflected in the response only if the distribution list belongs to a particular tenant. String(36) Read/Write TenantObjectId The voicename of the distribution List String(40) Read/Write VoiceName URI of the Distribution list String Read Only URI Cisco Unity Connection Provisioning Interface (CUPI) API 452 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Explanation of the Data Fields for Distribution List

Page 485#

chunk 451

Comments Data Type Operation Parameter URI of Voice File String Read Only VoiceFileURI Voice Name URI String Read Only VoiceNameURI Location URI String Read Only LocationURI Partition URI String Read Only PartitionURI Distribution List URI String Read Only PartitionURI Alternate Names URI String Read Only AlternameNamesURI Explanation of the Data Fields for Alternate Names of Distribution List Comments Data Type Operation Parameter Specifies the alternate name of a distribution list. String (64) Read/Write First Name Specifies the objectid of the alternate name. String (36) Read Only ObjectId Specifies the object ID of the distribution list. String (36) Read Only DistributionListObjectId Specifies the URI of the alternate name. String Read Only URI Specifies the URI of distribution list. String Read Only DistributionListURI Cisco Unity Connection Provisioning Interface (CUPI) API -- Distribution List Members APIs Distribution List Members APIs Administrator can use this API to create/update/delete/fetch the distribution list members. You can update various attributes of distribution list members using this API. Cisco Unity Connection Provisioning Interface (CUPI) API 453 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Explanation of the Data Fields for Alternate Names of Distribution List

Page 486#

chunk 452

Listing the Distribution List Members Request URI: GET https://<connection- server>/vmrest/distributionlists/<distributionlistObjectId>/distributionlistmember The following is an example of the GET request that fetch the list of distribution list members: GET https://<connection server>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e- b162a04c9631/distributionlistmembers The following is the response from the above GET request and the actual response will depend upon the information given by you: <DistributionListMembers total="1"> <DistributionListMember> <URI>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e- b162a04c9631/distributionlistmembers/f6712058-3409-49eb-a616-517614766594</URI> <DistributionListObjectId>ef4aa84e-97c3-456e-848e- b162a04c9631</DistributionListObjectId> <DistributionListURI>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e- b162a04c9631</DistributionListURI> <MemberUserObjectId>34cc862e-19e4-4689-a4ee- ee98d83b8319</MemberUserObjectId> <MemberUserURI>/vmrest/users/34cc862e-19e4-4689-a4ee- ee98d83b8319</MemberUserURI> <ObjectId>f6712058-3409-49eb-a616-517614766594</ObjectId> <Alias>Texoma_UserTemplate_1</Alias> <DisplayName>Texoma_UserTemplate_1</DisplayName> <AllowForeignMessage>false</AllowForeignMessage> <MemberGlobalUserObjectId>34cc862e-19e4-4689-a4ee- ee98d83b8319</MemberGlobalUserObjectId> <MemberGlobalUserURI>/vmrest/globalusers/34cc862e-19e4-4689-a4ee- ee98d83b8319</MemberGlobalUserURI> <MemberLocationObjectId>0eba1e8b-7e39-47a3-865f-ee6a34113f67</MemberLocationObjectId> <MemberLocationURI>/vmrest/locations/connectionlocations/0eba1e8b-7e39-47a3-865f-ee6a34113f67</MemberLocationURI> <MemberGlobalUserDignetObjectId>34cc862e-19e4-4689-a4ee- ee98d83b8319</MemberGlobalUserDignetObjectId> <IsUserTemplate>true</IsUserTemplate> <LocationObjectId>0eba1e8b-7e39-47a3-865f-ee6a34113f67</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/0eba1e8b-7e39-47a3-865f- ee6a34113f67</LocationURI> </DistributionListMember> </DistributionListMembers> Response Code: 200 JSON Example To get distribution list members: GET https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>/distributionlistmembers Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 454 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Listing the Distribution List Members

Page 487#

chunk 453

{ "@total":"1" "DistributionListMember": { "URI":"/vmrest/distributionlists/dd043e9a-3f34-47eb-a72a- 1b4b41e5f9d7/distributionlistmembers/dadd5c1c-1666-486a-94fa-bc681d99bfdb" "DistributionListObjectId":"dd043e9a-3f34-47eb-a72a- 1b4b41e5f9d7" "DistributionListURI":"/vmrest/distributionlists/dd043e9a-3f34-47eb-a72a- 1b4b41e5f9d7" "MemberUserObjectId":"216c1a3e-7c0e-4527-aa9c-32b2683f04be" "MemberUserURI":"/vmrest/users/216c1a3e-7c0e-4527-aa9c- 32b2683f04be" "ObjectId":"dadd5c1c-1666-486a-94fa-bc681d99bfdb" "Alias":"kapil1_Operator_1" "DisplayName":"kapil1_Operator_1" "AllowForeignMessage":"false" "MemberGlobalUserObjectId":"216c1a3e-7c0e-4527-aa9c-32b2683f04be" "MemberGlobalUserURI":"/vmrest/globalusers/216c1a3e-7c0e-4527-aa9c-32b2683f04be" "MemberLocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c" "MemberLocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f- 88f7-700497ba975c" "MemberGlobalUserDignetObjectId":"216c1a3e-7c0e-4527-aa9c-32b2683f04be" "IsUserTemplate":"false" "LocationObjectId":"830e1a2d-8e90-459f-88f7-700497ba975c" "LocationURI":"/vmrest/locations/connectionlocations/830e1a2d-8e90-459f-88f7- 700497ba975c" } } Response Code: 200 Creating a Distribution List Member You can create a new distribution list member by adding a user or user template or can add another distribution list as a member. Example 1: Adding a user or user template to a distribution list To get user or user template object ID, you can use the following URIs: GET https://<connection-server>/vmrest/users GET https://<connection-server>/vmrest/usertemplates The following is an example of the POST request that creates a new distribution list member by adding a user or user template: POST https://<connection-server>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e- b162a04c9631/distributionlistmembers Request Body: <DistributionListMember> <MemberUserObjectId>6202095f-606b-40d8-889d-f32e2d822f54</MemberUserObjectId> </DistributionListMember> Response Code: 201 Example 2: Adding another distribution list as a member The following is an example of the POST request that creates a new distribution list member by adding another distribution list as a member: Cisco Unity Connection Provisioning Interface (CUPI) API 455 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Creating a Distribution List Member

Page 488#

chunk 454

POST https://<connection-server>/vmrest/ distributionlists/ef4aa84e-97c3-456e-848e-b162a04c9631/distributionlistmembers Request Body: <DistributionListMember> <MemberDistributionListObjectId>e030d111-d29e-4d11-93fa-4abe73bd50a0</MemberDistributionListObjectId> </DistributionListMember> Response Code: 201 JSON Example: To add a user or user template, do the following: Request URI: POST https://<connection-server>/vmrest/distributionlists/<distributionlistObjectId>/distributionlistmembers Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "MemberUserObjectId": "216c1a3e-7c0e-4527-aa9c-32b2683f04be" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 To add another distribution list as a member: POST https://<connection-server>/vmrest/distributionlists/ef4aa84e-97c3-456e-848e-b162a04c9631/distributionlistmembers Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "MemberDistributionListObjectId":"e030d111-d29e-4d11-93fa-4abe73bd50a0" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Delete a Member from the Distribution List The following request can be used to delete a member from the distribution list: DELETE: https://<connection-server>/vmrest/distributionlists/<DistributionListObjectId>/distributionlistmembers/<distributionlistmemberObjectId> Response Code: 204 JSON Example: DELETE https://<connection-server>/vmrest/distributionlists/<DistributionListObjectId>/distributionlistmembers/<distributionlistmemberObjectId> Accept: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 456 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Delete a Member from the Distribution List

Page 489#

chunk 455

Response Code: 204 Explanation of the Data Fields for Distribution List Member Comments Data Type Operations Parameter Specifies the URI of the distribution list member. String Read Only URI Specifies the Object Id of the distribution list member. String (36) Read Only ObjectId Specifies the distribution list object ID. String (36) Read Only DistributionListObjectId Specifies the URI of the distribution list. String Read Only DistributionListURI Specifies the object ID of user or user template. String (36) Read Only MemberUserObjectId Specifies the object ID of the user or user template. String (36) Read Only MemberGlobalUserObjectId Specifies the object ID of the member's distribution list. String (36) Read Only MemberDistributionListObjectId Specifies the object ID of the user. String (36) Read Only MemberGlobalUserDiginetObjectId Specifies the object ID of the member location. String (36) Read Only MemberLocationObjectId Specifies the unique name to identify a distribution list. String (64) Read/Write Alias Allow users on remote voice messaging systems that are configured as VPIM locations to send messages to this distribution list. Possible values: • true: allow remote voice messaging • false: Do not allow remote voice messaging. Default: false Boolean Read Only AllowForeignMessage Specifies name of the member. String (64) Read/Write DisplayName Specifies if a member is a user template. Boolean Read Only IsUserTemplate Specifies URI of the location. String Read Only MemberLocationURI Specifies URI of the user. String Read Only MemberGlobalUserURI Cisco Unity Connection Provisioning Interface (CUPI) API 457 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Explanation of the Data Fields for Distribution List Member

Page 490#

chunk 456

Comments Data Type Operations Parameter Specifies location object ID. String (36) Read Only LocationObjectId Specifies URI of the location. String Read Only LocationURI • Cisco Unity Connection Provisioning Interface (CUPI) API 458 Cisco Unity Connection Provisioning Interface (CUPI) API for Distribution List Explanation of the Data Fields for Distribution List Member

Page 491#

chunk 457

C H A P T E R 37 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler • Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler APIs, on page 459 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Owner APIs, on page 479 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Enumeration Types, on page 484 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Greetings APIs, on page 486 • Cisco Unity Connection Provisioning Interface (CUPI) API -- TransferRulesAPIs, on page 495 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler APIs Call Handler APIs Call handlers answer calls, greet callers with recorded prompts, provide callers with information and options, route calls, and take messages. They are a basic component of Cisco Unity Connection. Your plan for call handlers can be simple, using only the predefined call handlers, or you can create up to 40,000 new call handlers. You may want to use call handlers in the following ways: As an automated attendant---A call handler can be used in place of a human operator to answer and direct calls by playing greetings and responding to key presses. The automated attendant can provide a menu of options. For example, "For Sales, press 1; for Service, press 2; for our business hours, press 3". To offer prerecorded audio text---A call handler can be used to provide information that customers request frequently. For example, "Our normal business hours are Monday through Friday, 8 a.m. to 5 p.m.", or to play a pre-recorded message that all callers hear before they can interact with the system. As a message recipient---A call handler can be used to take messages for the organization. For example, "All of our customer service representatives are busy. Please state your name, phone number, and account number, and we will return your call as soon as possible.". To transfer calls---A call handler can be used to route callers to a user. For example, after hours, you could transfer calls that come to a technical support call handler directly to the mobile phone of the person who is on call, or to another call handler. Cisco Unity Connection Provisioning Interface (CUPI) API 459

Page 492#

chunk 458

Administrator can use this API to create/update/delete/fetch the call handler. You can update various attributes of call handler using this API. Listing the Call Handlers The following is an example of the GET request that fetch the list of call handlers: GET https://<connection-server>/vmrest/handlers/callhandlers The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 460 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Listing the Call Handlers

Page 493#

chunk 459

<Callhandlers total="2"> <Callhandler> <URI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab-9971e02418f3</URI> <CreationTime>2013-01-02T15:42:48Z</CreationTime> <Language>1033</Language> <Undeletable>true</Undeletable> <VoiceName>9d168d20-303d-4019-b381-cd430e478540.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/99cbec60-ef57-41a5-a0bd- 5d1b79e6b7f7</VoiceFileURI> <VoiceNameURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab- 9971e02418f3/voicename</VoiceNameURI> <LocationObjectId>fa15de52-b98d-4de9-a868-ed02f957e38f</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/fa15de52-b98d-4de9-a868- ed02f957e38f</LocationURI> <EditMsg>true</EditMsg> <IsPrimary>false</IsPrimary> <OneKeyDelay>1500</OneKeyDelay> <ScheduleSetObjectId>2eee2b88-8e45-4b77-8b4c-f52aaa1e39e4</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/2eee2b88-8e45-4b77-8b4c- f52aaa1e39e4</ScheduleSetURI> <SendUrgentMsg>0</SendUrgentMsg> <MaxMsgLen>300</MaxMsgLen> <IsTemplate>false</IsTemplate> <ObjectId>fc922cfc-6583-471b-b8ab-9971e02418f3</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <RecipientDistributionListObjectId>e93ca9db-8659-4e07-bee6- 7af3f5c1a1db</RecipientDistributionListObjectId> <RecipientDistributionListURI>/vmrest/distributionlists/e93ca9db-8659-4e07-bee6- 7af3f5c1a1db</RecipientDistributionListURI> <DisplayName>Opening Greeting</DisplayName> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation> <AfterMessageTargetHandlerObjectId>2f4b7240-f56a-4644-b22a- b1a346a5a9b2</AfterMessageTargetHandlerObjectId> <TimeZone>190</TimeZone> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <MediaSwitchObjectId>2dcf1e57-80d6-43d3-b245-3693fe78397d</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/2dcf1e57-80d6-43d3-b245- 3693fe78397d</PhoneSystemURI> <UseCallLanguage>true</UseCallLanguage> <SendSecureMsg>false</SendSecureMsg> <EnablePrependDigits>false</EnablePrependDigits> <DispatchDelivery>false</DispatchDelivery> <CallSearchSpaceObjectId>1736fdd9-b6f9-4a92-ad25- 17d5b8228700</CallSearchSpaceObjectId> <CallSearchSpaceURI>/vmrest/searchspaces/1736fdd9-b6f9-4a92-ad25- 17d5b8228700</CallSearchSpaceURI> <InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall> <PartitionObjectId>0017febb-15bf-4454-9a5c-3b26e19aa14a</PartitionObjectId> <PartitionURI>/vmrest/partitions/0017febb-15bf-4454-9a5c-3b26e19aa14a</PartitionURI> <PlayPostGreetingRecording>0</PlayPostGreetingRecording> <SendPrivateMsg>0</SendPrivateMsg> <PlayAfterMessage>1</PlayAfterMessage> <GreetingsURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab- 9971e02418f3/greetings</GreetingsURI> <TransferOptionsURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab- 9971e02418f3/transferoptions</TransferOptionsURI> <MenuEntriesURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab- 9971e02418f3/menuentries</MenuEntriesURI> <CallHandlerOwnerURI>/vmrest/handlers/callhandlers/fc922cfc-6583-471b-b8ab- 9971e02418f3/callhandlerowners</CallHandlerOwnerURI> </Callhandler> <Callhandler> Cisco Unity Connection Provisioning Interface (CUPI) API 461 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Listing the Call Handlers

Page 494#

chunk 460

<URI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a-b1a346a5a9b2</URI> <CreationTime>2013-01-02T15:42:49Z</CreationTime> <Language>1033</Language> <Undeletable>true</Undeletable> <VoiceName>a797edef-e693-400f-bb7c-8fe889c3d758.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/9a1a20ca-acb3-4ddc-9cde- 0d10a2921427</VoiceFileURI> <VoiceNameURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a- b1a346a5a9b2/voicename</VoiceNameURI> <LocationObjectId>fa15de52-b98d-4de9-a868-ed02f957e38f</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/fa15de52-b98d-4de9-a868- ed02f957e38f</LocationURI> <EditMsg>true</EditMsg> <IsPrimary>false</IsPrimary> <OneKeyDelay>1500</OneKeyDelay> <ScheduleSetObjectId>1cd28472-ced0-44ce-a8f7-cd7692ce7594</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/1cd28472-ced0-44ce-a8f7- cd7692ce7594</ScheduleSetURI> <SendUrgentMsg>0</SendUrgentMsg> <MaxMsgLen>300</MaxMsgLen> <IsTemplate>false</IsTemplate> <ObjectId>2f4b7240-f56a-4644-b22a-b1a346a5a9b2</ObjectId> <RecipientDistributionListObjectId>e93ca9db-8659-4e07-bee6- 7af3f5c1a1db</RecipientDistributionListObjectId> <RecipientDistributionListURI>/vmrest/distributionlists/e93ca9db-8659-4e07-bee6- 7af3f5c1a1db</RecipientDistributionListURI> <DisplayName>Goodbye</DisplayName> <AfterMessageAction>1</AfterMessageAction> <TimeZone>190</TimeZone> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <MediaSwitchObjectId>2dcf1e57-80d6-43d3-b245- 3693fe78397d</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/2dcf1e57-80d6-43d3-b245- 3693fe78397d</PhoneSystemURI> <UseCallLanguage>true</UseCallLanguage> <SendSecureMsg>false</SendSecureMsg> <EnablePrependDigits>false</EnablePrependDigits> <DispatchDelivery>false</DispatchDelivery> <CallSearchSpaceObjectId>1736fdd9-b6f9-4a92-ad25- 17d5b8228700</CallSearchSpaceObjectId> <CallSearchSpaceURI>/vmrest/searchspaces/1736fdd9-b6f9-4a92-ad25- 17d5b8228700</CallSearchSpaceURI> <InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall> <PartitionObjectId>0017febb-15bf-4454-9a5c-3b26e19aa14a</PartitionObjectId> <PartitionURI>/vmrest/partitions/0017febb-15bf-4454-9a5c-3b26e19aa14a</PartitionURI> <PlayPostGreetingRecording>0</PlayPostGreetingRecording> <SendPrivateMsg>0</SendPrivateMsg> <PlayAfterMessage>1</PlayAfterMessage> <GreetingsURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a- b1a346a5a9b2/greetings</GreetingsURI> <TransferOptionsURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a- b1a346a5a9b2/transferoptions</TransferOptionsURI> <MenuEntriesURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a- b1a346a5a9b2/menuentries</MenuEntriesURI> <CallHandlerOwnerURI>/vmrest/handlers/callhandlers/2f4b7240-f56a-4644-b22a- b1a346a5a9b2/callhandlerowners</CallHandlerOwnerURI> </Callhandler> </Callhandlers> Response Code: 200 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 462 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Listing the Call Handlers

Page 495#

chunk 461

To list of the call handlers, do the following: Request URI: GET https://<connection-server>/vmrest/handlers/callhandlers Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 463 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Listing the Call Handlers

Page 496#

chunk 462

{ "@total": "2", "Callhandler": [ { "URI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579-35c595213898", "CreationTime": "2013-02-14T05:05:43Z", "Language": "1033", "Undeletable": "true", "VoiceName": "43145be7-0101-4ba1-9448-76834baa153f.wav", "VoiceFileURI": "/vmrest/voicefiles/2374c796-b006-4b29-a35e-8b0b1d576e50", "VoiceNameURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579- 35c595213898/voicename", "LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f", "LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f", "EditMsg": "true", "IsPrimary": "false", "OneKeyDelay": "1500", "ScheduleSetObjectId": "96e43ab7-b6c1-49b1-ba27-008b8f8870e4", "ScheduleSetURI": "/vmrest/schedulesets/96e43ab7-b6c1-49b1-ba27-008b8f8870e4", "SendUrgentMsg": "0", "MaxMsgLen": "300", "IsTemplate": "false", "ObjectId": "6702cce8-853f-4cbd-8579-35c595213898", "TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438", "RecipientDistributionListObjectId": "24865f76-fa95-412d-bc56-a48ef9e1531a", "RecipientDistributionListURI": "/vmrest/distributionlists/24865f76-fa95-412d-bc56- a48ef9e1531a", "DisplayName": "Opening Greeting", "AfterMessageAction": "2", "AfterMessageTargetConversation": "PHGreeting", "AfterMessageTargetHandlerObjectId": "8c400830-7e92-4908-9ca6-a4b123f1bd19", "TimeZone": "190", "UseDefaultLanguage": "true", "UseDefaultTimeZone": "true", "MediaSwitchObjectId": "a984674b-98d1-442e-83a9-2dcc0824af9e", "PhoneSystemURI": "/vmrest/phonesystems/a984674b-98d1-442e-83a9-2dcc0824af9e", "UseCallLanguage": "true", "SendSecureMsg": "false", "EnablePrependDigits": "false", "DispatchDelivery": "false", "CallSearchSpaceObjectId": "5a07d332-6fc5-4a3f-baba-3cb4ea630280", "CallSearchSpaceURI": "/vmrest/searchspaces/5a07d332-6fc5-4a3f-baba- 3cb4ea630280", "InheritSearchSpaceFromCall": "true", "PartitionObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "PartitionURI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "PlayPostGreetingRecording": "0", "SendPrivateMsg": "0", "PlayAfterMessage": "1", "GreetingsURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579- 35c595213898/greetings", "TransferOptionsURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579- 35c595213898/transferoptions", "MenuEntriesURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579- 35c595213898/menuentries", "CallHandlerOwnerURI": "/vmrest/handlers/callhandlers/6702cce8-853f-4cbd-8579- 35c595213898/callhandlerowners" } { "URI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b-63db2c0704c5", "CreationTime": "2013-02-14T05:05:44Z", "Language": "1033", "Undeletable": "true", Cisco Unity Connection Provisioning Interface (CUPI) API 464 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Listing the Call Handlers

Page 497#

chunk 463

"VoiceName": "389d2d11-f74c-4df1-9766-098800b8fe74.wav", "VoiceFileURI": "/vmrest/voicefiles/c8cd8b94-8d2f-47d6-841e-ca1d3a02bdc2", "VoiceNameURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b- 63db2c0704c5/voicename", "LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f", "LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f", "EditMsg": "true", "IsPrimary": "false", "OneKeyDelay": "1500", "ScheduleSetObjectId": "96e43ab7-b6c1-49b1-ba27-008b8f8870e4", "ScheduleSetURI": "/vmrest/schedulesets/96e43ab7-b6c1-49b1-ba27-008b8f8870e4", "SendUrgentMsg": "0", "MaxMsgLen": "300", "IsTemplate": "false", "ObjectId": "426e4f1c-0cf1-43dc-a52b-63db2c0704c5", "RecipientSubscriberObjectId": "053afdf6-78e8-4a54-9384-e6c32c68dacd", "RecipientUserURI": "/vmrest/users/053afdf6-78e8-4a54-9384-e6c32c68dacd", "DisplayName": "Operator", "AfterMessageAction": "2", "AfterMessageTargetConversation": "PHGreeting", "AfterMessageTargetHandlerObjectId": "8c400830-7e92-4908-9ca6-a4b123f1bd19", "DtmfAccessId": "0", "TimeZone": "190", "UseDefaultLanguage": "true", "UseDefaultTimeZone": "true", "MediaSwitchObjectId": "a984674b-98d1-442e-83a9-2dcc0824af9e", "PhoneSystemURI": "/vmrest/phonesystems/a984674b-98d1-442e-83a9-2dcc0824af9e", "UseCallLanguage": "true", "SendSecureMsg": "false", "EnablePrependDigits": "false", "DispatchDelivery": "false", "CallSearchSpaceObjectId": "5a07d332-6fc5-4a3f-baba-3cb4ea630280", "CallSearchSpaceURI": "/vmrest/searchspaces/5a07d332-6fc5-4a3f-baba- 3cb4ea630280", "InheritSearchSpaceFromCall": "true", "PartitionObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "PartitionURI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "PlayPostGreetingRecording": "0", "SendPrivateMsg": "0", "PlayAfterMessage": "1", "GreetingsURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b- 63db2c0704c5/greetings", "TransferOptionsURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b- 63db2c0704c5/transferoptions", "MenuEntriesURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b- 63db2c0704c5/menuentries", "CallHandlerOwnerURI": "/vmrest/handlers/callhandlers/426e4f1c-0cf1-43dc-a52b- 63db2c0704c5/callhandlerowners" } ] } Response Code: 200 Listing Specific Tenant Related Call Handlers by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related call handlers using the following URI: GET https://<connection-server>/vmrest/handlers/callhandlers?query=(TenantObjectId is <Tenant-ObjectId>) Cisco Unity Connection Provisioning Interface (CUPI) API 465 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Listing Specific Tenant Related Call Handlers by System Administrator

Page 498#

chunk 464

To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Viewing the Specific Call Handler The following is an example of the GET request that lists the details of specific call handler represented by the provided value of call handler ID: GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 466 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Viewing the Specific Call Handler

Page 499#

chunk 465

<Callhandler> <URI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb-6359bd518f11</URI> <CreationTime>2012-12-14T09:32:50Z</CreationTime> <Language>1033</Language> <Undeletable>false</Undeletable> <VoiceName>a6b5b738-6aa3-467e-a1c9-2061e9f078b2.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/009caa53-375b-4c84-b287-2d593550b185</VoiceFileURI> <VoiceNameURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb- 6359bd518f11/voicename</VoiceNameURI> <LocationObjectId>36342486-2f03-4dee-9f92-e0324f25e31c</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/36342486-2f03-4dee-9f92- e0324f25e31c</LocationURI> <EditMsg>true</EditMsg> <IsPrimary>false</IsPrimary> <OneKeyDelay>1500</OneKeyDelay> <ScheduleSetObjectId>fc3d37bd-eb5e-4425-9820-bd913f77683b</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/fc3d37bd-eb5e-4425-9820- bd913f77683b</ScheduleSetURI> <SendUrgentMsg>0</SendUrgentMsg> <MaxMsgLen>300</MaxMsgLen> <IsTemplate>false</IsTemplate> <ObjectId>4afc0de6-c52c-42e4-99bb-6359bd518f11</ObjectId> <RecipientSubscriberObjectId>0a082dcd-9f31-4897-b819- dedff7e67484</RecipientSubscriberObjectId> <RecipientUserURI>/vmrest/users/0a082dcd-9f31-4897-b819- dedff7e67484</RecipientUserURI> <DisplayName>test</DisplayName> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>SystemTransfer</AfterMessageTargetConversation> <DtmfAccessId>2345</DtmfAccessId> <TimeZone>190</TimeZone> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <MediaSwitchObjectId>7a04d1f8-e71f-431b-a86c-1bb84da153e6</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/7a04d1f8-e71f-431b-a86c- 1bb84da153e6</PhoneSystemURI> <UseCallLanguage>false</UseCallLanguage> <SendSecureMsg>true</SendSecureMsg> <EnablePrependDigits>false</EnablePrependDigits> <DispatchDelivery>false</DispatchDelivery> <CallSearchSpaceObjectId>d4885446-a1f9-4e4c-810f-168bcc8489af</CallSearchSpaceObjectId> <CallSearchSpaceURI>/vmrest/searchspaces/d4885446-a1f9-4e4c-810f- 168bcc8489af</CallSearchSpaceURI> <InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall> <PartitionObjectId>a7108db5-c354-4b71-a72f-2c945291bda2</PartitionObjectId> <PartitionURI>/vmrest/partitions/a7108db5-c354-4b71-a72f-2c945291bda2</PartitionURI> <PlayPostGreetingRecording>2</PlayPostGreetingRecording> <PostGreetingRecordingObjectId>1b13cab3-8ae8-4b39-a9e8- 51464dc5216d</PostGreetingRecordingObjectId> <SendPrivateMsg>2</SendPrivateMsg> <PlayAfterMessage>1</PlayAfterMessage> <GreetingsURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb- 6359bd518f11/greetings</GreetingsURI> <TransferOptionsURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb- 6359bd518f11/transferoptions</TransferOptionsURI> <MenuEntriesURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb- 6359bd518f11/menuentries</MenuEntriesURI> <CallHandlerOwnerURI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb- 6359bd518f11/callhandlerowners</CallHandlerOwnerURI> </Callhandler> Response Code:200 Cisco Unity Connection Provisioning Interface (CUPI) API 467 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Viewing the Specific Call Handler

Page 500#

chunk 466

JSON Example To view a specific call handler, do the following: Request URI: GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid> Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 468 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Viewing the Specific Call Handler

Page 501#

chunk 467

{ "URI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-a4b123f1bd19", "CreationTime": "2013-02-14T05:05:44Z", "Language": "1033", "Undeletable": "true", "VoiceName": "a05d6040-1494-49eb-94bf-b9019eb79813.wav", "VoiceFileURI": "/vmrest/voicefiles/e90706a2-d264-4104-abdf-f8e146799588", "VoiceNameURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6- a4b123f1bd19/voicename", "LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f", "LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f", "EditMsg": "true", "IsPrimary": "false", "OneKeyDelay": "1500", "ScheduleSetObjectId": "74205ca1-1f58-466b-a543-13ad7bd4798e", "ScheduleSetURI": "/vmrest/schedulesets/74205ca1-1f58-466b-a543-13ad7bd4798e", "SendUrgentMsg": "0", "MaxMsgLen": "300", "IsTemplate": "false", "ObjectId": "8c400830-7e92-4908-9ca6-a4b123f1bd19", "RecipientDistributionListObjectId": "24865f76-fa95-412d-bc56-a48ef9e1531a", "RecipientDistributionListURI": "/vmrest/distributionlists/24865f76-fa95-412d-bc56- a48ef9e1531a", "DisplayName": "Goodbye", "AfterMessageAction": "1", "TimeZone": "190", "UseDefaultLanguage": "true", "UseDefaultTimeZone": "true", "MediaSwitchObjectId": "a984674b-98d1-442e-83a9-2dcc0824af9e", "PhoneSystemURI": "/vmrest/phonesystems/a984674b-98d1-442e-83a9-2dcc0824af9e", "UseCallLanguage": "true", "SendSecureMsg": "false", "EnablePrependDigits": "false", "DispatchDelivery": "false", "CallSearchSpaceObjectId": "5a07d332-6fc5-4a3f-baba-3cb4ea630280", "CallSearchSpaceURI": "/vmrest/searchspaces/5a07d332-6fc5-4a3f-baba-3cb4ea630280", "InheritSearchSpaceFromCall": "true", "PartitionObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "PartitionURI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "PlayPostGreetingRecording": "0", "SendPrivateMsg": "0", "PlayAfterMessage": "1", "GreetingsURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6- a4b123f1bd19/greetings", "TransferOptionsURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6- a4b123f1bd19/transferoptions", "MenuEntriesURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6- a4b123f1bd19/menuentries", "CallHandlerOwnerURI": "/vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6- a4b123f1bd19/callhandlerowners" } Response Code:200 Creating a Call Handler The following is an example of the POST request that creates a new call handler: Cisco Unity Connection Provisioning Interface (CUPI) API 469 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Creating a Call Handler

Page 502#

chunk 468

POST https://<connection-server>/vmrest/handlers/callhandlers?templateObjectId=<callHandlerTemplate-ObjectId> Request Body: <pre> <CallHandler> <DisplayName>Taxoma_Test</DisplayName> </CallHandler> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-a4b123f1bd19 JSON Example To create a new call handler, do the following: POST https://<connection-server>/vmrest/handlers/callhandlers?templateObjectId=<callHandlerTemplate-ObjectId> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "DisplayName": "Texoma1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/handlers/callhandlers/8c400830-7e92-4908-9ca6-a4b123f1bd19 Make sure that while creating a Call Handler, do not provide the recipient object Id in the request body. By default, Call handler is created with undeliverable messages distribution list as the recipient. You can update the recipient object id using PUT API. Note Delete the Call Handler The following is an example of the DELETE request that can be used to delete a call handler: DELETE https://<connection-server>/vmrest/callhandlers/<callhandler-objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To delete a call handler, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 470 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Delete the Call Handler

Image 1 from page 502

Page 503#

chunk 469

DELETE https://<connection-server>/vmrest/callhandlers/<callhandler-objectid> Accept: application/json Connection: keep_alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Assigning a Schedule Set to a Call Handler The following is an example of the PUT request that can be used to assign a schedule set to a call handler: PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid> Request Body: <Callhandler> <ScheduleSetObjectId>9dd6c1d5-249e-4715-8953-396ce2f26314</ScheduleSetObjectId> </Callhandler> Response Code: 204 JSON Example To assign a schedule to a call handler, do the following: PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "ScheduleSetObjectId": "74205ca1-1f58-466b-a543-13ad7bd4798e" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Specify Message Recipient for a Call Handler The following is an example of the PUT request that can be used to specify message recipient for a call handler: PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid> Request Body: <Callhandler> <RecipientSubscriberObjectId>3c700079-33bb-4897-b1a5- 23cf19194ecf</RecipientSubscriberObjectId> </Callhandler> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 471 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Assigning a Schedule Set to a Call Handler

Page 504#

chunk 470

To specify message recipient for a call handler, do the following: PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "RecipientSubscriberObjectId": "571412d0-6330-433d-8a1f-7f7cb102a09f" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Caller Input Keys http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_%28CUPI%29_API_--Caller_Input_Keys Updating Caller Input Keys http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface%28CUPI%29_API_--_Updating_Caller_Input_Keys Update the Language of Call Handler To fetch the language code, use the following URI: GET https://<connection-server>/vmrest/languagemap The below table specify the details of value for each field: Description Language UseDefaultLanguage UseCallLanguage This will select the default language. Null/Language Code true false This will inherit the language from user. Null/Language Code true/false true This will select the particular language as per the code. Language Code false false Updating Time Zone of Call Handler This PUT request can be used to update time zone for a call handler template. It can be set to default or particular time zone. To know time zones installed on the server, you can use the following URI: GET https://<connection-server>/vmrest/timezones For updating time zone of a call handler, the mandatory fields are: UseDefaultTimeZone TimeZone Cisco Unity Connection Provisioning Interface (CUPI) API 472 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Caller Input Keys

Page 505#

chunk 471

PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid> Request Body: <Callhandler> <UseDefaultTimeZone>false</UseDefaultTimeZone> <TimeZone>190</TimeZone> </Callhandler> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Data Type Operations Parameter Call Handler URI String Read Only URI Specifies the after message action. Refer to the section Enumeration Type. Integer Read/Write AfterMessageAction The name of the conversation to which the caller is routed. Refer to the section Enumeration Type String Read/Write AfterMessageTargetConversation The Unique Identifier of the call action object that Cisco Unity Connection performs after taking a message. String Read/Write AfterMessageTargetHandlerObjectId The unique identifier of the SearchSpace that is used limit visibility to dialable objects when searching by extension (dial string). String Read/Write CallSearchSpaceObjectId URL for search spaces. String Read Only CallSearchSpaceURI Specifies the creation date and time of the call handler. Format: YYYY-MM-DDThh:mm:ssZ . The default value is the current system date and time. datetime Read Only CreationTime A flag indicating that all messages left for the call handler is for dispatch delivery. Possible values: false: specifies no dispatch delivery. true: specifies dispatch delivery. Default value: false Boolean Read/Write DispatchDelivery Name of the call handler. String Read/Write DisplayName Cisco Unity Connection Provisioning Interface (CUPI) API 473 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 506#

chunk 472

Extension of the call handler. String Read/Write DtmfAccessId A flag that determines whether the caller can edit messages. Possible values: false : Callers cannot edit messages true : Callers can edit messages Default value: true. Boolean Read/Write EditMsg Specifies if Prepend Digits to Dialed Extensions is enabled. Possible values: false:- System will not prepend digits when dialing the transfer extension true:- System will prepend digits when dialing the transfer extension Default value: false Boolean Read/Write EnablePrependDigits Specifies if the search space is to be inherited from the call. Possible values: true – Inherit from call. false – Do not inherit from call Default value: true Boolean Read/Write InheritSearchSpaceFromCall A flag indicating whether this is a "primary" call handler for a subscriber, or an "application" call handler. Note:- Each subscriber is associated with a call handler, which is referred to as the "primary call handler" for that subscriber. An "application call handler" is just a normal call handler. Possible values: false: Not a primary call handler true: Primary call handler Default value: false. Boolean Read Only IsPrimary Cisco Unity Connection Provisioning Interface (CUPI) API 474 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 507#

chunk 473

A flag indicating whether this CallHandler is a "template" for creating new call handlers. It is used to provide default values for selected columns when creating new call handlers. Possible values: false: Not a template true: Is a template Default value: false Boolean Read Only IsTemplate The Windows Locale ID (LCID) which identifies the language that Cisco Unity Connection plays the handler system prompts. Integer Read/Write Language The unique identifier of the Location object to which this handler belongs String Read Only LocationObjectId Specifies the URI of locations The maximum recording length (in seconds) for messages left by unidentified callers. This value is used when the call handler is set to an action of "Take Message" (either by an after greeting action in the messagingrule table or via a user input action in the menuentry table. This value only gets applied to unidentified callers leaving a message. This value is not used for subscriber-subscriber messaging. Instead the COS for the calling subscriber determines the maximum recorded message length. The range of this field can vary from 1-3600. Default value: 300 String Read Only LocationURI Specifies the object Id of the Phone System the call handler belongs to. Integer Read/Write MaxMsgLen Specifies the URI of Phone Systems. String Read/Write MediaSwitchObjectId Specifies an object ID of the call handler. String Read Only PhoneSystemURI The unique identifier of the tenant to which the call handler belongs. This field is reflected in the response only if the call handler belongs to a particular tenant. String Read Only ObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 475 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 508#

chunk 474

The amount of time (in milliseconds) that Cisco Unity Connection waits for additional input after callers press a single key that is not locked. If there is no input within this time, Cisco Unity Connection performs the action assigned to the single key. When a caller interrupts a greeting with a digit, Cisco Unity Connection will wait this number of milliseconds to see if they are going to enter more digits. Once this timeout is reached (or the caller terminates the input with a #), Cisco Unity Connection will do a look-up of the resulting string of numbers for a match with a DTMFAccessID value in the dialing domain. If a match is found, the call is sent to the matching object. If no match is found, the "Error greeting" for the call handler is invoked. If a key is "locked" then this value does not apply. Instead action is taken immediately on that key instead of allowing more digits. A value of 0 disables one key input .The range of this field can vary from 1 to 10000. Default value: 1500 String Read Only TenantOjectId Specifies the object Id of the partition the Call Handler belongs to. Integer Read/Write OneKeyDelay Specifies the URI of partitions. String Read/Write PartitionObjectId Specifies what should be played after the message. Refer to the section Enumeration Type. String Read Only PartitionURI Specifies an object ID of the recoding. Integer Read/Write PlayAfterMessage Indicates whether the recording referenced by PostGreetingRecordingObjectId should be played. Possible values: 0 : No 1 : Always 2 : External Default value: 0 String Read/Write PlayAfterMessageRecordingObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 476 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 509#

chunk 475

Specifies the object Id of the Post Greeting recording. Integer Read/Write PlayPostGreetingRecording URI of the Post Greeting Recording String Read/Write PostGreetingRecordingObjectId Specifies the touchtone digits to be prepended to extension when dialing transfer number ( #, 0,1...9,*). Digits, plus, hash and asterisk only are allowed String Read Only PostGreetingURI Specifies an object ID of the distribution list that is the message recipient. String Read/Write PrependDigits Object ID of a User with a mailbox that is the message recipient. String Read/Write RecipientDistributionListObjectId Object ID of the schedule set assigned to the Call Handler. String Read Only RecipientDistributaionListURI Specifies the URI of schedule sets. String Read/Write ScheduleSetObjectId Determines if an outside caller can mark their message as private. Possible values: 0 : Never 1 : Always 2 : Ask Default value: 0 String Read/Write ScheduleSetURI A flag indicating whether an unidentified caller can mark a message as "secure." Default value: false Integer Read/Write SendPrivateMsg A flag indicating whether an unidentified caller can mark a message as "urgent." Possible values: 0 : Never 1 : Always 2 : Ask Default value: 0(Never) Boolean Read/Write SendSecureMsg Cisco Unity Connection Provisioning Interface (CUPI) API 477 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 510#

chunk 476

Used when the UseDefaultTimezone is set to false. To know the Integer Time Zone codes for the Time Zones installed on the server following URI can be used: https://<connection-server>/vmrest/timezones. Example: 190 is the code for (GMT+05:30) Asia/Kolkata Integer Read/Write SendUrgentMsg A flag indicating whether Cisco Unity Connection will use the language assigned to the call. Possible Values: true false Default value: true Integer Read/Write TimeZone A flag that is dependent on the value of the Language field. If Language is set to Null, UseDefaultLanguage is set to true. If any language is specified, UseDefaultLanguage is set to false. Possible Values: true false Boolean Read/Write UseCallLanguage A flag indicating whether Cisco Unity Connection will use the system default Time Zone. Possible Values: true false Default value: false Boolean Read/Write UseDefaultLanguage URI of the call handler owner API. Boolean Read/Write UseDefaultTimeZone The name of the WAV file containing the recorded audio (voice name, greeting, etc.) for the parent object. It is displayed once a voice-name is recorded. String Read Only CallHandlerOwnerURI It is displayed once a voice-name is recorded. String Read Only VoiceName Specifies the URI of greetings String Read Only VoiceFileURI Cisco Unity Connection Provisioning Interface (CUPI) API 478 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 511#

chunk 477

Specifies the URI of transfer options. String Read Only GreetingsURI Specifies the URI of menu entries String Read Only TransferOptionsURI Specifies the URI of menu entries String Read Only MenuEntriesURI URI for voice name once it is recorded. String Read Only ViceNameURI Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Owner APIs Add a Call Handler Owner The following is an example of the POST request that can be used to create a new call handler owner. Note: The RoleObjectId is no longer required for assigning Call Handler owners.

  1. To assign a user as call handler owner POST https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners Request Body: <CallhandlerOwner> <UserObjectId>c0430be2-52b8-46d7-8fad-c6aa13781469</UserObjectId> </CallhandlerOwner> Here, UserObjectId can be fetched from GET https://<connection-server>/vmrest/users
  2. To assign a distribution list as call handler owner POST https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners Request Body: <CallhandlerOwner> <DistributionListObjectId>b6616b6f-c0e0-4462-b64a-654b0f5baa65</DistributionListObjectId> </CallhandlerOwner> Here, DistributionListObjectId can be fetched from GET https://<connection-server>/vmrest/distributionlists The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/handlers/callhandlers/c0430be2-52b8-46d7-8fad-c6aa13781469 JSON Example
  3. To assign a user as a call handler owner, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 479 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Owner APIs
Page 512#

chunk 478

POST https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners Accept: application/json Content_type: application/json Connection: keep_alive The following is the response from the above POST request and the actual response will depend upon the information given by you: { "UserObjectId": "5aeb75a4-14c2-474d-bec9-90aa731ee4cc", } Response Code: 201 /vmrest/handlers/callhandlers/c0430be2-52b8-46d7-8fad-c6aa13781469 2. To assign a distribution list as a call handler owner, do the following: POST https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners Accept: application/json Content_type: application/json Connection: keep_alive The following is the response from the above POST request and the actual response will depend upon the information given by you: { "DistributionListObjectId": "5aeb75a4-14c2-474d-bec9-90aa731ee4cc", } Response Code: 201 /vmrest/handlers/callhandlers/c0430be2-52b8-46d7-8fad-c6aa13781469 View the Call Handler Owners The following is an example of the Get request that can be used to fetch the call handler owners: GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 480 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler View the Call Handler Owners

Page 513#

chunk 479

<CallhandlerOwners total="2"> <CallhandlerOwner> <URI>/vmrest/handlers/callhandlers/f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928/callhandlerowners/3aee209f-948b-450a-9d0f-75e2c1d4992f</URI> <DistributionListObjectId>b6616b6f-c0e0-4462-b64a-654b0f5baa65</DistributionListObjectId> <DistributionListURI>/vmrest/distributionlists/b6616b6f-c0e0-4462-b64a-654b0f5baa65</DistributionListURI> <ObjectId>3aee209f-948b-450a-9d0f-75e2c1d4992f</ObjectId> <TargetHandlerObjectId>f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928</TargetHandlerObjectId> </CallhandlerOwner> <CallhandlerOwner> <URI>/vmrest/handlers/callhandlers/f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928/callhandlerowners/75587df3-5be4-4e21-83b3-9ec7e4f60874</URI> <ObjectId>75587df3-5be4-4e21-83b3-9ec7e4f60874</ObjectId> <TargetHandlerObjectId>f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928</TargetHandlerObjectId> <UserObjectId>ecdc6d2d-19e5-4adf-ac7d-6e351a5c95c4</UserObjectId> <UserURI>/vmrest/users/ecdc6d2d-19e5-4adf-ac7d-6e351a5c95c4</UserURI> </CallhandlerOwner> </CallhandlerOwners> Response Code: 200 JSON Example To view the list of call handler owners, do the following: GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "2", "CallhandlerOwner": { "URI": "/vmrest/handlers/callhandlers/b2d3d56a-f0c2-4839-98c5- 48770690244a/callhandlerowners/ac6dda36-798d-4eea-9055-db5a31eb5599", "ObjectId": "75587df3-5be4-4e21-83b3-9ec7e4f60874", "UserObjectId": "5aeb75a4-14c2-474d-bec9-90aa731ee4cc", "UserURI": "/vmrest/users/5aeb75a4-14c2-474d-bec9-90aa731ee4cc", "TargetHandlerObjectId": "b2d3d56a-f0c2-4839-98c5-48770690244a" } "CallhandlerOwner": { "URI": "/vmrest/handlers/callhandlers/b2d3d56a-f0c2-4839-98c5- 48770690244a/callhandlerowners/ac6dda36-798d-4eea-9055-db5a31eb5599", "ObjectId": "3aee209f-948b-450a-9d0f-75e2c1d4992f", "DistributionListObjectId": "b6616b6f-c0e0-4462-b64a-654b0f5baa65", "DistributionListURI": "/vmrest/users/b6616b6f-c0e0-4462-b64a-654b0f5baa65", "TargetHandlerObjectId": "b2d3d56a-f0c2-4839-98c5-48770690244a" } } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 481 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler View the Call Handler Owners

Page 514#

chunk 480

View the Details of Specific Call Handler Owner The following is an example of the Get request that can be used to fetch the specific call handler owner details: GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners/<callHandlerowner-objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you

  1. For a user as a call handler owner: <CallhandlerOwner> <URI>/vmrest/handlers/callhandlers/4afc0de6-c52c-42e4-99bb- 6359bd518f11/callhandlerowners/a6731eca-ba31-4cee-a367-0bd6f45c633f</URI> <ObjectId>a6731eca-ba31-4cee-a367-0bd6f45c633f</ObjectId> <UserObjectId>eaacd744-6fe1-4085-8b25-10c702fdfd20</UserObjectId> <UserURI>/vmrest/users/eaacd744-6fe1-4085-8b25-10c702fdfd20</UserURI> <TargetHandlerObjectId>4afc0de6-c52c-42e4-99bb-6359bd518f11</TargetHandlerObjectId> </CallhandlerOwner> Response Code:200
  2. For a distribution list as a call handler owner: <CallhandlerOwner> <URI>/vmrest/handlers/callhandlers/f3b4cc1f-c2d7-4c67-9f53- 7095d4b2a928/callhandlerowners/4e35ed6c-6aed-42e4-9723-b859706ac749</URI> <DistributionListObjectId>988630fa-313a-4f0c-980f-f6dc78add3ca</DistributionListObjectId> <DistributionListURI>/vmrest/distributionlists/988630fa-313a-4f0c-980f-f6dc78add3ca</DistributionListURI> <ObjectId>4e35ed6c-6aed-42e4-9723-b859706ac749</ObjectId> <TargetHandlerObjectId>f3b4cc1f-c2d7-4c67-9f53-7095d4b2a928</TargetHandlerObjectId> </CallhandlerOwner> Response Code:200 JSON Example To view a specific call handler owner, do the following: GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/callhandlerowners/<callhandlerowner-objectid> Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you:
  3. For a user as a call handler owner: Cisco Unity Connection Provisioning Interface (CUPI) API 482 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler View the Details of Specific Call Handler Owner
Page 515#

chunk 481

{ "URI": "/vmrest/handlers/callhandlers/b2d3d56a-f0c2-4839-98c5- 48770690244a/callhandlerowners/ac6dda36-798d-4eea-9055-db5a31eb5599", "ObjectId": "ac6dda36-798d-4eea-9055-db5a31eb5599", "UserObjectId": "5aeb75a4-14c2-474d-bec9-90aa731ee4cc", "UserURI": "/vmrest/users/5aeb75a4-14c2-474d-bec9-90aa731ee4cc", "TargetHandlerObjectId": "b2d3d56a-f0c2-4839-98c5-48770690244a" } Response Code:200 2. For a distribution list as a call handler owner: { "URI": "/vmrest/handlers/callhandlers/b2d3d56a-f0c2-4839-98c5- 48770690244a/callhandlerowners/ac6dda36-798d-4eea-9055-db5a31eb5599", "ObjectId": "4e35ed6c-6aed-42e4-9723-b859706ac749", "DistributionListObjectId": "988630fa-313a-4f0c-980f-f6dc78add3ca", "DistributionListURI": "/vmrest/users/988630fa-313a-4f0c-980f-f6dc78add3ca", "TargetHandlerObjectId": "b2d3d56a-f0c2-4839-98c5-48770690244a" } Response Code:200 Delete a Call Handler Owner The following is an example of the DELETE request that can be used to delete a call handler owner: DELETE https://<connection-server>/vmrest/callhandlers/<callhandlerId>/callhandlerowners/<callhandlerowner-objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To delete a call handler owner, do the following: DELETE https://<connection-server>/vmrest/callhandlers/<callhandler-objectid>/callhandlerowners/<callhandlerowner-objectid> Accept: application/json Connection: keep_alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 483 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Delete a Call Handler Owner

Page 516#

chunk 482

Explanation of Data Fields Comments Data Type Operation Parameter Specifies an object ID to uniquely identify a call handler owner. String Read Only ObejectId Specifies an object ID of the user who owns the call handler. String Read/Write UserObjectId Specifies an unique identifier of the LocationVMS object. String Read Only VmsObjectId Specifies an object ID of the distribution list who owns the call handler. String Read Write DistributionListObjectId Specifies an object ID of the call handler to which the call handler owner object belongs. String Read Only TragetHandlerObjectId Specifies URI to get details of the user who owns the Call Handler. String Read Only UserURI Specifies URI to get details of the distribution list who owns the Call Handler Owner String Read Only DistributionListURI Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Enumeration Types Call Action Description Value Name No action taken 0 Ignore The call is immediately terminated. 1 Hangup Go to an object such as a call handler, directory handler or interview handler. 2 Goto Play the error greeting. 3 Error Take a message. 4 TakeMsg Skip greeting. 5 SkipGreeting Restart greeting on current handler 6 RestartGreeting Transfer to alternate contact number. 7 TransferAltContact Route from Next call routing rule. 8 RouteFromNextRule Cisco Unity Connection Provisioning Interface (CUPI) API 484 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 517#

chunk 483

Play After Message Recording Description Value Name Don't play the recording 0 No Play system default 1 Always Play recording 2 External AfterMessageTargetConversation Description Name Directory conversation AD Transfer to a user or call handler PHTransfer Play greeting of a user or call handler PHGreeting Interview Conversation PHInterview Forwards the call to the user's greeting if the forwarding number matches a user Attempt Forward Sends the call to a user's sign-in if the calling number matches a user Attempt SignIn Sends the call to a conversation for sending broadcast messages BroadcastMessageAdministrator Sends the call to a conversation allowing the caller to transfer to a number they specify (assuming the restriction table allows it). SystemTransfer Sends the call to a conversation for checked-out hotel guests. CheckedOutGuest Sends the call to a conversation allowing changing greetings by phone. GreetingsAdministrator Connects to Visual Voicemail. ReverseTrapConv Sends the call to the sign-in conversation, which prompts the user to enter their ID. SubSignIn Sends the call to the live-record pilot number configured on Call Manager. ConvUtilsLiveRecord Sends the call to a conversation allowing the caller to transfer to a number they specify (assuming the restriction table allows it). However, requires user sign-in first, so unknown callers cannot use it. SubSysTransfer Greeting Type Description Greeting Can be used for a variety of special situations, such as vacations, leave of absence, or a holiday. An alternate greeting overrides all other greetings. Alternate Plays when the extension is busy. A busy greeting overrides the standard, off hours, and internal greetings. Busy Plays when a caller attempts to dial an extension that does not exist on the system during a greeting. Error Plays to internal callers only. An internal greeting overrides the standard and off hours greetings. Internal Cisco Unity Connection Provisioning Interface (CUPI) API 485 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Play After Message Recording

Page 518#

chunk 484

Description Greeting Plays during the closed (nonbusiness) hours defined for the active schedule. An off hours greeting overrides the standard greeting, and thus limits the standard greeting to the open hours defined for the active schedule. Off Hours Plays at all times unless overridden by another greeting. You cannot disable the standard greeting. Standard Plays when holiday schedule is encountered unless overridden by an alternate greeting. Holiday Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Greetings APIs Call Handler Greetings APIs Administrator can use this API to fetch the greetings. It can be used to fetch the list of greetings and also a single instance of greetings. Listing the Greetings The following is an example of the GET request that fetch the list of greetings: GET https://<connection-server>/vmrest/callhandlertemplates/<callhandler-objectid>/greetings The following is the response from the above GET request and the actual response will depend upon the information given by you: <Greetings total="7"><Greeting> <URI>/vmrest/handlers/callhandlers/fa468470-1031-4896-ab11-3736bdee3b00/greetings/Alternate</URI> <CallHandlerObjectId>fa468470-1031-4896-ab11-3736bdee3b00</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/fa468470-1031-4896-ab11-3736bdee3b00</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <TimeExpires>1972-01-01 05:30:00.0</TimeExpires> <GreetingType>Alternate</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> <EnablePersonalVideoRecording>false</EnablePersonalVideoRecording> <PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt> <GreetingStreamFilesURI>/vmrest/handlers/callhandlers/fa468470-1031-4896-ab11-3736bdee3b00/greetings/Alternate/greetingstreamfiles</GreetingStreamFilesURI> <Enabled>false</Enabled> </Greeting> Cisco Unity Connection Provisioning Interface (CUPI) API 486 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Greetings APIs

Page 519#

chunk 485

Response Code: 200 JSON Example To view the list of greetings, do the following: GET https://<connection-server>/vmrest/callhandler/<callhandler-objectid>/greetings Accept: appliaction/json Conenction: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total":"7" "Greeting": [ { "URI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a/greetings/Alternate", "CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a", "CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a", "IgnoreDigits":"false", "PlayWhat":"0", "RepromptDelay":"2", "Reprompts":"0", "TimeExpires":"1972-01-01 00:00:00.0", "GreetingType":"Alternate", "AfterGreetingAction":"4", "PlayRecordMessagePrompt":"true" , "EnableTransfer":"false", "EnablePersonalVideoRecording":"false", "PlayRecordVideoMessagePrompt":"false", "Enabled":"false" }, { "URI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a/greetings/Busy", "CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a", "CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a", "IgnoreDigits":"false", "PlayWhat":"0", "RepromptDelay":"2", "Reprompts":"0", "TimeExpires":"1972-01-01 00:00:00.0", "GreetingType":"Busy", "AfterGreetingAction":"4", "PlayRecordMessagePrompt":"true", "EnableTransfer":"false", "EnablePersonalVideoRecording":"false", "PlayRecordVideoMessagePrompt":"false", "Enabled":"false" }, ] } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 487 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Listing the Greetings

Page 520#

chunk 486

Viewing the Details of Specific Greeting The following is an example of the GET request that lists the details of specific greeting: GET https://<connection-server>/vmrest/callhandler/<callhandler- objectid>/greetings/<Greetingname> The following is the response from the above GET request and the actual response will depend upon the information given by you: <Greeting> <URI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-836910ac1a4c/greetings/Alternate</URI> <CallHandlerObjectId>5f6e1043-5edf-4646-90ac-836910ac1a4c</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/5f6e1043-5edf-4646-90ac-836910ac1a4c</CallhandlerURI> <IgnoreDigits>false</IgnoreDigits> <PlayWhat>0</PlayWhat> <RepromptDelay>2</RepromptDelay> <Reprompts>0</Reprompts> <TimeExpires>1972-01-01 00:00:00.0</TimeExpires> <GreetingType>Alternate</GreetingType> <AfterGreetingAction>4</AfterGreetingAction> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> <EnableTransfer>false</EnableTransfer> <EnablePersonalVideoRecording>false</EnablePersonalVideoRecording> <PlayRecordVideoMessagePrompt>false</PlayRecordVideoMessagePrompt> <Enabled>false</Enabled> </Greeting> Response Code: 200 JSON Example To view a specific greeting, do the following: GET https://<connection-server>/vmrest/callhandler/<Callhandler- objectid>/greetings/<Greetingname> Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 488 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Viewing the Details of Specific Greeting

Page 521#

chunk 487

{ "URI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a/greetings/Alternate", "CallHandlerObjectId":"a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a", "CallhandlerURI":"/vmrest/handlers/callhandlers/a2f8fb8f-68ee-4a17-90a0-bff0308b5b1a", "IgnoreDigits":"false", "PlayWhat":"0", "RepromptDelay":"2", "Reprompts":"0", "TimeExpires":"1972-01-01 00:00:00.0", "GreetingType":"Alternate", "AfterGreetingAction":"4", "PlayRecordMessagePrompt":"true" , "EnableTransfer":"false", "EnablePersonalVideoRecording":"false", "PlayRecordVideoMessagePrompt":"false", "Enabled":"false" } Response Code: 200 Updating a Greeting The following is an example of the GET request that updates the details of specific greeting: PUT https://<connection-server>/vmrest/callhandler/<callhandler-objectid>/greetings/<Greetingname> Request Body: <Greeting> <PlayWhat>1</PlayWhat> <PlayRecordMessagePrompt>true</PlayRecordMessagePrompt> </Greeting> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update a particular greeting, do the following: PUT https://<connection-server>/vmrest/callhandler/<Callhandler-objectid>/greetings/<Greetingname> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "PlayWhat":"1", "PlayRecordMessagePrompt":"true" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 489 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Updating a Greeting

Page 522#

chunk 488

Using the CUTI to record greetings via the Phone The following example demonstrates how to achieve this task. 1. Record the greeting using CUTI, the details are available at Using CUTI for Basic Call Operations. 2. The record operation in Step-1 returns XML/JSON output containing the details of the recorded file. Example output: <CallControl> <op>RECORD</op> <resourceType>STREAM</resourceType> <resourceId>01a78559-07ec-4898-beb6-444a4ae9c569.wav</resourceId> <lastResult>0</lastResult> <speed>100</speed> <volume>100</volume> <startPosition>0</startPosition> </CallControl> 3. Send the following PUT request with the body of request containing above XML/JSON output. Request : PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-id>/greetings/Alternate/greetingstreamfiles/<language-code>/audio Request Body : <CallControl> <op>RECORD</op> <resourceType>STREAM</resourceType> <resourceId>01a78559-07ec-4898-beb6-444a4ae9c569.wav</resourceId> <lastResult>0</lastResult> <speed>100</speed> <volume>100</volume> <startPosition>0</startPosition> </CallControl> Response Code: 204 No Content The Put request will update the Greetings. The update of a Greetings wave file is similar whether a audio wave file is being used or the audio is a CallControl XML/JSON schema. Enabling or disabling the Greeting Greetings are disabled or enabled using the combination of fields "Enabled" and "TimeExpires". Note Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Greetings APIs Disabling the Greeting For this scenario the request body should contain the "Enabled" which should be set to false. PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/greetings/<Greetingname> Request Body: Cisco Unity Connection Provisioning Interface (CUPI) API 490 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Using the CUTI to record greetings via the Phone

Image 1 from page 522

Page 523#

chunk 489

<Greeting> <Enabled>false</Enabled> </Greeting> Response Code : 204 JSON Example { "Enabled":"false" } Response Code : 204 Save Video Greetings Unity Connection allows you to save video greetings using both GET and PUT requests. Example of GET Request GET http://<connection-server>/vmrest/Callhandlersprimarytemplates/<callhandlerobjectid>/usertemplates/Greetings/<GreetingType>/GreetingStreamFiles/<language>/video The following is the response of the above GET command and the output may vary depending on your inputs. Response: 200 <CallControl> <resourceId>aad91d6d-aeca-4a72-8069-b656efb3041f.wav</resourceId> <sessionId>570146ed1504cb1</sessionId> </CallControl JSON Example Request GET vmrest/handlers/callhandlers/30600b21-1a4c-47a3-a078-8078984e5376/greetings/Standard/greetingstreamfiles/1033/video Accept: application/json User-Agent: Java/1.6.0_17 Host: <connection-server> Connection: keep-alive authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg= Response HTTP/1.1 200 Content-Type: application/json Date: Fri, 15 Jan 2010 15:14:11 GMT Server: { “resourceId” :” aad91d6d-aeca-4a72-8069-b656efb3041f.wav”, “sessionId” : ”570146ed1504cb1”} Example of PUT Request PUT http://<connection-server>/vmrest/Callhandlersprimarytemplates/<callhandlerobjectid>/usertemplates/Greetings/<GreetingType>/GreetingStreamFiles/<language>/video Cisco Unity Connection Provisioning Interface (CUPI) API 491 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Save Video Greetings

Page 524#

chunk 490

<CallControl> <resourceId>aad91d6d-aeca-4a72-8069-b656efb3041f.wav</resourceId> <sessionId>570146ed1504cb1</sessionId> </CallControl> Response: 204 OK JSON Example Request PUT vmrest/handlers/callhandlers/30600b21-1a4c-47a3-a078-8078984e5376/greetings/Standard/greetingstreamfiles/1033/video Content-Type: application/json Accept: application/json Host: <connection-server> Connection: keep-alive authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg== { “resourceId” :” aad91d6d-aeca-4a72-8069-b656efb3041f.wav”, “sessionId” : ”570146ed1504cb1”} Response : HTTP/1.1 204 Content-Type: application/json Date: Fri, 15 Jan 2010 15:14:11 GMT Server: Explanation of Data Fields Comments Data Type Operations Parameter URI of greetings String Read Only URI The unique identifier of the call handler object to which this greeting rule belongs. String (36) Read Only CallHandlerObjectId URI of the call handler. String Read/Write TemplateCallHandlerURI A flag indicating whether Cisco Unity Connection takes action in response to touchtone keys pressed by callers during the greeting. This column overrides all the Menu Entry settings when this greeting is active. This has the same effect as setting all the menu entry keys for this handler to "locked". It is a shorthand way of locking callers into the greeting so they cannot get out until it completes. Values can be: • false: Caller input enabled during greeting • true: Caller input ignored during greeting Default Value: false Boolean Read/Write IgnoreDigits Cisco Unity Connection Provisioning Interface (CUPI) API 492 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 525#

chunk 491

Comments Data Type Operations Parameter Specifies if the system default greeting, personal recording, or nothing should be played. Default Value: 0 For more information, refer to the Enumeration Type section. Integer Read/Write PlayWhat The amount of time (in seconds) that Cisco Unity Connection waits without receiving any input from a caller before Cisco Unity Connection prompts the caller again. The range of this field can vary from 0 to 100. Values can be: • 0: Do wait without receiving caller input and do not replay greeting. • 1 or greater: Wait this number of seconds without receiving any input from the caller before playing the greeting again. Default Value: 2 Integer Read/Write RepromptDelay The number of times to reprompt a caller. After the number of times indicated here, Cisco Unity Connection performs the after-greeting action. This column is typically used when an audio text application is expecting input from a caller. The range of this field can vary from 0 to 100. Values can be: • 0: Do not re-prompt - Cisco Unity Connection will play the greeting once and then the after-greeting action is taken. • 1 or greater: Number of times to re-prompt. The "RepromptDelay" value determines how many seconds to wait in between replays. Default Value: 0 Integer Read/Write Reprompts Specifies the greeting type. There are 7 greeting types available. String Read Only GreetingType The type of call action to take, e.g., hang-up, goto another object, etc. The values that are allowed are: • Hangup • Goto • Restart greeting • Route from next call routing rule • Take message • Custom Type: Call Action Integer Read/Write AfterGreetingAction Cisco Unity Connection Provisioning Interface (CUPI) API 493 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 526#

chunk 492

Comments Data Type Operations Parameter Specifies the conversation to go to after the greeting is played. For more information, refer to the Enumeration Type section. String Read/Write AfterGreetingTargetConversation The unique identifier of the call action object that Cisco Unity Connection performs after the greeting is played. String (36) Read/Write AfterGreetingTargetHandlerObjectId The date and time when the greeting rule expires. The greeting rule is considered not expired (enabled), if the value is NULL or a future date. The greeting rule is considered expired (disabled), the value is in the past. The "Enhanced Alternate Greeting" feature uses this column to specify how long the subscriber wants their alternate greeting enabled. The standard greeting rule should never be disabled. The field is not displayed when the Greeting field is enabled with no end date and end time. Datetime Read/Write TimeExpires A flag indicating whether the "Record your message at the tone…" prompt prior to recording a message. Values: • true - Play Record Message prompt is enabled. • false - Play Record prompt is disabled. Default Value: true Boolean Read/Write PlayRecordMessagePrompt A flag indicating when an extension is dialed at the greeting and the extension is not available whether to transfer to another extension. Values: • true: Allows transfer • false: Does not allow Default Value: false Boolean Read/Write EnableTransfer A flag indicating whether the personal video recording of the user will be used. Values: • true : Personal Video Recording is enabled. • false : Personal Video Recording is not enabled. Default value : false Boolean Read/Write EnablePersonalVideoRecording Cisco Unity Connection Provisioning Interface (CUPI) API 494 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 527#

chunk 493

Comments Data Type Operations Parameter A flag indicating whether Cisco Unity Connection will prompt callers to wait for a tone before recording their video message. Values: • true : Callers will be prompted with a tone before recording their video message. • false : Callers will not be prompted with a tone before recording their video message. Default value : false This flag is editable only when the flag EnablePersonalVideoRecording is set to True. Boolean Read/Write PlayRecordVideoMessagePrompt A flag indicating that the Greeting is enabled or disabled Boolean Read/Write Enabled Cisco Unity Connection Provisioning Interface (CUPI) API -- TransferRulesAPIs Listing the Transfer Rules To enable a transfer type and update the rule to transfer call to another extension, set the transfer type to supervise transfer and if the extension is busy, ask callers to hold. In addition, you can also set some call screening options. GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/transferoptions The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 495 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Cisco Unity Connection Provisioning Interface (CUPI) API -- TransferRulesAPIs

Page 528#

chunk 494

<TransferOptions total="2"> <TransferOption> <URI>/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da- 87ed7993cfec/transferoptions/Standard</URI> <CallHandlerObjectId>166da38f-951b-4c9a-92da- 87ed7993cfec</CallHandlerObjectId> <CallhandlerURI>/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da- 87ed7993cfec</CallhandlerURI> <TransferOptionType>Standard</TransferOptionType> <Action>0</Action> <Extension>0</Extension> <RnaAction>1</RnaAction> <TransferAnnounce>false</TransferAnnounce> <TransferConfirm>false</TransferConfirm> <TransferDtDetect>false</TransferDtDetect> <TransferHoldingMode>0</TransferHoldingMode> <TransferIntroduce>false</TransferIntroduce> <TransferRings>4</TransferRings> <TransferScreening>false</TransferScreening> <TransferType>0</TransferType> <MediaSwitchObjectId>cd10d831-28d3-40da-ab13- a87431b38682</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/cd10d831-28d3-40da-ab13- a87431b38682</PhoneSystemURI> <UsePrimaryExtension>false</UsePrimaryExtension> <PlayTransferPrompt>true</PlayTransferPrompt> <PersonalCallTransfer>false</PersonalCallTransfer> <Enabled>true</Enabled> </TransferOption> </TransferOptions> Response Code: 200 JSON Example To enable transfer rule, do the following: GET https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/transferoptions Action: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 496 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Listing the Transfer Rules

Page 529#

chunk 495

{ "@total": "2", "TransferOption": [ { "URI": "/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da- 87ed7993cfec/transferoptions/Alternate", "CallHandlerObjectId": "166da38f-951b-4c9a-92da-87ed7993cfec", "CallhandlerURI": "/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da- 87ed7993cfec", "TransferOptionType": "Alternate", "Action": "0", "Extension": "0", "RnaAction": "1", "TimeExpires": "1972-01-01 00:00:00.0", "TransferAnnounce": "false", "TransferConfirm": "false", "TransferDtDetect": "false", "TransferHoldingMode": "0", "TransferIntroduce": "false", "TransferRings": "4", "TransferScreening": "false", "TransferType": "0", "MediaSwitchObjectId": "cd10d831-28d3-40da-ab13-a87431b38682", "PhoneSystemURI": "/vmrest/phonesystems/cd10d831-28d3-40da-ab13- a87431b38682", "UsePrimaryExtension": "true", "PlayTransferPrompt": "true", "PersonalCallTransfer": "false", "Enabled": "false" }, { "URI": "/vmrest/callhandlerprimarytemplates/166da38f-951b-4c9a-92da- 87ed7993cfec/transferoptions/Off%20Hours", "CallHandlerObjectId": "166da38f-951b-4c9a-92da-87ed7993cfec", "CallhandlerURI": "/vmrest/handlers/callhandlers/166da38f-951b-4c9a-92da- 87ed7993cfec", "TransferOptionType": "Off Hours", "Action": "0", "Extension": "0", "RnaAction": "1", "TransferAnnounce": "false", "TransferConfirm": "false", "TransferDtDetect": "false", "TransferHoldingMode": "0", "TransferIntroduce": "false", "TransferRings": "4", "TransferScreening": "false", "TransferType": "0", "MediaSwitchObjectId": "cd10d831-28d3-40da-ab13-a87431b38682", "PhoneSystemURI": "/vmrest/phonesystems/cd10d831-28d3-40da-ab13- a87431b38682", "UsePrimaryExtension": "true", "PlayTransferPrompt": "true", "PersonalCallTransfer": "false", "Enabled": "true" } } } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 497 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Listing the Transfer Rules

Page 530#

chunk 496

Update a Transfer Rule We can do a PUT Operation to update a transfer rule. Request URI: PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler- objectid>/transferoptions/Alternate Request Body: <TransferOption> <Action>1</Action> <Extension>1000</Extension> <TimeExpires>2012-12-31 12:00:00.0</TimeExpires> <TransferAnnounce>true</TransferAnnounce> <TransferConfirm>true</TransferConfirm> <TransferIntroduce>true</TransferIntroduce> <TransferScreening>true</TransferScreening> <TransferType>1</TransferType> <Enabled>true</Enabled> </TransferOption> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update transfer rule, do the following: PUT https://<connection-server>/vmrest/handlers/callhandlers/<callhandler-objectid>/transferoptions/Alternate Action: application/json Content_type: application/json Connection: keep_alive Request Body: { "Action": "1", "TimeExpires": "2012-12-31 12:00:00.0", "TransferAnnounce": "true", "TransferConfirm": "true", "TransferIntroduce": "true", "TransferRings": "8", "TransferScreening": "true", "TransferType": "1", "Enabled": "true" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 498 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Update a Transfer Rule

Page 531#

chunk 497

Explanation of Data Fields Comments Data Type Operations Parameter Specifies URI of the call handler transfer options. String Read Only URI Specifies the call handler object ID. String (36) Read Only CallHandlerObjectId SpecifiesURI of the call handler being referenced. String Read Only CallHandlerURI Specifies the transfer option type. There are 3 transfer option types available:- • Alternate - in effect at all times, overrides standard and off hours. • Off Hours - off or closed hours based on specified schedule. • Standard - standard hours based on specified schedule. String Read Only TransferOptionType Specifies the Transfer rule action. Refer to the section Enumeration Type Default value : 0 Integer Read/Write Action Action to take on Ring-No-Answer (RNA) condition. Refer to the section Enumeration Type. Default value: 1 Integer Read/Write RnaAction Rather than using a simple on and off scheme for enabling transfer options and greetings, Cisco Unity Connection employs a date scheme. If the value is NULL or a date in the future then the transfer option is considered enabled. If the date is sometime in the past, then the transfer option is considered disabled. The "Standard" transfer option should never be disabled. For primary call handlers associated with the subscribers, the "Alternate" transfer option should always be enabled since subscribers have only one transfer option used currently. DateTime Read/Write TimeExpires A flag indicating whether Cisco Unity Connection plays "transferring call" when the subscriber answers the phone. This requires a TransferType column value = "Supervised" (1) Possible Values: • false: Do not say "Transferring call" when the subscriber answers the phone • true: Say "Transferring call" when the subscriber answers the phone Default Value: false Boolean Read/Write TransferAnnounce Cisco Unity Connection Provisioning Interface (CUPI) API 499 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 532#

chunk 498

Comments Data Type Operations Parameter The type of call transfer Unity Connection will perform - supervised or unsupervised (also referred to as "Release to Switch" transfer). This requires a "TransferType" of supervised (1). • Unsupervised transfer (also referred to as "Release to Switch" transfer) - Cisco Unity Connection puts the caller on hold, dials the extension, and releases the call to the phone system. When the line is busy or is not answered, the phone system (not Cisco Unity Connection) forwards the call to the subscriber or handler greeting. To use "Unsupervised" transfer, call forwarding must be enabled on the phone system. • Supervised transfer - Cisco Unity Connection acts as a receptionist, handling the transfer. If the line is busy or the call is not answered, Cisco Unity Connection (not the phone system) forwards the call to the subscriber or handler greeting. Supervised transfer can be used regardless if the phone system forwards calls or not. Typically, TransferConfirm is used in conjunction with the call screening option ("TransferScreening" column) enabled. This combination enables the subscriber to hear the name of the caller and then decide if they want to take the call or not. Possible values: • false: Transfer confirm disabled • true: Transfer confirm enabled Default Value: false Boolean Read/Write TransferConfirm A flag indicating whether Cisco Unity Connection will check for dial tone before attempting to transfer the call. This requires a "TransferType" of supervised (1). This is usually used for phone systems that do not have "positive disconnect" capabilities to avoid sending terminated calls to the operator console. Possible Values: • false: Do not check for dial tone prior to transferring a call • true: Check for dial tone prior to transferring a call Default value: false. Boolean Read/Write TransferDtDetect The action Cisco Unity Connection will take when the extension is busy. This requires a TransferType column value = "Supervised" (1). Refer to the section Enumeration Type. Default Value is 0. Integer Read/Write TransferHoldingMode Cisco Unity Connection Provisioning Interface (CUPI) API 500 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 533#

chunk 499

Comments Data Type Operations Parameter A flag indicating whether Cisco Unity Connection will say "call for <recorded name of the call handler>" when the subscriber answers the phone. Requires a "TransferType" of supervised (1).This functionality is normally used when a single extension number is being shared by multiple subscribers or a scenario where the subscriber who is the message recipient takes calls for more than one dialed extension. The introduction alerts the subscriber who answers that the call is for the call handler. Default value: false. Boolean Read/Write TransferIntroduce The number of times the extension rings before Cisco Unity Connection considers it a "ring no answer" and plays the subscriber or handler greeting. Requires a "TransferType" of supervised (1). The value of this column should never be less than 2 for a supervised transfer. Possible values: Range 2-20 Default Value: 4 Integer Read/Write TransferRings A flag indicating whether Cisco Unity Connection will prompt callers to say their names. When the phone is answered, the subscriber hears "Call from..." before Cisco Unity Connection transfers the call.Requires a "TransferType" of supervised (1). Normally this column is used along with "TransferConfirm" to allow the subscriber to screen calls. Possible Values: • false: Call screening disabled • true: Ask and record caller name Default value: false. Boolean Read/Write TransferScreening The type of call transfer Cisco Unity Connection will perform - supervised or unsupervised (also referred to as "Release to Switch" transfer). • Unsupervised transfer (also referred to as "Release to Switch" transfer) - Cisco Unity Connection puts the caller on hold, dials the extension, and releases the call to the phone system. When the line is busy or is not answered, the phone system (not Cisco Unity Connection) forwards the call to the subscriber or handler greeting. To use "Unsupervised" transfer, call forwarding must be enabled on the phone system. • Supervised transfer - Cisco Unity Connection acts as a receptionist, handling the transfer. If the line is busy or the call is not answered, Cisco Unity Connection (not the phone system) forwards the call to the subscriber or handler greeting. Supervised transfer can be used regardless if the phone system forwards calls or not. Refer to the section Enumeration Type. Default value: 0 String Read Only TransferType Cisco Unity Connection Provisioning Interface (CUPI) API 501 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 534#

chunk 500

Comments Data Type Operations Parameter The unique identifier of the MediaSwitch object that Cisco Unity Connection uses for transferring the call to the subscriber phone. String (36) Read Only MediaSwitchObjectId Specifies the URI of the Phone Systems. String Read Only PhoneSystemURI If extension is null this field will be set to true to indicate that we are using primary extension instead of DtmfAccessId for the owning handler or the subscriber. Possible value: • true • false Default value: true Boolean Read/Write UsePrimaryExtension If an administrator using Cisco Unity Connection Administration chooses to transfer to the extension of a subscriber or call handler, Cisco Unity Connection will automatically enter the DtmfAccessId value pulled from the DtmfAccessId table for the call handler into this column.Can take values:Digits, hash, comma, asterisk, plus are allowed. String (40) Read/Write Extension A flag indicating whether the "Wait while I transfer your call" prompt should be played prior to transferring a call. Possible values: • true - Play Transfer prompt is enabled. • false - Play transfer prompt is disabled. Default Value: true. Boolean Read/Write PlayTransferprompt A flag indicating whether or not Personal Call Transfer Rules are used for the specific Transfer Option. Possible Values:- • false: Personal Call Transfer Rules are not used. • true:- Personal Call Transfer Rules are used. Default value: false Boolean Read/Write PersonalCallTransfer Indicate whether the transfer option is enabled or not. To enable rule till particular end date, TimeExpires should also be specified. Whereas, to enable transfer rule with no end date, the TimeExpires field should be empty. Possible Values: • true: enabled • false: disabled Default Value: true Boolean Read/Write Enabled Cisco Unity Connection Provisioning Interface (CUPI) API 502 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 535#

chunk 501

The transfer rules are enabled with no end date by default. Note Cisco Unity Connection Provisioning Interface (CUPI) API 503 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Image 1 from page 535

Page 536#

chunk 502

Cisco Unity Connection Provisioning Interface (CUPI) API 504 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Explanation of Data Fields

Page 537#

chunk 503

C H A P T E R 38 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings • Cisco Unity Connection Provisioning Interface (CUPI) API -- Assigning a Schedule to a Call Handler, on page 505 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input Keys , on page 509 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings , on page 513 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Updating Caller Input Keys, on page 515 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Recordings, on page 519 Cisco Unity Connection Provisioning Interface (CUPI) API -- Assigning a Schedule to a Call Handler Introduction In order to assign a schedule to a call handler, such as the Opening Greeting Call Handler, an administrator should first create a ScheduleSet and its supporting objects, and then change the Call Handler to point to that new ScheduleSet. Creating a Schedule Schedules are relatively complicated objects in Cisco Unity Connection. They are comprised of 4 different types of objects, and the top level object is called a ScheduleSet. For a more detailed explanation of how the schedules work in Unity Connection, check Schedules Overview When a schedule has been created, the administrator will need the ScheduleSet's ObjectId in order to associate it with a call handler. Associating a ScheduleSet with a Call Handler Retrieving the List of Call Handlers In order to retrieve the list of call handlers, an administrator makes a GET request to the call handler resource: Cisco Unity Connection Provisioning Interface (CUPI) API 505

Image 1 from page 537

Page 538#

chunk 504

GET /vmrest/handlers/callhandlers This will return a list of all call handlers on the system. A portion of that list is shown here: Cisco Unity Connection Provisioning Interface (CUPI) API 506 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Retrieving the List of Call Handlers

Page 539#

chunk 505

200 OK <?xml version="1.0" encoding="UTF-8"?> <Callhandlers total="5"> <Callhandler> <URI>/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad</URI> <CreationTime>2010-05-25T18:38:51Z</CreationTime> <Language>1033</Language> <Undeletable>true</Undeletable> <VoiceName>0164efab-5c35-42bd-8284-018746edc64b.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/0164efab-5c35-42bd-8284-018746edc64b.wav</VoiceFileURI> <LocationObjectId>6919b242-ed60-4f3a-95fa-40967171485e</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/6919b242-ed60-4f3a-95fa-40967171485e</LocationURI> <EditMsg>true</EditMsg> <IsPrimary>false</IsPrimary> <OneKeyDelay>1500</OneKeyDelay> <ScheduleSetObjectId>a7e21c61-296d-46f1-9860-50966bbfbb8e</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/a7e21c61-296d-46f1-9860-50966bbfbb8e</ScheduleSetURI> <SendUrgentMsg>0</SendUrgentMsg> <MaxMsgLen>300</MaxMsgLen> <IsTemplate>false</IsTemplate> <ObjectId>03991ce8-0eaa-40cc-86a9-c0c88d9066ad</ObjectId> <RecipientDistributionListObjectId>7082dace-606c-4f2c-8af1-764d149e4500</RecipientDistributionListObjectId> <RecipientDistributionListURI>/vmrest/distributionlists/7082dace-606c-4f2c-8af1-764d149e4500</RecipientDistributionListURI> <DisplayName>Opening Greeting</DisplayName> <AfterMessageAction>2</AfterMessageAction> <AfterMessageTargetConversation>PHGreeting</AfterMessageTargetConversation> <AfterMessageTargetHandlerObjectId>3910fd6b-8d56-4b83-89a6-d5c825d69916</AfterMessageTargetHandlerObjectId> <TimeZone>4</TimeZone> <UseDefaultLanguage>true</UseDefaultLanguage> <UseDefaultTimeZone>true</UseDefaultTimeZone> <MediaSwitchObjectId>2d4be643-a206-4705-92a9-261d191f2df4</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/2d4be643-a206-4705-92a9-261d191f2df4</PhoneSystemURI> <UseCallLanguage>true</UseCallLanguage> <SendSecureMsg>false</SendSecureMsg> <EnablePrependDigits>false</EnablePrependDigits> <DispatchDelivery>false</DispatchDelivery> <CallSearchSpaceObjectId>44228e57-f458-4d56-809a-8d33fbdecb56</CallSearchSpaceObjectId> <CallSearchSpaceURI>/vmrest/searchspaces/44228e57-f458-4d56-809a-8d33fbdecb56</CallSearchSpaceURI> <InheritSearchSpaceFromCall>true</InheritSearchSpaceFromCall> <PartitionObjectId>5d61a103-87a8-41c6-ba0b-90e1c72eda7c</PartitionObjectId> <PartitionURI>/vmrest/partitions/5d61a103-87a8-41c6-ba0b-90e1c72eda7c</PartitionURI> <GreetingsURI>/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad/greetings</GreetingsURI> <TransferOptionsURI>/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad/transferoptions</TransferOptionsURI> Cisco Unity Connection Provisioning Interface (CUPI) API 507 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Retrieving the List of Call Handlers

Page 540#

chunk 506

<MenuEntriesURI>/vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad/menuentries</MenuEntriesURI> </Callhandler> <Callhandler> ... </Callhandler> ... </Callhandlers> Selecting the Call Handler From the list of call handlers obtained by doing the previous step, the administrator should choose one, usually based on DisplayName. In program code, this can be done by loading the returned XML document into an XML parser, and then finding the node with the requested DisplayName. In this example, let's choose the Opening Greeting Call Handler, meaning the call handler with the DisplayName "Opening Greeting." The URI field tells the administrator which URI to use in order to retrieve, modify, or delete the call handler. In this example, the URI is /vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad. Modifying the Call Handler In order the change the schedule associated with a call handler, the administrator makes a PUT to the call handler resource, requesting a modification to the ScheduleSetObjectId field. Let's say that 9dd6c1d5-249e-4715-8953-396ce2f26314 is the ObjectId for the ScheduleSet that the administrator created earlier. PUT /vmrest/handlers/callhandlers/03991ce8-0eaa-40cc-86a9-c0c88d9066ad <Callhandler> <ScheduleSetObjectId>9dd6c1d5-249e-4715-8953-396ce2f26314</ScheduleSetObjectId> </Callhandler> At this point, the call handler will now be active during the time periods described by the ScheduleSet. About Caller Input Keys Finding Which Schedule Is Assigned to a Call Handler In order to find out which schedule is currently assigned to a call handler, an administrator makes a GET request to the call handler resource, as described earlier. After selecting a call handler from the list, the ScheduleSetURI field provides a link to the ScheduleSet that is associated with the call handler. The administrator can then make a GET request to that URI to retrieve the ScheduleSet: GET /vmrest/schedulesets/9dd6c1d5-249e-4715-8953-396ce2f26314 That will return the ScheduleSet. From that ScheduleSet object, the administrator can retrieve the ScheduleSetMembers, Schedules, and ScheduleDetails that comprise the entire Schedule. Cisco Unity Connection Provisioning Interface (CUPI) API 508 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Selecting the Call Handler

Page 541#

chunk 507

Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input Keys About Caller Input Keys (Note that this content is applicable to Cisco Unity Connection 7.1(3) and later) In order to use the CUPI API to update caller input keys, you need to determine the object ID of the call handler whose caller input key you want to change. To make an update to caller input keys for a user, you need to determine the object ID of the user's call handler. Every user who has caller input keys has a call handler. When looking at the user data returned from the following GET, the object ID is under the element <CallHandlerObjectId>: GET https://<server>/vmrest/users/<userobjectid> When you have determined the object ID of the call handler that you want to change, you can do any of the following operations. Ignore The default setting of most keys is "Ignore." To set a key to ignore, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>0</Action> </MenuEntry> The Action field is a custom type used to determine at a basic level what the caller input key is going to do. The 0 value denotes that this key should be ignored. Hang Up To set a key to hang up, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>1</Action> </MenuEntry> The Action field of 1 denotes that this key should terminate the call. Restart Greeting To set a key to restart the greeting, do the following PUT request: Cisco Unity Connection Provisioning Interface (CUPI) API 509 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Caller Input Keys

Page 542#

chunk 508

PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>6</Action> </MenuEntry> The Action field of 6 denotes that this key should restart playback of the greeting from the beginning. Route from Next Call Routing Rule To set a key to route the call starting from the next call routing rule, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>8</Action> </MenuEntry> The Action field of 8 denotes that this key should route the call starting from the next call routing rule. Skip Greeting To set a key to skip the greeting, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>5</Action> </MenuEntry> The Action field of 5 denotes that this key should skip the remainder of the greeting and take the caller directly to the after greeting action. Take a Message To set a key to take a message, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>4</Action> </MenuEntry> The Action field of 4 denotes that this key should prompt the caller to record a message. Transfer to an Alternate Contact Number To transfer a caller to an alternate contact number, do the following PUT request: Cisco Unity Connection Provisioning Interface (CUPI) API 510 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Route from Next Call Routing Rule

Page 543#

chunk 509

PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>7</Action> <TransferNumber>number to transfer to</TransferNumber> </MenuEntry> The Action field of 7 denotes that this key should transfer the caller to an alternate contact number. The TransferNumber is the number that the caller will be release-transferred to. Note that including a TransferNumber is optional; if you choose not to include a TransferNumber, users can configure their own alternate contact numbers by phone (by providing a number to transfers caller to). Currently, the CUPI API does not allow you to set the TransferNumber to an empty string. Therefore, if you set the TransferNumber, you can change it later to a different number, but you cannot leave it empty. In addition, the CUPI API does not allow read or write access to which type of transfer the alternate contact number uses (release transfer vs. supervised transfer). Transfer to a User or a Call Handler To transfer a caller to a user or a call handler, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>PHTransfer</TargetConversation> <TargetHandlerObjectId>05d9e169-5c87-4415-aaed-c58a14816c8d</TargetHandlerObjectId> </MenuEntry> The Action field of 2 denotes that this key should transfer the caller to another conversation. This is used to transfer callers to other objects, or to send callers to other conversations such as the system transfer conversation. The TargetConversation should be set to PHTransfer if you want to transfer to the call handler in question. If you want to have the call go directly the call handler greeting, set it to PHGreeting instead. The TargetHandlerObjectId is the object ID of the call handler that you want the key to transfer the caller to. Transfer to an Interview Handler To transfer a caller to an interview handler, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>PHInterview</TargetConversation> <TargetHandlerObjectId>interview handler object id</TargetHandlerObjectId> </MenuEntry> The TargetConversation should be set to PHInterview. The TargetHandlerObjectId is the object ID of the interview handler that you want to the caller input key to go to. Transfer to a Directory Handler To transfer a caller to a directory handler, do the following PUT request: Cisco Unity Connection Provisioning Interface (CUPI) API 511 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Transfer to a User or a Call Handler

Page 544#

chunk 510

PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>AD</TargetConversation> <TargetHandlerObjectId>object id of directory handler</TargetHandlerObjectId> </MenuEntry> The TargetConversation should be set to AD. The TargetHandlerObjectId is the object ID of the directory handler that you want to the caller input key to go to. Transfer to the Broadcast Message Administrator Conversation To transfer a caller to the Broadcast Message Administrator conversation, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>BroadcastMessageAdministrator</TargetConversation> </MenuEntry> Transfer to the Caller System Transfer Conversation To transfer a caller to the Caller System Transfer conversation, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>SystemTransfer</TargetConversation> </MenuEntry> Transfer to the Greetings Administrator Conversation To transfer a caller to the Greetings Administrator conversation, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>GreetingsAdministrator</TargetConversation> </MenuEntry> Transfer to the Sign-In Conversation To transfer a caller to the sign-in conversation, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>SubSignIn</TargetConversation> </MenuEntry> Cisco Unity Connection Provisioning Interface (CUPI) API 512 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Transfer to the Broadcast Message Administrator Conversation

Page 545#

chunk 511

Transfer to the User System Transfer Conversation To transfer a caller to the subscriber system transfer conversation, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>SubSysTransfer</TargetConversation> </MenuEntry> Cisco Unity Connection Provisioning Interface (CUPI) API -- Greetings About Greetings Modifying greetings involves a fairly long hierarchy in the URI, as follows: /vmrest/handlers/callhandlers/<call handler object id>/greetings/<greeting type>/ greetingstreamfiles/<language id> The greeting types are: • Standard • Alternate • Busy • Closed • Holiday • Error • Internal For Connection versions 7.x and 8.0.x the greetings are accessed by using the greeting stream file URI. Modifying the greeting requires a three step process as detailed below. For Connection versions 8.5 and later the greeting audio access has been simplified so that it can be modified in a single step. This new URI is a standard sub-resource of the greeting stream file resource URI. The old greeting stream file modification still works in the later versions, but use of the new URI is easier. Listing and Viewing Greeting Audio GET for 8.5 and Later Use the standard greeting audio URI to get the file: GET http://<connection-server>/vmrest/handlers/callhandlers/<call handler object id>/greetings /<greeting type>/greetingstreamfiles/<language id>/audio The response will return the audio/wav data for the greeting of the specified type and language. Cisco Unity Connection Provisioning Interface (CUPI) API 513 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Transfer to the User System Transfer Conversation

Page 546#

chunk 512

Voice Name GET for 7.x and 8.0.x First get the greeting stream file object for the greeting type and language, then use the voice files URI to get the greeting audio contents: GET http://<connection-server>/vmrest/handlers/callhandlers/<call handler object id>/greetings /<greeting type>/greetingstreamfiles/<language id> GET http://<connection-server>/vmrest/voicefiles/<stream file> The response will return the audio/wav data for the greeting. Setting Greetings Setting a Greeting in 8.5 and Later PUT the audio data directly to the standard greeting stream file URI: PUT http://<connection-server>/vmrest/handlers/callhandlers/<call handler object id>/greetings /<greeting type>/greetingstreamfiles/<language id>/audio content is audio/wav data The response is a 204 indicating that the content has been accepted and copied into the temporary file. Setting a Greeting in 7.x and 8.0.x To create a greeting for a resource is a three step process. Step 1: A place-holder for the WAV file must be created with a POST. This is a temporary file place-holder that can be used for up to 30 minutes. If it is not used within 30 minutes (assigned to a resource), the file is assumed to be abandoned and gets automatically cleaned. POST /vmrest/voicefiles The response code is 201 and the content is the name of the newly created temporary file. Step 2: Use the temporary file name to PUT the new audio data. The HTTP content type is "audio/wav" and the payload content is the audio data. PUT /vmrest/voicefiles/<temporary file name> The response is a 204 indicating that the content has been accepted and copied into the temporary file. Step 3: Set the greeting stream file of the target resource to the temporary file name. See the following example PUT http://<connection-server>/vmrest/handlers/callhandlers/<call handler object id>/greetings /<greeting type>/greetingstreamfiles/<language id> Only the stream file field needs to be filled out for PUT. All the other greeting stream file fields are derived from the URI: Cisco Unity Connection Provisioning Interface (CUPI) API 514 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Voice Name GET for 7.x and 8.0.x

Page 547#

chunk 513

<?xml version="1.0" encoding="UTF-8"?> <GreetingStreamFile> <StreamFile>temporary file name</StreamFile> </GreetingStreamFile> Cisco Unity Connection Provisioning Interface (CUPI) API -- Updating Caller Input Keys Introduction This document describes how to change the caller input key on a call handler to take different actions. This content is applicable to Cisco Unity Connection release 7.1(3) and later. These examples have not been verified with versions prior to 7.1(3). In order to change a caller input key for a call handler, you need to know the object ID of the call handler. In order to change a caller input key for a user, you need the object ID of that user's call handler. Every user who has caller input keys has a call handler, and if you are looking at the user data returned from a GET request like the following, the object ID is the element CallHandlerObjectId. GET https://<server>/vmrest/users/<userobjectid> When you have obtained the object ID of the call handler you want to change, you can do any of the following actions. Examples Ignore The default setting of most keys is "Ignore." To set a key to ignore, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>0</Action> </MenuEntry> The Action field is a custom type used to determine at a basic level what the caller input key is going to do. The 0 value denotes that this key should be ignored. Hang Up To set a key to hang up, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>1</Action> </MenuEntry> The Action field of 1 denotes that this key should terminate the call. Cisco Unity Connection Provisioning Interface (CUPI) API 515 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Updating Caller Input Keys

Page 548#

chunk 514

Restart Greeting To set a key to restart the greeting, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>6</Action> </MenuEntry> The Action field of 6 denotes that this key should restart playback of the greeting from the beginning. Route from Next Call Routing Rule To set a key to route the call starting from the next call routing rule, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>8</Action> </MenuEntry> The Action field of 8 denotes that this key should route the call starting from the next call routing rule. Skip Greeting To set a key to skip the greeting, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>5</Action> </MenuEntry> The Action field of 5 denotes that this key should skip the remainder of the greeting and take the caller directly to the after greeting action. Take a Message To set a key to take a message, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>4</Action> </MenuEntry> The Action field of 4 denotes that this key should prompt the caller to record a message. Alternate Contact Number (ACN) PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>7</Action> <TransferNumber>number to transfer to</TransferNumber> </MenuEntry> Cisco Unity Connection Provisioning Interface (CUPI) API 516 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Restart Greeting

Page 549#

chunk 515

The Action field of 7 denotes that this key should transfer the caller to an alternate contact number. The TransferNumber is the number that the caller will be release-transferred to. Including a transfer number is optional; if you do not include a TransferNumber, and set a key to the Action of 7, users will have the option of configuring their own ACNs by phone, which provides a number to transfer callers to. The API currently does not let you set the TransferNumber to an empty string. That means that when you have set the TransferNumber, you can only change it to a different number, but cannot empty it out. The API also currently does not give you read or write access to the type of transfer the ACN uses (release vs. supervised). Transfer to a User or a Call Handler To transfer a caller to a user or a call handler, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>PHTransfer</TargetConversation> <TargetHandlerObjectId>05d9e169-5c87-4415-aaed-c58a14816c8d</TargetHandlerObjectId> </MenuEntry> The Action field of 2 denotes that this key should transfer the caller to another conversation. This is used to transfer callers to other objects, or to send callers to other conversations such as the system transfer conversation. The TargetConversation should be set to PHTransfer if you want to transfer to the call handler in question. If you want to have the call go directly the call handler greeting, set it to PHGreeting instead. The TargetHandlerObjectId is the object ID of the call handler that you want the key to transfer the caller to. Go to an Interview Handler PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>PHInterview</TargetConversation> <TargetHandlerObjectId>interview handler object id</TargetHandlerObjectId> </MenuEntry> The TargetConversation should be set to PHInterview and the TargetHandlerObjectId is the object ID of the interview handler that you want to the caller input key to go to. Go to a Directory Handler PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>AD</TargetConversation> <TargetHandlerObjectId>object id of directory handler</TargetHandlerObjectId> </MenuEntry> The TargetConversation should be set to AD and the TargetHandlerObjectId is the object ID of the directory handler you want to the caller input key to go to. Cisco Unity Connection Provisioning Interface (CUPI) API 517 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Transfer to a User or a Call Handler

Page 550#

chunk 516

Go to the Broadcast Message Administrator Conversation PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>BroadcastMessageAdministrator</TargetConversation> </MenuEntry> Go to the User System Transfer Conversation PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>SubSysTransfer</TargetConversation> </MenuEntry> Go to the Greetings Administrator Conversation PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>GreetingsAdministrator</TargetConversation> </MenuEntry> Go to the Sign-In Conversation PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>SubSignIn</TargetConversation> </MenuEntry> Go to the User System Transfer Conversation PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>SubSysTransfer</TargetConversation> </MenuEntry> Cisco Unity Connection Provisioning Interface (CUPI) API 518 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Go to the Broadcast Message Administrator Conversation

Page 551#

chunk 517

Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Recordings About Custom Recordings Cisco Unity Connection allows you to play the customized recordings after a message is sent. You can also play the custom recordings after a greeting is played. A greeting is played before the callers are allowed to leave a message for a user or a call handler. In Cisco Unity Connection 9.0, the Post Greeting Recordings option is changed to the Custom Recordings option. Note Listing Custom Recording Example 1 The following is an example of the GET request that lists all the custom recordings: https://<connection_server>/vmrest/postgreetingrecordings The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <PostGreetingRecordings total="2"> <PostGreetingRecording> <URI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041</URI> <ObjectId>b7cfa709-9f06-4cd2-94b3-8e5910d5b041</ObjectId> <DisplayName>Rec-2</DisplayName> <PostGreetingRecordingStreamFilesURI>/vmrest/postgreetingrecordings/b7cfa709- 9f06-4cd2-94b3-8e5910d5b041/postgreetingrecordingstreamfiles</PostGreetingRecordingStreamFilesURI> </PostGreetingRecording> <PostGreetingRecording> <URI>/vmrest/postgreetingrecordings/db44de42-7274-4d1c-8837-e710b0649c13</URI> <ObjectId>db44de42-7274-4d1c-8837-e710b0649c13</ObjectId> <DisplayName>Rec-3</DisplayName> <PostGreetingRecordingStreamFilesURI>/vmrest/postgreetingrecordings/db44de42-7274- 4d1c-8837-e710b0649c13/postgreetingrecordingstreamfiles</PostGreetingRecordingStreamFilesURI> </PostGreetingRecording> </PostGreetingRecordings> RESPONSE Code: 200 Example 2 The following is an example of the GET request that lists the custom recording as represented by <objectId>: https://<connection_server>/vmrest/postgreetingrecordings/<objectId> Cisco Unity Connection Provisioning Interface (CUPI) API 519 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Recordings

Page 552#

chunk 518

The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <PostGreetingRecording> <URI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041</URI> <ObjectId>b7cfa709-9f06-4cd2-94b3-8e5910d5b041</ObjectId> <DisplayName>Rec-2</DisplayName> <PostGreetingRecordingStreamFilesURI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041/postgreetingrecordingstreamfiles</PostGreetingRecordingStreamFilesURI> </PostGreetingRecording> RESPONSE Code: 200 Listing Languages for a Custom Recording Example 1 The following is an example of the GET request that lists all the languages/stream files for a custom recording: https://<connection_server>/vmrest/postgreetingrecordings/<objectId>/postgreetingrecordingstreamfiles The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <PostGreetingRecordingStreamFiles> <PostGreetingRecordingStreamFile> <URI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041/postgreetingrecordingstreamfiles/1033/audio</URI> <PostGreetingRecordingObjectId>b7cfa709-9f06-4cd2-94b3-8e5910d5b041</PostGreetingRecordingObjectId> <LanguageCode>1033</LanguageCode> <StreamFile>58b0c574-62e6-4276-8e25-cb1227570492.wav</StreamFile> <PostGreetingStreamFileLanguageURI>/vmrest/postgreetingrecordings/b7cfa709-9f06-4cd2-94b3-8e5910d5b041/postgreetingrecordingstreamfiles/1033</PostGreetingStreamFileLanguageURI> </PostGreetingRecordingStreamFile> </PostGreetingRecordingStreamFiles> RESPONSE Code: 200 Example 2 The following is an example of the GET request that lists a particular languages/stream files for a custom recording represented by <language-code>: https://<connection_server>/vmrest/postgreetingrecordings/<objectId>/postgreetingrecordingstreamfiles/<language-code> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 520 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Listing Languages for a Custom Recording

Page 553#

chunk 519

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <PostGreetingRecordingStreamFile> <PostGreetingRecordingObjectId>b7cfa709-9f06-4cd2-94b3-8e5910d5b041</PostGreetingRecordingObjectId> <LanguageCode>1033</LanguageCode> <StreamFile>58b0c574-62e6-4276-8e25-cb1227570492.wav</StreamFile> </PostGreetingRecordingStreamFile> RESPONSE Code: 200 Modifying Custom Recording Example 1 The following is an example of the PUT request that modifies the custom recording as represented by <objectId>: https://<connection_server>/vmrest/postgreetingrecordings/<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <PostGreetingRecording> <DisplayName>custom-rec</DisplayName> </PostGreetingRecording> RESPONSE Code: 204 Example 2 The following is an example of the PUT request that modifies a stream file for a custom recording as represented by <language-code>: https://<connection_server>/vmrest/postgreetingrecordings/<object-id>/postgreetingrecordingstreamfiles/<language-code> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <PostGreetingRecordingStreamFile> <StreamFile>82dd9884-5cee-42f0-8537-bdc5e622de1f.wav</StreamFile> </PostGreetingRecordingStreamFile> RESPONSE Code: 204 Deleting Custom Recording The following is an example of the DELETE request that deletes a User Template as represented by <usertemplateid>: https://<connection_server>/vmrest/postgreetingrecordings/<objectId> The output for this request returns the successful response code. Cisco Unity Connection Provisioning Interface (CUPI) API 521 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Modifying Custom Recording

Page 554#

chunk 520

RESPONSE Code: 204 Explanation of Data Fields The following chart lists all of the data fields available on custom. Explanation/ Comments DB Value Writable? Field Name ObjectId of the Device 36 Characters Read-only ObjectId Friendly name for the Device like "Mobile Phone" 1-64 Characters Read/Write DisplayName List all the languages of custom recordings. Read-only PostGreetingRecordingStreamFilesURI List all the custom recordings 36 Characters Read-only PostGreetingRecordingObjectId List all the locales/languages 4 characters Read-only LanguageCode Record Greetings 40 characters Read/Write StreamFile Cisco Unity Connection Provisioning Interface (CUPI) API 522 Cisco Unity Connection Provisioning Interface (CUPI) API -- Call Handler Settings Explanation of Data Fields

Page 555#

chunk 521

C H A P T E R 39 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs • Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs, on page 523 • Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler Greeting APIs, on page 545 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Directory Handler APIs Directory handlers provide access to a corporate directory that callers can use to reach Cisco Unity Connection users with mailboxes. When a caller searches for a username or part of a name, a directory handler looks up the extension and routes the call to the appropriate user. Administrator can use this API to create/update/delete/fetch the directory handler. You can update various attributes of directory handler using this API. Listing the Directory Handlers The following is an example of the GET request that fetch the list of directory handlers: GET https://<connection-server>/vmrest/handlers/directoryhandlers The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 523

Image 1 from page 555

Page 556#

chunk 522

<DirectoryHandlers total="1"> <DirectoryHandler> <URI>/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-3b76ffaf437a</URI> <CreationTime>2012-12-10T19:24:31Z</CreationTime> <Language>1033</Language> <DisplayName>System Directory Handler</DisplayName> Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Directory_Handler_APIs Contents 1 <Undeletable>true</Undeletable> <VoiceName>b09bd14d-15ef-4100-b0f7-4ba2f0c15343.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/b09bd14d-15ef-4100-b0f7- 4ba2f0c15343.wav</VoiceFileURI> <VoiceNameURI>/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465- 3b76ffaf437a/voicename</VoiceNameURI> <LocationObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcbaca7883de0482</ LocationURI> <EndDialDelay>4</EndDialDelay> <MaxMatches>8</MaxMatches> <MenuStyle>true</MenuStyle> <SayExtension>true</SayExtension> <SearchByFirstName>false</SearchByFirstName> <StartDialDelay>5</StartDialDelay> <Tries>1</Tries> <UseStarToExit>true</UseStarToExit> <SearchScope>0</SearchScope> <SearchScopeObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</SearchScopeObjectId> <PlayAllNames>false</PlayAllNames> <ExitAction>2</ExitAction> <ExitTargetConversation>PHTransfer</ExitTargetConversation> <ExitTargetHandlerObjectId>04786933-dd71-45e1-b2fb- 1a5dd99503f6</ExitTargetHandlerObjectId> <NoInputAction>2</NoInputAction> <NoInputTargetConversation>PHTransfer</NoInputTargetConversation> <NoInputTargetHandlerObjectId>f8bac9c4-62a2-4744-a9e6-74ac90fb87fd</NoInputTargetHandlerObjectId> <NoSelectionAction>2</NoSelectionAction> <NoSelectionTargetConversation>PHTransfer</NoSelectionTargetConversation> <NoSelectionTargetHandlerObjectId>f8bac9c4-62a2-4744-a9e6- 74ac90fb87fd</NoSelectionTargetHandlerObjectId> <ZeroAction>2</ZeroAction> <ZeroTargetConversation>PHTransfer</ZeroTargetConversation> <ZeroTargetHandlerObjectId>b6cd5cfd-312c-4eb0-96ea- 57531fa9058d</ZeroTargetHandlerObjectId> <AutoRoute>false</AutoRoute> <ObjectId>16090424-1c38-4901-a465-3b76ffaf437a</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <DtmfAccessId>555</DtmfAccessId> <ScopeObjectLocationObjectId>08b0402c-ba81-4f16-bcbaca7883de0482</ ScopeObjectLocationObjectId> <ScopeObjectLocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcbaca7883de0482</ ScopeObjectLocationURI> <VoiceEnabled>false</VoiceEnabled> <UseCallLanguage>true</UseCallLanguage> <UseDefaultLanguage>true</UseDefaultLanguage> <PartitionObjectId>ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionObjectId> <PartitionURI>/vmrest/partitions/ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionURI> <SpeechConfidenceThreshold>10</SpeechConfidenceThreshold> <SayCity>false</SayCity> <SayDepartment>false</SayDepartment> </DirectoryHandler> </DirectoryHandlers> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 524 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Listing the Directory Handlers

Page 557#

chunk 523

JSON Example To list of directory handlers, do the following: GET https://<connection-server>/vmrest/handlers/directoryhandlers Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 525 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Listing the Directory Handlers

Page 558#

chunk 524

"@total": "1", "DirectoryHandler": [ { "URI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-deafa5945339", "CreationTime": "2013-02-08T04:59:36Z", "Language": "1033", "DisplayName": "System Directory Handler", "Undeletable": "true", "VoiceName": "41a5ba0d-5267-40d8-aa2c-dd1f61046f7c.wav", "VoiceFileURI": "/vmrest/voicefiles/41a5ba0d-5267-40d8-aa2c-dd1f61046f7c.wav", "VoiceNameURI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4- deafa5945339/voicename", "LocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1", "LocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-4f7e-b5fc- 8346df0ffee1", "EndDialDelay": "4", "MaxMatches": "8", "MenuStyle": "true", "SayExtension": "true", "SearchByFirstName": "false", "StartDialDelay": "5", "Tries": "1", "UseStarToExit": "true", "SearchScope": "0", "SearchScopeObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1", "PlayAllNames": "false", "ExitAction": "2", "ExitTargetConversation": "PHTransfer", "ExitTargetHandlerObjectId": "e6fd6ae4-7bf5-4a46-b994-e9fd13d83c30", "NoInputAction": "2", "NoInputTargetConversation": "PHTransfer", "NoInputTargetHandlerObjectId": "d4d920f6-d7d4-4a3e-8876-21917480867f", "NoSelectionAction": "2", "NoSelectionTargetConversation": "PHTransfer", "NoSelectionTargetHandlerObjectId": "d4d920f6-d7d4-4a3e-8876-21917480867f", "ZeroAction": "2", "ZeroTargetConversation": "PHTransfer", "ZeroTargetHandlerObjectId": "b45f1e23-ce6d-4406-a9b2-48c647094a77", "AutoRoute": "false", "ObjectId": "36408c02-4b25-4549-b3a4-deafa5945339", "TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438", "DtmfAccessId": "555", "ScopeObjectLocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1", "ScopeObjectLocationURI": "/vmrest/locations/connectionlocations/df46033e-0058- 4f7e-b5fc-8346df0ffee1", "VoiceEnabled": "false", "UseCallLanguage": "true", "UseDefaultLanguage": "true", "PartitionObjectId": "92ef3894-5bf0-430c-a1f1-4ef67925aecf", "PartitionURI": "/vmrest/partitions/92ef3894-5bf0-430c-a1f1-4ef67925aecf", "SpeechConfidenceThreshold": "10", "SayCity": "false", "SayDepartment": "false", "UseCustomGreeting": "false", "ExitConversationURI": "/vmrest/conversations?query=(cnvdirectoryhandlerexit%20is%201)", "NoInputConversationURI": "/vmrest/conversations?query=(cnvdirectoryhandlernoinput%20is%201)", "NoSelectionConversationURI": Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Directory_Handler_APIs Listing the Directory Handlers 3 "/vmrest/conversations?query=(cnvdirectoryhandlernoselection%20is%201)", "ZeroExitConversationURI": "/vmrest/conversations?query=(cnvdirectoryhandlerzeroexit%20is%201)", Cisco Unity Connection Provisioning Interface (CUPI) API 526 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Listing the Directory Handlers

Page 559#

chunk 525

"DirectoryHandlerStreamFileURI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-deafa5945339/directoryhandlerstreamfiles" } ] } Response Code: 200 Listing Specific Tenant Related Directory Handlers by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related directory handlers using the following URI: GET https://<connection-server>/vmrest/handlers/directoryhandlers?query=(TenantObjectId is <Tenant> To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Viewing the Specific Directory Handler The following is an example of the GET request that lists the details of specific directory handler represented by the provided value of directory handler ID: GET https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 527 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Listing Specific Tenant Related Directory Handlers by System Administrator

Page 560#

chunk 526

<DirectoryHandler> <URI>/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-3b76ffaf437a</URI> <CreationTime>2012-12-10T19:24:31Z</CreationTime> <Language>1033</Language> <DisplayName>System Directory Handler</DisplayName> <Undeletable>true</Undeletable> <VoiceName>b09bd14d-15ef-4100-b0f7-4ba2f0c15343.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/b09bd14d-15ef-4100-b0f7-4ba2f0c15343.wav</VoiceFileURI> <VoiceNameURI>/vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465- 3b76ffaf437a/voicename</VoiceNameURI> <LocationObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcbaca7883de0482</ LocationURI> <EndDialDelay>4</EndDialDelay> <MaxMatches>8</MaxMatches> <MenuStyle>true</MenuStyle> <SayExtension>true</SayExtension> <SearchByFirstName>false</SearchByFirstName> <StartDialDelay>5</StartDialDelay> <Tries>1</Tries> <UseStarToExit>true</UseStarToExit> <SearchScope>0</SearchScope> <SearchScopeObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</SearchScopeObjectId> <PlayAllNames>false</PlayAllNames> <ExitAction>2</ExitAction> <ExitTargetConversation>PHTransfer</ExitTargetConversation> <ExitTargetHandlerObjectId>04786933-dd71-45e1-b2fb- 1a5dd99503f6</ExitTargetHandlerObjectId> Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Directory_Handler_APIs Listing Specific Tenant Related Directory Handlers by System Administrator 4 <NoInputAction>2</NoInputAction> <NoInputTargetConversation>PHTransfer</NoInputTargetConversation> <NoInputTargetHandlerObjectId>f8bac9c4-62a2-4744-a9e6-74ac90fb87fd</NoInputTargetHandlerObjectId> <NoSelectionAction>2</NoSelectionAction> <NoSelectionTargetConversation>PHTransfer</NoSelectionTargetConversation> <NoSelectionTargetHandlerObjectId>f8bac9c4-62a2-4744-a9e6- 74ac90fb87fd</NoSelectionTargetHandlerObjectId> <ZeroAction>2</ZeroAction> <ZeroTargetConversation>PHTransfer</ZeroTargetConversation> <ZeroTargetHandlerObjectId>b6cd5cfd-312c-4eb0-96ea- 57531fa9058d</ZeroTargetHandlerObjectId> <AutoRoute>false</AutoRoute> <ObjectId>16090424-1c38-4901-a465-3b76ffaf437a</ObjectId> <DtmfAccessId>555</DtmfAccessId> <ScopeObjectLocationObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</ScopeObjectLocationObjectId> <ScopeObjectLocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcbaca7883de0482</ ScopeObjectLocationURI> <VoiceEnabled>false</VoiceEnabled> <UseCallLanguage>true</UseCallLanguage> <UseDefaultLanguage>true</UseDefaultLanguage> <PartitionObjectId>ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionObjectId> <PartitionURI>/vmrest/partitions/ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionURI> <SpeechConfidenceThreshold>10</SpeechConfidenceThreshold> <SayCity>false</SayCity> <SayDepartment>false</SayDepartment> </DirectoryHandler> Response Code: 200 JSON Example To list details of a particular directory handler, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 528 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Viewing the Specific Directory Handler

Page 561#

chunk 527

GET https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 529 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Viewing the Specific Directory Handler

Page 562#

chunk 528

{ "URI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-deafa5945339", "CreationTime": "2013-02-08T04:59:36Z", "Language": "1033", "DisplayName": "System Directory Handler", "Undeletable": "true", "VoiceName": "41a5ba0d-5267-40d8-aa2c-dd1f61046f7c.wav", "VoiceFileURI": "/vmrest/voicefiles/41a5ba0d-5267-40d8-aa2c-dd1f61046f7c.wav", "VoiceNameURI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4- deafa5945339/voicename", "LocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1", "LocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-4f7e-b5fc- 8346df0ffee1", "EndDialDelay": "4", "MaxMatches": "8", "MenuStyle": "true", "SayExtension": "true", "SearchByFirstName": "false", "StartDialDelay": "5", "Tries": "1", "UseStarToExit": "true", "SearchScope": "0", Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Directory_Handler_APIs Viewing the Specific Directory Handler 5 "SearchScopeObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1", "PlayAllNames": "false", "ExitAction": "2", "ExitTargetConversation": "PHTransfer", "ExitTargetHandlerObjectId": "e6fd6ae4-7bf5-4a46-b994-e9fd13d83c30", "NoInputAction": "2", "NoInputTargetConversation": "PHTransfer", "NoInputTargetHandlerObjectId": "d4d920f6-d7d4-4a3e-8876-21917480867f", "NoSelectionAction": "2", "NoSelectionTargetConversation": "PHTransfer", "NoSelectionTargetHandlerObjectId": "d4d920f6-d7d4-4a3e-8876-21917480867f", "ZeroAction": "2", "ZeroTargetConversation": "PHTransfer", "ZeroTargetHandlerObjectId": "b45f1e23-ce6d-4406-a9b2-48c647094a77", "AutoRoute": "false", "ObjectId": "36408c02-4b25-4549-b3a4-deafa5945339", "DtmfAccessId": "555", "ScopeObjectLocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1", "ScopeObjectLocationURI": "/vmrest/locations/connectionlocations/df46033e-0058- 4f7e-b5fc-8346df0ffee1", "VoiceEnabled": "false", "UseCallLanguage": "true", "UseDefaultLanguage": "true", "PartitionObjectId": "92ef3894-5bf0-430c-a1f1-4ef67925aecf", "PartitionURI": "/vmrest/partitions/92ef3894-5bf0-430c-a1f1-4ef67925aecf", "SpeechConfidenceThreshold": "10", "SayCity": "false", "SayDepartment": "false", "UseCustomGreeting": "false", "ExitConversationURI": "/vmrest/conversations?query=(cnvdirectoryhandlerexit%20is%201)", "NoInputConversationURI": "/vmrest/conversations?query=(cnvdirectoryhandlernoinput%20is%201)", "NoSelectionConversationURI": "/vmrest/conversations?query=(cnvdirectoryhandlernoselection%20is%201)", "ZeroExitConversationURI": "/vmrest/conversations?query=(cnvdirectoryhandlerzeroexit%20is%201)", "DirectoryHandlerStreamFileURI": "/vmrest/handlers/directoryhandlers/36408c02-4b25-4549-b3a4-deafa5945339/directoryhandlerstreamfiles" } Cisco Unity Connection Provisioning Interface (CUPI) API 530 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Viewing the Specific Directory Handler

Page 563#

chunk 529

Response Code: 200 Creating a Directory Handler The following is an example of the POST request that creates a new directory handler: POST https://<connection-server>/vmrest/handlers/directoryhandlers Request Body: <DirectoryHandler> <DisplayName>Taxoma_Directory Handler</DisplayName> </DirectoryHandler> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-3b76ffaf437a JSON Example To create a new directory handler, do the following: POST https://<connection-server>/vmrest/handlers/directoryhandlers Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName": "Texoma123_Directory Handler" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/handlers/directoryhandlers/16090424-1c38-4901-a465-3b76ffaf437a Delete the Directory Handler This request can be used to delete a directory handler. DELETE https://<connection-server>/vmrest/directory handler/<directoryHandlerObjectId> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To delete the directory handler, do the following: DELETE https://<connection-server>/vmrest/directory handler/<directoryHandlerObjectId> Accept: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 531 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Creating a Directory Handler

Page 564#

chunk 530

The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Updating the Search Scope of the Directory Handler The following is an example of the PUT request that can be used to modify the search scope of the directory handler. In the request body, the search scope value corresponds to the type of search scope and search scope object ID represents the objectid corresponding to the search scope value. For Example Value for COS as search scope is 5 and search scope object ID should be COS. PUT https://<connection-server>/vmrest/directory handler /<directoryHandlerObjectId> Request Body: <DirectoryHandler> <SearchScope>5</SearchScope> <SearchScopeObjectId>03815b4e-3b88-48b3-918d-91a9d1673880</SearchScopeObjectId> </DirectoryHandler> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 The table given below lists the possible values of the search scope: Description Value Name VMS - directory handler search restricted to the local VMS. 0 VMS Dialing domain - directory handler search restricted to a dialing domain. 1 DialingDomain Global - directory handler search expanded to the entire Unity organization (global). 2 Global Location - directory handler search restricted to a Unity location. 3 Location Distribution list - directory handler search is restricted to a distribution list. 4 DistributionList COS - directory handler search restricted to a class of service. 5 cos SearchSpace - directory handler search restricted to a search space. 6 SearchSpace Inherit - directory handler search is restricted to the search space of the call. 7 Inherit Invalid - directory handler search scope is no longer valid; used by the replicator. 8 Invalid Cisco Unity Connection Provisioning Interface (CUPI) API 532 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Updating the Search Scope of the Directory Handler

Page 565#

chunk 531

You can set the search scope of a directory handler by defining only search scope and search scope object ID. The search scope object Id can have these references, COS object Id, location object Id, distribution list, and search space object ID. Example 1: Update the Search Scope of a Directory Handler to a Class of Service To update the search scope of a directory handler to a class of service, you must obtain the COS object ID. GET https://<connection-server>/vmrest/coses The following is an example of the PUT request to update the directory handler to COS object ID: Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body: <DirectoryHandler> <SearchScope>5</SearchScope> <SearchScopeObjectId>03815b4e-3b88-48b3-918d-91a9d1673880</SearchScopeObjectId> </DirectoryHandler> Response Code: 204 Example 2: Update the Search Scope of a Directory Handler to Entire Server To update the search scope of a directory handler to entire server, you must obtain the location of the object id of the connection server: GET https://<connection-server>/vmrest/locations/connectionlocations The following is an example of the PUT request to update the directory handler to entire server: Request URI: PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body: <DirectoryHandler> <SearchScope>0</SearchScope> <SearchScopeObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</SearchScopeObjectId> </DirectoryHandler> Response Code: 204 Example 3: Update the Search Scope of a Directory Handler to Inherit Search Scope from Call The following is an example of the PUT request to update the search scope of directory handler to inherit search scope from call: Request URI: PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body: <DirectoryHandler> <SearchScope>7</SearchScope> </DirectoryHandler> Cisco Unity Connection Provisioning Interface (CUPI) API 533 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Updating the Search Scope of the Directory Handler

Page 566#

chunk 532

Response Code: 204 Example 3: Update the Search Scope of a Directory Handler to Inherit Search Scope from Call The following is an example of the PUT request to update the search scope of directory handler to inherit search scope from call: Request URI: PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body: <DirectoryHandler> <SearchScope>7</SearchScope> </DirectoryHandler> Response Code: 204 Example 4: Update the Search Scope of a Directory Handler to a Distribution List The following is an example of the PUT request to update the search scope of directory handler to a distribution list: PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body: <DirectoryHandler> <SearchScope>4</SearchScope> <SearchScopeObjectId>0995fc34-6791-4d9a-b20f-52c8dadd65b5</SearchScopeObjectId> </DirectoryHandler> Response Code: 204 Example 5: Update the Search Scope of a Directory Handler to a Search Space To update the search scope of a directory handler to a search space, you must obtain the object ID of the search scope using the following URL: GET https://<connection-server>/vmrest/searchspaces The following is an example of the PUT request to update the search scope of directory handler to a search space: Request URI: PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body: <DirectoryHandler> <SearchScope>6</SearchScope> <SearchScopeObjectId>1cdaa964-0514-4364-ad74-e55364efb4b4</SearchScopeObjectId> </DirectoryHandler> Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 534 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Updating the Search Scope of the Directory Handler

Page 567#

chunk 533

JSON Example To update the search scope of a directory handler to a search space, do the following: Request URI: PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "SearchScope":"6", "SearchScopeObjectId":"1cdaa964-0514-4364-ad74-e55364efb4b4" } The following is an example of the PUT request to update the search scope of directory handler to a search space: Response Code: 200 Updating the Exit Action on a directory handler You can update the exit action, no input action, no selection action and action when caller presses zero on a directory handler. To specify the destination when a caller exits the directory handler using the * key/ or #key, the following fields are used to specify the destination: • ExitAction • ExitTargetConversation • ExitTargetHandlerObjectId In a scenario where caller does not respond to the name entry prompt, the following fields are used to specify the destination the fields: • NoInputAction • NoInputTargetConversation • NoInputTargethandlerObjectId In another scenario where caller does not respond to the name entry prompt the fields, the following fields are used to specify the destination the fields: • NoSelectionAction • NoSelectionTargetConversation • NoSelectionTargetHandlerObjectId If callers press the zero key, the following fields are used to specify the destination the fields: • ZeroAction • ZeroTargetConversation Cisco Unity Connection Provisioning Interface (CUPI) API 535 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Updating the Exit Action on a directory handler

Page 568#

chunk 534

• ZeroTargetHandlerObjectId The following are the URLs to fetch the call handlers, directory handlers, and interview handlers: • Call Handlers: /vmrest/handlers/callhandlers • Directory Handlers: /vmrest/handlers/directoryhandlers • InterviewHandler : /vmrest/handlers/interviewhandlers The following sections give some examples of how to specify different types of destinations by using these fields when caller exits the directory handler. Example 1: Call should hang up on exit action. Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body <DirectoryHandler> <ExitAction>1</ExitAction> </DirectoryHandler> Response Code: 204 Example 2: Call should be sent to a call handler or a user greeting Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body <DirectoryHandler> <ExitAction>2</ExitAction> <ExitTargetConversation>PHGreeting</ExitTargetConversation> <ExitTargetHandlerObjectId>5f8b4a28-8042-4cce-a11c- 0222f106f79f</ExitTargetHandlerObjectId> </DirectoryHandler> Response Code: 204 JSON Example To update the directory handler, do the following: Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body Cisco Unity Connection Provisioning Interface (CUPI) API 536 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Updating the Exit Action on a directory handler

Page 569#

chunk 535

{ "ExitAction": "2", "ExitTargetConversation": "PHGreeting", "ExitTargetHandlerObjectId": "e6fd6ae4-7bf5-4a46-b994-e9fd13d83c30" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 3: Call should be transferred to a call handler or user Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body <DirectoryHandler> <ExitAction>2</ExitAction> <ExitTargetConversation>SystemTransfer</ExitTargetConversation> </DirectoryHandler> Response Code: 204 The fields for that needs to be sent as input are Exit Action and ExitTargetConversation. Note Example 5: Call should be sent to an Interview Handler Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body <DirectoryHandler> <ExitAction>2</ExitAction> <ExitTargetConversation>PHInterview</ExitTargetConversation> <ExitTargetHandlerObjectId>1ff9ef5e-1b97-4f3f-a30d- 48aef7733d7f</ExitTargetHandlerObjectId> </DirectoryHandler> Response Code: 204 Example 6: Call should be sent to a Directory Handler. Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body Cisco Unity Connection Provisioning Interface (CUPI) API 537 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Updating the Exit Action on a directory handler

Image 1 from page 569

Page 570#

chunk 536

<DirectoryHandler> <ExitAction>2</ExitAction> <ExitTargetConversation>AD</ExitTargetConversation> <ExitTargetHandlerObjectId>249056ed-5954-493d-9d87- aec9cedafe25</ExitTargetHandlerObjectId> </DirectoryHandler> Response Code: 204 Setting Voice Enable to true for a Directory Handler Voice enabled directory handlers cannot use a class of service or a distribution list as per their search scope. Only entire server, a specific search space, or Inherit search space from call are allowed. Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Request Body <DirectoryHandler> <VoiceEnabled>true</VoiceEnabled> </DirectoryHandler> Response Code: 204 JSON Example To update the voice enable, do the following: Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Accept: application/json Content-Type: application/json Connection: keep-alive { "VoiceEnabled":"true" } The following is an example of the PUT request to update the search scope of directory handler to a search space: Response Code: 204 • If a request is sent to enable the voiceenabled field and set the search scope to a COS or distribution list, the search scope is set to entire server. • If the search scope of a directory handler is already a COS or a distribution list and request is sent to set the voiceenabled to true, the search scope is set to entire server. Note Cisco Unity Connection Provisioning Interface (CUPI) API 538 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Setting Voice Enable to true for a Directory Handler

Image 1 from page 570

Page 571#

chunk 537

Updating the Language of Directory Handler This request can be used to update a language for a directory handler. It can be used to set a particular language for a directory handler, set the system default language as the language of directory handler or set the language of directory handler as inherit from call. URI to get Language code: https://<connection-server>/vmrest/languagemap URI to Get Language code for installed languages: https://<connection-server>/vmrest/installedlang The below table specify the details of value for each field: Description Language UseDefaultLanguage UseCallLanguage This will select the default language. Null/Language Code true false This will inherit the language from user. Null/Language Code true/false true This will select the particular language as per the code. Language Code false false Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectid> Example 1: Updating the Inherit Language field and not the Language field Request Body <Directoryhandler> <UseCallLanguage>true</UseCallLanguage> <UseDefaultLanguage>false</UseDefaultLanguage> </Directoryhandler> Response Code: 204 The Inherit Language field from the call is selected but the UseDefaultLanguage field will not get updated in the database as the Language field is missing. If the Language field is NULL, the UseDefaultLanguage field is by default set to TRUE. Example 2: Updating the Inherit Language field and the Language field Request Body <Directoryhandler> <UseCallLanguage>true</UseCallLanguage> <UseDefaultLanguage>false</UseDefaultLanguage> <Language>1033</Language> </Directoryhandler> Response Code: 204 The Inherit Language field from the call is selected but the UseDefaultLanguage field is updated in the database as the Language field is specified. Cisco Unity Connection Provisioning Interface (CUPI) API 539 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Updating the Language of Directory Handler

Page 572#

chunk 538

JSON Example To change language, do the following: Request URI PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryHandlerObjectId> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body { "UseCallLanguage":"true", "UseDefaultLanguage":"false", "Language":"1033" } Response Code: 204 Explanation of Data Fields Comments Data Type Operations Parameter Specifies the language code. All possible language code values can be fetched using <connection server>/vmrest/languagemap. Integer Read/Write Language The display name of Directory Handler String(64) Read/Write Display Name Shows whether the Directory Handler can be deleted or not. Values: • false: The handler can be deleted by an administrator. • true: The handler cannot be deleted by an administrator. Default value: false Boolean Read/Write Undeletable Specifies the .wav file which is the recorded name. String(40) Read/Write VoiceName Specifies the URI of the voice file. String Read Only VoiceFileURI Specifies the URI of voice names. String Read Only VoiceNameURI The unique identifier of the location object to which this handler belongs. Location, e.g. "Seattle Office." String(36) Read Only LocationObjectId Specifies the URI of location. String Read Only LocationURI Cisco Unity Connection Provisioning Interface (CUPI) API 540 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Explanation of Data Fields

Page 573#

chunk 539

Comments Data Type Operations Parameter The amount of time (in seconds) that Cisco Unity Connection waits after caller input before performing the action indicated by the input. Value can be in the range 1-10. Default Value: 4. Integer Read/Write EndDialDelay The number of matches that if exceeded, will result in Cisco Unity Connection prompting the caller to dial more letters. Value can be in the range 1-30. Default value: 8. Integer Read/Write MaxMatches A flag indicating how Cisco Unity Connection presents directory matches to callers - either in "menu choice" or "extension list" format. Note: MenuStyle cannot be set to false for the System Default Directory Handler. Possible values can be: • true : menu choice • false : extension list. Default value: true. Boolean Read/Write MenuStyle A flag indicating whether Cisco Unity Connection provides a menu of subscriber names including extensions, or just subscriber names. Possible values can be: • false: Play only subscriber names in menu list. • true: Play subscriber names and extensions in menu list. Default value : true Boolean Read/Write SayExtension A flag indicating whether a directory handler searches for subscribers by using first name first, or last name first. Values: • false: Search by last name, then first name. • true: Search by first name, then last name. Default value: false. Boolean Read/Write SearchByFirstName The amount of time (in seconds) that Cisco Unity Connection waits for the caller to start dialing. Default value: 5. Value can be in the range 1-10. Integer Read/Write StartDialDelay The number of times Cisco Unity Connection will reprompt the caller for input, e.g. dial name. Default value : 1. Value can be in the range 0-10. Integer Read/Write Tries Cisco Unity Connection Provisioning Interface (CUPI) API 541 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Explanation of Data Fields

Page 574#

chunk 540

Comments Data Type Operations Parameter A flag indicating the key on the phone to use for "exit the directory." Values: • true: Use star ("*") key to exit directory handler. • false: Use pound/hash ("#") key to exit directory handler. Default value: true. Boolean Read/Write UseStarToExit The scope of the directory that Cisco Unity Connection will search. Default value: 0( search scope set as entire server). Possible values : Refer to the SearchScope section under the Enumeration Type as given at the end of the document Integer Read/Write SearchScope ObjectId of the Search Scope type set. For example : For Class of Service it will be Class Of Service Object ID. String(36) Read/Write SearchScopeObjectId Represents a Class of Service(COS) .Only users with this COS will be included in the directory handler. String(36) Read Only ScopeObjectCosObjectId Represents a Distribution List. Only users who are members of this distribution list will be included in the directory handler. String(36) Read Only ScopeObjectDistributionListObjectId Represents a Cisco Unity Connection Location .Only those users assigned to this location will be included in the directory handler. String(36) Read Only ScopeObjectLocationObjectId Represents a Search Space .The unique identifier of the search space which can act as filter for the directory handler. String(36) Read Only ScopeObjectSearchSpaceObjectId A flag indicating whether Cisco Unity Connection plays the names of subscribers in the directory for caller selection, rather than requiring the caller to search by spelled name. Default value: false. Boolean Read/Write PlayAllNames Specifies the exit action. Default Value is 2. Possible Values: Refer to the section Enumeration Type at the end of the document. Integer Read/Write ExitAction Specifies the conversation to go to upon exit. Default value is "PHTransfer". Possible Values: Refer to the section Enumeration Type at the end of the document. String(64) Read/Write ExitTargetConversation The Unique Identifier of the call action object that Cisco Unity Connection performs if the caller exits the directory handler. String(36) Read/Write ExitTargetHandlerObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 542 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Explanation of Data Fields

Page 575#

chunk 541

Comments Data Type Operations Parameter Specifies the action to be performed if there is no caller Input. Default Value: 2. Possible Values: Refer to the section Enumeration Type at the end of the document. Integer Read/Write NoInputAction Specifies the conversation to go when caller gives no Input. Default value is "PHTransfer". Refer to the section Enumeration Type at the end of the document. String(64) Read/Write NoInputTargetConversation The unique identifier of the CallAction object that Cisco Unity Connection performs (or the destination to which calls are sent) if the caller does not enter a name or by not responding to prompts. String(36) Read/Write NoInputTargetHandlerObjectId Specifies the action to be performed when caller does not select anything. Default Value: 2. Possible Values: Refer to the section Enumeration Type at the end of the document. Integer Read/Write NoSelectionAction Specifies the conversation to go when caller does not select anything.Default value is "PHTransfer" . Refer to the section Enumeration Type at the end of the document. String(64) Read/Write NoSelectionTargetConversation The unique identifier of the CallAction object that Cisco Unity Connection performs (or the destination to which the caller is sent to) if the caller makes no selection from a list of matches. String(36) Read/Write NoSelectionTargetHandlerObjectId Specifies the action to be performed for caller input '0'. Default Value: 2 Possible Values: Refer to the section Enumeration Type at the end of the document. Integer Read/Write ZeroAction Specifies the conversation when caller presses 0. Default value is "PHTransfer". Refer to the section Enumeration Type at the end of the document. String(64) Read/Write ZeroTargetConversation The unique identifier of the CallAction object that Cisco Unity Connection performs if caller presses zero ("0") key during menu style list of names. String(36) Read/Write ZeroTargetHandlerObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 543 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Explanation of Data Fields

Page 576#

chunk 542

Comments Data Type Operations Parameter Represents how the call should be routed once the matches are found in the Directory. Default value: false. Values: • false: Presents a list of matches, even if only one, and prompts the user to verify the match. • true: Automatically routes a call to the extension assigned to the subscriber on a unique match without prompting the caller to verify the match. Boolean Read/Write AutoRoute Object Id of the directory handler String(36) Read Only ObjectId The unique identifier of the tenant to which the directory handler belongs. This field is reflected in the response only if the directory handler belongs to a particular tenant. String(36) Read Only TenantObjectId Extension of the Directory handler String(40) Read/Write DtmfAccessId A flag indicating whether the directory handler will use voice based addressing rather than touchtones. Default value: false. Values: • false: Use touchtones • true: Use voice commands Boolean Read/Write VoiceEnabled Specifies if the language as inherited from the call is to be used. Default value is true. Boolean Read/Write UseCallLanguage Specifies if the system default language has to be used. Default value is true. Boolean Read/Write UseDefaultLanguage Object Id of the partition the directory handler belongs to String(36) Read/Write PartitionObjectId URI of partitions String Read Only PartitionURI When the engine matches a spoken phrase, it associates a confidence level with that conclusion. This parameter determines what confidence level should be considered a successful match. Default Value is 10. Range of Value is 0 -100 Integer Read/Write SpeechConfidenceThreshold A flag indicating if the user's city is voiced when a match is voiced. Default value is false. Boolean Read/Write SayCity A flag indicating if the user's department is voiced when a match is voiced. Default value is false. Boolean Read/Write SayDepartment Cisco Unity Connection Provisioning Interface (CUPI) API 544 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Explanation of Data Fields

Page 577#

chunk 543

Comments Data Type Operations Parameter Indicates whether to use the directory handler's custom greeting or the system prompt. Default value is false. Boolean Read/Write UseCustomGreeting Specifies the creation time of the directory handlers. DateTime Read Only CreationTime Specifies the URI to fetch the conversation values which can be used as the ExitConversation String Read Only ExitConversationURI Specifies the URI to fetch the conversation values which can be used as the NoInputConversation. String Read Only NoInputConversationURI Specifies the URI to fetch the conversation values which can be used as the NoSelectionConversation. String Read Only NoSelectionConversationURI Specifies the URI to fetch the conversation values which can be used as the ZeroExitConversation String Read Only ZeroExitConversationURI Specifies the URI for the Directory Handler Stream files which are used as the greeting for the Directory Handler. String Read Only DirectoryHandlerStreamFileURI Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler Greeting APIs Directory Handler Greeting APIs Administrator can use this API to create/update/fetch the Directory Handler Greeting. There are three ways to upload the Custom Greeting for the Directory Handler :

  1. Upload a .wav file from the desktop.
  2. Record a recording using CUTI(Cisco Unity Telephony Interface) and upload to the Directory Handler.
  3. Pass the .wav as an inputStream to the Directory Handler.Administrator can use this API to create/update/fetch the directory handler greeting. You can update various attributes of directory handler greeting using this API. Enable Use of Custom Recordings on a Directory Handler Custom Greetings can be enabled on a directory handler using the directory handler API. A PUT operation has to be performed to set the UseCustomGreetings field to True: PUT https://<connection-server>/vmrest/directoryhandlers/<DirectoryhandlerObjectId> <DirectoryHandler> <UseCustomGreeting>true<UseCustomGreeting> </DirectoryHandler> Cisco Unity Connection Provisioning Interface (CUPI) API 545 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler Greeting APIs
Page 578#

chunk 544

The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To enable use of custom recordings on a directory handler, do the following: PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<DirectoryhandlerObjectId> Accept: application /json Content-Type: application/json Connection: keep-alive { "UseCustomGreeting": "true" } The following is an example of the PUT request and the actual response will depend upon the information given by you: Response Code: 204 Listing Directory Handler Greeting The following is an example of the GET request that lists all the custom recordings for a directory handler represented by the provided value of directory handler ID: GET https://<connection- server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles The following is the response from the above GET request and the actual response will depend upon the information given by you: <DirectoryHandlerStreamFiles> <DirectoryHandlerStreamFile> <DirectoryHandlerObjectId>3a0043ab-933b-45f6-852d-e0a261554da2</DirectoryHandlerObjectId> <LanguageCode>1033</LanguageCode> <StreamFile>5a0c7347-4064-4e94-a9c8-b12426d38f8a.wav</StreamFile> </DirectoryHandlerStreamFile> </DirectoryHandlerStreamFiles> Response Code: 200 JSON Example To list directory handler greeting, do the following: Request URI: GET https://<connection- server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 546 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Listing Directory Handler Greeting

Page 579#

chunk 545

{ "DirectoryHandlerStreamFile": { "DirectoryHandlerObjectId": "06628a5c-b755-466d-9e39-66e1956c2242", "LanguageCode": "1033", "StreamFile": "050590b8-fb8f-4e8d-ab17-4e29eab7d412.wav" } } Response Code: 200 Viewing Custom Recording for a Particular Language The following is an example of the GET request that list the custom recording for a particular language from a directory handler: GET https://<connection- server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles /1033 Playing an Existing Greeting The following is an example that will play an existing greeting in the browser: https://<connection- server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles /1033/audio Add or Update Greeting by Uploading File from the Desktop It is a 3 step process Step 1: A place-holder for the WAV file must be created with a POST. This is a temporary file place-holder that can be used for up to 30 minutes. If it is not assigned to a resource within 30 minutes, the file is assumed to be abandoned and is automatically cleaned. POST https://<connection-server>/vmrest/voicefiles Response Code: 201 The content is the name of the newly created temporary .wav file. JSON Example To create a place-holder for the WAV file, do the following: Request URI: POST https://<connection-server>/vmrest/voicefiles Accept: application/json Content-Type: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 547 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Viewing Custom Recording for a Particular Language

Page 580#

chunk 546

Response Code: 201 Sample Response: 6d9f3b85-c1df-4af8-89f3-6a975ebfb24c.wav Step 2: Use the temporary file name to PUT the new audio data. The HTTP content type is "audio/wav" and the payload content is the audio data. NOTE:*Rename the .wav file which is to be uploaded as the greeting to the temporary file name generated as part of the response from step1. For eg : If the file on desktop has name "greeting.wav" and the temporary file name is 6d9f3b85-c1df-4af8-89f3-6a975ebfb24c.wav(got as part of the response of step1), then the file should be renamed to 6d9f3b85-c1df-4af8-89f3-6a975ebfb24c.wav before step 2 is performed. • The length of the greeting can be set under the System Settings > General Configuration settings. Here you can enter the maximum length for system call handler greetings. The range is 1 to 1,200 seconds. Default setting: 90 seconds. PUT /vmrest/voicefiles/<temporary file name>< /pre> Response Code: 204 The content gets accepted and copied into the temporary file. JSON Example To use the temporary file name, do the following: Request URI: PUT https://<connection server>/vmrest/voicefiles/<temporary file name> Content-Type: audio/wav Connection: keep-alive Response Code: 204 Step 3: Set the Greeting field of the target resource. Both POST/ PUT can be used for adding a greeting. The PUT request should be used for updating the greeting with a new stream file. POST https://<connection- server>/vmrest/handlers/directoryhandlers/<directoryhandlerObjectId>/directoryhandlerstreamfiles /1033 Request Body: <DirectoryHandlerStreamFile> <StreamFile>7acbfec8-25a3-4b02-bd23-2b61acc175c9.wav</StreamFile> </DirectoryHandlerStreamFile > Response Code: 201 JSON Example To set the greeting field of the target resource, do the following: Request URI: POST https://<connection-server>/vmrest/handlers/directoryhandlers/<directoryhandlerObjectId>/directoryhandlerstreamfiles/1033 Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "StreamFile":"050590b8-fb8f-4e8d-ab17-4e29eab7d412.wav" } Cisco Unity Connection Provisioning Interface (CUPI) API 548 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Add or Update Greeting by Uploading File from the Desktop

Page 581#

chunk 547

The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Use the following URL in a browser to play the stream file: https://<connection-server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/1033/audio Add/Update Greeting Recording Used in Telephony Interface It is a three step process to record a new file then modify the current stream with this new stream. Step 1: Call Connection In the first step integration between Unity Connection and Call Manager must be setup so that a call can be setup. Refer to the document at the below link to check how to make the call. http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Telephony_Interface_(CUTI)API--Using_CUTI_for_Basic_Call_Operations In the first step integration between Unity Connection and Call Manager must be setup so that a call can be setup. Refer to the document at the below link to check how to make the call. Step 2: Recording Once the phone is answered, the second step is to record the greeting. Refer to the document below to check how to record a greeting. http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Telephony_Interface(CUTI)API--_Using_CUTI_for_Basic_Call_Operations Step 3: Upload Greeting The response for the step 2 is a Call Control object xml. That xml is to be passed in as the request body for this request. PUT https://<Connection Server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/1033/audio Request Body: <CallControl> <op>RECORD</op> <resourceType>STREAM</resourceType> <resourceId>67ed783c-203f-454b-a0e6-57b77820c831.wav</resourceId> <lastResult>0</lastResult> <speed>100</speed> <volume>100</volume> <startPosition>0</startPosition> </CallControl> Response Code: 204 JSON Example To upload greeting, do the following: PUT https://<connection-server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/1033/audio Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "op":"RECORD", "resourceType":"STREAM", "resourceId":"67ed783c-203f-454b-a0e6-57b77820c831.wav", "lastResult":"0", "speed":"100", "volume":"100", "startPosition":"0" } Cisco Unity Connection Provisioning Interface (CUPI) API 549 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Add/Update Greeting Recording Used in Telephony Interface

Page 582#

chunk 548

The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Use the following URL in browser to play the stream file: Use the following URL in browser to play the stream file: https://<connection- server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/10 33/audio Update the Greeting using the Input Stream The Directory Handler greeting can also be updated using the Input Stream. An input stream can be created from the wav file and passed as the request body. The URL for this should be : <connection- server>/vmrest/handlers/directoryhandlers/<DirectoryHandlerObjectId>/directoryhandlerstreamfiles/10 33/audio Update the Greeting using the Input Stream The Directory Handler greeting can also be updated using the Input Stream. An input stream can be created from the wav file and passed as the request body. The URL for this should be : RequestURI : https://<connectionserver>/vmrest/handlers/directoryhandlers/<directoryhandlerobjectid>/directoryhan dlerstreamfiles/1033/audio. The request body should be like this: put.setRequestBody(new FileInputStream(file3)); Here put is the PUT request created, file3 is the wav file which user want to upload. Also the content type for the request should be passed as "audio/wav". Following URL can be used to listen to the greeting associated with the directory handler. Paste the URL in the browser and listen to the uploaded greeting: https://<connectionserver>/vmrest/handlers/directoryhandlers/<directoryhandlerobjectid>/directoryhan dlerstreamfiles/1033/audio Explanation of Data Fields Comments Data Type Operations Parameter Object ID of the custom recording. String (36) Read Only DirectoryHandlerObjectId Specifies the enumeration type. Integer Read/Write LanguageCode Contains the .wav file that has been sent. String (40) Read/Write StreamFile To fetch the languages installed on a Unity Connection server, use the following URL: Note GET https://<connection-server>/vmrest/installedlanguages For more information on the Language Map API, please refer to the following document: http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Provisioning_Interface_%28CUPI%29_API_--_Language_Map Cisco Unity Connection Provisioning Interface (CUPI) API 550 Cisco Unity Connection Provisioning Interface (CUPI) API--Directory Handler APIs Explanation of Data Fields

Page 583#

chunk 549

C H A P T E R 40 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs • Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler APIs, on page 551 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler Questions APIs, on page 561 Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler APIs Interview Handler APIs Interview Handler APIs Interview Handler Questions APIs Listing the Interview Handlers The following is an example of the GET request that fetch the list of interview handlers: GET https://<connection-server>/vmrest/handlers/interviewhandlers The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 551

Image 1 from page 583

Page 584#

chunk 550

<InterviewHandlers total="1"> <InterviewHandler> <URI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041-1cfac4ae0226</URI> <CreationTime>2013-01-10T12:02:20Z</CreationTime> <Language>1033</Language> <DisplayName>Texoma_IH2</DisplayName> <Undeletable>false</Undeletable> <VoiceName>7b904f83-2b9c-4283-a22e-6e28028b2750.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/ccb35746-d253-42ed-b481- 4d906ae2e882</VoiceFileURI> <VoiceNameURI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041- 1cfac4ae0226/voicename</VoiceNameURI> <LocationObjectId>312f6d60-f9e8-447a-b7d9-a25040fa0ca2</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/312f6d60-f9e8-447a-b7d9- a25040fa0ca2</LocationURI> <SendUrgentMsg>0</SendUrgentMsg> <ObjectId>9153ef65-c38a-4588-b041-1cfac4ae0226</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <RecipientDistributionListObjectId>80b13e8d-1dbe-4389-ba97- 91aaa10512fe</RecipientDistributionListObjectId> <RecipientDistributionListURI>/vmrest/distributionlists/80b13e8d-1dbe-4389-ba97- 91aaa10512fe</RecipientDistributionListURI> <AfterMessageAction>1</AfterMessageAction> <UseCallLanguage>true</UseCallLanguage> <UseDefaultLanguage>true</UseDefaultLanguage> <DispatchDelivery>false</DispatchDelivery> <PartitionObjectId>d3c659f3-27f7-43c8-bb25-778cec9fba21</PartitionObjectId> <PartitionURI>/vmrest/partitions/d3c659f3-27f7-43c8-bb25- 778cec9fba21</PartitionURI> <InterviewQuestionsURI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041-1cfac4ae0226/interviewquestions</InterviewQuestionsURI> </InterviewHandler> </InterviewHandlers> Response Code: 200 JSON Example To view the list of interview handlers, do the following: Request URI: GET https://<connection-server>/vmrest/handlers/interviewhandlers Accept: application/json Connection: Keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 552 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Listing the Interview Handlers

Page 585#

chunk 551

{ "@total": "1", "InterviewHandler":[ { "URI": "/vmrest/handlers/interviewhandlers/f1d0640b-f268-4725-87bb-e1762314fee6", "CreationTime": "2013-02-13T10:10:43Z", "Language": "1033", "DisplayName": "Taxoma_Interviewer_1", "Undeletable": "false", "LocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1", "LocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-4f7e-b5fc- 8346df0ffee1", "SendUrgentMsg": "0", "ObjectId": "f1d0640b-f268-4725-87bb-e1762314fee6", "TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438", "RecipientSubscriberObjectId": "47749981-5ceb-4674-a6b7-0b0afde4bfcc", "RecipientUserURI": "/vmrest/users/47749981-5ceb-4674-a6b7-0b0afde4bfcc", "AfterMessageAction": "4", "UseCallLanguage": "true", "UseDefaultLanguage": "true", "DispatchDelivery": "false", "PartitionObjectId": "30438c03-e8de-4584-bb5b-0dae05faf0af", "PartitionURI": "/vmrest/partitions/30438c03-e8de-4584-bb5b-0dae05faf0af", "InterviewQuestionsURI": "/vmrest/handlers/interviewhandlers/f1d0640b-f268-4725- 87bb-e1762314fee6/interviewquestions" }, ] } Response Code: 200 Listing Specific Tenant Related Interview Handlers by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related interview handlers using the following URI: GET https://<connection-server>/vmrest/handlers/interviewhandlers?query=(TenantObjectId is <Tenant-ObjectId>) To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Viewing the Details of Specific Interview Handler The following is an example of the GET request that lists the details of interview handler represented by the provided value of interview handler ID: GET https://< connection-server>/vmrest/handlers/interviewhandlers/<InterviewHandlerObject-Id> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 553 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Listing Specific Tenant Related Interview Handlers by System Administrator

Page 586#

chunk 552

<InterviewHandler> <URI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041-1cfac4ae0226</URI> <CreationTime>2013-01-10T12:02:20Z</CreationTime> <Language>1033</Language> <DisplayName>Texoma_IH2</DisplayName> <Undeletable>false</Undeletable> <VoiceName>7b904f83-2b9c-4283-a22e-6e28028b2750.wav</VoiceName> <VoiceFileURI>/vmrest/voicefiles/ccb35746-d253-42ed-b481-4d906ae2e882</VoiceFileURI> <VoiceNameURI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041- 1cfac4ae0226/voicename</VoiceNameURI> <LocationObjectId>312f6d60-f9e8-447a-b7d9-a25040fa0ca2</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/312f6d60-f9e8-447a-b7d9- a25040fa0ca2</LocationURI> <SendUrgentMsg>0</SendUrgentMsg> <ObjectId>9153ef65-c38a-4588-b041-1cfac4ae0226</ObjectId> <RecipientDistributionListObjectId>80b13e8d-1dbe-4389-ba97- 91aaa10512fe</RecipientDistributionListObjectId> <RecipientDistributionListURI>/vmrest/distributionlists/80b13e8d-1dbe-4389-ba97- 91aaa10512fe</RecipientDistributionListURI> <AfterMessageAction>1</AfterMessageAction> <UseCallLanguage>true</UseCallLanguage> <UseDefaultLanguage>true</UseDefaultLanguage> <DispatchDelivery>false</DispatchDelivery> <PartitionObjectId>d3c659f3-27f7-43c8-bb25-778cec9fba21</PartitionObjectId> <PartitionURI>/vmrest/partitions/d3c659f3-27f7-43c8-bb25-778cec9fba21</PartitionURI> <InterviewQuestionsURI>/vmrest/handlers/interviewhandlers/9153ef65-c38a-4588-b041- 1cfac4ae0226/interviewquestions</InterviewQuestionsURI> </InterviewHandler> Response Code: 200 JSON Example To view the list of interview handlers, do the following: Request URI: GET https://< connection-server>/vmrest/handlers/interviewhandlers/<InterviewHandlerObject-Id> Accept: application/json Connection: Keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 554 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Viewing the Details of Specific Interview Handler

Page 587#

chunk 553

{ "URI": "/vmrest/handlers/interviewhandlers/f1d0640b-f268-4725-87bb-e1762314fee6", "CreationTime": "2013-02-13T10:10:43Z", "Language": "1033", "DisplayName": "Texoma_IH2", "Undeletable": "false", "LocationObjectId": "df46033e-0058-4f7e-b5fc-8346df0ffee1", "LocationURI": "/vmrest/locations/connectionlocations/df46033e-0058-4f7e-b5fc- 8346df0ffee1", "SendUrgentMsg": "0", "ObjectId": "f1d0640b-f268-4725-87bb-e1762314fee6", "RecipientSubscriberObjectId": "47749981-5ceb-4674-a6b7-0b0afde4bfcc", "RecipientUserURI": "/vmrest/users/47749981-5ceb-4674-a6b7-0b0afde4bfcc", "AfterMessageAction": "4", "UseCallLanguage": "true", "UseDefaultLanguage": "true", "DispatchDelivery": "false", "PartitionObjectId": "30438c03-e8de-4584-bb5b-0dae05faf0af", "PartitionURI": "/vmrest/partitions/30438c03-e8de-4584-bb5b-0dae05faf0af", "InterviewQuestionsURI": "/vmrest/handlers/interviewhandlers/f1d0640b-f268-4725-87bb- e1762314fee6/interviewquestions" } Response Code: 200 <pre> === Creating a New Interview Handler === The following is an example of the POST request that creates a new interview handler: <pre> POST https://<connection-server>/vmrest/handlers/interviewhandlers Request Body: <InterviewHandler> <DisplayName>Texoma_IH2</DisplayName> <RecipientDistributionListObjectId>80b13e8d-1dbe-4389-ba97- 91aaa10512fe</RecipientDistributionListObjectId> </InterviewHandler> Response Code: 200 <pre> '''JSON Example''' To create a new interview handler: <pre> POST https://<connection-server>/vmrest/handlers/interviewhandlers Accept: application/json Content-Type: application/json Connection: Keep-alive { "DisplayName": "Taxoma_Interviewer", "RecipientDistributionListObjectId": "c596c45c-00a3-4714-a359-4ac45da38232" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Cisco Unity Connection Provisioning Interface (CUPI) API 555 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Viewing the Details of Specific Interview Handler

Page 588#

chunk 554

Delete the Interview Handler This request can be used to delete an interview handler specified by an object ID. DELETE: https://<connection-server>/vmrest/ handlers/interviewhandlers/<interviewhandler-objectid> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To delete interview handler, do the following: Request URI: DELETE https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid> Accept: application/json Connection: Keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Updating the Interview Handler Example 1: Modify the Interview Handler The following is an example of the PUT request that can be used to modify the interview handler. PUT https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid> Request Body: <InterviewHandler> <UseCallLanguage>true</UseCallLanguage> <UseDefaultLanguage>false</UseDefaultLanguage> <Language>1033</Language> </InterviewHandler> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 The Inherit Language field from the call is selected and the UseDefaultLanguage field will get updated in the database as the Language field is specified. Note JSON Example To update the interview handler, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 556 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Delete the Interview Handler

Image 1 from page 588

Page 589#

chunk 555

Request URI: PUT https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid> Accept: application/json Content-Type: application/json Connection: Keep-alive Request Body: { "Language": "1033", "UseCallLanguage": "true", "UseDefaultLanguage": "false" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Recipient is switched from user with mailbox to Distribution List Request Body: <InterviewHandler> <RecipientDistributionListObjectId>68d149ff-59f6-4394-8103- f3c2bf75d8bb</RecipientDistributionListObjectId> </InterviewHandler> Response Code: 204 RecipientSubscriberObjectId and RecipientUserURI fields are replaced with RecipientDistributionListObjectId and RecipientDistributionListURI The table given below lists the possible values of the After Interview Action: AfterMessageTargetHandlerObjectId AfterMessageTargetConversation AfterMessageAction AfterInterviewAction NA NA 1-8 CallAction (Refer to the table given below) <object-id> of call handler having IsPrimary parameter as true. URI to get object id of call handlers: htps:/<connection-server>/vmrest/handlers/calhandlers?query=(IsPrimary%20is%201) PHTransfer/PHGreeting 2 CallHandler <object-id> of interview handler. URI to get object id of Interview handlers: https://<connection-server>/vmrest/handlers/interviewhandlers. PHInterview 2 Interview Handler <object-id> of directory handler. URI to get object id of directory handlers: https://<connection-server>/vmrest/handlers/directoryhandlers AD 2 Directory Handler NA BroadcastMessageAdministrator • SystemTransfer • GreetingsAdministrator • SubSignIn • SubSysTransfer 2 Conversation Cisco Unity Connection Provisioning Interface (CUPI) API 557 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Updating the Interview Handler

Page 590#

chunk 556

AfterMessageTargetHandlerObjectId AfterMessageTargetConversation AfterMessageAction AfterInterviewAction <object-id> which can be captured from /vmrest/users. PHTransfer/PHGreeting 2 User with Mailbox Description Call Action Value Name Ignore - no action taken. 0 Ignore Hangup - the call is immediately terminated. 1 Hangup Goto - go to an object such as a call handler, directory handler or interview handler. 2 Goto Error - play the error greeting. 3 Error Take a message. 4 TakeMsg Skip greeting. 5 SkipGreeting RestartGreeting - restart greeting on current handler 6 RestartGreeting Transfer to Alternate Contact Number 7 TransferAltContact Route From Next Call Routing Rule 8 RouteFromNextRule Explanation of Data Fields Comments Data Type Operations Parameter Interview Handler URI String Read Only URI Stores the time of creation of Interview Handler Datetime Read Only Creation Time Stores code for language where valid values range from 1024 to 58378 and 0 is not allowed. All possible language code values can be fetched using https://<connection-server>/vmrest/languagemap Integer Read/Write Language Name of an interview handler String (64) Read/Write DisplayName Cisco Unity Connection Provisioning Interface (CUPI) API 558 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Explanation of Data Fields

Page 591#

chunk 557

Comments Data Type Operations Parameter A flag indicating whether this handler can be deleted via an administrative application such as Cisco Unity Connection Administration. It is used to prevent the deletion of factory defaults such as the "Opening Greeting" call handler. Possible values: • false: The handler can be deleted by an administrator (with the required privilege) via an administrative application such as Cisco Unity Connection Administration or Cisco Unity Connection Bulk Administration Manager. • true: The handler cannot be deleted by an administrator via Cisco Unity Connection Administration or Cisco Unity Connection Bulk Administration Manager. Boolean Read/Write Undeletable The name of the .wav file containing the recorded audio of the name of an interview handler. String (40) Read/Write VoiceName Specifies the URI of voice file. String Read Only VoiceFileURI Specifies the URI of voice name. String Read Only VoiceNameURI The unique identifier of the Location object to which this handler belongs. String (36) Read Only LocationObjectID Specifies the URI of locations String Read Only LocationURI A flag indicating whether an unidentified caller is given a choice to mark a message as Urgent or Normal, or if not given the choice, whether the message is always marked Normal (default value) or Urgent. Possible values :- • 2 Ask - Cisco Unity Connection asks unidentified callers whether to mark their interview messages normal or urgent. • 0 Normal - interview messages left by unidentified calls are always marked normal. • 1 Urgent - all interview messages left by unidentified calls are always marked urgent. Integer Read/Write SendUrgentMsg Object ID of interview handler. String (36) Read Only ObjectId The unique identifier of the tenant to which the interview handler belongs. This field is reflected in the response only if the interview handler belongs to a particular tenant. String (36) Read Only TenantObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 559 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Explanation of Data Fields

Page 592#

chunk 558

Comments Data Type Operations Parameter Object ID of distribution list if the recipient of interview handler is set to distribution list. String (36) Read/Write RecipientDistributionListObjectId URI of the distribution list. String Read Only RecipientDistributionListURI Object ID of the subscriber if the recipient of interview handler is set to a user. String (36) Read/Write RecipientSubscriberObjectId URI of the subscriber. String Read/Write RecipientSubscriberURI Possible types of call action to take, e.g., hang-up, go to another object, etc. • 0 Ignore - no action taken. • 1 Hangup - the call is immediately terminated. • 2 Goto - go to an object such as a call handler, directory handler or interview handler. • 3 Error - play the error greeting. • 4 Take a message. • 5 Skip greeting. • 6 RestartGreeting • 7 Transfer to Alternate Contact Number • 8 Route From Next Call Routing Rule Default value: 4 Integer Read/Write AfterMessageAction The name of the conversation used to set up, send, and retrieve messages. String (64) Read/Write AfterMessageTargetConversation Specifies the URI of the target specified. String (36) Read/Write AfterMessageTargetHandlerObjectId A flag indicating whether Cisco Unity Connection will use the language assigned to the call. Possible values: • true: Use the language specified by the system call routing rule to play prompts for users. • false: Do not use the language specified by the system call routing rule to play prompts for users. Default value: true Boolean Read/Write UseCallLanguage A flag that is dependent on the value of Language Field. If Language is set to Null, UseDefaultLanguage is set to true(1). If any language is specified, UseDefaultLanguage is set to false(0). Default value: true. Boolean Read/Write UseDefaultLanguage Cisco Unity Connection Provisioning Interface (CUPI) API 560 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Explanation of Data Fields

Page 593#

chunk 559

Comments Data Type Operations Parameter A flag indicating that all messages left for the interview handler is for dispatch delivery. Possible values:- • true: Messages left for interview handler is for dispatch delivery. • false: Messages left for interview handler is not for dispatch delivery Default value: false Boolean Read/Write DispatchDelivery The unique identifier of the Partition to which the InterviewHandler is assigned. String (36) Read/Write PartitionObjectId Specifies the partition URI. String Read Only PartitionURI Specifies the URI of interview questions of an interview handler String Read Only InterviewQuestionsURI Specifies an extension number where minimum length can be 1 and maximum length can be 40. Integer Read/Write DtmfAccessId Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler Questions APIs Interview Handler Questions APIs Administrator can use this API to fetch/update the interview questions of a particular interview handler. You can update various attributes of interview handler questions as well using this API. Listing the Interview Handler Questions The following is an example of the GET request that fetch the list of interview handler questions: GET https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler- objectid>/interviewquestions The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 561 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Cisco Unity Connection Provisioning Interface (CUPI) API -- Interview Handler Questions APIs

Page 594#

chunk 560

<InterviewQuestions total="1"> <InterviewQuestion> <InterviewHandlerObjectId>9fa58ed4-af0b-4de5-977c- 8c080b0727c1</InterviewHandlerObjectId> <InterviewHandlerURI>/vmrest/handlers/interviewhandlers/9fa58ed4-af0b-4de5-977c- 8c080b0727c1</InterviewHandlerURI> <QuestionNumber>1</QuestionNumber> <MaxMsgLength>30</MaxMsgLength> <StreamText>1</StreamText> <IsActive>true</IsActive> </InterviewQuestion> </InterviewQuestions> Response Code: 200 JSON Example To update the interview handler, do the following: Request URI: GET https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid>/interviewquestions Accept: application/json Connection: Keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { },{ "@total": "2", "InterviewQuestion": [ { "InterviewHandlerObjectId": "99800fcc-e8df-42d3-ac3f-5117483b293e", "InterviewHandlerURI": "/vmrest/handlers/interviewhandlers/99800fcc-e8df-42d3-ac3f- 5117483b293e", "QuestionNumber": "1", "MaxMsgLength": "30", "StreamText": "1", "IsActive": "true" }, { "InterviewHandlerObjectId": "99800fcc-e8df-42d3-ac3f-5117483b293e", "InterviewHandlerURI": "/vmrest/handlers/interviewhandlers/99800fcc-e8df-42d3-ac3f- 5117483b293e", "QuestionNumber": "2", "MaxMsgLength": "30", "StreamText": "2", "IsActive": "true" } ] } Response Code: 200 Viewing the Specific Interview Handler Question The following is an example of the GET request that lists the details of interview handler question represented by the provided value of interview handler ID: Cisco Unity Connection Provisioning Interface (CUPI) API 562 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Viewing the Specific Interview Handler Question

Page 595#

chunk 561

GET https://< connection-server>/vmrest/handlers/interviewhandlers/<Interviewhandler- objectid>/interviewquestions/<questionnumber> The following is the response from the above GET request and the actual response will depend upon the information given by you: <InterviewQuestion> <InterviewHandlerObjectId>9fa58ed4-af0b-4de5-977c- 8c080b0727c1</InterviewHandlerObjectId> <InterviewHandlerURI>/vmrest/handlers/interviewhandlers/9fa58ed4-af0b-4de5-977c- 8c080b0727c1</InterviewHandlerURI> <QuestionNumber>2</QuestionNumber> <MaxMsgLength>30</MaxMsgLength> <StreamText>2</StreamText> <IsActive>true</IsActive> </InterviewQuestion> Response Code: 200 Updating the Interview Handler Questions The following is an example of the PUT request that can be used to modify an interview handler questions. PUT https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid>/interviewquestions/<questionnumber> Request Body: <InterviewQuestion> <IsActive>false</IsActive> </InterviewQuestion> Response Code: 204 JSON Example To update the interview handler, do the following: Request URI: PUT https://<connection-server>/vmrest/handlers/interviewhandlers/<interviewhandler-objectid>/interviewquestions/<questionnumber> Accept: application/json Content-Type: application/json Connection: Keep-alive Request Body: { "IsActive": "false" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 563 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Updating the Interview Handler Questions

Page 596#

chunk 562

Explanation of Data Fields Comments Data Type Operations Parameter Object id of the parent interview handler. String Read Only InterviewHandlerObjectId URI of the parent interview handler. String Read Only InterviewHandlerURI Specifies the question number.Questions are numbered from 1 to 20. Integer Read Only QuestionNumber The maximum recording length (in seconds) allowed for caller responses to the question. Value can range from 1 to 1200. Default value: 30 seconds Integer Read/Write MaxMsgLength Specifies the question text. Defaults to the index "1", "2", etc. String Read/Write StreamText Specifies whether question is active or not Possible values: • true: activate question • false: Inactivate question Default Value: true Boolean Read/Write IsActive Specifies the name of the .wav file. NA Read/Write VoiceFile Update the Interview question using the Input Stream The Interview question can also be updated using the Input Stream. An input stream can be created from the wav file and passed as the request body. The URL for this should be : PUT https://<connectionserver>/vmrest/handlers/interviewhandlers/<interviewhandlerobjectid>/interviewquestions/ <QuestionNumber>/audio. The request body will contain an attachment with media type audio/wav. Attachment can be uploaded via application to upload the wave file over HTTPS. Also add the header "content-type" for the request which value will be passed as "audio/wav". Following URL can be used to listen/get to the question associated with the interview handler: Paste the URL in the browser and listen to the uploaded question. https://<connectionserver>/vmrest/handlers/interviewhandlers/<interviewhandlerobjectid>/interviewquestions/<QuestionNumber>/audio. Cisco Unity Connection Provisioning Interface (CUPI) API 564 Cisco Unity Connection Provisioning Interface (CUPI) API--Interview Handler APIs Explanation of Data Fields

Page 597#

chunk 563

C H A P T E R 41 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing • Cisco Unity Connection Provisioning Interface (CUPI) API-- Routing Rules, on page 565 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Routing Rule Conditions, on page 580 Cisco Unity Connection Provisioning Interface (CUPI) API-- Routing Rules About Routing Rules and Routing Rule Conditions This page contains information on how to use the API to create, list, update, and delete Routing Rules and their support objects, Routing Rule Conditions. Please note that the syntax for Routing Rules and Routing Rule Conditions is relatively complicated. Retrieving existing rules and conditions is not too difficult, but creating and modifying them via CUPI should only be done with great care. If the Routing Rules or Routing Rule Conditions are misconfigured, they might not display correctly in Cisco Unity Connection Administration (CUCA), and calls into Cisco Unity Connection might not get answered or might route to the wrong Conversation. Routing Rules and Routing Rule Conditions both include some fields that are enumeration types (meaning numeric constants), which makes understanding these fields more complicated. Some examples can be found near the end of this document. Each Routing Rule has a Type (Direct, Forwarded, or Both) and a RuleIndex (starting at index 0 and increasing by 1 for each additional rule). When Cisco Unity Connection answers a call of the specified type, it attempts to match the Routing Rules in order starting at RuleIndex 0 and continuing with each successive index until a rule matches. The factory default rules (which are built in and cannot be deleted) should match any call that doesn't match a custom rule. An individual Routing Rule also specifies the destination for the call in the event the rule matches, such as a user, call handler, interview handler, directory handler, or conversation. In addition, each Routing Rule can have 0 or more Routing Rule Conditions, and a call must match all of these conditions before it is considered a match. If a Routing Rule does not have any Routing Rule Conditions, then all calls match it. The default Routing Rule, which transfers to the Opening Greeting, does not have any Routing Rule Conditions and is usually at the highest RuleIndex, so if a call does not match any other Routing Rules it ends up at the Opening Greeting. An individual Routing Rule Condition can specify any of the following conditions: call information such as Calling Number, Called Number, or Redirecting Number (Forwarded Routing Rules only); port or phone system; or schedule. Cisco Unity Connection Provisioning Interface (CUPI) API 565

Page 598#

chunk 564

Routing Rules Listing and Viewing The following is an example of a GET that lists all Routing Rules: GET https://<connection-server>/vmrest/routingrules The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 566 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Routing Rules

Page 599#

chunk 565

200 OK <?xml version="1.0" encoding="UTF-8"?> <RoutingRules total="3"> <RoutingRule> <URI>/vmrest/routingrules/a2f64719-c82f-491c-996f-ee543e6d7e38</URI> <ObjectId>a2f64719-c82f-491c-996f-ee543e6d7e38</ObjectId> <DisplayName>Opening Greeting</DisplayName> <State>0</State> <RuleIndex>2</RuleIndex> <Type>3</Type> <Flags>3</Flags> <RouteTargetConversation>PHTransfer</RouteTargetConversation> <RouteTargetHandlerObjectId>198ff222-1129-486c-9bef-c05057dae950</RouteTargetHandlerObjectId> Cisco_Unity_Connection_Provisioning_Interface_(CUPI)API--_Routing_Rules About Routing Rules and Routing Rule Conditions 2 <RouteTargetHandlerDisplayName>Opening Greeting</RouteTargetHandlerDisplayName> <RouteTargetHandlerObjectType>3</RouteTargetHandlerObjectType> <RouteAction>2</RouteAction> <LanguageCode>0</LanguageCode> <UseDefaultLanguage>true</UseDefaultLanguage> <UseCallLanguage>true</UseCallLanguage> <CallType>2</CallType> <SearchSpaceObjectId>02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceObjectId> <SearchSpaceURI>/vmrest/searchspaces/02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceURI> <Undeletable>true</Undeletable> <RoutingRuleConditionsURI>/vmrest/routingrules/a2f64719-c82f-491c-996f-ee543e6d7e38/routingruleconditions</</RoutingRule> <RoutingRule> <URI>/vmrest/routingrules/857c5cd6-0153-4673-a917-27c59bf5ce37</URI> <ObjectId>857c5cd6-0153-4673-a917-27c59bf5ce37</ObjectId> <DisplayName>Attempt Sign In</DisplayName> <State>0</State> <RuleIndex>1</RuleIndex> <Type>1</Type> <Flags>3</Flags> <RouteTargetConversation>AttemptSignIn</RouteTargetConversation> <RouteTargetHandlerObjectType>0</RouteTargetHandlerObjectType> <RouteAction>2</RouteAction> <LanguageCode>0</LanguageCode> <UseDefaultLanguage>true</UseDefaultLanguage> <UseCallLanguage>true</UseCallLanguage> <CallType>2</CallType> <SearchSpaceObjectId>02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceObjectId> <SearchSpaceURI>/vmrest/searchspaces/02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceURI> <Undeletable>true</Undeletable> <RoutingRuleConditionsURI>/vmrest/routingrules/857c5cd6-0153-4673-a917-27c59bf5ce37/routingruleconditions</</RoutingRule> <RoutingRule> <URI>/vmrest/routingrules/8b7ea5be-48c5-4e7b-bc9d-c06f052074a4</URI> <ObjectId>8b7ea5be-48c5-4e7b-bc9d-c06f052074a4</ObjectId> <DisplayName>Attempt Forward</DisplayName> <State>0</State> <RuleIndex>0</RuleIndex> <Type>2</Type> <Flags>3</Flags> <RouteTargetConversation>AttemptForward</RouteTargetConversation> <RouteTargetHandlerObjectType>0</RouteTargetHandlerObjectType> <RouteAction>2</RouteAction> <LanguageCode>0</LanguageCode> <UseDefaultLanguage>true</UseDefaultLanguage> <UseCallLanguage>true</UseCallLanguage> <CallType>2</CallType> <SearchSpaceObjectId>02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceObjectId> <SearchSpaceURI>/vmrest/searchspaces/02cb3fba-1525-4768-89f6-64f4712ea177</SearchSpaceURI> <Undeletable>true</Undeletable> Cisco Unity Connection Provisioning Interface (CUPI) API 567 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Listing and Viewing

Page 600#

chunk 566

<RoutingRuleConditionsURI>/vmrest/routingrules/8b7ea5be-48c5-4e7b-bc9d-c06f052074a4/routingruleconditions</</RoutingRule> </RoutingRules> To retrieve a sorted list of all Routing Rules, add the following query parameter to the GET: sort=(column[asc | desc]) For example, to retrieve a list of all Routing Rules sorted by RuleIndex in ascending order: GET https://<connection-server>/vmrest/routingrules?sort=(RuleIndex%20asc) To retrieve a specific Routing Rule by its ObjectId: GET https://<connection-server>/vmrest/routingrules/<objectid> JSON Example To list all the routing rules, use the following command: Request URI: GET https://<connection-server>/vmrest/routingrules Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "1", "RoutingRule": [ { "URI": "/vmrest/routingrules/6ba11848-3eb2-47b9-ab2b-b1464165a1bf", "ObjectId": "6ba11848-3eb2-47b9-ab2b-b1464165a1bf", "DisplayName": "Opening Greeting", "State": "1", "RuleIndex": "20", "Type": "3", "Flags": "3", "RouteTargetConversation": "PHTransfer", "RouteTargetHandlerObjectId": "e6fd6ae4-7bf5-4a46-b994-e9fd13d83c30", "RouteTargetHandlerDisplayName": "Opening Greeting", "RouteTargetHandlerObjectType": "3", "RouteAction": "2", "LanguageCode": "0", "UseDefaultLanguage": "true", "UseCallLanguage": "true", "CallType": "2", "SearchSpaceObjectId": "f8a97bde-8f75-4c84-b2e6-aa6e54cc26c2", "SearchSpaceURI": "/vmrest/searchspaces/f8a97bde-8f75-4c84-b2e6-aa6e54cc26c2", "Undeletable": "true", "RoutingRuleConditionsURI": "/vmrest/routingrules/6ba11848-3eb2-47b9-ab2bb1464165a1bf/routingruleconditions", "CallHandlerURI": "/vmrest/handlers/callhandlers", "DirectoryHandlerURI": "/vmrest/handlers/directoryhandlers", "InterviewHandlerURI": "/vmrest/handlers/interviewhandlers", "ConversationURI":"/vmrest/conversations?query=(CnvRoutingRuleForwardedCall%20is%201)", "SearchSpaceFetchURI": "/vmrest/searchspaces" }, ] } Cisco Unity Connection Provisioning Interface (CUPI) API 568 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Listing and Viewing

Page 601#

chunk 567

Response Code: 200 Searching To retrieve a list of Routing Rules that meet a specified search criteria, add the following query parameter to a GET: query=(column [is | startswith] value) For example, to find the Routing Rule at RuleIndex 1: GET https://<connection-server>/vmrest/routingules?query=(RuleIndex%20is%201) Creating The only required field for creating a Routing Rule is DisplayName. All other Routing Rule fields are optional. A Routing Rule that is created with default fields has Type=1 (Direct) and routes to the System Directory Handler. Some examples of other types of Routing Rules can be found at the end of this document. Note that RuleIndex cannot be specified when creating a new Routing Rule; all new Routing Rules are created at RuleIndex 0, and the RuleIndex of all other Routing Rules is incremented by 1 when the new Routing Rule is created. The following is an example of a POST that creates a Routing Rule with the name "My Routing Rule" of Type 1 (Direct): POST https://<connection-server>/vmrest/routingrules <RoutingRule> <DisplayName>My Routing Rule</DisplayName> <Type>1</Type> </RoutingRule> The following is the response from the above POST request: 201 Created /vmrest/routingrules/bd73528d-e810-4533-8aab-89de32013885 JSON Example To create new routing rule, do the following: Request URI: POST https://<connection-server>/vmrest/routingrules Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName": "Texoma Routing Rule", "Type": "1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 569 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Searching

Page 602#

chunk 568

Response Code: 201 Updating The following is an example of a PUT request that modifies the DisplayName of an existing Routing Rule: PUT https://<connection-server>/vmrest/routingrules/<objectid> <RoutingRule> <DisplayName>Changed Display Name</DisplayName> </RoutingRule> The following is the response from the above PUT request: 204 No Content Note that the RuleIndex of a Routing Rule cannot be modified with this method. Rather, the ordering of the entire Routing Rules collection can be modified, as described later in this document. JSON Example To update display name of routing rule, do the following: PUT https://<connection-server>/vmrest/routingrules/<routingrulesobjectId> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body { "DisplayName": "Texoma_1 Routing Rule" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Deleting The following is an example of a DELETE request that deletes a Routing Rule: DELETE https://<connection-server>/vmrest/routingrules/<objectid> The following is the response from the above DELETE request: 204 No Content JSON Example DELETE https://<connection-server>/vmrest/routingrules/<routingrulesobjectId> Accept: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 570 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Updating

Page 603#

chunk 569

Response Code: 204 Changing Routing Rule Indices As noted in previous sections, a Routing Rule's RuleIndex field cannot be modified when creating or updating a Routing Rule. Instead, you can change a Routing Rule's RuleIndex only in the context of ordering all of the Routing Rules in a collection. The following is an example of a PUT request that modifies the RuleIndices of a collection of Routing Rules: PUT https://<connection-server>/vmrest/routingrules <RoutingRules> <RoutingRule> <ObjectId>aabbccdd-1111-2222-3333-1234567890ab</ObjectId> </RoutingRule> <RoutingRule> <ObjectId>12345678-abcd-abcd-abcd-123412341234</ObjectId> </RoutingRule> <RoutingRule> <ObjectId>99990000-1234-1234-1234-abcdef012345</ObjectId> </RoutingRule> </RoutingRules> The following is a response from the above PUT request: 204 No Content After this PUT request is processed, the Routing Rule with ObjectId aabbccdd-1111-2222-3333-1234567890ab would have RuleIndex 0, the Routing Rule with ObjectId 12345678-abcd-abcd-abcd-123412341234 would have RuleIndex 1, and the Routing Rule with ObjectId 99990000-1234-1234-1234-abcdef012345 would have RuleIndex 2. JSON Example To update the order of routing rule, do the following: Request URI: PUT https://<connection-server>/vmrest/routingrules Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: Cisco Unity Connection Provisioning Interface (CUPI) API 571 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Changing Routing Rule Indices

Page 604#

chunk 570

{ "RoutingRule": [ { "ObjectId": "d083fa0b-76ec-4bec-add3-c54aae6033df" }, { "ObjectId": "983efa07-ccb2-4b61-a1e5-083e16ca7513" }, { "ObjectId": "bd8b8092-1c08-4d25-8d35-116d7a677bf4" }, { "ObjectId": "7ee01b59-a619-42f9-9311-5df0f27763ac" } ] } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Routing Rule Conditions Each Routing Rule can have a collection of Routing Rule Conditions. The Routing Rule Conditions that belong to a specified Routing Rule can be accessed at /vmrest/routingrules/<routingruleobjectid>/routingruleconditions. When first created, a Routing Rule does not have any Routing Rule Conditions, which means that every call matches it and is routed to its destination. Listing and Viewing The following is an example of a GET that lists all Routing Rule Conditions that belong to a specified Routing Rule: GET https://<connection-server>/vmrest/routingrules/<routingruleobjectid>/routingruleconditions The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 572 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Routing Rule Conditions

Page 605#

chunk 571

200 OK <?xml version="1.0" encoding="UTF-8"?> <RoutingRuleConditions total="2"> <RoutingRuleCondition> <URI>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/2a5263b7-<ObjectId>2a5263b7-c896-47ff-ad8c-749e0459a28c</ObjectId> <RoutingRuleObjectId>d2f86bc0-4cab-4c29-9321-d756fe3add6a</RoutingRuleObjectId> <RoutingRuleURI>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a</RoutingRuleURI> <Parameter>1</Parameter> <Operator>2</Operator> <OperandValue>12345</OperandValue> </RoutingRuleCondition> <RoutingRuleCondition> <URI>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/d9635722-<ObjectId>d9635722-f1ee-4459-a2d4-533f85cd2c24</ObjectId> <RoutingRuleObjectId>d2f86bc0-4cab-4c29-9321-d756fe3add6a</RoutingRuleObjectId> <RoutingRuleURI>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a</RoutingRuleURI> <Parameter>7</Parameter> <Operator>2</Operator> <OperandValue>4cc6c1be-e1ba-4fcf-be81-95bce20acbec</OperandValue> </RoutingRuleCondition> </RoutingRuleConditions> To retrieve a specific Routing Rule Condition by its ObjectId: GET https://<connection-server>/vmrest/routingrules/<routingruleobjectid>/routingruleconditions/<objectid> Creating The required fields for creating a Routing Rule Condition are Parameter, Operator, and OperandValue. All other Routing Rule Condition fields are optional. The following is an example of a POST that creates a Routing Rule Condition with Parameter=2 (Dialed Number), Operator=2 (Equals), and OperandValue=8675309: <RoutingRuleCondition> <Parameter>2</Parameter> <Operator>2</Operator> <OperandValue>8675309</OperandValue> </RoutingRuleCondition> The following is the response from the above POST request: 201 Created /vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/74b50eeb-8c06-4e86 Updating The following is an example of a PUT request that modifies the OperandValue of an existing Routing Rule Condition to 5551212: PUT https://<connection-server>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions <RoutingRuleCondition> <OperandValue>5551212</OperandValue> </RoutingRuleCondition> Cisco Unity Connection Provisioning Interface (CUPI) API 573 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Creating

Page 606#

chunk 572

The following is the response from the above PUT request: 204 No Content Deleting The following is an example of a DELETE request that deletes a Routing Rule Condition: DELETE https://<connection-server>/vmrest/routingrules/d2f86bc0-4cab-4c29-9321-d756fe3add6a/routingruleconditions/ The following is the response from the above DELETE request: 204 No Content Routing Rule Examples It can be relatively complicated to specify the destination for a Routing Rule. The fields RouteAction, RouteTargetConversation, and RouteTargetHandlerObjectId are used together to specify the destination. The fields RouteTargetHandler, DisplayName and RouteTargetHandlerObjectType should not be specified when creating or updating a Routing Rule; rather they are set automatically based on the other specified values. The following sections give some examples of how to specify different types of route destinations by using these fields. Note that all other fields in the Routing Rule objects have been omitted for brevity. This list of examples covers all of the Routing Rules that can be configured by using Cisco Unity Connection Administration (CUCA). Creating a different type of Routing Rule by using CUPI is likely to yield a Routing Rule that will not display properly in CUCA, and it also may not operate as expected when Connection tries to route a call. Transfer to a User or a Call Handler To transfer a caller to a user or a call handler, do the following PUT request: PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>PHTransfer</TargetConversation> <TargetHandlerObjectId>05d9e169-5c87-4415-aaed-c58a14816c8d</TargetHandlerObjectId> </MenuEntry> The Action field of 2 denotes that this key should transfer the caller to another conversation. This is used to transfer callers to other objects, or to send callers to other conversations such as the system transfer conversation. The TargetConversation should be set to PHTransfer if you want to transfer to the call handler in question. If you want to have the call go directly the call handler greeting, set it to PHGreeting instead. The TargetHandlerObjectId is the object ID of the call handler that you want the key to transfer the caller to. Go to a User or Call Handler's Greeting The following Routing Rule will go to (Action=2) the call handler aab5eab2-38f7-4231-a3be-bf2a8fde820c (which happens to be a user's primary call handler) by using the PHGreeting Conversation (meaning it will Cisco Unity Connection Provisioning Interface (CUPI) API 574 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Deleting

Page 607#

chunk 573

go directly to the call handler's greeting, bypassing transfer). If you want to go to a different call handler's greeting, set RouteTargetCallHandlerObjectId to it. <RoutingRule> <RouteAction>2</RouteAction> <RouteTargetConversation>PHGreeting</RouteTargetConversation> <RouteTargetHandlerObjectId>aab5eab2-38f7-4231-a3be-bf2a8fde820c</RouteTargetHandlerObjectId> </RoutingRule> Go to an Interview Handler PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>PHInterview</TargetConversation> <TargetHandlerObjectId>interview handler object id</TargetHandlerObjectId> </MenuEntry> The TargetConversation should be set to PHInterview and the TargetHandlerObjectId is the object ID of the interview handler that you want to the caller input key to go to. Go to a Directory Handler PUT https://<server>/vmrest/handlers/callhandlers/<callhandlerobjectid>/menuentries/<key> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <MenuEntry> <Action>2</Action> <TargetConversation>AD</TargetConversation> <TargetHandlerObjectId>object id of directory handler</TargetHandlerObjectId> </MenuEntry> The TargetConversation should be set to AD and the TargetHandlerObjectId is the object ID of the directory handler you want to the caller input key to go to. Go to a Specific Conversation The following Routing Rule will go to (Action=2) the BroadcastMessageAdministrator Conversation. Note that RouteTargetHandlerObjectId is ignored if the RouteTargetConversation is anything other than PHTransfer, PHGreeting, PHInterview, or AD. <RoutingRule> <RouteAction>2</RouteAction> <RouteTargetConversation>BroadcastMessageAdministrator</RouteTargetConversation> </RoutingRule> Routing Rule Condition Examples Routing Rule Conditions are not as complicated as Routing Rules, but care should still be taken when creating or modifying them. The fields Parameter, Operator, and OperandValue are used to specify the conditions. This list of examples covers all of the Routing Rule Conditions that can be configured by using Cisco Unity Connection Administration (CUCA). Creating a different type of Routing Rule Condition by using CUPI is likely to yield a Routing Rule Condition that will not display properly in CUCA, and it also may not operate as expected when Connection tries to match a call. Cisco Unity Connection Provisioning Interface (CUPI) API 575 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Go to an Interview Handler

Page 608#

chunk 574

Condition Based on a Phone Number The following Routing Rule Condition specifies a match of Calling Number (Parameter=1) Equals (Operator=2) 1234 (OperandValue). A Routing Rule Condition to match on Called Number would use Parameter=2, and a Routing Rule Condition to match on Forwarded Number (valid only on Forwarded Routing Rules) would use Parameter=3. Other Operators are allowed when matching Phone Numbers, such as In and Less Than. With the Equals Operator, the OperandValue can include the wildcards * and ?, and with the In Operator, the OperandValue can include comma-separated ranges of numbers like 2000-2199,3001-3199, 4001. <RoutingRuleCondition> <Parameter>1</Parameter> <Operator>2</Operator> <OperandValue>1234</OperandValue> </RoutingRuleCondition> Condition Based on a Port The following Routing Rule Condition specifies a match of a Port (Parameter=5) Equals (Operator=2) ObjectId b79765f1-e14f-47b6-b8e1-00479909f710 (OperandValue). Creating a Routing Rule Condition to match based on a Port has the side effect of setting MediaPortObjectId to the same value as OperandValue. When matching Ports, only the Equals Operator is allowed, and the OperandValue must be a single ObjectId. <RoutingRuleCondition> <Parameter>5</Parameter> <Operator>2</Operator> <OperandValue>b79765f1-e14f-47b6-b8e1-00479909f710</OperandValue> </RoutingRuleCondition> Condition Based on a Phone System The following Routing Rule Condition specifies a match of a Phone System (Parameter=9) Equals (Operator=2) ObjectId 2eb79e66-1e53-415c-9222-36665e0e76ae (OperandValue). Creating a Routing Rule Condition to match based on a Port has the side effect of setting MediaSwitchObjectId to the same value as OperandValue. When matching Phone Systems, only the Equals Operator is allowed, and the OperandValue must be a single ObjectId. <RoutingRuleCondition> <Parameter>9</Parameter> <Operator>2</Operator> <OperandValue>2eb79e66-1e53-415c-9222-36665e0e76ae</OperandValue> </RoutingRuleCondition> Condition Based on a Schedule Set The following Routing Rule Condition specifies a match of a Schedule Set (Parameter=7) Equals (Operator=2) ObjectId 4cc6c1be-e1ba-4fcf-be81-95bce20acbec (OperandValue). Note that you must specify the ObjectId of a Schedule Set, not a Schedule. When matching Schedule Sets, only the Equals Operator is allowed, and the OperandValue must be a single ObjectId. <RoutingRuleCondition> <Parameter>7</Parameter> <Operator>2</Operator> <OperandValue>4cc6c1be-e1ba-4fcf-be81-95bce20acbec</OperandValue> </RoutingRuleCondition> Cisco Unity Connection Provisioning Interface (CUPI) API 576 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Condition Based on a Phone Number

Page 611#

chunk 575

names. For some Conversations, it is required to specify a Route_TargetHandlerObjectId as well. Examples of how to use several of these Conversations can be found earlier in this document. TargetHandler Description Value Directory Handler Directory Conversation AD User or Call Handler Transfer to User or Call Handler PHTransfer User or Call Handler Play Greeting of User or Call Handler PHGreeting Interview Handler Interview Conversation PHInterview n/a Forwards the call to the User's Greeting if the Forwarding Number matches a User AttemptForward n/a Sends the call to a User's Sign-in if the Calling Number matches a User AttemptSignIn n/a Sends the call to a Conversation for Sending Broadcast Messages BroadcastMessageAdministrator n/a Sends the call to a Conversation allowing the caller to transfer to a number they specify (assuming the restriction table allows it) SystemTransfer n/a Sends the call to a Conversation for checked-out hotel guests CheckedOutGuest n/a Sends the call to a Conversation allowing changing greetings by phone GreetingsAdministrator n/a Connects to Visual Voicemail ReverseTrapConv n/a Sends the call to the Sign-In Conversation, which prompts the user to enter their ID SubSignIn n/a Sends the call to the Live-Record pilot number configured on CUCM ConvUtilsLiveRecord n/a Similar to SystemTransfer, but requires users sign-in first (so unknown callers cannot use it) SubSysTransfer Cisco Unity Connection Provisioning Interface (CUPI) API 579 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Routing Rule RouteTargetConversation

Page 612#

chunk 576

Cisco Unity Connection Provisioning Interface (CUPI) API -- Routing Rule Conditions Routing Rule Condition API Administrator can use this API to create/update/delete/fetch the routing rule condition. Various attributes of routing rule condition can also be updated using this API. Listing the Routing Rule Conditions JSON Example To list all the routing rule conditions use the following command: Request URI: GET https://<connection-server>/vmrest/routingrules/<routingrulesobjectId>/routingruleconditions Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "2", "RoutingRuleCondition": [ { "URI": "/vmrest/routingrules/bd8b8092-1c08-4d25-8d35-116d7a677bf4/routingruleconditions/06d1d4e2-45f7-4f9d-b083-ac19bfc9347f", "ObjectId": "06d1d4e2-45f7-4f9d-b083-ac19bfc9347f", "RoutingRuleObjectId": "bd8b8092-1c08-4d25-8d35-116d7a677bf4", "RoutingRuleURI": "/vmrest/routingrules/bd8b8092-1c08-4d25-8d35-116d7a677bf4", "Parameter": "1", "Operator": "1", "OperandValue": "1000-2000" }, { "URI": "/vmrest/routingrules/bd8b8092-1c08-4d25-8d35-116d7a677bf4/routingruleconditions/08019fb3-265b-48fb-a973-d5128b62572e", "ObjectId": "08019fb3-265b-48fb-a973-d5128b62572e", "RoutingRuleObjectId": "bd8b8092-1c08-4d25-8d35-116d7a677bf4", "RoutingRuleURI": "/vmrest/routingrules/bd8b8092-1c08-4d25-8d35-116d7a677bf4", "Parameter": "2", "Operator": "2", "OperandValue": "4242" } ] } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 580 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Cisco Unity Connection Provisioning Interface (CUPI) API -- Routing Rule Conditions

Page 613#

chunk 577

Creating a Routing Rule Condition JSON Example To create new routing rule condition, do the following: Request URI: POST https://<connection-server>/vmrest/routingrules/<routingrulesobjectId>/routingruleconditions Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "Parameter": "2", "Operator": "3", "OperandValue": "3000" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Updating a Routing Rule Condition JSON Example To update display name of routing rule condition, do the following: Request URI: PUT https://<connectionserver>/vmrest/routingrules/<routingrulesobjectId>/routingruleconditions/<routingruleconditionobjectId> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "OperandValue": "5011" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Deleting a Routing Rule Condition JSON Example To delete routing rule condition, do the following: DELETE https://<connectionserver>/vmrest/routingrules/<routingrulesobjectId>/routingruleconditions/<routingruleconditionobjectId> Accept: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 581 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Creating a Routing Rule Condition

Page 614#

chunk 578

Response Code: 204 Explanation of Data Fields Comments Data Type Operations Parameter URI of the routing rule condition String Read Only URI Unique identifier for Routing rule condition String (36) Read Only ObjectId Object Id of the routing rule to which this routing rule condition belongs. String (36) Read Only RoutingRuleObjectId URI of the routing rule which is associated with the routing rule condition Parameter Read/Write Integer Type of parameter in a routing rule, such as "dialed number" or "port id". Possible values: • 1 :CallingNumber • 2 : DialedNumber • 3 : ForwardingStation • 4 :Origin • 5 :PhoneSystem • 6 : PortID • 7 : Reason • 8 : Schedule • 9 : TrunkID String Read Only RoutingRuleURI Type of operator in this condition - equals, greater than, etc. Possible value: • 1 : IN • 2 : EQ • 3 : GT • 4 : LT • 5 : LTE • 6 : GTE Integer Read/Write Operator Value of operand in condition. This could be a port number, a phone number, etc. depending on parameter value. • Minimum Length: 0 • Maximum Length: 64 String (64) Read/Write OperandValue The unique identifier of the phone system that can be used as a condition for a routing rule. String (36) Read/Write MediaSwitchObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 582 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Explanation of Data Fields

Page 615#

chunk 579

Comments Data Type Operations Parameter The unique identifier of the media port that can be used as a condition for a routing rule.Value displayed when Routing Rule Condition based on Phone System/Port is created. String (36) Read/Write MediaPortObjectId Value displayed when Routing Rule Condition based on Phone System is created. String Read Only PhoneSystemURI Value displayed when Routing Rule Condition based on Port is created. String Read Only PortURI Cisco Unity Connection Provisioning Interface (CUPI) API 583 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Explanation of Data Fields

Page 616#

chunk 580

Cisco Unity Connection Provisioning Interface (CUPI) API 584 Cisco Unity Connection Provisioning Interface (CUPI) API--Call Routing Explanation of Data Fields

Page 617#

chunk 581

C H A P T E R 42 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs • Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Store API, on page 585 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Quota alert, on page 592 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Policy, on page 595 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Rules , on page 600 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Text, on page 606 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Expiration , on page 610 Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Store API Mailbox Stores Configuration Administrator can use this APIs for creating, reading, modifying and deleting mailbox stores for listing,viewing, creation, selection, and deletion. During installation, Cisco Unity Connection automatically creates: • A mailbox store database for information on voice messages (who each message was sent to,when it was sent, the location of the WAV file on the hard disk, and so on). • An operating-system directory for voice message WAV files. • An administrator with the required permissions can create up to four additional mailbox stores. Each additional mailbox store includes: • Another mailbox-store database for information on voice messages that are saved in that mailbox store. The database is pre-sized for an average of approximately 40 messages each for 10,000 users, or about 1.25 GB. (The database application currently being used for Connection cannot dynamically resize a database after it is created.) • Another operating-system directory for the voice message WAV files and other message attachments. Listing the Mailbox Stores The following is an example of the GET request that lists all the mailbox stores: GET https://<connection-server>/vmrest/mailboxstores Cisco Unity Connection Provisioning Interface (CUPI) API 585

Page 618#

chunk 582

The following is the response from the above GET request. <MailboxStores total="1"> <MailboxStore> <URI>/vmrest/mailboxstores/fd3ad7cd-805d-4727-82dd-c05dae4261c0</URI> <MailDatabase>UnityMbxDb1</MailDatabase> <Server>ucbu-aricent-vm256.cisco.com</Server> <ObjectId>fd3ad7cd-805d-4727-82dd-c05dae4261c0</ObjectId> <Mounted>true</Mounted> <RequiredSecurity>0</RequiredSecurity> <MailboxStoreType>0</MailboxStoreType> <DisplayName>Unity Messaging Database -1</DisplayName> <DbInstance>ciscounity</DbInstance> <Status>0</Status> <Undeletable>true</Undeletable> <LastError>0</LastError> <MaxSizeMB>15000</MaxSizeMB> <TotalSizeOfMailbox>0.0 Kilobytes</TotalSizeOfMailbox> <TimeAtWhichSizeCalculated>2013-04-10 22:59:23.323</TimeAtWhichSizeCalculated> <MailboxURI>/vmrest/mailboxstores/fd3ad7cd-805d-4727-82ddc05dae4261c0/ mailboxes</MailboxURI> </MailboxStore> </MailboxStores> Response Code: 200 JSON Example To list all mailboxstores(GET), do the following: Request URI: GET https://<connection-server>/vmrest/mailboxstores Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "1", "MailboxStore": { "URI": "/vmrest/mailboxstores/2668cf73-c234-4fb4-82e1-8b7299485b3c", "MailDatabase": "UnityMbxDb1", "Server": "ucbu-aricent-vm506.cisco.com", "ObjectId": "2668cf73-c234-4fb4-82e1-8b7299485b3c", "Mounted": "true", "RequiredSecurity": "0", "MailboxStoreType": "0", "DisplayName": "Unity Messaging Database -1", "DbInstance": "ciscounity", "Status": "0", "Undeletable": "true", "LastError": "0", "MaxSizeMB": "15000", "TotalSizeOfMailbox": "0.0 Kilobytes", "TimeAtWhichSizeCalculated":"2013-04-10 22:59:23.323", "MailboxURI": "/vmrest/mailboxstores/2668cf73-c234-4fb4-82e1- 8b7299485b3c/mailboxes" } } Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 586 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Listing the Mailbox Stores

Page 619#

chunk 583

Viewing the Specific Mailbox Stores The following is an example of the GET request that lists the details of specific mailbox stores represented by the provided value of mailbox store object ID: GET https://<connection-server>/vmrest/mailboxstores /<mailboxstore-objectid> The following is the response from the above GET request: <MailboxStore> <URI>/vmrest/mailboxstores/fd3ad7cd-805d-4727-82dd-c05dae4261c0</URI> <MailDatabase>UnityMbxDb1</MailDatabase> <Server>ucbu-aricent-vm256.cisco.com</Server> <ObjectId>fd3ad7cd-805d-4727-82dd-c05dae4261c0</ObjectId> <Mounted>true</Mounted> <RequiredSecurity>0</RequiredSecurity> <MailboxStoreType>0</MailboxStoreType> <DisplayName>Unity Messaging Database -1</DisplayName> <DbInstance>ciscounity</DbInstance> <Status>0</Status> <Undeletable>true</Undeletable> <LastError>0</LastError> <MaxSizeMB>15000</MaxSizeMB> <TotalSizeOfMailbox>0.0 Kilobytes</TotalSizeOfMailbox> <TimeAtWhichSizeCalculated>2013-04-10 22:59:23.323</TimeAtWhichSizeCalculated> <MailboxURI>/vmrest/mailboxstores/fd3ad7cd-805d-4727-82ddc05dae4261c0/ mailboxes</MailboxURI> </MailboxStore> Response Code: 200 JSON Example To view individual mailbox store (GET), do the following: Request URI: GET https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/mailboxstores/2668cf73-c234-4fb4-82e1-8b7299485b3c", "MailDatabase": "UnityMbxDb1", "Server": "ucbu-aricent-vm506.cisco.com", "ObjectId": "2668cf73-c234-4fb4-82e1-8b7299485b3c", "Mounted": "true", "RequiredSecurity": "0", "MailboxStoreType": "0", "DisplayName": "Unity Messaging Database -1", "DbInstance": "ciscounity", "Status": "0", "Undeletable": "true", "LastError": "0", "MaxSizeMB": "15000", "TotalSizeOfMailbox": "0.0 Kilobytes", "TimeAtWhichSizeCalculated":"2013-04-10 22:59:23.323", "MailboxURI": "/vmrest/mailboxstores/2668cf73-c234-4fb4-82e1-8b7299485b3c/mailboxes" } Cisco Unity Connection Provisioning Interface (CUPI) API 587 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Viewing the Specific Mailbox Stores

Page 620#

chunk 584

Response Code: 200 Viewing the Number of Mailboxes in a Mailbox Store The following is an example of the GET request that lists the number of mailboxes in a mailbox store represented by the provided value of mailbox store object ID: GET https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid>/mailboxes The following is the response from the above GET request: Response Code: 200 <Mailboxes total="3"/> JSON Example To view the number of mailboxes in a mailbox store, do the following: Request URI GET https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid>/mailboxes Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "3" } Response Code: 200 Creating the Mailbox Store The parameters that can be given as part of the POST Request Body are : DisplayName, MaxSizeMB,Mounted, Undeletable. Even If the other values such as "server" are mentioned as part of the request body , the values will not be used while creation and default values will be used. The following is an example of the POST request that creates a mailbox store: POST https://<connection-server>/vmrest/mailboxstores Request Body: <MailboxStore> <DisplayName>Unity Messaging Database</DisplayName> <MaxSizeMB>15000</MaxSizeMB> </MailboxStore> The following is the example of the response from the above POST request: Response Code: 201 /vmrest/voicemailboxstores /2668cf73-c234-4fb4-82e1-8b7299485b3ce JSON Example To create a new mailbox store, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 588 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Viewing the Number of Mailboxes in a Mailbox Store

Page 621#

chunk 585

Request URI: POST https://<connection-server>/vmrest/mailboxstores Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName":"Unity Messaging Database", "MaxSizeMB":"15000" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/voicemailboxstores /2668cf73-c234-4fb4-82e1-8b7299485b3ce Updating the Mailbox Stores The following is an example of the PUT request that allows you to update the content of the mailbox store: PUT https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid> Request Body: <MailboxStore> <Mounted>false</Mounted> </MailboxStore> </pre <pre> Response Body: 204 The output for this request returns the successful response code. JSON Example To update mounted field of mailbox store, do the following: Request URI: PUT https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "Mounted":"false" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Deleting the Mailbox Store The following is an example of the DELETE request that deletes a specific mailbox store where you need to mention the mailbox store object ID: DELETE https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid Cisco Unity Connection Provisioning Interface (CUPI) API 589 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Updating the Mailbox Stores

Page 622#

chunk 586

The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 The output for this request returns the successful response code. JSON Example To delete mailbox store, do the following: DELETE https://<connection-server>/vmrest/mailboxstores/<mailboxstore-objectid> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields The following chart lists all of the data fields: Description Operations Data Type Parameter The URI of the mailbox store. Read Only String URI The name of the mailbox database,such as "UnityMbxDb1". For external IMAP mailstores this value will be NULL. Read Only String (512) MailDatabase The name of the server on which the mailbox store resides. Read Only String (256) Server A globally unique, system-generated identifier for a MailboxStore object. Read Only String (36) ObjectId A flag indicating whether the mailbox store is mounted. You should check this setting before accessing the mailbox store database. Tools can set it to denote that a mailbox store is offline when offline database maintenance needs to be performed. Default Value: true Read/Write Boolean Mounted The method of encryption that Cisco Unity Connection will use on a mailbox store connection. Possible values are: • 0: No encryption. • 1: TLS level encryption. • 2: SSL encryption. • 3: IPSec encryption. Default Value: 0 Read Only String RequiredSecurity Cisco Unity Connection Provisioning Interface (CUPI) API 590 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Explanation of Data Fields

Page 623#

chunk 587

Description Operations Data Type Parameter The type of mailbox store (e.g.,UMSS). Possible values are: • 0: UMSS - Cisco Unity Connection message store solution. • 1: IMAP • 2: POP3 • 3: WebDAV • 4: MPE_WS Used by the Common Calendaring Library to retrieve calendaring and meeting information from the Meeting Place Express web service. Default Value: 0 Read Only String MailboxStoreType A descriptive name for the message Store. Read/Write String (64) DisplayName The name of the dbinstance on which the mailbox store resides. Default Value: ciscounity Status Read Only String Current status of the mailbox store. Possible values are: • 0: OK • 1: Moving • 2: MoveFailed • 3: MoveRequested Read Only String (256) DbInstance A flag indicating whether this mailbox store can be deleted. It is used to prevent deletion of factory defaults. Default Value: true Read/Write Boolean Undeletable Cisco Unity Connection Provisioning Interface (CUPI) API 591 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Explanation of Data Fields

Page 624#

chunk 588

Description Operations Data Type Parameter Last error result from a mailbox store maintenance action, that is create or delete. Possible values are: • 0: OK • 1: UnknownError • 2: DuplicateDisplayName • 3: InternalNameError • 4: DatabaseError • 5: InsufficientDiskSpace • 6: MailstoreNotEmpty • 7: MailstoreStillReferenced:This error is returned when deleting an mbx database is still referenced by another object (user template,etc). • 8: MailstoreOverMaxSize • 9: MailstoreNotFound • 10: MailstoreUndeletable • 11: RemoteServerOffline • 12: MailstoreNotMounted • 13: InvalidRequest • 14: MailboxNotMounted • 15: MustRunOnPublisher Default Value: 0 Read Only String LastError This is the max size in MB for the mailbox store. The range can vary from 1 to 2147483647. Default Value: 15000 Read/Write Integer MaxSizeMB Total Size of the voicemail messages and the mailbox attachments in the mailbox store. Read Only String TotalSizeOfMailbox Time at which the total size of mailbox store was calculated. Read Only String TimeAtWhichSizeCalculated The URI of the mailboxes. Read Only String MailboxesURI Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Quota alert Mailbox Quota Alert These APIs are capable of retrieving and updating the email notification Mailbox Quota Alert text from CUC. Acceptance criteria : Cisco Unity Connection Provisioning Interface (CUPI) API 592 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Cisco Unity Connection Provisioning Interface (CUPI) API -- Mailbox Quota alert

Page 625#

chunk 589

• GET API to view the "header" and body of the quota alert text in specified language. • API to set the "header" and body of the quota alert text for specified language. GET : https:// <connection-server>/vmrest/mailboxquotatexts This API can be used by Administrator to fetch the list of Mailbox Quota alerts that will be used as email notification alert texts for end user. Currently, there is only one Mailbox Quota Alert which is Warning Quota, that can be configured in different languages. Output of this API will be: <MailboxQuotaTexts total="1"> <MailboxQuotaText> <URI>/vmrest/mailboxquotatexts/da9d6130-baf7-4b8b-8aa5-1d973567d0b6</URI> <ObjectId>da9d6130-baf7-4b8b-8aa5-d973567d0b6</ObjectId> <Body/> <DefaultBody>Your mailbox has exceeded the quota warning threshold specified by your administrator. \n\nCurrent Usage: %CURRENTUSAGE%\nQuota Warning Threshold: %THRESHOLD%\nQuota Size Limit: %LIMIT%\n
nPlease reduce your mailbox size by deleting few items from your mailbox.</DefaultBody> <DefaultSubject>Voicemail Mailbox Quota Warning</DefaultSubject> <LanguageCode>1033</LanguageCode> <Subject/> <UseDefault>true</UseDefault> <RuleDescription>Text for Mailbox Warning Quota</RuleDescription> </MailboxQuotaText> </MailboxQuotaTexts> GET :https:// <connection-server>/vmrest/mailboxquotatexts/<mailboxQuotaTextObjectId> This API can be used by Administrator to fetch the details of a particular Mailbox Quota Alert. Output of this API will be: Cisco Unity Connection Provisioning Interface (CUPI) API 593 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs GET : https:// <connection-server>/vmrest/mailboxquotatexts

Page 626#

chunk 590

<MailboxQuotaText> <URI>/vmrest/mailboxquotatexts/da9d6130-baf7-4b8b-8aa5-1d973567d0b6</URI> <ObjectId>da9d6130-baf7-4b8b-8aa5-1d973567d0b6</ObjectId> <Body/> <DefaultBody>Your mailbox has exceeded the quota warning threshold specified by your administrator.\n\nCurrent Usage: %CURRENTUSAGE%\nQuota Warning Threshold: %THRESHOLD%\nQuota Size Limit: %LIMIT%\n\nPlease reduce your mailbox size by deleting few items from your mailbox.</DefaultBody> <DefaultSubject>Voicemail Mailbox Quota Warning</DefaultSubject> <LanguageCode>1033</LanguageCode> <Subject/> <UseDefault>true</UseDefault> <RuleDescription>Text for Mailbox Warning Quota</RuleDescription> </MailboxQuotaText> PUT : https:// <connection-server>/vmrest/mailboxquotatexts/<mailboxQuotaTextObjectId> This API can be used by an administrator to modify the subject line, body and Use Default flag for the email notification alert for the end users. If an administrator updates "UseDefault" option to false and if "Subject" and "Body" (customized subject and body texts) of the Alert are null in the database or in input XML, then it is mandatory to provide both of them. Input will be an XML with following data : <MailboxQuotaText> <Body>changed body content</Body> <Subject>Changed subject line</Subject> <UseDefault>false</UseDefault> </MailboxQuotaText> Output: HTTP response code : 204 Explanation of Data Fields The following chart lists all of the data fields: Description Operations Data Type Parameter URI of Mailbox Quota alert Read Only String URI Acts as a primary key for the API. The ObjectID is a unique system-generated identifier for a Mailbox Quota Alert object. Read Only Char (36) ObjectId Customized body text for Mailbox Quota Alert. Read/Write String Body Cisco Unity Connection Provisioning Interface (CUPI) API 594 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs PUT : https:// <connection-server>/vmrest/mailboxquotatexts/<mailboxQuotaTextObjectId>

Page 627#

chunk 591

Description Operations Data Type Parameter Default body text for the Mailbox Quota Alert Read Only String DefaultBody Default subject line for Mailbox Quota Alert Read Only String DefaultSubject Specified the language code in which the alert will be displayed Read/Write Integer LanguageCode Customized subject line for Mailbox Quota Alert Read/Write String Subject Specify that whether DefaultSubject and DefaultBody is used or not. Values can be: • false -0 • true -1 Read/Write Boolean UseDefault Specified the type of Mailbox Quota Alert Read Only String RuleDescription Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Policy Message Aging Policy In Cisco Unity Connection, the Message Aging Policies ensures that the hard disk where voice messages are stored does not get filled up. Each policy allows you to specify message aging rules to automatically: • Move new messages to the Saved Items folder after a specified number of days. • Move read messages to the Deleted Items folder after a specified number of days. • Permanently delete messages in the Deleted Items folder after a specified number of days. In the Default System Policy message aging policy, this is the only rule that is enabled. • Based on the age of the messages, permanently delete secure messages that have been touched in any way (for example by saving, deleting, or opening but then saving messages as new). • Based on the age of the messages, permanently delete all secure messages regardless of whether users have listened to or touched the messages in any way. There are total numbers of 2 Default Message Aging Policies: • Default System Policy • Do Not Age Messages Note Administrator can use this API to create/update/delete/fetch the message aging policy. Various attributes of message aging policy can also be updated using this API. Cisco Unity Connection Provisioning Interface (CUPI) API 595 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Policy

Page 628#

chunk 592

Listing the Message Aging Policies The following is an example of the GET request that lists all the message aging policies: GET https://<connection-server>/vmrest/messageagingpolicies The following is the response from the above GET request and the actual response will depend upon the information given by you: <MessageAgingPolicies total="2"> <MessageAgingPolicy> <URI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182-ce14ede90ac0</URI> <ObjectId>0f02be4e-5d70-4a1d-b182-ce14ede90ac0</ObjectId> <Enabled>true</Enabled> <DisplayName>Default System Policy</DisplayName> <MessageAgingRuleURI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182- ce14ede90ac0/messageagingrules</MessageAgingRuleURI> </MessageAgingPolicy> <MessageAgingPolicy> <URI>/vmrest/messageagingpolicies/7f762fe2-ef33-4664-afb9-bd47c2ef7e41</URI> <ObjectId>7f762fe2-ef33-4664-afb9-bd47c2ef7e41</ObjectId> <Enabled>false</Enabled> <DisplayName>Do Not Age Messages</DisplayName> <MessageAgingRuleURI>/vmrest/messageagingpolicies/7f762fe2-ef33-4664-afb9- bd47c2ef7e41/messageagingrules</MessageAgingRuleURI> </MessageAgingPolicy> </MessageAgingPolicies> Response Code: 200 JSON Example To list all the message aging policies, do the following: Request URI: GET https://<connection-server>/vmrest/messageagingpolicies Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 596 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Listing the Message Aging Policies

Page 629#

chunk 593

{ "@total":"2" "MessageAgingPolicy":[ { "URI":"/vmrest/messageagingpolicies/adac77f4-8a77-430d-8836-0fc9aef3fef5" "ObjectId":"adac77f4-8a77-430d-8836-0fc9aef3fef5" "Enabled":"true" "DisplayName":"Default System Policy" "MessageAgingRuleURI":"/vmrest/messageagingpolicies/adac77f4-8a77-430d-8836- 0fc9aef3fef5/messageagingrules" } { "URI":"/vmrest/messageagingpolicies/2e02eca6-270b-4b7f-a153-f03ea74d403d" "ObjectId":"2e02eca6-270b-4b7f-a153-f03ea74d403d" "Enabled":"false" "DisplayName":"Do Not Age Messages" "MessageAgingRuleURI":"/vmrest/messageagingpolicies/2e02eca6-270b-4b7f-a153- f03ea74d403d/messageagingrules" } ] } Response Code: 200 Viewing the Specific Message Aging Policy The following is an example of the GET request that lists the details of specific message aging policy represented by the provided value of object ID: GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-id> The following is the response from the above GET request and the actual response will depend upon the information given by you: <MessageAgingPolicy> <URI>/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c</URI> <ObjectId>3f3f9297-e1eb-46a5-bbdf-d86298e2531c</ObjectId> <Enabled>true</Enabled> <DisplayName>Texoma_Message_Policy</DisplayName> <MessageAgingRuleURI>/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf- d86298e2531c/messageagingrules</MessageAgingRuleURI> </MessageAgingPolicy> Response Code: 200 JSON Example To list details of an individual message aging policy, do the following: Request URI: GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-id> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 597 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Viewing the Specific Message Aging Policy

Page 630#

chunk 594

{ "URI":"/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c" "ObjectId":"3f3f9297-e1eb-46a5-bbdf-d86298e2531c" "Enabled":"true" "DisplayName":"Default System Policy" "MessageAgingRuleURI":"/vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf- d86298e2531c/messageagingrules" } Response Code: 200 Creating a Message Aging Policy Example 1: The following is an example of the POST request that creates a message aging policy: *POST https://<connection-server>/vmrest/messageagingpolicies Request Body: <MessageAgingPolicy> <DisplayName>Texoma_Message_Policy</DisplayName> </MessageAgingPolicy> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c JSON Example To create new message aging policy, do the following: Request URI: POST https://<connection-server>/vmrest/messageagingpolicies Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName":"Texoma_Message_Policy" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c Example 2: The following is the example of the create a new message aging policy with some more parameter *POST https://<connection-server>/vmrest/messageagingpolicies Request Body: <MessageAgingPolicy> <DisplayName>Texoma_New_Message_Policy</DisplayName> <Enabled>false</Enabled> </MessageAgingPolicy> The following is the response from the above POST request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 598 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Creating a Message Aging Policy

Page 631#

chunk 595

Response Code: 201 /vmrest/messageagingpolicies/3f3f9297-e1eb-46a5-bbdf-d86298e2531c Updating a Message Aging Policy Parameters The following is an example of the PUT request that allows you to update the display name of message aging policy: *PUT https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-id> Request Body: <MessageAgingPolicy> <DisplayName>Texoma_Message_Policy_2</DisplayName> </MessageAgingPolicy> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update the display name of message aging policy, do the following: Request URI: PUT https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-id> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName":"Texoma_Message_Policy_2" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Deleting a Message Aging Policy The following is an example of the DELETE request that deletes a message aging policy with a valid object ID: DELETE https://<connection-server>/vmrest/messageagingpolicies<messageagingpolicyobject-id> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To delete a message aging policy with a valid object ID, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 599 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Updating a Message Aging Policy Parameters

Page 632#

chunk 596

DELETE https://<connection-server>/vmrest/messageagingpolicies<messageagingpolicyobject-id> Accept: application/json Connection: keep-alive The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields The following chart lists all of the data fields: Comments Data Type Operations Parameters Name of the Message Aging Policy Maximum length: 64 String Read/Write DisplayName Specifies if message aging rules to be applied or not. Possible values: • true: If message aging rules to be enforced. • false: If message aging rules to be ignored. Default value is true. Boolean Read/Write Enabled Specifies the URI of message aging rules. String Read Only MessageAgingRuleURI Object Id of the message aging policy. Maximum length : 36 String Read Only ObjectId Specifies the message aging policy URI. String Read Only URI Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Rules Message Aging Rules Administrator can use this API to update/ fetch the message aging rules. Various attributes of message aging rules can also be updated using this API. Listing the Message Aging Rules The following is an example of the GET request that lists all the message aging rules: GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-Id>/messageagingrules Cisco Unity Connection Provisioning Interface (CUPI) API 600 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Explanation of Data Fields

Page 633#

chunk 597

The following is the response from the above GET request: <MessageAgingRules total="2"> <MessageAgingRule> <URI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182- ce14ede90ac0/messageagingrules/6951ad4c-a16c-4bf2-b61a-300bbf24519d</URI> <MessageAgingPolicyObjectId>0f02be4e-5d70-4a1d-b182- ce14ede90ac0</MessageAgingPolicyObjectId> <MessageAgingPolicyURI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182- ce14ede90ac0</MessageAgingPolicyURI> <ObjectId>6951ad4c-a16c-4bf2-b61a-300bbf24519d</ObjectId> <Days>7</Days> <Enabled>true</Enabled> <Secure>false</Secure> <SendNotification>true</SendNotification> <NotificationDays>3</NotificationDays> <RuleDescription>Move Saved Messages to the Deleted Items</RuleDescription> </MessageAgingRule> <MessageAgingRule> <URI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182- ce14ede90ac0/messageagingrules/8792058b-cf27-4c10-8ac1-e903b8d18065</URI> <MessageAgingPolicyObjectId>0f02be4e-5d70-4a1d-b182-ce14ede90ac0</MessageAgingPolicyObjectId> <MessageAgingPolicyURI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182- ce14ede90ac0</MessageAgingPolicyURI> <ObjectId>8792058b-cf27-4c10-8ac1-e903b8d18065</ObjectId> <Days>15</Days> <Enabled>true</Enabled> <Secure>false</Secure> <SendNotification>false</SendNotification> <NotificationDays>3</NotificationDays> <RuleDescription>Permanently Delete Messages in the Deleted Items </RuleDescription> </MessageAgingRule> </MessageAgingRules> Response Code: 200 JSON Example To list all message aging rules, do the following: Request URI: GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-Id>/messageagingrules Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 601 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Listing the Message Aging Rules

Page 634#

chunk 598

{ "@total":"2" "MessageAgingRule": [ { "URI":"/vmrest/messageagingpolicies/2fcb9e34-bb41-41e3-b212- 1bff3e1d93ed/messageagingrules/230f8ab1-1dba-45db-8e2c-dbd22cad718a" "MessageAgingPolicyObjectId":"2fcb9e34-bb41-41e3-b212- 1bff3e1d93ed" "MessageAgingPolicyURI":"/vmrest/messageagingpolicies/2fcb9e34-bb41-41e3-b212- 1bff3e1d93ed" "ObjectId":"230f8ab1-1dba-45db-8e2c-dbd22cad718a" "Days":"30" "Enabled":"true" "Secure":"true" "SendNotification":"false" "NotificationDays":"3" "RuleDescription":"Permanently Delete Secure Touched Messages " } { "URI":"/vmrest/messageagingpolicies/2fcb9e34-bb41-41e3-b212- 1bff3e1d93ed/messageagingrules/b0bc585c-7704-4f36-b7f6-8e8319d89da3" "MessageAgingPolicyObjectId":"2fcb9e34-bb41-41e3-b212-1bff3e1d93ed" "MessageAgingPolicyURI":"/vmrest/messageagingpolicies/2fcb9e34-bb41-41e3-b212- 1bff3e1d93ed" "ObjectId":"b0bc585c-7704-4f36-b7f6-8e8319d89da3" "Days":"60" "Enabled":"false" "Secure":"true" "SendNotification":"false" "NotificationDays":"3" "RuleDescription":"Permanently Delete All Secure Messages " } ] } Response Code: 200 Viewing the Specific Message Aging Rule The following is an example of the GET request that lists the details of specific message aging rule represented by the provided value of object ID: GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject- Id>/messageagingrules/<messageagingruleobject-Id> The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 602 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Viewing the Specific Message Aging Rule

Page 635#

chunk 599

<MessageAgingRule> <URI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182- ce14ede90ac0/messageagingrules/c160becb-0042-441e-a021-4bb4aeb05da4</URI> <MessageAgingPolicyObjectId>0f02be4e-5d70-4a1d-b182- ce14ede90ac0</MessageAgingPolicyObjectId> <MessageAgingPolicyURI>/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182- ce14ede90ac0</MessageAgingPolicyURI> <ObjectId>c160becb-0042-441e-a021-4bb4aeb05da4</ObjectId> <Days>30</Days> <Enabled>false</Enabled> <Secure>true</Secure> <SendNotification>false</SendNotification> <NotificationDays>3</NotificationDays> <RuleDescription>Permanently Delete Secure Touched Messages </RuleDescription> </MessageAgingRule> Response Code: 200 JSON Example To list details of an individual message aging rule, do the following: Request URI: GET https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject- Id>/messageagingrules/<messageagingruleobject-Id> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI":"/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182- ce14ede90ac0/messageagingrules/c160becb-0042-441e-a021-4bb4aeb05da4" "MessageAgingPolicyObjectId":"0f02be4e-5d70-4a1d-b182-ce14ede90ac0" "MessageAgingPolicyURI":"/vmrest/messageagingpolicies/0f02be4e-5d70-4a1d-b182- ce14ede90ac0" "ObjectId":"c160becb-0042-441e-a021-4bb4aeb05da4" "Days":"60" "Enabled":"false" "Secure":"true" "SendNotification":"false" "NotificationDays":"3" "RuleDescription":"Permanently Delete Secure Touched Messages" } Response Code: 200 Updating a Message Aging Rule The following is an example of the PUT request that allows you to update the days parameter of enabled message aging rule: PUT https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-Id>/messageagingrules/<messageagingruleobject-Id> Request Body: <MessageAgingRule> <Days>25</Days> </MessageAgingRule> Cisco Unity Connection Provisioning Interface (CUPI) API 603 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Updating a Message Aging Rule

Page 636#

chunk 600

The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update the days parameter of enabled message aging rule, do the following: PUT https://<connection-server>/vmrest/messageagingpolicies/<messageagingpolicyobject-Id>/messageagingrules/<messageagingruleobject-Id> Accept : application/json Content-Type: application/json Connection: keep-alive Request Body: { "Days":"25" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 You can't update the days as well as the NotificationDays parameter if message aging rule is disabled. Note Explanation of Data Fields The following chart lists all of the data fields: Comments Data Type Operation Parameter Age message older than this number of days. Range: 1 to 365. Integer Read/Write Days Describes the action to take when the rule is applied. Default Value: 0 Values: • 0: Soft Delete • 1: Hard Delete • 2: ToSaved Integer Read/Write Action It specifies whether the particular rule is enabled or not. Values : true or false Default Value: true. Boolean Read/Write Enabled It specifies the object id of respective Message Aging Policy String (36) Read Only MessageAgingPolicyObjectId URI of Message Aging Policy. String Read/Write MessageAgingPolicyURI Cisco Unity Connection Provisioning Interface (CUPI) API 604 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Explanation of Data Fields

Image 1 from page 636

Page 637#

chunk 601

Comments Data Type Operation Parameter Contains the type or purpose of the aging rule. Default Value: 10 Values: • 10: MoveSeenToDeleted • 11: HardDeleteDeleted • 12: HardDeleteSecureTouched • 13: HardDeleteAllSecure • 14: MoveNewToSaved Integer Read/Write AgingRuleType This defines what column to use (modificationtime or arrivaltime) when calculating messages to age. Default Value: 0 Value: • 0: ModificationTime • 1: ArrivalTime Integer Read/Write AgingTimeType A marker used by the sysagent task so we don't send more than one notification per message. datetime Read/Write LastMessageNotifiedMarker If SendNotification is True, send the notification this many days before the rule takes place. It is always less than equal to Days parameter. Range: 0 to 365. Default Value: 3. Integer Read/Write NotificationDays Object id of Message Aging Rule String (36) Read Only ObjectId It describes the action taken by rule. String Read Only RuleDescription It specifies whether the message is secured type or not. Boolean Read Only Secure It specifies whether notification is sent prior to taking action. Values: true or false. Default Value: false. Boolean Read/Write SendNotification Apply this rule to messages where tbl_FolderItem. Seen is equal to this value. Default Value: NULL Integer Read/Write Seen If SendNotification is True, send the notification this many days before the rule takes place. Default Value: 3 Integer Read/Write Recent URI of Message Aging Rule. string Read Only URI Cisco Unity Connection Provisioning Interface (CUPI) API 605 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Explanation of Data Fields

Page 638#

chunk 602

Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Text Message Aging Text Administrator can use this API to create/update/delete/fetch the message aging text.Various attributes of message aging text can also be updated using this API. Listing the Message Aging Texts The following is an example of the GET request that lists all the message aging texts: GET https://<connection-server>/vmrest/messageagingtexts The following is the response from the above GET request and the actual response will depend upon the information given by you: <MessageAgingTexts total="1"> <MessageAgingText> <URI>/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d</URI> <ObjectId>0220cac9-6df0-48c2-929f-e38d7ff88e3d</ObjectId> <LanguageCode>1033</LanguageCode> <DefaultSubject>Your message from %SENDER% will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).</DefaultSubject> <Subject/> <DefaultBody>Your message from %SENDER%, which was received on %MODIFICATIONTIME%, will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).</DefaultBody> <Body/> <UseDefault>false</UseDefault> <RuleDescription>Text for Move New Messages to the Saved Messages Folder Rule</RuleDescription> </MessageAgingText> <MessageAgingTexts> Response Code: 200 JSON Example To list all the message aging texts, do the following: Request URI: GET https://<connection-server>/vmrest/messageagingtexts Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 606 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Aging Text

Page 639#

chunk 603

{ "@total":"1" "MessageAgingText":[ { "URI": "/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d", "ObjectId": "0220cac9-6df0-48c2-929f-e38d7ff88e3d", "LanguageCode": "1033", "DefaultSubject": "Your message from %SENDER% will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).", "Subject": [], "DefaultBody": "Your message from %SENDER%, which was received on %MODIFICATIONTIME%, will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).", "Body": [], "UseDefault": "false", "RuleDescription": "Text for Move New Messages to the Saved Messages Folder Rule" } ] } Response Code: 200 JSON Example To list all the message aging texts, do the following: Request URI: GET https://<connection-server>/vmrest/messageagingtexts Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total":"1" "MessageAgingText":[ { "URI": "/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d", "ObjectId": "0220cac9-6df0-48c2-929f-e38d7ff88e3d", "LanguageCode": "1033", "DefaultSubject": "Your message from %SENDER% will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).", "Subject": [], "DefaultBody": "Your message from %SENDER%, which was received on %MODIFICATIONTIME%, will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).", "Body": [], "UseDefault": "false", "RuleDescription": "Text for Move New Messages to the Saved Messages Folder Rule" } ] } Response Code: 200 Viewing the Specific Message Aging Text The following is an example of the GET request that lists the details of specific message aging policy represented by the provided value of object ID: Cisco Unity Connection Provisioning Interface (CUPI) API 607 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Viewing the Specific Message Aging Text

Page 640#

chunk 604

GET https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobject-id> The following is the response from the above GET request and the actual response will depend upon the information given by you: <MessageAgingText> <URI>/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d</URI> <ObjectId>0220cac9-6df0-48c2-929f-e38d7ff88e3d</ObjectId> <LanguageCode>1034</LanguageCode> <DefaultSubject>Your message from %SENDER% will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).</DefaultSubject> <Subject/> <DefaultBody>Your message from %SENDER%, which was received on %MODIFICATIONTIME%, will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).</DefaultBody> <Body/> <UseDefault>true</UseDefault> <RuleDescription>Text for Move New Messages to the Saved Messages Folder Rule</RuleDescription> </MessageAgingText> Response Code: 200 JSON Example To list details of an individual message aging text, do the following: Request URI: GET https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobject-id> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/messageagingtexts/0220cac9-6df0-48c2-929f-e38d7ff88e3d", "ObjectId": "0220cac9-6df0-48c2-929f-e38d7ff88e3d", "LanguageCode": "1034", "DefaultSubject": "Your message from %SENDER% will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).", "Subject": [], "DefaultBody": "Your message from %SENDER%, which was received on %MODIFICATIONTIME%, will be moved to the Saved Messages folder in %DAYSUNTIL% day(s).", "Body": [], "UseDefault": "true", "RuleDescription": "Text for Move New Messages to the Saved Messages Folder Rule" } Response Code: 200 Updating a Message Aging Text Example 1: Update UseDefault Parameter The following is an example of the PUT request that allows you to update the parameters of message aging text: Cisco Unity Connection Provisioning Interface (CUPI) API 608 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Updating a Message Aging Text

Page 641#

chunk 605

PUT https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobjectid> Request Body: <MessageAgingText> <UseDefault>Message Aging Text</UseDefault> </MessageAgingText> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update the parameter of message aging text, do the following: Request URI: PUT https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobjectid> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "UseDefault":"Message Aging Text" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Update Subject and Body of Message Aging Text The following is an example of the PUT request that allows you to update the parameters of message aging text: PUT https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobjectid> Request Body: <MessageAgingText> <UseDefault>false</UseDefault> <Subject>Message aging text</Subject> <Body>Message aging Text</Body> </MessageAgingText> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example To update the subject and body of message aging text, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 609 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Updating a Message Aging Text

Page 642#

chunk 606

Request URI: PUT https://<connection-server>/vmrest/messageagingtexts/<messageagingtextobjectid> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "UseDefault": "False", "Subject": "Message Aging test", "Body": "Message Aging Text" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: <pre> Response Code: 204 Explanation of Data Fields Comments Data Type Operations Parameter Object id of message aging text String (36) Read Only ObjectId the language identifier for this row Integer Read/Write LanguageCode Default data supplied subject String (84) Read Only DefaultSubject Admin supplied subject. Can be modified or updated only if UseDefault parameter is false. String (84) Read/Write Subject Default data supplied default body. String (2048) Read Only DefaultBody Cisco Unity Connection Provisioning Interface (CUPI) API -- Message Expiration Message Expiration Administrator can use this API to set number of days after which message will be expired and hard deleted from the system. Message Expiration value is applicable for both audio as well as video messages. Fetching Message Expiration field value The following is an example of the GET request to fetch Message Expiration field value of audio and video messages: GET https://<connection-server>/vmrest/messageexpirations The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 610 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Explanation of Data Fields

Page 643#

chunk 607

<MessageExpirations total="1"> <MessageExpiration> <URI>/vmrest/messageexpirations/72269af8-7376-48d2-bf23-9abf6e98b303</URI> <ObjectId>72269af8-7376-48d2-bf23-9abf6e98b303</ObjectId> <Enabled>false</Enabled> <MaximumAgeDays>180</MaximumAgeDays> <MaxVideoMsgAgeDays>30</MaxVideoMsgAgeDays> </MessageExpiration> </MessageExpirations> Response Code: 200 JSON Example GET https://<connection-server>/vmrest/messageexpirations Accept: application/json Content_type: application/json Connection: keep_alive The following is the response from the above GET request: { "@total": "1", "MessageExpiration": { "URI": "/vmrest/messageexpirations/72269af8-7376-48d2-bf23-9abf6e98b303", "ObjectId": "72269af8-7376-48d2-bf23-9abf6e98b303", "Enabled": "true", "MaximumAgeDays": "180", "MaxVideoMsgAgeDays": "30" } } Response Code: 200 Enabling and Updating Message Expiration field value The following is an example of the PUT request that allows you to enable message expiration and update the number of days for Message Expiration of audio and video messages: PUT https://<connection-server>/vmrest/messageexpirations/<messageexpirationobjectid> Request Body: <MessageExpiration> <Enabled>true</Enabled> <MaximumAgeDays>23</MaximumAgeDays> <MaxVideoMsgAgeDays>11</MaxVideoMsgAgeDays> </MessageExpiration> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 611 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Enabling and Updating Message Expiration field value

Page 644#

chunk 608

PUT https://<connection-server>/vmrest/messageexpirations/<messageexpirationobjectid> Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Enabled": "true", "MaximumAgeDays": "55", "MaxVideoMsgAgeDays": "44" } The following is the response from the above PUT request: Response Code: 204 Explanation of Data Fields The following chart lists all of the data fields: Comments Data Type Operations Parameter A globally unique, system-generated identifier for Message Expiration Policy. String (36) Read Only ObjectId A flag indicating whether the Message Expiration is applicable or not. Values can be: • false - Message Expiration is not applicable. • true - Message Expiration is applicable. Default Value - false Boolean Read/Write Enabled The number of days after which the audio/video message will be marked as expired from the Cisco Unity Connection. • Range - 1-999 Days Default Value - 180 Integer Read/Write MaximumAgeDays The number of days after which the video part of a video message will be deleted and only audio part will be retained. Note: It is recommended that the number of days entered in MaxVideoMsgAgeDays should be less than the number of days entered in MaximumAgeDays field. • Range - 1-999 Days Default Value - 30 Integer Read/Write MaxVideoMsgAgeDays Cisco Unity Connection Provisioning Interface (CUPI) API 612 Cisco Unity Connection Provisioning Interface (CUPI) API--Message Aging Policy APIs Explanation of Data Fields

Page 645#

chunk 609

C H A P T E R 43 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Unified Messaging Account, on page 613 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Unified Messaging Account , on page 615 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Services, on page 616 • Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Service Accounts , on page 625 • Cisco Unity Connection Provisioning Interface (CUPI) API -- End User Unified Messaging Accounts, on page 628 Cisco Unity Connection Provisioning Interface (CUPI) API -- User Unified Messaging Account Create a Unified Messaging Account To add a new unified messaging account to user, server must have Unified Messaging Services Configured. The following URI can be used to view the user object ID: GET https://<connection-server>/vmrest/users/<user-objectid From the above URI, get the unified messaging account: GET https://<connection-server>/vmrest/users/<user-objectid>/externalserviceaccounts The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 613

Image 1 from page 645

Page 646#

chunk 610

<ExternalServiceAccount> <URI>/vmrest/users/9375d893-c8eb-437b-90bf- 7de4b1d0c3e8/externalserviceaccounts/39871e30-849a-4dcf-b868-2faf360d503a</URI> <ObjectId>39871e30-849a-4dcf-b868-2faf360d503a</ObjectId> <ExternalServiceObjectId>1cd78b6c-1e6e-4542-a6e7-14f431d6569c</ExternalServiceObjectId> <SubscriberObjectId>9375d893-c8eb-437b-90bf-7de4b1d0c3e8</SubscriberObjectId> <UserURI>/vmrest/users/9375d893-c8eb-437b-90bf-7de4b1d0c3e8</UserURI> <EnableCalendarCapability>true</EnableCalendarCapability> <EnableMeetingCapability>false</EnableMeetingCapability> <EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability> <IsPrimaryMeetingService>false</IsPrimaryMeetingService> <LoginType>0</LoginType> <UserPassword/> <EmailAddress>chhavi@com</EmailAddress> <EnableMailboxSynchCapability>true</EnableMailboxSynchCapability> <EmailAddressUseCorp>false</EmailAddressUseCorp> </ExternalServiceAccount> Response Code: 200 JSON Example GET https://<connection-server>/vmrest/users/<user-objectid>/externalserviceaccounts/<objectid> Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Response Code: 200 Updating the Unified Messaging Account JSON Example To view the unified messaging account, do the following: Request URI: PUT https://<connection-server>/vmrest/users/<userobjectid>/ externalserviceaccounts/<externalserviceaccountsobjectId> Accept: application/json Content-type: application/json Connection: keep-alive { "EmailAddressUseCorp":"true" "EnableCalendarCapability":"true" "EnableMailboxSynchCapability":"true" "EnablTtsOfEmailCapability":"true" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 614 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Updating the Unified Messaging Account

Page 647#

chunk 611

Explanation of Data Fields Comments Operation Data Type Device Name Use Corporate Email Address Default value: False Read/Write Boolean EmailAddressUseCorp Access Exchange Email by Using Text to Speech (TTS) Default value: False Read/Write Boolean EnableTtsOfEmailCapability Access Exchange Calendar and Contacts Default value: False Read/Write Boolean EnableCalendarCapability Synchronize Connection and Exchange Mailboxes (Single Inbox) Default value: False Read/Write Boolean EnableMailboxSynchCapability Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Unified Messaging Account Unified Messaging Account API The following URI can be used to view the user template object ID: GET https://<connection-server>/vmrestvmrest/usertemplates/<usertemplateobjectid> From the above URI, get the unified messaging account: GET https://<connection- server>/vmrestvmrest/usertemplates/<usertemplateobjectid>/templateexternalserviceacco unts Updating the Unified Messaging Account Request Body: <TemplateExternalServiceAccount> <EmailAddressUseCorp>true</EmailAddressUseCorp> <EnableCalendarCapability>true</EnableCalendarCapability> <EnableMailboxSynchCapability>true</EnableMailboxSynchCapability> <EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability> </TemplateExternalServiceAccount> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 615 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Explanation of Data Fields

Page 648#

chunk 612

JSON Example To view the unified messaging account, do the following: Request URI: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobjectid>/templateexternalserviceaccounts/<templateexternalserviceaccountsobjectId Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "EmailAddressUseCorp":"true" "EnableCalendarCapability":"true" "EnableMailboxSynchCapability":"true" "EnablTtsOfEmailCapability":"true" } Response Code: 200 Explanation of Data Fields Comments Operation Data Type Device Name Use Corporate Email Address Default value: False Read/Write Boolean EmailAddressUseCorp Access Exchange Email by Using Text to Speech (TTS) Default value: False Read/Write Boolean EnableTtsOfEmailCapability Access Exchange Calendar and Contacts Default value: False Read/Write Boolean EnableCalendarCapability Synchronize Connection and Exchange Mailboxes (Single Inbox) Default value: False Read/Write Boolean EnableMailboxSynchCapability Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Services About External Services This page contains information on how to use the API to create, list, modify, and delete Unified Messaging Services (also known as external services). When you create Unified Messaging Service Accounts, you base Cisco Unity Connection Provisioning Interface (CUPI) API 616 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Explanation of Data Fields

Page 649#

chunk 613

each account on a Unified Messaging Service. Creating a new Unified Messaging service is based on any one of the following: • Exchange/BPOS-D • MeetingPlace • Office 365 • Google Workspace (applicable with Unity Connection 14 and later) Unity Connection 14 and later provides a new way to users for accessing the voice messages on their Gmail account. For this, you need to configure unified messaging with Google Worspace to synchronize the voice messages between Unity Connection and Gmail server. Listing External Services Example 1 The following is an example of the GET request that lists the Unified Messaging Services: https://<connection_server>/vmrest/externalservices The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 617 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Listing External Services

Page 650#

chunk 614

<ExternalServices total="3"> <ExternalService> <URI>/vmrest/externalservices/53a7675f-94c2-4596-ae3a-69b9287d119d</URI> <ObjectId>53a7675f-94c2-4596-ae3a-69b9287d119d</ObjectId> <AuthenticationMode>3</AuthenticationMode> <DisplayName>exchange_1</DisplayName> <IsEnabled>true</IsEnabled> <SecurityTransportType>1</SecurityTransportType> <Server>10.78.171.187</Server> <ServiceAlias>admin</ServiceAlias> <ServicePassword/> <ServerType>4</ServerType> <SupportsCalendarCapability>true</SupportsCalendarCapability> <SupportsTtsOfEmailCapability>true</SupportsTtsOfEmailCapability> <ValidateServerCertificate>false</ValidateServerCertificate> <UseServiceCredentials>true</UseServiceCredentials> <SupportsMailboxSynchCapability>true</SupportsMailboxSynchCapability> <ExchDoAutodiscover>false</ExchDoAutodiscover> <MailboxSynchFaxAction>1</MailboxSynchFaxAction> <MailboxSynchEmailAction>2</MailboxSynchEmailAction> <ExternalServiceResetURI>/vmrest/externalservices/53a7675f-94c2-4596-ae3a-69b9287d119d/reset</ExternalServiceResetURI> </ExternalService> <ExternalService> <URI>/vmrest/externalservices/bc1dbc08-bfdb-46e8-acb4-12cb511ebb01</URI> <ObjectId>bc1dbc08-bfdb-46e8-acb4-12cb511ebb01</ObjectId> <AuthenticationMode>1</AuthenticationMode> <DisplayName>ofc_365</DisplayName> <IsEnabled>true</IsEnabled> <ServiceAlias>admin</ServiceAlias> <ServicePassword/> <ServerType>5</ServerType> <SupportsCalendarCapability>true</SupportsCalendarCapability> <SupportsTtsOfEmailCapability>true</SupportsTtsOfEmailCapability> <ValidateServerCertificate>false</ValidateServerCertificate> <UseServiceCredentials>true</UseServiceCredentials> <SupportsMailboxSynchCapability>true</SupportsMailboxSynchCapability> <ExchDoAutodiscover>true</ExchDoAutodiscover> <ExchOrgDomain>10.78.171.70</ExchOrgDomain> <ExchSite/> <MailboxSynchFaxAction>1</MailboxSynchFaxAction> <MailboxSynchEmailAction>2</MailboxSynchEmailAction> <ProxyServer/> <ExternalServiceResetURI>/vmrest/externalservices/bc1dbc08-bfdb-46e8-acb4-12cb511ebb01/reset</ExternalServiceResetURI> </ExternalService> <ExternalService> <URI>/vmrest/externalservices/9d7f6b48-19fc-446a-8afe-6d454a0b3de1</URI> <ObjectId>9d7f6b48-19fc-446a-8afe-6d454a0b3de1</ObjectId> <DisplayName>meeting_place</DisplayName> <IsEnabled>true</IsEnabled> <Server>10.78.171.87</Server> <ServiceAlias>admin</ServiceAlias> <ServicePassword/> <ServerType>1</ServerType> <SupportsCalendarCapability>true</SupportsCalendarCapability> <SupportsMeetingCapability>true</SupportsMeetingCapability> <TransferExtensionDialString>12112</TransferExtensionDialString> </ExternalService> </ExternalServices> Cisco Unity Connection Provisioning Interface (CUPI) API 618 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Listing External Services

Page 651#

chunk 615

Example 2 The following is an example of another GET request that lists the Unified Messaging Service based on <externalservice-id>: https://<connection_server>/vmrest/externalservices/<objectId> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <ExternalService> <URI>/vmrest/externalservices/6f4f7023-e9e5-4cd0-bf55-e20a0be6fd78</URI> <ObjectId>6f4f7023-e9e5-4cd0-bf55-e20a0be6fd78</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <AuthenticationMode>1</AuthenticationMode> <DisplayName>UMS_API</DisplayName> <IsEnabled>true</IsEnabled> <SecurityTransportType>1</SecurityTransportType> <Server>10.65.156.190</Server> <ServiceAlias>clientteam\administrator</ServiceAlias> <ServicePassword/> <ServerType>4</ServerType> <SupportsCalendarCapability>true</SupportsCalendarCapability> <SupportsTtsOfEmailCapability>true</SupportsTtsOfEmailCapability> <ValidateServerCertificate>false</ValidateServerCertificate> <UseServiceCredentials>true</UseServiceCredentials> <SupportsMailboxSynchCapability>true</SupportsMailboxSynchCapability> <ExchDoAutodiscover>false</ExchDoAutodiscover> <MailboxSynchFaxAction>1</MailboxSynchFaxAction> <MailboxSynchEmailAction>2</MailboxSynchEmailAction> </ExternalService> Response Code: 200 Listing Specific Tenant Related User Template External Services by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related user template external services using the following URI: GET https://<connection-server>/vmrest/externalservices?query=(TenantObjectId is <Tenant-ObjectId>) To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Adding Unified Messaging Service This section contains information on how to create External Services: • Adding Exchange/BPOS-D External Service • Adding Meeting Place External Service • Adding Office 365 External Service Cisco Unity Connection Provisioning Interface (CUPI) API 619 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Listing Specific Tenant Related User Template External Services by System Administrator

Page 652#

chunk 616

Adding Exchange/BPOS-D External Service The following is an example of the POST request that adds the Exchange/BPOS-D Unified Messaging Service: https://<connection_server>/vmrest/externalservices The request parameters will depend upon the information given by you. <ExternalService> <DisplayName>UMS_API</DisplayName> <ServiceAlias> client-team\administrator</ServiceAlias> <ServicePassword>Ecsbulab12</ServicePassword> <ServerType>4</ServerType> <Server>10.65.156.190</Server> <AuthenticationMode>1</AuthenticationMode> <SecurityTransportType>1</SecurityTransportType> </ExternalService> Response Code: 201 The following are the list of mandatory parameters required to create a Unified Messaging Service: • Display Name: The display name of the unified messaging service • Service Alias: The alias of the unified messaging service • Service Password: The password of the unified messaging service • Server Type: The type of unified messaging service account (Exchange/BPOS-D: 4) • Server: The IP address of the Exchange server • Authentication Mode: The web-based Authentication Mode of the Unified Messaging Service: Basic (1), Digest (2), and NTLM (3) • Exchange Server Type: The Exchange Server Type of the Unified Messaging Account: Exchange 2003 (0) and Exchange 2007/2010/2013 (1) • Security Transport Type: The web-based protocol of the Unified Messaging Account: HTTP (0) and HTTPS (1) Adding Meeting Place External Service The following is an example of the POST request that adds the Meeting Place Unified Messaging Service: https://<connection_server>/vmrest/externalservices The request parameters will depend upon the information given by you. <ExternalService> <DisplayName>MeetingPlace</DisplayName> <ServiceAlias> admin</ServiceAlias> <ServicePassword>ecsbulab</ServicePassword> <ServerType>1</ServerType> <Server>10.76.175.167</Server> <TransferExtensionDialString>111111</TransferExtensionDialString> </ExternalService> Response Code: 201 Cisco Unity Connection Provisioning Interface (CUPI) API 620 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Adding Exchange/BPOS-D External Service

Page 653#

chunk 617

Adding Office 365 External Service Unity Connection 12.5(1) SU2 and later supports OAuth2 web authentication mode for configuring Unified Messaging with Office 365 service. For using OAuth2 web authentication mode for configuring Unified Messaging, you must create and register an application on Microsoft Azure portal corresponding to the Unified Messaging Service. After registering the application, you will get the values of Application (Client) ID, Directory ID and Client Secret on Azure portal. With Unity Connection 11.5(1) SU9 and later, two new fields, AdAuthenticationEndpoint and ResourceURI are introduced in this API. These fields are auto populated with default values which can be modified according to required Active Directory. For more information on configuring Unified Messaging with OAuth2 authentication mode, see Task List for Configuring Unified Messaging section of "Configuring Unified Messaging" chapter in Unified Messaging Guide for Cisco Unity Connection Release 12.x guide available at https://www.cisco.com/c/en/us/td/docs/ voice_ip_comm/connection/12x/unified_messaging/b_12xcucumgx.html. The following is an example of the POST request that adds the Office 365 Unified Messaging Service: https://<connection_server>/vmrest/externalservices The request parameters will depend upon the information given by you. <ExternalService> <DisplayName>OFC_Service</DisplayName> <IsEnabled>true</IsEnabled> <ExchDoAutodiscover>true</ExchDoAutodiscover> <ExchOrgDomain>domain.com</ExchOrgDomain> <SupportsCalendarCapability>true</SupportsCalendarCapability> <ServiceAlias>admin</ServiceAlias> <SupportsCalendarCapability>true</SupportsCalendarCapability> <SupportsTtsOfEmailCapability>true</SupportsTtsOfEmailCapability> <SupportsMeetingCapability>false</SupportsMeetingCapability> <ValidateServerCertificate>false</ValidateServerCertificate> <UseServiceCredentials>true</UseServiceCredentials> <AuthenticationMode>4</AuthenticationMode> <ServicePassword>password123</ServicePassword> <ServerType>5</ServerType> <ClientId>d64ea56b-1d60-47c7-a26d-7bcbee3a09c3</ClientId> <ClientSecret> </ClientSecret> <DirectoryID>cafae64a-ffb2-4585-8c11-2d86aa8b3bf5</DirectoryID> <AdAuthenticationEndpoint>https://login.microsoftonline.com</AdAuthenticationEndpoint> <ResourceURI>https://outlook.office365.com</ResourceURI></ExternalService> Response Code: 201 The following are the list of mandatory parameters required to create a Unified Messaging Service: • Display Name: The display name of the unified messaging service • Service Alias: The administrator account name of active directory • Service Password: The administrator account password of active directory • Server Type: The type of unified messaging service account. The value of Server Type for Office 365 is 5 • ExchOrgDomain: The domain name of hosted exchange server • ExchDoAutodiscover: The Auto Discovery flag that should always be true for Office 365 Cisco Unity Connection Provisioning Interface (CUPI) API 621 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Adding Office 365 External Service

Page 654#

chunk 618

AuthenticationMode: The web authentication mode for Unified Messaging. The possible authentication mode can be Basic (1), NTLM (3) and OAuth2 (4) for Office 365 service. By default, the Authentication Mode is set to Basic (1). Note If you select OAuth2 authentication mode for Office 365 service, you must provide the values of DirectoryID, ClientId and ClientSecret from Azure portal. Note (Applicable to 12.5SU7 and later releases) If you select OAuth2 authentication mode for Office 365 service, Service Alias and Service Password fields are not required in API request body for adding Unified Messaging Service. Note Modifying Unified Messaging Service The following is an example of the PUT request that modifies the Unified Messaging Service represented by <externalserviceObject-id>: https://<connection_server>/vmrest/externalservices/<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <ExternalService> <ServiceAlias> client-team\administrator</ServiceAlias> <ServicePassword>Ecsbulab13</ServicePassword> <ServerType>4</ServerType> <Server>10.65.156.190</Server> <AuthenticationMode>1</AuthenticationMode> <SecurityTransportType>1</SecurityTransportType> </ExternalService> <ExternalService> <ServiceAlias> client-team\administrator</ServiceAlias> <ServicePassword></ServicePassword> <ServerType>4</ServerType> <Server>10.65.156.190</Server> <AuthenticationMode>4</AuthenticationMode> <SecurityTransportType>1</SecurityTransportType> <ClientId>d64ea56b-1d60-47c7-a26d-7bcbee3a09c3</ClientId> <ClientSecret></ClientSecret> <DirectoryID>cafae64a-ffb2-4585-8c11-2d86aa8b3bf5</DirectoryID> </ExternalService> Successful Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 622 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Modifying Unified Messaging Service

Image 1 from page 654

Page 655#

chunk 619

(Applicable to 12.5SU7 and later releases) If you select OAuth2 authentication mode for Office 365 service, Service Alias and Service Password fields are not relevant in modification of Unified Messaging Service. Note Deleting Unified Messaging Service The following is an example of the DELETE request that deletes a Unified Messaging Service as represented by < externalserviceobject-id >: https://<connection_server>/vmrest/usertemplates/externalservices/<objectId > The output for this request returns the successful response code. Response Code: 204 Explanation of Data Fields Description Field The display name of the unified messaging service Display Name The administrator account name of active directory Service Alias The administrator account password of active directory Service Password The type of unified messaging service account. Possible values are: Server Type • 1: For Meeting Place • 4: For Exchange /BPOS-D • 5: For Office 365 The IP address of the Exchange server Server The web-based Authentication Mode of the Unified Messaging Service. Possible value are: Authentication Mode • 1: For Basic • 2: For Digest • 3: For NTLM • 4: OAuth2 By default, the Authentication Mode is set to Basic (1) Cisco Unity Connection Provisioning Interface (CUPI) API 623 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Deleting Unified Messaging Service

Image 1 from page 655

Page 656#

chunk 620

Description Field The Exchange Server Type of the Unified Messaging Account. Possible values are: Exchange Server Type • 0: Exchange 2003 • 1: Exchange 2007/2010/2013 and above The web-based protocol of the Unified Messaging Account. Possible values are: Security Transport Type • 0: For HTTP • 1: For HTTPS The digits that Cisco Unity Connection must dial to transfer users on the phone to the opening of the Cisco Unified Meeting Place Server TransferExtensionDialString The domain name of hosted exchange server ExchOrgDomain The Auto Discovery flag that should always be true for Office 365 ExchDoAutodiscover (Applicable only when OAuth2 authentication mode is selected) Directory id of the application registered on Microsoft Azure portal DirectoryID (Applicable only when OAuth2 authentication mode is selected) Client id of the application registered on the Microsoft Azure portal ClientID (Applicable only when OAuth2 authentication mode is selected) The value of Client Secret of the application registered on the Microsoft Azure portal. ClientSecret (Applicable only when OAuth2 authentication mode is selected) This field is optional . Its value depend AD Authentication Endpoint on Active Directory chosen on Microsoft Azure Portal. For different values of AD Authentication Endpoint, refer Endpoints of the registered application at Azure portal. Default value of AD Authentication Endpoint field is https://login.microsoftonline.com (Applicable only when OAuth2 authentication mode is selected)This field is optional . Its value depend on Resource URI Active Directory chosen on Microsoft Azure Portal. Default value of Resource URI field is https://outlook.office365.com Cisco Unity Connection Provisioning Interface (CUPI) API 624 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Explanation of Data Fields

Page 657#

chunk 621

Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Service Accounts About External Service Accounts A user template may have zero or more unified messaging service accounts (also known as external service accounts). Examples of these services include Cisco Unified MeetingPlace 8.0, Exchange 2003, Exchange 2007, and Exchange 2010. Using CUPI for user templates, an administrator can: • Retrieve a list of its unified messaging service accounts, • Retrieve one of its unified messaging service accounts, and • Change the password for one of its unified messaging service accounts Listing External Service Accounts To retrieve a list of unified messaging service accounts, use the GET method with URI: https://<connection_server>/vmrest/usertemplates/usertemplateobject-id/templateexternalserviceaccounts In the following example, the user has two unified messaging service accounts, Exchange2K3 and Exchange2K7: GET https://<connection-server>/vmrest/usertemplates/<usertemplateobject-id>/externalserviceaccounts <TemplateExternalServiceAccounts total="1"> <TemplateExternalServiceAccount> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/templateexternalserviceaccounts/c4e7b01f-8b6e-4a08-9d57-856e81919c66</URI> <EmailAddressUseCorp>false</EmailAddressUseCorp> <EnableCalendarCapability>true</EnableCalendarCapability> <EnableMailboxSynchCapability>true</EnableMailboxSynchCapability> <EnableMeetingCapability>false</EnableMeetingCapability> <EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability> <ExternalServiceObjectId>26f20913-af8d-465a-8437-707028d376bd</ExternalServiceObjectId> <IsPrimaryMeetingService>false</IsPrimaryMeetingService> <LoginType>0</LoginType> <ObjectId>c4e7b01f-8b6e-4a08-9d57-856e81919c66</ObjectId> <UserTemplateObjectId>85a845d3-063d-4641-aa70-8b536282bffb</UserTemplateObjectId> <UserTemplateURI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb</UserTemplateURI> <DisplayName>UMS_AP1111I</DisplayName> <ServerType>4</ServerType> <UserTemplateDisplayName>Template</UserTemplateDisplayName> </TemplateExternalServiceAccount> </TemplateExternalServiceAccounts> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 625 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template External Service Accounts

Page 658#

chunk 622

For each unified messaging service account, CUPI returns the following information: • URI - The URI for retrieving the unified messaging service account • IsEnabled - A flag to indicate whether the unified messaging service account is enabled • UseServiceCredentials - A flag to indicate whether service credentials or user credentials are used to sign in the unified messaging service account • LoginType - A flag to indicate whether the user alias (0), a guest account (1), or a specified user ID (2) is used to sign in the account • UserId - The user ID to sign in to the unified messaging service account, if one is used • ObjectId - The unique ID of the unified messaging service account • Display Name - The display name of the unified messaging service account To retrieve a specific unified messaging service account, use the GET method with the URI field from above as follows: GET http://<connection_server>/vmrest/usertemplates/<objectId>/templateexternalserviceaccounts/<objectId> <?xml version="1.0" encoding="UTF-8"?> <TemplateExternalServiceAccount> <URI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb/templateexternalserviceaccounts/c4e7b01f-8b6e-4a08-9d57-856e81919c66</URI> <EmailAddressUseCorp>false</EmailAddressUseCorp> <EnableCalendarCapability>true</EnableCalendarCapability> <EnableMailboxSynchCapability>true</EnableMailboxSynchCapability> <EnableMeetingCapability>false</EnableMeetingCapability> <EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability> <ExternalServiceObjectId>26f20913-af8d-465a-8437-707028d376bd</ExternalServiceObjectId> <IsPrimaryMeetingService>false</IsPrimaryMeetingService> <LoginType>0</LoginType> <ObjectId>c4e7b01f-8b6e-4a08-9d57-856e81919c66</ObjectId> <UserTemplateObjectId>85a845d3-063d-4641-aa70-8b536282bffb</UserTemplateObjectId> <UserTemplateURI>/vmrest/usertemplates/85a845d3-063d-4641-aa70-8b536282bffb</UserTemplateURI> <DisplayName>UMS_AP1111I</DisplayName> <ServerType>4</ServerType> <UserTemplateDisplayName>Template</UserTemplateDisplayName> </TemplateExternalServiceAccount> Response Code: 200 Adding New External Service Account The following is an example of the POST request that adds a Unified Messaging Account: https://<connection_server>/vmrest/usertemplates/<objectId>/templateexternalserviceaccounts/<objectId> The actual response will depend upon the information given by you. The following are the mandatory parameters that you need to enter to create a Unified Messaging Account: Cisco Unity Connection Provisioning Interface (CUPI) API 626 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Adding New External Service Account

Page 659#

chunk 623

<TemplateExternalServiceAccount> <ExternalServiceObjectId>NewUnfiedServiceAccount </ExternalServiceObjectId> <EnableCalendarCapability>true</EnableCalendarCapability> <EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability> <EnableMailboxSynchCapability>true</EnableMailboxSynchCapability> </TemplateExternalServiceAccount> Response Code: 201 Modifying External Service Account The following is an example of the PUT request that modifies a Unified Messaging Account as represented by <unifiedmessagingaccountid>: https://<connection_server>/vmrest/usertemplates/<objectId>/ templateexternalserviceaccounts /<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <TemplateExternalServiceAccount> <EnableCalendarCapability>true</EnableCalendarCapability> <EnableTtsOfEmailCapability>true</EnableTtsOfEmailCapability> <EnableMailboxSynchCapability>true</EnableMailboxSynchCapability> </TemplateExternalServiceAccount> Response Code: 204 Deleting External Service Account The following is an example of the DELETE request that deletes a Unified Messaging Account as represented by < externalserviceaccount-id >: https://<connection_server>/vmrest/usertemplates/<template-object-id>/ templateexternalserviceaccounts /< objectId> The output for this request returns the successful response code. Response Code: 204 Explanation of Data Fields The following chart lists all of the data fields available on External Service Accounts. Explanation/Comments Available Value Writable? Field Name Use Corporate Email Address True/False Read/Write EmailAddressUseCorp Enables users to hear notification of upcoming meetings on the phone. True/False Read/Write EnableCalendarCapability Cisco Unity Connection Provisioning Interface (CUPI) API 627 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Modifying External Service Account

Page 660#

chunk 624

Explanation/Comments Available Value Writable? Field Name Synchronizes voice messages in Connection and Exchange. True/False Read/Write EnableMailboxSynchCapability Enables Meeting Capability True/False Read Only EnableMeetingCapability Enables users to access Exchange email messages by using text to speech. True/False Read/Write EnableTtsOfEmailCapability Displays External Service ObjectId 36 characters Read Only ExternalServiceObjectId Displays Primary Meeting Service True/False Read Only IsPrimaryMeetingService read Dipslays the type of login done by the 0-Login using user's Connection alias used for login 1- Login as guest 2-Login as UserId| Base, Phone, Pager Read/Write LoginType ObjectId of the Device Read Only All ObjectId Displays user template URI Read Only UserTemplateURI Displays user template ObjectId 36 characters Read Only UserTemplateObjectId Friendly name for the Device like "Mobile Phone" Read/Write All DisplayName Displays the name of the external service account 1-MeetingPlace 8.x,4-Exchange/BPOS-D,5-Office 365 Read Only ServerType Display Name for User Template. 1-64 characters Read Only UserTemplateDisplayName Cisco Unity Connection Provisioning Interface (CUPI) API -- End User Unified Messaging Accounts Unified Messaging Account API Updating the Unified Messaging Account JSON Example To view the unified messaging account, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 628 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Cisco Unity Connection Provisioning Interface (CUPI) API -- End User Unified Messaging Accounts

Page 661#

chunk 625

Request URI: PUT https://<connection-server>/vmrest/users/<userobjectid>/ externalserviceaccounts/<externalserviceaccountsobjectId> Accept: application/json Content-type: application/json Connection: keep-alive { "EmailAddressUseCorp":"true" "EnableCalendarCapability":"true" "EnableMailboxSynchCapability":"true" "EnablTtsOfEmailCapability":"true" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields Comments Data Type Operation Parameters URI of the Unified Messaging Account. String Read Only URI Unique Identifier of the Unified Messaging Account. String (36) Read Only ObjectId A flag indicating whether the external service is enabled. • false: The external service is disabled. • true: The external service is enabled. Default value: false. Boolean Read Only IsEnabled A flag indicating whether to use service credentials rather than user credentials to logon to the external service. • false: Use user credentials. • true: Use service credentials. Boolean Read Only UseServiceCredentials A flag to indicate whether the user alias (0), a guest account (1), or a specified user ID (2) is used to sign in the account . Integer Read Only Login Type The display name of the unified messaging service account. String (64) Read/Write Display Name The user ID to sign in to the unified messaging service account, if one is used String Read Only UserId Cisco Unity Connection Provisioning Interface (CUPI) API 629 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Explanation of Data Fields

Page 662#

chunk 626

Cisco Unity Connection Provisioning Interface (CUPI) API 630 Cisco Unity Connection Provisioning Interface (CUPI) API for Unified Messaging Explanation of Data Fields

Page 663#

chunk 627

C H A P T E R 44 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan • Cisco Unity Connection Provisioning Interface (CUPI) API -- Partition API , on page 631 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space API, on page 636 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space Member API, on page 644 Cisco Unity Connection Provisioning Interface (CUPI) API -- Partition API Partition API Administrator can use this API to create, update, delete, or fetch the partition. In Cisco Unity Connection, you create partitions as a way to group together objects to which callers and users can address messages or place calls while interacting with Connection. One or more partitions can be grouped together as members of a search space, and a partition can be a member of more than one search space. The following types of objects belong to a partition: • User Templates • Call Handler Templates • Contact Templates • Users with mailboxes (primary extension) • User alternate extensions • Contacts (including VPIM contacts) • System distribution lists • System call handlers • Directory handlers • Interview handlers • VPIM locations Extensions must be unique within a partition, although partitions can contain objects that do not have an associated extension (for example, some contacts and system distribution lists). The names of objects do not have to be unique within a partition. Administrator-defined contact phone numbers also do not need to be unique within a partition. Cisco Unity Connection Provisioning Interface (CUPI) API 631

Image 1 from page 663

Page 664#

chunk 628

Listing the Partitions The following is an example of the GET request that lists all the existing partitions: GET https://<connection-server>/vmrest/partitions The following is the response from the above GET request: <Partitions total="2"> <Partition> <URI>/vmrest/partitions/53e16c90-1cc6-4bde-b6c8-77daf1d31d02</URI> <ObjectId>53e16c90-1cc6-4bde-b6c8-77daf1d31d02</ObjectId> <Name>ucbu-aricent-vm256 Partition</Name> <Description>Default Partition</Description> <LocationObjectId>6e81cad2-9c0b-42c1-bb6f-4edb38a70cbd</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/6e81cad2-9c0b-42c1-bb6f- 4edb38a70cbd</LocationURI> </Partition> <Partition> <URI>/vmrest/partitions/924ee2d5-758b-4ded-8db7-ae7bc11b59b2</URI> <ObjectId>924ee2d5-758b-4ded-8db7-ae7bc11b59b2</ObjectId> <Name>Taxoma_DefaultPartition</Name> <Description>Default Partition for Taxoma</Description> <LocationObjectId>6e81cad2-9c0b-42c1-bb6f-4edb38a70cbd</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/6e81cad2-9c0b-42c1-bb6f- 4edb38a70cbd</LocationURI> </Partition> </Partitions> Response Code: 200 JSON Example The following is an example of the GET command that will list all the partitions: Request URI: GET https://<connection-server>/vmrest/partitions Accept: applciation/json Connection: keep_alive The following is the example of the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 632 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Listing the Partitions

Page 665#

chunk 629

{ "@total": "2", "Partition": [ { "URI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "ObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "Name": "ucbu-aricent-vm259 Partition", "Description": "Default Partition", "LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f", "LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c- 9a6e-2da8756eeb6f" }, { "URI": "/vmrest/partitions/5c28f078-8142-4844-b3c0-8fddf33639c4", "ObjectId": "5c28f078-8142-4844-b3c0-8fddf33639c4", "Name": "Taxoma21_Partition_1", "LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f", "LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c- 9a6e-2da8756eeb6f" } ] } Response Code: 200 Viewing a Specific Partition The following is an example of the GET request that list the detail of a particular partition: GET https://<connection-server>/vmrest/partitions/<PartitionObjectId> The following is the response from the above GET request: <Partition> <LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId> <URI>/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</URI> <ObjectId>d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b</ObjectId> <Name>ucbu-aricent-vm259 Partition</Name> <Description>Default Partition</Description> <LocationObjectId>bbf3e6ed-0278-479c-9a6e-2da8756eeb6f</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f</LocationURI> </Partition> Response Code: 200 JSON Example The following is an example of the GET command that will get the detail of a particular partition: Request URI: GET https://<connection-server>/vmrest/partitions/<PartitionObjectId> Accept: applciation/json Connection: keep_alive The following is the example of the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 633 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Viewing a Specific Partition

Page 666#

chunk 630

{ "URI": "/vmrest/partitions/d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "ObjectId": "d50e9d0b-656e-416d-b5b7-43c4d2e2fd0b", "Name": "ucbu-aricent-vm259 Partition", "Description": "Default Partition", "LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f", "LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f" } Response Code: 200 Creating a Partition The following is an example of the POST request that creates a partition: POST https://<connection-server>/vmrest/partitions Request Body: <Partition> <Name>Taxoma_DefaultPartition</Name> <Description>Default Partition for Taxoma</Description> </Partition> The following is the example of the response from the above Post request: Response Code: 201 JSON Example The following is an example of the POST command that will create a new partition: Request URI: POST https://<connection-server>/vmrest/partitions Accept: applciation/json Content_type: application/json Connection: keep_alive Request Body: { "Name": "Test", "Description": "Test_partition" } The following is the example of the response from the above GET request: Response Code: 201 Updating a Partition The following is an example of the PUT request that allows you to update a partition: PUT https://<connection-server>/vmrest/partitions/<PartitionObjectId> Request Body: <Partition> <Name>Test123</Name> <Description>Taxoma Default Partition</Description> </Partition> Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 634 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Creating a Partition

Page 667#

chunk 631

The output for this request returns the successful response code. JSON Example The following is an example of the PUT command that will update a partition: PUT https://<connection-server>/vmrest/partitions/<PartitionObjectId> Accept: applciation/json Content_type: application/json Connection: keep_alive Request Body: { "Name": "Test123", "Description": "Hello" } The following is the example of the response from the above *PUT * request: Response Code: 204 Deleting a Partition The following is an example of the DELETE request that deletes a specific partition where you need to mention the partition object ID: You are not allowed to delete a default search space if a partition is referred in a search space, or referred by a user. Note Response Code: 204 The output for this request returns the successful response code. JSON Example The following is an example of the DELETE command that will delete a partition: DELETE https://<connection-server>/vmrest/partitions/<PartitionObjectId> Accept: applciation/json Connection: keep_alive Response Code: 204 Deleting a Partition Included in Search Scope Make sure to add the partition to a search space. The following is an example of the DELETE request that deletes a specific partition which is included in a search scope: Delete https://<connection-server>/vmrest/partitions/<PartitionObjectId> Response Code: 204 JSON Example The following is an example to delete a partition included in a search scope: Cisco Unity Connection Provisioning Interface (CUPI) API 635 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Deleting a Partition

Image 1 from page 667

Page 668#

chunk 632

Delete https://<connection-server>/vmrest/partitions/<PartitionObjectId> Accept: application/json Connection: keep_alive Response Code: 204 Explanation of Data Fields Comments Data Type Operations Parameter The primary key for this table. A systemgenerated, globally unique object identifier. String (36) Read Only ObjectId The unique text name of this partition. This name is used when displaying entries in the administrative interface. The name can be upto 50 characters long. String (50) Read/Write Name The description of the partition. If a description is not entered, the partition name is entered. String (50) Read/Write Description The unique identifier of the LocationVms on which this partition was created. It is used by networking to determine on which LocationVms the properties of the partition are administered. String (36) Read Only LocationObjectId Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space API Search Space API Search spaces are used to define the search scope of objects (users, distribution lists, and so on) that a user or outside caller can reach while interacting with Connection. For example, the search scope that is applied to a user identifies which users, distribution lists, or VPIM contacts the user can address messages to. It also identifies which users and contacts the user can dial by name when using the voicerecognition conversation. A search space is comprised of one or more ordered partitions. When Connection searches for an object on behalf of a caller, it searches the partitions in the order in which they are arranged in the search space. While extensions must be unique within a partition, they do not need to be unique within a search space, so you can use search spaces to handle dial plans that have overlapping extensions. Operation Supported: Create, Read, Update and Delete. Listing the Search Spaces The following is an example of the GET request that lists all the search spaces: GET https://<connection-server>/vmrest/searchspaces The following is the response from the above GET request. Cisco Unity Connection Provisioning Interface (CUPI) API 636 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Explanation of Data Fields

Page 669#

chunk 633

<SearchSpaces total="1"> <SearchSpace> <URI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69-ea786f6024be</URI> <ObjectId>7479b688-9c97-4a4b-ab69-ea786f6024be</ObjectId> <Name>Search Space</Name> <Description>Default Search Space</Description> <LocationObjectId>08b0402c-ba81-4f16-bcba-ca7883de0482</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/08b0402c-ba81-4f16-bcba ca7883de0482</LocationURI> <TimeOwnershipChanged>2012-12-10T19:23:29Z</TimeOwnershipChanged> <SearchSpaceMembersURI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69- ea786f6024be/searchspacemembers</SearchSpaceMembersURI> </SearchSpace> </SearchSpaces> Response Code: 200 JSON Example To list all the search spaces use the following command, do the following: Request URI: GET https://<connection-server>/vmrest/searchspacesAccept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: "@total":"2", "SearchSpace": [ { "URI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-ee5e33281706" "ObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706" "Name":"ucbu-aricent-vm463 Search Space" "Description":"Default Search Space" "LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e" "LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead d1970625f82e" "TimeOwnershipChanged":"2013-02-25 09:37:36.99" "SearchSpaceMembersURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c ee5e33281706/searchspacemembers" }, { "URI":"/vmrest/searchspaces/97efa220-31a7-4409-a0cd-2cdfc669182f" "ObjectId":"97efa220-31a7-4409-a0cd-2cdfc669182f" "Name":"hello_SearchSpace_1" "LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e" "LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-beadd1970625f82e" "TimeOwnershipChanged":"2013-02-26T05:05:10Z" "SearchSpaceMembersURI":"/vmrest/searchspaces/97efa220-31a7-4409-a0cd- 2cdfc669182f/searchspacemembers" } ] Response Code: 200 Viewing the Specific Search Space Details The following is an example of the GET request that lists the details of specific search space represented by the provided value of search space object ID: GET https://<connection-server>/vmrest/searchspaces/<searchspaceobjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 637 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Viewing the Specific Search Space Details

Page 670#

chunk 634

The following is the response from the above GET request: <SearchSpaceMembers total="1"> <SearchSpaceMember> <URI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69- ea786f6024be/searchspacemembers/8433db04-60e0-414d-99bc-c48dcf8254cb</URI> <ObjectId>8433db04-60e0-414d-99bc-c48dcf8254cb</ObjectId> <PartitionObjectId>ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionObjectId> <PartitionURI>/vmrest/partitions/ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionURI> <SearchSpaceObjectId>7479b688-9c97-4a4b-ab69-ea786f6024be</SearchSpaceObjectId> <SearchSpaceURI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69- ea786f6024be</SearchSpaceURI> <SortOrder>1</SortOrder> </SearchSpaceMember> </SearchSpaceMembers> Response Code: 200 JSON Example To view the specific search space, use the following command: GET https://<connection-server>/vmrest/searchspaces/<searchspaceobjectid> Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-ee5e33281706" "ObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706" "Name":"ucbu-aricent-vm463 Search Space" "Description":"Default Search Space" "LocationObjectId":"cff1347e-87af-4409-bead-d1970625f82e" "LocationURI":"/vmrest/locations/connectionlocations/cff1347e-87af-4409-bead d1970625f82e" "TimeOwnershipChanged":"2013-02-25 09:37:36.99" "SearchSpaceMembersURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c ee5e33281706/searchspacemembers" } Response Code: 200 Creating a Search Space The following is an example of the POST request that creates a search space: POST https://<connection-server>/vmrest/searchspaces Request URI: <SearchSpace> <Name>Taxoma_SearchSpace</Name> </SearchSpace> The following is the example of the response from the above Post request: Response Code: 201 /vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d Cisco Unity Connection Provisioning Interface (CUPI) API 638 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Creating a Search Space

Page 671#

chunk 635

JSON Example To create a search space, use the following command: Request URI: POST https://<connection-server>/vmrest/searchspaces Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Name": "Taxoma_SearchSpace1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d Creating a Search Space The following is an example of the POST request that creates a search space: POST https://<connection-server>/vmrest/searchspaces Request URI: <SearchSpace> <Name>Taxoma_SearchSpace</Name> </SearchSpace> The following is the example of the response from the above Post request: Response Code: 201 /vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d JSON Example To create a search space, use the following command: Request URI: POST https://<connection-server>/vmrest/searchspaces Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Name": "Taxoma_SearchSpace1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d Adding a Member in a Search Space The following conditions should be checked before you add a member in a search space: Cisco Unity Connection Provisioning Interface (CUPI) API 639 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Creating a Search Space

Page 672#

chunk 636

• Identify the search space to which you want to add partitions. • Obtain the object ID of the partition that has to be added using the following URI GET https://<connection-server>/vmrest/partitions The following is an example of the POST request that allows you to add a member in a search space: POST https://<connection-server>/vmrest/searchspaces/<ObjectId>/searchspacemembers Request Body: <SearchSpaceMember> <PartitionObjectId>2be94430-a2b4-4a0c-b53c-a0290810d0ef</PartitionObjectId> <SortOrder>1</SortOrder> </SearchSpaceMember> The output for this request returns the following response: Response Code: 201 /vmrest/searchspaces/4fc208e7-cb84-4e3f-bcf0-11f69c212b1d/searchspacemembers/f93deeb3-71b2- 4198-bd55-53dc4a11f37c JSON Example To add a member in a search space, use the following command: Request URI: POST https://<connection-server>/vmrest/searchspaces/seacrchspaceobjectid/searchspacemembers Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "PartitionObjectId": "97bf6afe-346e-4275-967e-43c50be79d32", "SortOrder": "1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/searchspaces/72bf712e-ebad-4398-997c-5c21fb1c18c4/searchspacesmembers/0453712e-ebadeadc- 997c-5c21fb1c18c4 List all the Search Space Members Associated with a Specific Search Space The following is an example of the GET request that lists all the search space members associated with a specific search space: Cisco Unity Connection Provisioning Interface (CUPI) API 640 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan List all the Search Space Members Associated with a Specific Search Space

Page 673#

chunk 637

GET https://<connection-server>/vmrest/searchspaces/seacrchspaceobjectid/searchspacemembers <SearchSpaceMembers total="1"> <SearchSpaceMember> <URI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69- ea786f6024be/searchspacemembers/8433db04-60e0-414d-99bc-c48dcf8254cb</URI> <ObjectId>8433db04-60e0-414d-99bc-c48dcf8254cb</ObjectId> <PartitionObjectId>ff1c9ff2-6fcc-47e9-a4e0-a220c6e3ae4e</PartitionObjectId> <PartitionURI>/vmrest/partitions/ff1c9ff2-6fcc-47e9-a4e0- a220c6e3ae4e</PartitionURI> <SearchSpaceObjectId>7479b688-9c97-4a4b-ab69- ea786f6024be</SearchSpaceObjectId> <SearchSpaceURI>/vmrest/searchspaces/7479b688-9c97-4a4b-ab69- ea786f6024be</SearchSpaceURI> <SortOrder>1</SortOrder> </SearchSpaceMember> </SearchSpaceMembers> Response Code: 200 JSON Example To add a member in a search space, use the following command: GET https://<connection-server>/vmrest/searchspaces/seacrchspaceobjectid/searchspacemembers Accept: application/json Content_type: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the information given by you: "@total":"1" "SearchSpaceMember": { "URI":"/vmrest/searchspaces/8190d682-9775-4622-9609- a113e594b84a/searchspacemembers/540fc81a-d391-4760-9c5f-3d5eac6b8568" "ObjectId":"540fc81a-d391-4760-9c5f-3d5eac6b8568" "PartitionObjectId":"97bf6afe-346e-4275-967e-43c50be79d32" "PartitionURI":"/vmrest/partitions/97bf6afe-346e-4275-967e-43c50be79d32" "SearchSpaceObjectId":"8190d682-9775-4622-9609-a113e594b84a" "SearchSpaceURI":"/vmrest/searchspaces/8190d682-9775-4622-9609-a113e594b84a" "SortOrder":"1" } Response Code: 200 <pre> === Updating a Search Space === The following is an example of the PUT request that allows you to update a search space: <pre> PUT https://<connection-server>/vmrest/searchspaces/<searchspaceobjectid> Request Body: <SearchSpace> <Name>Taxoma_SearchSpace</Name> <Description>Default search space for taxoma</Description> </SearchSpace> Response Code: 204 The output for this request returns the successful response code. JSON Example To update a search space, use the following command: Cisco Unity Connection Provisioning Interface (CUPI) API 641 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan List all the Search Space Members Associated with a Specific Search Space

Page 674#

chunk 638

Request URI: PUT https://<connection-server>/vmrest/searchspaces/seacrchspaceobjectid/ Accept: application/json Content_type: application/json Connection: keep_alive Request Body: { "Name": "Taxoma_SearchSpace", "Description": "Default search space for taxoma" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Deleting the Search Space The following is an example of the DELETE request that deletes a specific search space where you need to mention the search space object ID: DELETE https://<connection-server>/vmrest/searchspaces/<seacrchspaceobjectid> Response Code: 204 You are not allowed to delete a default search space or if a search space that has been assigned to any user, call handler or a routing rule. The output for this request returns the successful response code. Note JSON Example To delete a search space, use the following command: DELETE: https://<connection-server>/vmrest/searchspaces/<seacrchspaceobjectid > Accept: application/json Connection: keep_alive Response Code: 204 Deleting the Search Space Members The following is an example of the DELETE request that deletes a specific search space member where you need to mention the search space members object ID: DELETE https://<connection-server>/vmrest/searchspaces/<seacrchspaceobjectid> /searchspacemembers/<searchspacememberobjectid> Response Code: 204 JSON Example To delete a search space member, use the following command: Cisco Unity Connection Provisioning Interface (CUPI) API 642 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Deleting the Search Space

Image 1 from page 674

Page 675#

chunk 639

DELETE: https://<connectionserver>/ vmrest/searchspaces/seacrchspaceobjectid/searchspacemembers/<searchspacememberobjectid> Accept: application/json Connection: keep_alive Response Code: 204 Explanation of Data Fields Search Space The following chart lists all of the data fields for search space: Comments Data Type Operations Parameter The search space URL. String Read Only URI The primary key for this table. A systemgenerated, globally unique object identifier. String (36) Read Only ObjectId The unique text name of this search space. String (50) Read/Write Name The description of the search space. String (50) Read/Write Description The unique identifier on which this search space was created. String (36) Read Only LocationObjectId The location of the URL. String Read Only LocationURI The time when the ownership of this search space changed. If ownership has never changed, this value will show the creation time. Date/Time TimeOwnershipChanged URI of the search space member String Read Only SearchSpaceMemberURI Search Space Members Comments Data Type Operations Parameter URI of Search Space's member String Read Only URI Object Id of the search space's member String (36) Read Only ObjectId Object Id of the partition String (36) Read Only PartitionObjectId URI of the partition. String Read Only PartitionURI Cisco Unity Connection Provisioning Interface (CUPI) API 643 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Explanation of Data Fields

Page 676#

chunk 640

Comments Data Type Operations Parameter Object Id of the search space String (36) Read Only SearchSpaceObjectId URI of the search space String Read Only SearchSpaceURI Order preference of the member Partition. Integer Read Only SortOrder Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space Member API Search Space API In Cisco Unity Connection, you create partitions as a way to group together objects to which callers and users can address messages or place calls while interacting with Connection. One or more partitions can be grouped together as members of a search space, and a partition can be a member of more than one search space. Search Space's Members provide the list of partitions and their respective search spaces so that search spaces can be queried on the basis of the partitions that it contains. Listing the Search Spaces Members Based on Partition Object ID The following is an example of the GET request that lists all the search space members: Cisco Unity Connection Provisioning Interface (CUPI) API 644 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Cisco Unity Connection Provisioning Interface (CUPI) API -- Search Space Member API

Page 677#

chunk 641

GET: https://<connectionserver>/vmrest/searchspacesmembers?query=(PartitionObjectId%20is%20partiti onobjectid) The following is the response from the above GET request and the actual response will depend upon the information given by you: <SearchSpacesMembers total="2"> <SearchSpacesMember> <URI>/vmrest/searchspacesmembers/ef101893-8687-49f6-b658-b05e110690d5</URI> <ObjectId> ef101893-8687-49f6-b658-b05e110690d5</ObjectId> <PartitionObjectId>a7108db5-c354-4b71-a72f-2c945291bda2</PartitionObjectId> <PartitionURI>/vmrest/partitions/a7108db5-c354-4b71-a72f- 2c945291bda2</PartitionURI> <SearchSpaceObjectId>d4885446-a1f9-4e4c-810f-168bcc8489af</SearchSpaceObjectId> <SearchSpaceURI>/vmrest/searchspaces/d4885446-a1f9-4e4c-810f- 168bcc8489af</SearchSpaceURI> <SortOrder>1</SortOrder> </SearchSpacesMember> <SearchSpacesMember> <URI>/vmrest/searchspacesmembers/b3431606-ccd2-4c06-9a12-9c336c78968c</URI> <ObjectId>b3431606-ccd2-4c06-9a12-9c336c78968c</ObjectId> <PartitionObjectId>a7108db5-c354-4b71-a72f-2c945291bda2</PartitionObjectId> <PartitionURI>/vmrest/partitions/a7108db5-c354-4b71-a72f- 2c945291bda2</PartitionURI> <SearchSpaceObjectId>9b3eb53b-445f-416e-b5f3- 15c64428d190</SearchSpaceObjectId> <SearchSpaceURI>/vmrest/searchspaces/9b3eb53b-445f-416e-b5f3- 15c64428d190</SearchSpaceURI> <SortOrder>1</SortOrder> </SearchSpacesMember> </SearchSpacesMembers> Response Code: 200 JSON Example To list all the search space members use the following command, do the following: GET: https://<connectionserver>/vmrest/searchspacesmembers?query=(PartitionObjectId%20is%20partitiono bjectid) Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 645 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Listing the Search Spaces Members Based on Partition Object ID

Page 678#

chunk 642

{ "@total":"2" "SearchSpacesMember":[ { "URI":"/vmrest/searchspacesmembers/063ac262-41a9-41a2-810a-5380ffec322d" "ObjectId":"063ac262-41a9-41a2-810a-5380ffec322d" "PartitionObjectId":"97bf6afe-346e-4275-967e-43c50be79d32" "PartitionURI":"/vmrest/partitions/97bf6afe-346e-4275-967e-43c50be79d32" "SearchSpaceObjectId":"2e836e16-f715-4a18-bb7c-ee5e33281706" "SearchSpaceURI":"/vmrest/searchspaces/2e836e16-f715-4a18-bb7c-ee5e33281706" "SortOrder":"1" }, { "URI":"/vmrest/searchspacesmembers/62a37620-50b0-4992-8c39-242cea8c7da9" "ObjectId":"62a37620-50b0-4992-8c39-242cea8c7da9" "PartitionObjectId":"44bdcf73-d5c1-4866-957d-fb35686cbe76" "PartitionURI":"/vmrest/partitions/44bdcf73-d5c1-4866-957d-fb35686cbe76" "SearchSpaceObjectId":"97efa220-31a7-4409-a0cd-2cdfc669182f" "SearchSpaceURI":"/vmrest/searchspaces/97efa220-31a7-4409-a0cd-2cdfc669182f" "SortOrder":"1" } ] } Response Code: 200 Explanation of Data Fields Comments Data Type Operations Parameter URI of Search Space's member String Read Only URI Object Id of the search space's member String (36) Read Only ObjectId Object Id of the partition. String (36) Read Only PartitionObjectId URI of the partition. String Read Only PartitionURI Object Id of the search space String (36) Read Only SearchSpaceObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 646 Cisco Unity Connection Provisioning Interface (CUPI) API for Dial Plan Explanation of Data Fields

Page 679#

chunk 643

C H A P T E R 45 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings • Cisco Unity Connection Provisioning Interface (CUPI) API -- General Configuration, on page 647 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Cluster, on page 651 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values, on page 656 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication Rules, on page 661 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Roles , on page 666 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Patterns, on page 673 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Tables, on page 678 • Cisco Unity Connection Provisioning Interface (CUPI) API -- License Dump APIs, on page 684 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Smart Licensing , on page 689 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Subject Line, on page 699 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Language Map , on page 704 • Cisco Unity Connection Provisioning Interface (CUPI) API -- LDAP Phone Number Transform , on page 706 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Authorization Server, on page 708 • Cisco Unity Connection Provisioning Interface (CUPI) API -- System Default Language and TTS Language, on page 711 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Wave Formats , on page 712 Cisco Unity Connection Provisioning Interface (CUPI) API -- General Configuration Default Unity Connection Sender Name This section contains information on how to use the API to change the display name of Unity Connection Default User. Display name of default user is used as the sender name for System Generated Notifications from Connection and Outside Caller Messages. This API updates the "Unity Connection Default Sender Name" field under General Configuration. Cisco Unity Connection Provisioning Interface (CUPI) API 647

Page 680#

chunk 644

Viewing the sender name for System Generated Notifications The following is an example of the GET request that lists the details of sender name for System Generated Notifications: GET https://<connection-server>/vmrest/setDefaultSenderName The following is response for the above GET request: <User> <ObjectId>b296be34-0f21-449a-acce-23b8eadf1af9</ObjectId> <DisplayName>Cisco Unity Connection Messaging System</DisplayName> </User> Response Code: 200 JSON Example The following is an example to GET the display name and object id of "Unity Connection" users. Request URI: GET https://<connection-server>/vmrest/setDefaultSenderName Accept : application/json Connection : keep-alive The following is response from the above GET request and the actual response will depend upon the information given by you: { "ObjectId": "b296be34-0f21-449a-acce-23b8eadf1af9", "DisplayName": "NewUser" } Response Code: 200 Updating the Sender Name for System Generated Notification The following is an example of the PUT request that allows you to update the system generated notification: Example : Update the system generated notification PUT https://<connection-server>/vmrest/setDefaultSenderName The following is response for the above PUT request. Request Body: <User> <DisplayName>NewUser</DisplayName> </User> Response Code: 204 JSON Example Following is an example to update the display name. Cisco Unity Connection Provisioning Interface (CUPI) API 648 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Viewing the sender name for System Generated Notifications

Page 681#

chunk 645

Request URI: PUT https://<connection-server>/vmrest/setDefaultSenderName Accept : application/json Content-Type : application/json Connection : keep-alive { "DisplayName": "NewUser" } The following is response for the above PUT request: Request URI: 204 Ciphers This section contains information on how to use the API to change the value of ciphers supported with Unity Connection. Using this API, you can change the value of following ciphers: • TLS ciphers over SIP interface • SRTP ciphers over RTP interface • HTTPS Ciphers over HTTPS interface This API updates the "TLS Ciphers", "SRTP Ciphers", and "HTTPS Ciphers" field under General Configuration. Viewing the Selected Option of TLS, SRTP, and HTTPS Cipher values The following is an example of GET request to get the details of TLS, SRTP, and HTTPS ciphers. GET https://<connection-server>/vmrest/generalconfigurations/ The following is response for the above GET request: <GeneralConfigurations total="1"> <GeneralConfiguration> <URI>/vmrest/generalconfigurations/b572544f-49ce-4ec4-874e-41e414597c14</URI> <ObjectId>b572544f-49ce-4ec4-874e-41e414597c14</ObjectId> <TlsCiphers>0</TlsCiphers> <SrtpCiphers>0</SrtpCiphers> <HttpsCiphers>0</HttpsCiphers> </GeneralConfiguration> </GeneralConfigurations> Response Code: 200 JSON Example The following is an example to GET the values for TLS and SRTP Ciphers. Request URI: GET https://<connection-server>/vmrest/generalconfigurations/ Accept : application/json Connection : keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 649 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Ciphers

Page 682#

chunk 646

{ { "GeneralConfigurations": { "-total": "1", "GeneralConfiguration": { "URI": "/vmrest/generalconfigurations/b572544f-49ce-4ec4-874e-41e414597c14", "ObjectId": "b572544f-49ce-4ec4-874e-41e414597c14", "TlsCiphers": "0", "SrtpCiphers": "0" "HttpsCiphers": "0" } } } } Response Code: 200 Updating the Values For TLS, SRTP, HTTPS Ciphers and TLS Version The following is an example of the PUT request that allows you to update the value of TLS, SRTP, HTTPS Ciphers and TLS Version. Example : Update the TLS, SRTP, HTTPS Ciphers and TLS Version. PUT https://<connection-server>/vmrest/generalconfigurations/<objectid> The following is the response of above PUT request. <GeneralConfiguration> <TlsCiphers>1</TlsCiphers> <SrtpCiphers>1</SrtpCiphers> <HttpsCiphers>1</HttpsCiphers> </GeneralConfiguration> Response Code: 204 • Make sure to restart the Connection Conversation Manager service in Cisco Unity Connection Serviceability for TLS, SRTP ciphers and TLS Version changes to take effect. • Make sure to restart the tomcat service for HTTPS cipher changes to take effect. • Make sure to restart the Tomcat service using CLI 'utils service restart Cisco Tomcat' for TLS Version changes to take effect. Note JSON Example The following is an example to update the TLS and SRTP Ciphers values. Request URI: PUT https://<connection-server>/vmrest/generalconfigurations/<objectid> Cisco Unity Connection Provisioning Interface (CUPI) API 650 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Updating the Values For TLS, SRTP, HTTPS Ciphers and TLS Version

Image 1 from page 682

Page 683#

chunk 647

Accept : application/json Content-Type : application/json Connection : keep-alive { "GeneralConfiguration": { "TlsCiphers": "1", "SrtpCiphers": "1" "HttpsCiphers": "1" } } The following is the response of the above PUT request : Response Code: 204 Corresponding Enum values for TLS, SRTP and HTTPS Ciphers The following table describes the associated Enum values of the TLS and SRTP ciphers with Unity Connection 11.5(1). Drop-Down Menu option for HTTPS Cipher Drop-Down Menu option for SRTP Cipher Drop-Down Menu option for TLS Cipher Enum Value All Supported EC and RSA ciphers All supported AES-256, AES-128 ciphers Strongest- AES-256 SHA-384 Only: RSA Preferred 0 RSA ciphers Only AEAD AES256 GCM based ciphers only Strongest- AES-256 SHA-384 Only: ECDSA Preferred 1

AEAD AES-256, AES-128 GCM-based ciphers: Medium- AES-256 AES-128 Only: RSA Preferred 2

Medium- AES-256 AES-128 Only: ECDSA Preferred 3

All Ciphers RSA Preferred 4

All Ciphers ECDSA Preferred 5 Cisco Unity Connection Provisioning Interface (CUPI) API -- Cluster About Clusters Administrator can use this API to fetch the details of a Unity Connection cluster. This page contains information on how to use the CUPI API to view cluster information. Listing Cisco Unity Connection Cluster locations The following is an example of a GET that displays cluster information: Cisco Unity Connection Provisioning Interface (CUPI) API 651 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Corresponding Enum values for TLS, SRTP and HTTPS Ciphers

Page 684#

chunk 648

GET http://<connection-server>/vmrest/cluster The following is the response from the above GET request: 200 OK <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <VmsServers total="2"> <VmsServer> <URI>/vmrest/vmsservers/3ee10726-9634-4066-bfcb-c936bc074be6</URI> <ObjectId>3ee10726-9634-4066-bfcb-c936bc074be6</ObjectId> <ServerName> qa-ks-vm-279</ServerName> <IpAddress>10.65.156.193</IpAddress> <VmsServerObjectId>3ee10726-9634-4066-bfcb-c936bc074be6</VmsServerObjectId> <ClusterMemberId>0</ClusterMemberId> <ServerState>1</ServerState> <HostName> qa-ks-vm-279.cisco.com</HostName> <ServerDisplayState>3</ServerDisplayState> <IpAddressV6>fe80::250:56ff:feab:1c6</ IpAddressV6> <SubToPerformReplicationRole>false</SubToPerformReplicationRole> </VmsServer> <VmsServer> <URI>/vmrest/vmsservers/a57a68c6-782f-4757-945c-270e0fba2734</URI> <ObjectId>a57a68c6-782f-4757-945c-270e0fba2734</ObjectId> <ServerName> qa-ks-vm-279.cisco.com </ServerName> <IpAddress>10.65.156.252</IpAddress> <VmsServerObjectId>a57a68c6-782f-4757-945c-270e0fba2734</VmsServerObjectId> <ClusterMemberId>1</ClusterMemberId> <ServerState>8</ServerState> <HostName> qa-ks-vm-279.cisco.com </HostName> <ServerDisplayState>4</ServerDisplayState> <IpAddressV6>fe85::450:56ff:feab:1c6</ IpAddressV6> <SubToPerformReplicationRole>false</SubToPerformReplicationRole> </VmsServer> </VmsServers> In case of a standalone location, only the data related to that location gets displayed. JSON Example The following is an example of a GET that displays the list of servers in the cluster: GET http://<connection-server>/vmrest/vmsservers Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 652 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing Cisco Unity Connection Cluster locations

Page 685#

chunk 649

200 OK { "@total": "2", "VmsServer":[ { "URI": "/vmrest/vmsservers/ef03ca05-3c05-4465-9985-9de371e2e94e", "ObjectId": "ef03ca05-3c05-4465-9985-9de371e2e94e", "ServerName": " qa-ks-vm-19", "IpAddress": "10.78.171.134", "VmsServerObjectId": "ef03ca05-3c05-4465-9985-9de371e2e94e", "ClusterMemberId": "0", "ServerState": "20", "HostName": " qa-ks-vm-19.cisco.com", "ServerDisplayState": "3", "IpAddressV6":"fe80::250:56ff:feab:1c6" "SubToPerformReplicationRole": "false" }, { “URI” : “/vmrest/vmsservers/a57a68c6-782f-4757-945c-270e0fba2734”, “ObjectId” : “a57a68c6-782f-4757-945c-270e0fba2734”, “ServerName” : “qa-ks-vm-279.cisco.com”, “IpAddress” : “10.65.156.25”, “VmsServerObjectId” : “a57a68c6-782f-4757-945c-270e0fba2734”, “ClusterMemberId” : “1”, “ServerState” : “8”, “HostName” : “qa-ks-vm-279.cisco.com”, “ServerDisplayState>”: “4”, "IpAddressV6":"fe85::450:56ff:feab:1c6" “SubToPerformReplicationRole”: “false” } ] } Viewing a specific location in Cisco Unity Connection Cluster Administrator can use this API to fetch details of a particular server in a Unity Connection cluster. The following is an example of the GET request : GET https://<connection-server>/vmrest/vmsservers/<vmsServerObjectId> The following is the response from the above GET request and the actual response will depend upon the information given by you: 200 ok <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <VmsServer> <URI>/vmrest/vmsservers/3ee10726-9634-4066-bfcb-c936bc074be6</URI> <ObjectId>3ee10726-9634-4066-bfcb-c936bc074be6</ObjectId> <ServerName> qa-ks-vm-279</ServerName> <IpAddress>10.65.156.193</IpAddress> <VmsServerObjectId>3ee10726-9634-4066-bfcb-c936bc074be6</VmsServerObjectId> <ClusterMemberId>0</ClusterMemberId> <ServerState>1</ServerState> <HostName> qa-ks-vm-279.cisco.com</HostName> <ServerDisplayState>3</ServerDisplayState> <IpAddressV6>fe85::450:56ff:feab:1c6</ IpAddressV6> <SubToPerformReplicationRole>false</SubToPerformReplicationRole> </VmsServer> Cisco Unity Connection Provisioning Interface (CUPI) API 653 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Viewing a specific location in Cisco Unity Connection Cluster

Page 686#

chunk 650

JSON Example The following is an example of the GET command to view the details of particular server in the cluster. GET https://< connection-server >/vmrest/vmsservers/<vmsServerObjectId> Accept: application/json Content-type: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: 200 Ok { { "URI": "/vmrest/vmsservers/ef03ca05-3c05-4465-9985-9de371e2e94e", "ObjectId": "ef03ca05-3c05-4465-9985-9de371e2e94e", "ServerName": " qa-ks-vm-19", "IpAddress": "10.78.171.134", "VmsServerObjectId": "ef03ca05-3c05-4465-9985-9de371e2e94e", "ClusterMemberId": "0", "ServerState": "20", "HostName": " qa-ks-vm-19.cisco.com", "ServerDisplayState": "3", "IpAddressV6":"fe80::250:56ff:feab:1c6" "SubToPerformReplicationRole": "false" } } Explanation of Data Fields Comments Operations Data Type Parameter Acts as a primary key for the API. The ObjectID is a unique system-generated identifier for a VMSServer object. Read Only char Object id Specifies the name of the server. Read Only nvarchar ServerName Specifies the IP address of the server. Read Only varchar IpAddress Acts as a primary key for the API. The VmsServerObjectId is a unique system-generated identifier for a VMSServer object. Read Only char VmsServerObjectId Specifies a unique number assigned to each server in the cluster as per their failover order. Values can be: • 0-Primary • 1-Secondary Read Only smallint ClusterMemberId Cisco Unity Connection Provisioning Interface (CUPI) API 654 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Explanation of Data Fields

Page 687#

chunk 651

Comments Operations Data Type Parameter Specifies the current state of the server. Values can be: • 0-Pri_Init • 1-Pri_Active • 2-Pri_Act_Secondary • 3-Pri_Idle • 4-Pri_Failover • 5-Pri_Takeover • 6-Pri_SBR • 7-Sec_Init • 8-Sec_Active • 9-Sec_Act_Primary • 10-Sec_Idle • 11-Sec_Takeover • 12-Sec_Failover • 13-Sec_SBR • 14-Db_Sync • 15-Set_Peer_Idle • 16-Undefined • 17-Pri_Active_Disconnected • 18-Pri_Connecting • 19-Pri_Choose_Role • 20-Pri_Single_Server • 21-Sec_Act_Primary_Disconnected • 22-Sec_Connecting • 23-Sec_Choose_Role • 24-Shutdown Read Only int ServerState Indicates the hostname of the VMS server Read Only varchar HostName Specifies the values for the admin to display current server status. Values can be: • 0 - UNKNOWN • 1 - DOWN • 2 - INITIALIZING • 3 - PRIMARY • 4 - SECONDARY • 5 - IDLE • 6 - IN_DB_SYNC • 7 - IN_SBR Read Only int ServerDisplayState Cisco Unity Connection Provisioning Interface (CUPI) API 655 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Explanation of Data Fields

Page 688#

chunk 652

Comments Operations Data Type Parameter Specifies the IPV6 address of the server. Read Only varchar IpAddressV6 Note - Defined for future purpose. Indicates whether the subscriber machine is enabled for directory replication; On Publisher machine its value is always false. Values can be: • 0- false • 1- true Read Only boolean SubToPerformReplicationRole Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values About Configuration Values This page contains information on how to use the API to read configuration values which are also referred to system settings. You cannot create or delete configuration values. Most configuration values are read-only in the API. Beginning with Unity Connection 8.5, following are the configuration values that can be updated: • System.API.CumiAccessSecureMessageAttachments • System.API.CumiAllowSecureMessageHeaders • System.Conversations.UserMaxConcurrentSessionsTUI (Unity Connection 11.5(1) and later only) • System.SA.UserInactivityTimeout (Unity Connection 11.5(1) and later only) Listing and Viewing The following is an example of GET that lists all system configuration values: GET https://<server>/vmrest/configurationvalues Beginning with Connection 8.5, you can perform GET on individual settings using their full name in the URI (instead of getting the whole collection): GET https://<server>/vmrest/configurationvalues/<full name> You can access the configuration values as part of a list using the regular configuration value query. For example, to find all configuration values with a fullname that starts with "System.API.Cumi": GET https://<server>/vmrest/configurationvalues?query=(fullname startswith System.API.Cumi) Cisco Unity Connection Provisioning Interface (CUPI) API 656 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Configuration Values

Page 689#

chunk 653

Updating Only following configuration values have write access: • System.API.CumiAccessSecureMessageAttachments • System.API.CumiAllowSecureMessageHeaders • System.Conversations.UserMaxConcurrentSessionsTUI (Unity Connection 11.5(1) and later only) • System.SA.UserInactivityTimeout (Unity Connection 11.5(1) and later only) For System.Conversations.UserMaxConcurrentSessionsTUI, the minimum configuration value is 0 and maximum configuration value is 99. Whereas for System.SA.UserInactivityTimeout, the minimum configuration value is 0 and maximum configuration value is 9999 (value 0 auto disables the feature). Note Attempting PUT on any other configuration values will result in a 403 (access denied) error. When modifying a configuration value, only the value field is used (see PUT examples below). All other fields cannot be modified and will be ignored. HTTP Examples GET Examples Example of GET for a list: Cisco Unity Connection Provisioning Interface (CUPI) API 657 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Updating

Image 1 from page 689

Page 690#

chunk 654

GET /vmrest/configurationvalues?query=(fullname%20startswith%20System.API.Cumi) HTTP/1.1 Accept: application/json User-Agent: Java/1.6.0_20 Host: cuc-install-69.cisco.com Connection: keep-alive HTTP/1.1 200 OK Pragma: No-cache Cache-Control: no-cache Expires: Wed, 31 Dec 1969 16:00:00 PST Set-Cookie: JSESSIONIDSSO=658B27F18EF8424C11D261FEC776285D; Path=/ Set-Cookie: JSESSIONID=DE6BE806075303C8A73E666E0B478725; Path=/vmrest Content-Type: application/json Transfer-Encoding: chunked Date: Thu, 20 May 2010 10:26:42 GMT Server: {"@total":"2","ConfigurationValue":[{"Type":"11","LastModifiedTime":"2010-05-20T10:36:19Z","LastModifiedByComponent":"VMREST","FullName":"System.API.CumiAccessSecureMessageAttachments","Value":"0","UserSetting":"true","MinVal":"0","MaxVal":"0","RequiresRestart":"false"},{"Type":"11","LastModifiedTime":"2010-05-20T10:11:02Z","LastModifiedByComponent":"CUADMIN","FullName":"System.API.CumiAllowSecureMessageHeaders","Value":"1","UserSetting":"true","MinVal":"0","MaxVal":"0","RequiresRestart":"false"}]} XML <ConfigurationValues total="2"> <ConfigurationValue> <Type>11</Type> <LastModifiedTime>2010-05-21T17:29:52Z</LastModifiedTime> <LastModifiedByComponent>VMREST</LastModifiedByComponent> <FullName>System.API.CumiAccessSecureMessageAttachments</FullName> <Value>1</Value> <UserSetting>true</UserSetting> <MinVal>0</MinVal> <MaxVal>0</MaxVal> <RequiresRestart>false</RequiresRestart> </ConfigurationValue> <ConfigurationValue> <Type>11</Type> <FullName>System.API.CumiAllowSecureMessageHeaders</FullName> <Value>1</Value> <UserSetting>true</UserSetting> <MinVal>0</MinVal> <MaxVal>0</MaxVal> <RequiresRestart>false</RequiresRestart> </ConfigurationValue> </ConfigurationValues> Example of GET for individual setting: Cisco Unity Connection Provisioning Interface (CUPI) API 658 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings GET Examples

Page 691#

chunk 655

GET /vmrest/configurationvalues/System.Messaging.RelaySecureMessage HTTP/1.1 Accept: application/json User-Agent: Java/1.6.0_20 Host: cuc-install-69.cisco.com Connection: keep-alive Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg== HTTP/1.1 200 OK Pragma: No-cache Cache-Control: no-cache Expires: Wed, 31 Dec 1969 16:00:00 PST Set-Cookie: JSESSIONIDSSO=B7839B7E290A9763ABD7751A6FBCAA5C; Path=/ Set-Cookie: JSESSIONID=E01E5B7E9F57692810ECF8AEAEDBD2B0; Path=/vmrest Content-Type: application/json Transfer-Encoding: chunked Date: Thu, 20 May 2010 10:39:48 GMT Server: {"Type":"11","LastModifiedTime":"2010-05-20T10:11:02Z","LastModifiedByComponent":"CUADMIN","FullName":"System.Messaging.RelaySecureMessage","Value":"0","UserSetting":"true","RequiresRestart":"false"} XML <ConfigurationValue> <Type>11</Type> <FullName>System.Messaging.RelaySecureMessage</FullName> <Value>0</Value> <UserSetting>true</UserSetting> <RequiresRestart>false</RequiresRestart> </ConfigurationValue> Example of GET for User Inactivity Timeout: GET /vmrest/configurationvalues/System.SA.UserInactivityTimeout HTTP/1.1 200 OK Cache-Control: private Expires: Thu, 01 Jan 1970 05:30:00 IST Set-Cookie: JSESSIONIDSSO=F41326B2A9A8472368FE580917E944B7; Path=/; Secure; HttpOnly Set-Cookie: JSESSIONID=CEADA77CB21BD27EE1C3386B3CFED149; Path=/vmrest/; Secure; HttpOnly Set-Cookie: REQUEST_TOKEN_KEY=-1968493036399359092; Path=/; Secure; HttpOnly X-Frame-Options: SAMEORIGIN Content-Type: application/xml Content-Length: 400 Date: Thu, 10 Dec 2015 06:38:42 GMT Server: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><ConfigurationValue><Type>3</Type><LastModifiedTime>2015-12-10T06:23:26Z</LastModifiedTime><LastModifiedByComponent>VMREST</LastModifiedByComponent><FullName>System.SA.UserInactivityTimeout</FullName><Value>55</Value><UserSetting>true</UserSetting><MinVal>1</MinVal><MaxVal>500</MaxVal><RequiresRestart>false</RequiresRestart></ConfigurationValue> XML <ConfigurationValue> <Type>3</Type> <LastModifiedTime>2015-12-10T06:23:26Z</LastModifiedTime> <LastModifiedByComponent>VMREST</LastModifiedByComponent> <FullName>System.SA.TUIInterfaceDisable</FullName> <Value>55</Value> <UserSetting>true</UserSetting> <MinVal>1</MinVal> <MaxVal>500</MaxVal> <RequiresRestart>false</RequiresRestart> </ConfigurationValue> Cisco Unity Connection Provisioning Interface (CUPI) API 659 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings GET Examples

Page 692#

chunk 656

PUT Examples An example of PUT for configuration value: PUT /vmrest/configurationvalues/System.API.CumiAccessSecureMessageAttachments HTTP/1.1 Content-Type: application/json User-Agent: Java/1.6.0_20 Host: cuc-install-69.cisco.com Accept: text/html, image/gif, image/jpeg, ; q=.2, /; q=.2 Connection: keep-alive Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg== Content-Length: 13 {"Value":"1"} XML <ConfigurationValue> <Value>0</Value> </ConfigurationValue> HTTP/1.1 204 No Content Pragma: No-cache Cache-Control: no-cache Expires: Wed, 31 Dec 1969 16:00:00 PST Set-Cookie: JSESSIONIDSSO=E3EB2F2AB5593902F00ECE80298ED82B; Path=/ Set-Cookie: JSESSIONID=4B3EA5586E13B955D2CC9A8C46EE12FE; Path=/vmrest Date: Thu, 20 May 2010 10:58:05 GMT Server: An example of PUT for configuration values that does not support PUT: PUT /vmrest/configurationvalues/System.Messaging.RelaySecureMessage HTTP/1.1 Content-Type: application/json User-Agent: Java/1.6.0_20 Host: cuc-install-69.cisco.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */; q=.2 Connection: keep-alive Authorization: Basic Y2NtYWRtaW5pc3RyYXRvcjplY3NidWxhYg== Content-Length: 240 HTTP/1.1 403 Forbidden Pragma: No-cache Cache-Control: no-cache Expires: Wed, 31 Dec 1969 16:00:00 PST Set-Cookie: JSESSIONIDSSO=6BE354F4A2C20A2190C9DFF78D91D7AB; Path=/ Set-Cookie: JSESSIONID=32DF55D02DA33C43938F43C2FC7A13FF; Path=/vmrest Content-Type: application/xml Transfer-Encoding: chunked Date: Thu, 20 May 2010 10:26:43 GMT Server: An example of PUT for User Inactivity Timeout: Cisco Unity Connection Provisioning Interface (CUPI) API 660 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings PUT Examples

Page 693#

chunk 657

PUT /vmrest/configurationvalues/System.SA.UserInactivityTimeout HTTP/1.1 204 No Content Cache-Control: private Expires: Thu, 01 Jan 1970 05:30:00 IST Set-Cookie: JSESSIONIDSSO=2F68733BA443959388E841535A717DCC; Path=/; Secure; HttpOnly Set-Cookie: JSESSIONID=A982BB1A93DAB2C294A64BD5D7DD03D0; Path=/vmrest/; Secure; HttpOnly Set-Cookie: REQUEST_TOKEN_KEY=138477933938641394; Path=/; Secure; HttpOnly X-Frame-Options: SAMEORIGIN Content-Type: application/xml Date: Thu, 10 Dec 2015 06:55:12 GMT Server: XML <ConfigurationValue> <Value>36</Value> </ConfigurationValue> An example of PUT for TUI/VUI Logon Session Limit: PUT /vmrest/configurationvalues/System.Conversations.UserMaxConcurrentSessionsTUI XML <ConfigurationValue> <Value>3</Value> </ConfigurationValue> Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication Rules About Authentication Rules This section contains information on how to create, list, modify, and delete Authentication Rules. In Cisco Unity Connection, authentication rules govern user passwords, PINs, and account lockouts for all user accounts. You use authentication rules to secure how users access Connection by phone, and how users access Cisco Unity Connection Administration and the Cisco Personal Communications Assistant (PCA). For example, an authentication rule determines: • The number of failed sign-in attempts that are allowed before an account is locked • The number of minutes an account remains locked before it is reset • Whether a locked account must be unlocked manually by an administrator • The minimum length allowed for passwords and PINs • The number of days before a password or PIN expires Listing Authentication Rules Example 1 Cisco Unity Connection Provisioning Interface (CUPI) API 661 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Authentication Rules

Page 694#

chunk 658

The following is an example of the GET request that lists the Authentication Rules: https://<connection_server>/vmrest/authenticationrules The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 662 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing Authentication Rules

Page 695#

chunk 659

<AuthenticationRules total="2"> <AuthenticationRule> <URI>/vmrest/authenticationrules/db3999dc-7afc-4a1e-be64-c5647c7f2226</URI> <ObjectId>db3999dc-7afc-4a1e-be64-c5647c7f2226</ObjectId> <HackResetTime>30</HackResetTime> <LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI> <LockoutDuration>30</LockoutDuration> <MaxDays>120</MaxDays> <MaxHacks>7</MaxHacks> <MinLength>8</MinLength> <PrevCredCount>5</PrevCredCount> <TrivialCredChecking>true</TrivialCredChecking> <DisplayName>Papa Recommended Web Application Authentication Rule</DisplayName> <MinDuration>1440</MinDuration> <ExpiryWarningDays>15</ExpiryWarningDays> <MinCharsToChange>1</MinCharsToChange> </AuthenticationRule> <AuthenticationRule> <URI>/vmrest/authenticationrules/df3611a3-d372-4a38-a7a4-7d4aba4febd2</URI> <ObjectId>df3611a3-d372-4a38-a7a4-7d4aba4febd2</ObjectId> <HackResetTime>30</HackResetTime> <LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI> <LockoutDuration>30</LockoutDuration> <MaxDays>180</MaxDays> <MaxHacks>3</MaxHacks> <MinLength>6</MinLength> <PrevCredCount>5</PrevCredCount> <TrivialCredChecking>true</TrivialCredChecking> <DisplayName>Recommended Voice Mail Authentication Rule</DisplayName> <MinDuration>1440</MinDuration> <ExpiryWarningDays>15</ExpiryWarningDays> <MinCharsToChange>1</MinCharsToChange> </AuthenticationRule> <AuthenticationRule> <URI>/vmrest/authenticationrules/5780fb3f-8f70-4d3d-9c18-2832f9d11642</URI> <ObjectId>5780fb3f-8f70-4d3d-9c18-2832f9d11642</ObjectId> <HackResetTime>30</HackResetTime> <LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI> <LockoutDuration>30</LockoutDuration> <MaxDays>180</MaxDays> <MaxHacks>3</MaxHacks> <MinLength>8</MinLength> <PrevCredCount>12</PrevCredCount> <TrivialCredChecking>true</TrivialCredChecking> <DisplayName>test</DisplayName> <MinDuration>0</MinDuration> <ExpiryWarningDays>15</ExpiryWarningDays> <MinCharsToChange>1</MinCharsToChange> </AuthenticationRule> <AuthenticationRule> <URI>/vmrest/authenticationrules/ac80ee1d-0f09-42d0-ae7c-adb56a82b340</URI> <ObjectId>ac80ee1d-0f09-42d0-ae7c-adb56a82b340</ObjectId> <HackResetTime>30</HackResetTime> <LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId> Cisco Unity Connection Provisioning Interface (CUPI) API 663 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing Authentication Rules

Page 696#

chunk 660

<LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI> <LockoutDuration>30</LockoutDuration> <MaxDays>180</MaxDays> <MaxHacks>3</MaxHacks> <MinLength>8</MinLength> <PrevCredCount>12</PrevCredCount> <TrivialCredChecking>true</TrivialCredChecking> <DisplayName>Papa Recommended Web Application Authentication Rule Paapas</DisplayName> <MinDuration>1440</MinDuration> <ExpiryWarningDays>15</ExpiryWarningDays> <MinCharsToChange>1</MinCharsToChange> </AuthenticationRule> </AuthenticationRules> Response code: 200 Example 2 The following is an example of the GET request that lists a specified Authentication Rule as represented by <objectId>: https://<connection_server>/vmrest/authenticationrules/<objectId> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <AuthenticationRule> <URI>/vmrest/authenticationrules/db3999dc-7afc-4a1e-be64-c5647c7f2226</URI> <ObjectId>db3999dc-7afc-4a1e-be64-c5647c7f2226</ObjectId> <HackResetTime>30</HackResetTime> <LocationObjectId>be27976c-6e6e-419f-853d-b3764881dfb0</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/be27976c-6e6e-419f-853d-b3764881dfb0</LocationURI> <LockoutDuration>30</LockoutDuration> <MaxDays>120</MaxDays> <MaxHacks>7</MaxHacks> <MinLength>8</MinLength> <PrevCredCount>5</PrevCredCount> <TrivialCredChecking>true</TrivialCredChecking> <DisplayName>Papa Recommended Web Application Authentication Rule</DisplayName> <MinDuration>1440</MinDuration> <ExpiryWarningDays>15</ExpiryWarningDays> <MinCharsToChange>1</MinCharsToChange> </AuthenticationRule> Response code: 200 Adding a new Authentication Rule The following is an example of the POST request that lists the Authentication Rules: https://<connection_server>/vmrest/authenticationrules The following is an example of the response from the above POST request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 664 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Adding a new Authentication Rule

Page 697#

chunk 661

<AuthenticationRule> <DisplayName>New Authentication Rule</DisplayName> <HackResetTime>30</HackResetTime> <LockoutDuration>30</LockoutDuration> <MaxDays>120</MaxDays> <MaxHacks>7</MaxHacks> <MinLength>8</MinLength> <PrevCredCount>5</PrevCredCount> <TrivialCredChecking>true</TrivialCredChecking> <MinDuration>1440</MinDuration> <ExpiryWarningDays>15</ExpiryWarningDays> <MinCharsToChange>1</MinCharsToChange> </AuthenticationRule Response code: 201 Modifying Authentication Rules The following is an example of the PUT request that modifies the Authentication Rule: https://<connection_server>/vmrest/ authenticationrules/<objectId> The actual response will depend upon the information given by you. <AuthenticationRule> <AuthenticationRule> <HackResetTime>60</HackResetTime> <LockoutDuration>60</LockoutDuration> <MaxDays>120</MaxDays> <MaxHacks>7</MaxHacks> <MinLength>8</MinLength> <PrevCredCount>5</PrevCredCount> <TrivialCredChecking>true</TrivialCredChecking> <MinDuration>1440</MinDuration> <ExpiryWarningDays>15</ExpiryWarningDays> <MinCharsToChange>1</MinCharsToChange> </AuthenticationRule> <HackResetTime>60</HackResetTime> <LockoutDuration>60</LockoutDuration> <MaxDays>120</MaxDays> <MaxHacks>7</MaxHacks> <MinLength>8</MinLength> <PrevCredCount>5</PrevCredCount> <TrivialCredChecking>true</TrivialCredChecking> <MinDuration>1440</MinDuration> <ExpiryWarningDays>15</ExpiryWarningDays> <MinCharsToChange>1</MinCharsToChange> </AuthenticationRule> Response code: 204 Deleting Authentication Rules The following is an example of the DELETE request that deletes a Authentication Rule as represented by <objectId>: https://<connection_server>/vmrest/authenticationrules/<objectId> Cisco Unity Connection Provisioning Interface (CUPI) API 665 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Modifying Authentication Rules

Page 698#

chunk 662

The output for this request returns the successful response code. Response Code: 204 Explanation of Data Fields The following chart lists all of the data fields available on Authentication Rules. Comments Values Operation Field Name Reset Every Failed Sign-in Attempts. Default: 30 1-120 Read/Write HackResetTime LockoutDuration. Default: 30 0-1440 Read/Write LockoutDuration Credential Expires After. Default=180 0-3653 Read/Write MaxDays Failed Sign-In. Default=3 0-100 Read/Write MaxHacks Minimum credential length. Default: 8 1-64 Read/Write MinLength Stored Number of Previous Credentials. Default=12 0-25 Read/Write PrevCredCount Check for Trivial Passwords. Default=false true/false Read/Write TrivialCredChecking Friendly name for the Authentication Rule. 1-64 Read/Write DisplayName Minimum Duration between Credential Changes 0-129600 Read/Write MinDuration Expiration Warning Days. Default=15 Read/Write ExpiryWarningDays Minimum Number of Character Changes between Successive Credentials. Default: 1 1-64 Read/Write MinCharsToChange Cisco Unity Connection Provisioning Interface (CUPI) API -- Roles Roles A role comprises of set of privileges that define the access level to the system. System Administrator can configure multiple roles based on the administrative needs. The role assignment for a user account can be done based on the set of operations required. Unity Connection offers two types of roles: • System Roles: System roles are predefined roles that come installed with Unity Connection. You cannot create, modify or delete these roles. System roles can only be assigned or unassigned to users by System Administrator. • Custom Roles: Custom roles are the roles that you create with a list of privileges based on your organizational requirements. Custom roles can be assigned or unassigned to users by System Administrator or a custom role user with role assignment privilege Cisco Unity Connection Provisioning Interface (CUPI) API 666 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Explanation of Data Fields

Page 699#

chunk 663

Only a user with System Administrator role can create, update or delete custom roles. Note Listing Privileges The following is an example of the GET request that lists all the privileges: GET https://<connection-server>/vmrest/privileges The following is the response from the above GET request and the actual response will depend upon the information given by you: <Privileges total="46"> <Privilege> <ObjectId>56ea5443-4832-40b9-88b7-879068465bc9</ObjectId> <DisplayName>Manage Users - Full Access</DisplayName> </Privilege> <Privilege> <ObjectId>37ae97bf-a0ca-4adf-a498-a1af3f4d4acd</ObjectId> <DisplayName>Manage Users: Assign/Unassign Roles</DisplayName> </Privilege> ......... ......... ......... <Privilege> <ObjectId>140a9af7-b76a-49de-9ed3-a020bcd2c1bb</ObjectId> <DisplayName>Reset User Passwords</DisplayName> </Privilege> <Privilege> <ObjectId>7c0326f7-e7e6-4853-8e4e-b93dd1c13ce6</ObjectId> <DisplayName>Run Serviceability Page</DisplayName> </Privilege> </Privileges> Response Code: 200 Listing Roles This API list all the System roles as well as Custom roles. The following is an example of the GET request that lists all the Roles: GET https://<connection-server>/vmrest/roles The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 667 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing Privileges

Image 1 from page 699

Page 700#

chunk 664

<Roles total="19"> <Role> <URI>/vmrest/roles/0d44b89f-6b93-4f16-a8cb-cd07c01e524d</URI> <ObjectId>0d44b89f-6b93-4f16-a8cb-cd07c01e524d</ObjectId> <RoleName>Audio Text Administrator</RoleName> <RoleDescription>Administers call handlers, directory handlers and interview handlers</RoleDescription> <IsEnabled>true</IsEnabled> <ReadOnly>false</ReadOnly> </Role> ......... ......... ......... ......... <Role> <URI>/vmrest/roles/58f51c8a-74e4-4db9-babc-8e7e9aad4385</URI> <ObjectId>58f51c8a-74e4-4db9-babc-8e7e9aad4385</ObjectId> <RoleName>New Custom Role</RoleName> <RoleDescription>New custom role for users</RoleDescription> <IsEnabled>true</IsEnabled> <ReadOnly>false</ReadOnly> <InheritedObjectId>dc32b8c1-bc71-4a81-9538-72ebb88a3f31</InheritedObjectId> </Role> </Roles> Response Code: 200 Listing System Roles The following is an example of the GET request that lists all the system roles: GET https://<connection-server>/vmrest/systemroles The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 668 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing System Roles

Page 701#

chunk 665

<Roles total="11"> <Role> <ObjectId>7c99cd0b-c480-483d-a7d1-44824d50903d</ObjectId> <RoleName>Audio Text Administrator</RoleName> <RoleDescription>Administers call handlers, directory handlers and interview handlers</RoleDescription> <IsEnabled>true</IsEnabled> <ReadOnly>false</ReadOnly> </Role> <Role> <ObjectId>4f077e4e-61c7-4ce8-a58a-2c4bc6089319</ObjectId> <RoleName>Greeting Administrator</RoleName> <RoleDescription>Manages call handler recorded greetings via TUI</RoleDescription> <IsEnabled>true</IsEnabled> <ReadOnly>false</ReadOnly> </Role> ........ ........ ........ <Role> <ObjectId>15930390-7ef1-4389-abc0-020962e32cc5</ObjectId> <RoleName>Read Only Administrator</RoleName> <RoleDescription>Read only access to view all Connection administrative functions</RoleDescription> <IsEnabled>true</IsEnabled> <ReadOnly>false</ReadOnly> </Role> Response Code: 200 Listing Custom Roles The following is an example of the GET request that lists all the custom roles: GET https://<connection-server>/vmrest/customroles The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 669 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing Custom Roles

Page 702#

chunk 666

<Roles total="4"> <Role> <ObjectId>5c5abfb9-eec9-4df5-877d-972f65b73df6</ObjectId> <RoleName>Custom Role 1</RoleName> <RoleDescription>New custom role for user 1</RoleDescription> <IsEnabled>true</IsEnabled> <ReadOnly>false</ReadOnly> <InheritedObjectId>5976fb56-e398-4659-841a-5519c97a036f</InheritedObjectId> </Role> ........ ........ ........ <Role> <ObjectId>c616cc89-16f0-4fe5-9213-c5ce4ea5e81e</ObjectId> <RoleName>Custom role 4</RoleName> <RoleDescription>New custom role for user 4</RoleDescription> <IsEnabled>true</IsEnabled> <ReadOnly>false</ReadOnly> <InheritedObjectId>dc32b8c1-bc71-4a81-9538-72ebb88a3f31</InheritedObjectId> </Role> </Roles> Response Code: 200 Creating a New Custom Role The following is an example of POST request that creates a new Custom Role. POST https://<connection-server>/vmrest/customroles?systemRoleToInherit=<systemRoleToInherit_objId> In systemRoleToInherit field, provide the object id of the System Role that you want to inherit while creating a Custom Role. The privileges of inherited system role are assigned to the custom role. Below are the system roles that can be inherited: • Audio Text Administrator • Greeting Administrator • Help Desk Administrator • Technician • User Administrator • Tenant Administrator Note Request Body Cisco Unity Connection Provisioning Interface (CUPI) API 670 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Creating a New Custom Role

Image 1 from page 702

Page 703#

chunk 667

<Role> <RoleName>Custom Role New</RoleName> <RoleDescription>Administers call handlers, directory handlers and interview handlers</RoleDescription> <AssignPrivileges> <PrivilegeObjectId>0db37044-b459-4784-a82c-fea1ddb35b73</PrivilegeObjectId> <PrivilegeObjectId>0d20ccc4-2694-4762-bfaa-649871fd0e99</PrivilegeObjectId> </AssignPrivileges> </Role> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/customroles/9166f041-aec4-4e5a-9600-6cc27ef99ec7 Modifying Custom Role The following is an example of the PUT request that modifies the Custom Roles. https://<connection_server>/vmrest/customroles/<objectId> Request body • When Inherit System Role is Modified <Role> <AssignPrivileges> <PrivilegeObjectId>0db37044-b459-4784-a82c-fea1ddb35b73</PrivilegeObjectId> <PrivilegeObjectId>0d20ccc4-2694-4762-bfaa-649871fd0e99</PrivilegeObjectId> </AssignPrivileges> <InheritedObjectId>61a3d5bd-74a0-40e4-a770-f927faa52bb3</InheritedObjectId> </Role> • When Privileges are Modified (Assigned or Removed) <Role> <AssignPrivileges> <PrivilegeObjectId>0db37044-b459-4784-a82c-fea1ddb35b73</PrivilegeObjectId> <PrivilegeObjectId>0d20ccc4-2694-4762-bfaa-649871fd0e99</PrivilegeObjectId> </AssignPrivileges> <RemovePrivileges> <PrivilegeObjectId>93c8c92f-a6c7-4458-bbde-1b28dcc5adc6</PrivilegeObjectId> </RemovePrivileges> </Role> Response code: 201 Listing Privileges for Roles Using this API you can get all the privileges of System and Custom roles. The following is an example of the GET request that lists all the privileges of roles: https://<connection-server>/vmrest/roles/<object_id>/privileges Cisco Unity Connection Provisioning Interface (CUPI) API 671 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Modifying Custom Role

Page 704#

chunk 668

The following is the response from the above GET request and the actual response will depend upon the information given by you: <Privileges total="7"> <Privilege> <ObjectId>f34d7ee3-43a0-411a-8de9-724937ea8fc8</ObjectId> <DisplayName>Manage Call Handler Templates And System Call Handlers - View, Create, Update</DisplayName> </Privilege> <Privilege> <ObjectId>7ea8e97a-f620-4fdf-b70f-7eaff092647f</ObjectId> <DisplayName>Call Management: Directory Handlers - View, Create, Update</DisplayName> </Privilege> <Privilege> <ObjectId>62778f0d-cdc5-495c-9602-1e95b1c5e641</ObjectId> <DisplayName>Call Management: Interview Handlers - View, Create, Update</DisplayName> </Privilege> <Privilege> <ObjectId>fef92b42-77c1-40aa-99df-fafdf793e763</ObjectId> <DisplayName>Call Management: Call Routing Rules - Full Access</DisplayName> </Privilege> <Privilege> <ObjectId>8979151b-8554-4483-b75b-d46d56e1fb98</ObjectId> <DisplayName>Networking: VPIM - Full Access</DisplayName> </Privilege> <Privilege> <ObjectId>2431bc0b-1251-4c95-aaf9-2a82a893a60d</ObjectId> <DisplayName>Distribution Lists - Full Access</DisplayName> </Privilege> <Privilege> <ObjectId>2c2ef5b5-b15c-42b3-9cc3-f7d4de137825</ObjectId> <DisplayName>System Settings: Advanced - Full Access</DisplayName> </Privilege> </Privileges> Response Code: 200 Deleting a Custom Role The following is an example of the DELETE request that deletes a Custom Roles: DELETE https://<connection-server>/vmrest/customroles/<objectId> The following is the response from the above DELETE request and the actual response will depend upon the information given by you: Response Code: 204 Explanation of Data Fields The following chart lists all of the data fields: Description Operations Data Type Parameter Specifies the name of the Role. Read/Write String RoleName Specifies the description of the Role. Read/Write String RoleDescription Cisco Unity Connection Provisioning Interface (CUPI) API 672 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Deleting a Custom Role

Page 705#

chunk 669

Description Operations Data Type Parameter Specifies the object id of the System Role that is inherited while creating or modifying a Custom Role. Read/Write String InheritedObjectId Specifies the object id of the privileges that are assigned to the Custom Role. Read/Write String AssignPrivileges Specifies the object id of the privileges that will be removed from a custom role. You can not remove the privileges of inherited System Role. Note Write only String RemovePrivileges Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Patterns Restriction Patterns Administrator can use this API to create/update/delete/fetch the restriction pattern. Various attributes of restriction pattern can also be updated using this API. Listing the Restriction Pattern for a Particular Restriction Table The following is an example of the GET request that lists all the restriction tables: GET https://<connection-server>/vmrest/restrictiontables /<restrictiontableobjectid>/restrictionpatterns The following is the response from the above GET request: <RestrictionPatterns total="2"> <RestrictionPattern> <URI>/vmrest/restrictiontables/38de2a1f-ca74-4be3-bb7cd315df4c0fc5/ restrictionpatterns/6564adb9-9090-42e0-81e6-04e132c4382c</URI> <Blocked>true</Blocked> <NumberPattern></NumberPattern> <RestrictionTableObjectId>38de2a1f-ca74-4be3-bb7cd315df4c0fc5</ RestrictionTableObjectId> <SequenceNumber>1</SequenceNumber> <ObjectId>6564adb9-9090-42e0-81e6-04e132c4382c</ObjectId> </RestrictionPattern> <RestrictionPattern> <URI>/vmrest/restrictiontables/38de2a1f-ca74-4be3-bb7cd315df4c0fc5/ restrictionpatterns/15a68e67-16b9-4847-8230-29be9baa88cf</URI> <Blocked>true</Blocked> <NumberPattern></NumberPattern> <RestrictionTableObjectId>38de2a1f-ca74-4be3-bb7cd315df4c0fc5</ RestrictionTableObjectId> <SequenceNumber>0</SequenceNumber> <ObjectId>15a68e67-16b9-4847-8230-29be9baa88cf</ObjectId> </RestrictionPattern> </RestrictionPatterns> Cisco Unity Connection Provisioning Interface (CUPI) API 673 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Patterns

Page 706#

chunk 670

Response Code: 200 Viewing the Specific Restriction Pattern for a Particular Restriction Table The following is an example of the GET request that lists the details of specific restriction pattern represented by the provided value of object ID: GET https://<connection-server>/vmrest/restrictiontables/ <restrictiontableobjectid>/restrictionpatterns/<restrictiontableobjectid> The following is the response from the above GET request: <RestrictionPattern> <URI>/vmrest/restrictiontables/2c2c9504-8fb4-44e3-983c- 93eb4e20325c/restrictionpatterns/2c2c9504-8fb4-44e3-983c-93eb4e20325c</URI> <Blocked>false</Blocked> <NumberPattern></NumberPattern> <RestrictionTableObjectId>255bfdd2-5686-47f2-b40a- 320c194521ba</RestrictionTableObjectId> <RestrictionTableURI>/vmrest/restrictiontables/255bfdd2-5686-47f2-b40a- 320c194521ba</RestrictionTableURI> <SequenceNumber>1</SequenceNumber> <ObjectId>2c2c9504-8fb4-44e3-983c-93eb4e20325c</ObjectId> </RestrictionPattern> Response Code: 200 Creating a Restriction Pattern The following is an example of the POST request that creates a restriction pattern: POST https://<connectionserver>/ vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns Example 1: The following is the example of the create request from the above POST request. Request Body: <RestrictionPattern> <NumberPattern>#</NumberPattern> </RestrictionPattern> Response Code: 201 JSON Example To create new restriction pattern, do the following: Request URI: POST https://<connectionserver>/ vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "NumberPattern": "*#" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 674 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Viewing the Specific Restriction Pattern for a Particular Restriction Table

Page 707#

chunk 671

Response Code: 201 Example 2: The following is the example of the create request with specific restriction table Object ID Request Body: <RestrictionPattern> <NumberPattern>*#??</NumberPattern> <RestrictionTableObjectId>38de2a1f-ca74-4be3-bb7c-d315df4c0fc5</RestrictionTableObjectId> </RestrictionPattern> Response Code: 201 Updating a Restriction Pattern The following is an example of the PUT request that allows you to update the restriction pattern: Example 1: Change number pattern of restriction pattern PUT https://<connection- server>/vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns/<restrictionpatterno bjectid> Request Body: <RestrictionPattern> <NumberPattern>??999#</NumberPattern> </RestrictionPattern> Response Code: 204 JSON Example To change number pattern of restriction pattern, do the following: Request URI: PUT https://<connection- server>/vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns/<restrictionpatternobject id> Accept: application/json Content-Type: application/json Connection: keep-alive { "NumberPattern": "99??" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Request URI: 204 Example 2: Change sequence of restriction pattern Cisco Unity Connection Provisioning Interface (CUPI) API 675 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Updating a Restriction Pattern

Page 708#

chunk 672

• To change the sequence of restriction patterns GET the object id of restriction patterns and arrange them in the required sequence. • To change the sequence of restriction patterns through API, you must provide all the restriction pattern object Id present in that restriction table Note PUT https://<connectionserver>/ vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns Request Body: <RestrictionPatterns> <RestrictionPattern> <ObjectId>6564adb9-9090-42e0-81e6-04e132c4382c</ObjectId> </RestrictionPattern> <RestrictionPattern> <ObjectId>d9cd1525-462b-4eef-8629-0be9d0db2d18</ObjectId> </RestrictionPattern> <RestrictionPattern> <ObjectId>db0aed70-316b-47cb-8335-52fe34d3ca94</ObjectId> </RestrictionPattern> <RestrictionPattern> <ObjectId>46485dc6-bf31-4b31-be58-9eacbe718d02</ObjectId> </RestrictionPattern> <RestrictionPattern> <ObjectId>b7d51bb8-0059-4b56-aadd-6f9e2eaea624</ObjectId> </RestrictionPattern> </RestrictionPatterns> Request URI: 204 Default restriction pattern can neither be edited nor be deleted. Note The entire restriction pattern Object Id is given including default restriction pattern. But sequence of default restriction pattern cannot be changed because default restriction pattern cannot be edited nor be deleted. Note Deleting a Restriction Pattern Example 1: Delete particular restriction pattern The following is an example of the DELETE request that deletes a specific restriction table where you need to mention the restriction pattern object ID DELETE https://<connection- server>/vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns/<restrictionpatterno bjectid> Response Code: 204 JSON Example To delete particular restriction pattern, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 676 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Deleting a Restriction Pattern

Image 1 from page 708

Page 709#

chunk 673

DELETE https://<connectionserver>/ vmrest/restrictiontables/<restrictiontableobjectid>/restrictionpatterns/<restrictionpatternobject id> Accept: application/json Connection: keep-alive Response Code: 204 • Default restriction pattern cannot be edited or deleted. • When restriction pattern is blocked than then calls matching to dial string will not be allowed. Note Explanation of Data Fields The following chart lists all of the data fields: Comments Operation Data Type Device Name The specific numbers or patterns of numbers (including external and long-distance access codes) that can be permitted or restricted. It uses digits 0 through 9 plus the following special characters: • Match zero or more digits • ? Match exactly one digit. Each '?' serves as a placeholder for one digit. • # Corresponds to the # key on the phone • + to call from one country to other country For example, to screen out all phone numbers that start with 206 but are longer than 7 digits, enter 9206????? for the pattern (and set "Blocked" == true). Maximum length can be 40. Read/Write Varchar Number Pattern A flag indicating whether Cisco Unity Connection permits the use of dial strings matching the pattern. Values: • false: Permit use of dial strings matching the pattern • true: Do not permit use of dial strings matching the pattern Default Value - true Read/Write Boolean Blocked Specifies the object ID of restriction patterns. Read Only String(36) ObjectId Specifies the restriction table object id to which restriction pattern belongs. Read Only String(36) RestrictionTableObjectId A sequential index for this restriction pattern within the parent restriction table, which specifies the order in which Cisco Unity Connection will apply each call pattern. Read Only Integer(2) SequenceNumber Cisco Unity Connection Provisioning Interface (CUPI) API 677 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Explanation of Data Fields

Page 710#

chunk 674

Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Tables Restriction Tables Administrator can use this API to create/update/delete/fetch the restriction table. Various attributes of restriction table can also be updated using this API. Listing the Restriction Tables The following is an example of the GET request that lists all the restriction tables: GET https://<connection-server>/vmrest/restrictiontables The following is the response from the above GET request and the actual response will depend upon the information given by you: <RestrictionTables total="2"> <RestrictionTable> <URI>/vmrest/restrictiontables/71be3f47-fcf4-463d-8e8a-1710a2180de6</URI> <ObjectId>71be3f47-fcf4-463d-8e8a-1710a2180de6</ObjectId> <CreationTime>2013-01-29T09:46:52Z</CreationTime> <DefaultBlocked>false</DefaultBlocked> <LocationObjectId>9f59d35f-104b-4875-9995-39925dd024c0</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/9f59d35f-104b-4875-9995- 39925dd024c0</LocationURI> <MaxDigits>40</MaxDigits> <MinDigits>1</MinDigits> <DisplayName>Default Transfer</DisplayName> <Undeletable>true</Undeletable> <RestrictionPatternsURI>/vmrest/restrictiontables/71be3f47-fcf4-463d-8e8a- 1710a2180de6/restrictionpatterns</RestrictionPatternsURI> </RestrictionTable> <RestrictionTable> <URI>/vmrest/restrictiontables/a056f147-6469-4bb3-8314-5d0ff8011bad</URI> <ObjectId>a056f147-6469-4bb3-8314-5d0ff8011bad</ObjectId> <CreationTime>2013-01-29T09:46:52Z</CreationTime> <DefaultBlocked>false</DefaultBlocked> <LocationObjectId>9f59d35f-104b-4875-9995-39925dd024c0</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/9f59d35f-104b-4875-9995- 39925dd024c0</LocationURI> <MaxDigits>40</MaxDigits> <MinDigits>1</MinDigits> <DisplayName>Default Outdial</DisplayName> <Undeletable>true</Undeletable> <RestrictionPatternsURI>/vmrest/restrictiontables/a056f147-6469-4bb3-8314- 5d0ff8011bad/restrictionpatterns</RestrictionPatternsURI> </RestrictionTable> </RestrictionTables> Response Code: 200 JSON Example To list all the restriction tables use the following command, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 678 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Restriction Tables

Page 711#

chunk 675

Request URI: GET https://<connection-server>/vmrest/restrictiontables Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "2", "RestrictionTable": [ { "URI": "/vmrest/restrictiontables/4f01e5b1-b649-4f94-b55e-0c53d0e29c38", "ObjectId": "4f01e5b1-b649-4f94-b55e-0c53d0e29c38", "CreationTime": "2013-02-14T05:05:09Z", "DefaultBlocked": "false", "LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f", "LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f", "MaxDigits": "40", "MinDigits": "1", "DisplayName": "Default Transfer", "Undeletable": "true", "RestrictionPatternsURI": "/vmrest/restrictiontables/4f01e5b1-b649-4f94-b55e- 0c53d0e29c38/restrictionpatterns" }, { "URI": "/vmrest/restrictiontables/d66b1140-986a-40f1-a7d0-09714652d53f", "ObjectId": "d66b1140-986a-40f1-a7d0-09714652d53f", "CreationTime": "2013-02-14T05:05:09Z", "DefaultBlocked": "false", "LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f", "LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f", "MaxDigits": "40", "MinDigits": "1", "DisplayName": "Default Outdial", "Undeletable": "true", "RestrictionPatternsURI": "/vmrest/restrictiontables/d66b1140-986a-40f1-a7d0- 09714652d53f/restrictionpatterns" } ] } Response Code: 200 Viewing the Specific Restriction Table Example 1: With valid object ID The following is an example of the GET request that lists the details of specific restriction table represented by the provided value of object ID: GET https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 679 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Viewing the Specific Restriction Table

Page 712#

chunk 676

<RestrictionTable> <URI>/vmrest/restrictiontables/71be3f47-fcf4-463d-8e8a-1710a2180de6</URI> <ObjectId>71be3f47-fcf4-463d-8e8a-1710a2180de6</ObjectId> <CreationTime>2013-01-29T09:46:52Z</CreationTime> <DefaultBlocked>false</DefaultBlocked> <LocationObjectId>9f59d35f-104b-4875-9995-39925dd024c0</LocationObjectId> <LocationURI>/vmrest/locations/connectionlocations/9f59d35f-104b-4875-9995- 39925dd024c0</LocationURI> <MaxDigits>40</MaxDigits> <MinDigits>1</MinDigits> <DisplayName>Default Transfer</DisplayName> <Undeletable>true</Undeletable> <RestrictionPatternsURI>/vmrest/restrictiontables/71be3f47-fcf4-463d-8e8a- 1710a2180de6/restrictionpatterns</RestrictionPatternsURI> </RestrictionTable> Response Code: 200 JSON Example To view specific restriction table, do the following: Request URI: GET https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/restrictiontables/d66b1140-986a-40f1-a7d0-09714652d53f", "ObjectId": "d66b1140-986a-40f1-a7d0-09714652d53f", "CreationTime": "2013-02-14T05:05:09Z", "DefaultBlocked": "false", "LocationObjectId": "bbf3e6ed-0278-479c-9a6e-2da8756eeb6f", "LocationURI": "/vmrest/locations/connectionlocations/bbf3e6ed-0278-479c-9a6e- 2da8756eeb6f", "MaxDigits": "40", "MinDigits": "1", "DisplayName": "Default Outdial", "Undeletable": "true", "RestrictionPatternsURI": "/vmrest/restrictiontables/d66b1140-986a-40f1-a7d0- 09714652d53f/restrictionpatterns" } Response Code: 200 Creating a Restriction Table The following is an example of the POST request that creates a restriction table: POST https://<connection-server>/vmrest/restrictiontables Example 1: The following is the example of the create request from the above POST request. Cisco Unity Connection Provisioning Interface (CUPI) API 680 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Creating a Restriction Table

Page 713#

chunk 677

Request Body: <RestrictionTable> <DisplayName>Texoma 1</DisplayName> </RestrictionTable> Response Code: 201 JSON Example To create new restriction table, do the following: POST https://<connection-server>/vmrest/restrictiontables Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName": "Texoma 1" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Example 2: The following is the example of the create request with maximum and minimum length Request Body: <RestrictionTable> <DisplayName>Texoma Restriction Table_7</DisplayName> <MinDigits>50</MinDigits> <MaxDigits>60</MaxDigits> </RestrictionTable> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 JSON Example To create restriction table with maximum and minimum length, do the following: Request URI: POST https://<connection-server>/vmrest/restrictiontables Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "MaxDigits": "60", "MinDigits": "50", "DisplayName": "Texoma Restriction Table_7" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 Cisco Unity Connection Provisioning Interface (CUPI) API 681 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Creating a Restriction Table

Page 714#

chunk 678

Updating a Restriction Table Parameters The following is an example of the PUT request that allows you to update the parameters of the restriction tables: PUT https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid> Example 1: Update display name of restriction table Request Body: <RestrictionTable> <DisplayName>Texoma_123</DisplayName> </RestrictionTable> Response Code: 204 JSON Example To update display name of restriction table, do the following: Request URI: PUT https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName": "Texoma_123" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Example 2: Update maximum and minimum digits of restriction table Request Body: <RestrictionTable> <DisplayName>Texoma Restriction Table_7</DisplayName> <MinDigits>241</MinDigits> //Minimum digit range is 1-300, it should not exceed above 300 <MaxDigits>256</MaxDigits> //Maximum digit range is 1-300, it should not exceed above 300 </RestrictionTable> Response Code: 204 Example 3: Update default blocked parameter Request Body: <RestrictionTable> <DefaultBlocked>true</DefaultBlocked> </RestrictionTable> Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 682 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Updating a Restriction Table Parameters

Page 715#

chunk 679

Deleting a Restriction Table Example 1: Deleting a restriction table with a valid object id The following is an example of the DELETE request that deletes a specific restriction table where you need to mention the object ID: DELETE https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid> Response Code: 204 JSON Example To delete restriction table with a valid object id, do the following: DELETE https://<connection-server>/vmrest/restrictiontables/<restrictiontableobjectid> Accept: application/json Connection: keep-alive Response Code: 204 Default restriction table cannot be edited or deleted. Note Explanation of Data Fields The following chart lists all of the data fields: Comments Operation Data Type Device Name Specifies an unique and system generated ID of a particular restriction table object. Read only String (36) ObjectId Specifies unique display name of restriction table in order to display entries in the administrative console. Read/Write String (64)) DisplayName Specifies the maximum number of digits in a dial string (including access codes) allowed by Cisco Unity Connection. Only dial strings that contain a number of digits fewer than or equal to the number of digits specified in this column are checked against the restriction table. Dial strings that contain more than the numbers of digits specified in this column are not permitted. For example, if the local calls in your area are seven digits long, and you want to prevent subscribers from using long distance phone numbers, enter 8 in this column.(Range 1-300). Read/Write Integer MaxDigits Cisco Unity Connection Provisioning Interface (CUPI) API 683 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Deleting a Restriction Table

Image 1 from page 715

Page 716#

chunk 680

Comments Operation Data Type Device Name Specifies the minimum number of digits in a dial string (including access codes) allowed by Cisco Unity Connection. Only dial strings that contain a number of digits greater than or equal to the number of digits specified in this column are checked against the restriction table. Dial strings that contain fewer than the number of digits specified in this column are not permitted. For example, to prohibit subscribers from using four-digit numbers, enter a value of 5 in this column. (Range 1-300) Read/Write Integer MinDigits A flag indicating whether Cisco Unity Connection permits the phone number in the case where a phone number does not match any call patterns in this restriction table. This condition should never occur. By default, all restriction tables should have * as the call pattern in the last dial string of the table and an administrator should not be allowed to modify this call pattern setting. Possible values: • false: Blocked • true: Not Blocked Default value: false Read/Write Boolean DefaultBlocked Creation date and time of restriction table. Read only DateTime CreationTime A flag indicating whether this restriction table can be deleted via an administrative application such as Cisco Unity Connection Administration. It is used to prevent deletion of factory defaults. Default Value - false Read/Write Boolean Undeletable Cisco Unity Connection Provisioning Interface (CUPI) API -- License Dump APIs License Dump APIs Administrator can use this API to fetch license usage information for 6 licensing parameters/features. These 6 license parameters are: Cisco Unity Connection Provisioning Interface (CUPI) API 684 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- License Dump APIs

Page 717#

chunk 681

Description Feature License Tag License Parameter Specifies the maximum number of voice mail users configured in Cisco Unity Connection. All the users which are the time of installation. example, "operator" an "undeliverablemessages are removed from this Also all the tenant oper count is not included in for this tag. Note Total number of voicemail users LicSubscribersMax CUC_BasicMessaging Specifies the maximum number of speech view users using the standard transcription services configured in Cisco Unity Connection. Total number of speech view users using the standard transcription services LicSTTSubscribersMax CUC_SpeechView Specifies the maximum number of Speech view users using the professional transcription services configured in Cisco Unity Connection Total number of speech view users using the professional transcription services LicSTTProSubscribersMax CUC_SpeechViewPro Specifies the maximum number of Speech Connect calls configured in Cisco Unity Connection Total number of speech connect ports LicRealspeakSessionsMax CUC_SpeechConnectPort Specifies the maximum number of Connection SRSV users configured on Cisco Unity Connection. The Connection SRSV users are reflected under this tag only when the branch is active. This feature is not applicable for Tenant Partitioning system. Total number of enhanced messaging users LicSrsvCuceSubscribersMax CUC_EnhancedMessaging Specifes the maximum number of local contacts, along with VPIM contacts created from Non Unity Connection End Point. Total number of Contacts. LicContactsMax CUC_SpeechConnectGuestUser Cisco Unity Connection Provisioning Interface (CUPI) API 685 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings License Dump APIs

Page 718#

chunk 682

Listing the License Status Count The following is an example of the GET request that lists all the license status count: GET https://<connection-server>/vmrest/licensestatuscounts The following is the response from the above GET request and the actual response will depend upon the information given by you: <LicenseStatusCounts total="6"> <LicenseStatusCount> <URI>/vmrest/licensestatuscounts/LicSubscribersMax</URI> <TagName>LicSubscribersMax</TagName> <ObjectId>bc1f1f5d-f628-4bca-b0c9-f225d07d677f</ObjectId> <Count>3</Count> <featureName>CUC_BasicMessaging</featureName> <description>Total Number of Voicemail users</description> </LicenseStatusCount> <LicenseStatusCount> <URI>/vmrest/licensestatuscounts/LicSrsvCuceSubscribersMax</URI> <TagName>LicSrsvCuceSubscribersMax</TagName> <ObjectId>99541ef5-4602-424c-84e6-6c9fe8b4044b</ObjectId> <Count>0</Count> <featureName>CUC_EnhancedMessaging</featureName> <description>Total Number of Enhanced Messaging Users</description> </LicenseStatusCount> <LicenseStatusCount> <URI>/vmrest/licensestatuscounts/LicSTTSubscribersMax</URI> <TagName>LicSTTSubscribersMax</TagName> <ObjectId>dfbaf0f8-38b0-4e14-9f62-9b1e59cc2426</ObjectId> <Count>0</Count> <featureName>CUC_SpeechView</featureName> <description>Speechview Standard users</description> </LicenseStatusCount> <LicenseStatusCount> <URI>/vmrest/licensestatuscounts/LicSTTProSubscribersMax</URI> <TagName>LicSTTProSubscribersMax</TagName> <ObjectId>d1f15aa9-2482-4a80-93e8-58fb402e31dd</ObjectId> <Count>3</Count> <featureName>CUC_SpeechViewPro</featureName> <description>Speechview Professional Users</description> </LicenseStatusCount> <LicenseStatusCount> <URI>/vmrest/licensestatuscounts/LicRealspeakSessionsMax</URI> <TagName>LicRealspeakSessionsMax</TagName> <ObjectId>2b1a7da9-6b13-4302-8efd-91db94b2c241</ObjectId> <Count>3</Count> <featureName>CUC_SpeechConnectPort</featureName> <description>Total Number of speech connect sessions</description> </LicenseStatusCount> <LicenseStatusCount> <URI>/vmrest/licensestatuscounts/LicContactsMax</URI> <TagName>LicContactsMax</TagName> <ObjectId>417f531f-077b-4d64-8f5b-749a56623f400</ObjectId> <Count>1</Count> <featureName>CUC_SpeechConnectGuestUser</featureName> <description>Total Number of Contacts</description> </LicenseStatusCount></LicenseStatusCounts> <pre> Response Code: 200 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 686 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing the License Status Count

Page 719#

chunk 683

To list all the license status count use the following command: Request URI: GET https://<connection-server>/vmrest/licensestatuscounts Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "@total":"2" "LicenseStatusCount":[ { "URI":"/vmrest/licensestatuscounts/LicSubscribersMax" "TagName":"LicSubscribersMax" "ObjectId":"bc1f1f5d-f628-4bca-b0c9-f225d07d677f" "Count":"3" "featureName":"CUC_BasicMessaging" "description":"Total Number of Voicemail users" } { "URI":"/vmrest/licensestatuscounts/LicSrsvCuceSubscribersMax" "TagName":"LicSrsvCuceSubscribersMax" "ObjectId":"99541ef5-4602-424c-84e6-6c9fe8b4044b" "Count":"0" "featureName":"CUC_EnhancedMessaging" "description":"Total Number of Enhanced Messaging Users" } ] } Response Code: 200 Viewing the Specific License Status Count Request URI: GET https://<connection-server>/vmrest/licensestatuscounts/<TagName> Tag names can be: • LicSubscribersMax • LicSrsvCuceSubscribersMax • LicSTTSubscribersMax • LicSTTProSubscribersMax • LicRealspeakSessionsMaxSample Request The following is an example of the GET request that lists the details of specific license status count represented by the provided value of object ID: GET https://<connection-server>/vmrest/licensestatuscounts/LicSubscribersMax The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 687 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Viewing the Specific License Status Count

Page 720#

chunk 684

<LicenseStatusCount> <URI>/vmrest/licensestatuscounts/LicSubscribersMax</URI> <TagName>LicSubscribersMax</TagName> <ObjectId>bc1f1f5d-f628-4bca-b0c9-f225d07d677f</ObjectId> <Count>3</Count> <featureName>CUC_BasicMessaging</featureName> <description>Total Number of Voicemail users</description> </LicenseStatusCount> Response Code: 200 JSON Example To view specific license status count, do the following: GET https://<connection-server>/vmrest/licensestatuscounts/<TagName> Request URI: GET https://<connection-server>/vmrest/licensestatuscounts/LicSubscribersMax Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI":"/vmrest/licensestatuscounts/LicSubscribersMax" "TagName":"LicSubscribersMax" "ObjectId":"bc1f1f5d-f628-4bca-b0c9-f225d07d677f" "Count":"3" "featureName":"CUC_BasicMessaging" "description":"Total Number of Voicemail users" } Response Code: 200 Explanation of Data Fields The following chart lists all of the data fields: Comment Data Type Operation Parameter Specifies the URI of the API. String Read Only URI Specifies the license tag of the feature. Tag names can be: • LicSubscribersMax • LicSrsvCuceSubscribersMax • LicSTTSubscribersMax • LicSTTProSubscribersMax • LicRealspeakSessionsMax String Read Only TagName Identifier for a LicenseStatus object. String (36) Read Only ObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 688 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Explanation of Data Fields

Page 721#

chunk 685

Comment Data Type Operation Parameter The current usage of the feature in the system. It is a number specifying the current usage count or if the feature is in use. String Read Only Count The name of the feature. String Read Only FeatureName The description of the feature String Read Only Description Cisco Unity Connection Provisioning Interface (CUPI) API -- Smart Licensing Overview With Unity Connection 12.0(1) and later, a new simple and enhanced way of licensing, Cisco Smart Software Licensing is introduced to use various licensed feature of Unity Connection. Using Cisco Smart Software Licensing, you can manage all the licenses associated with an organization through a single interface, which is Cisco Smart Software Manager (CSSM) or Cisco Smart Software Manager satellite. Cisco Smart Software Licensing provides the visibility of your licenses ownership and consumption. Unity Connection must be registered with the Cisco Smart Software Manager (CSSM) or Cisco Smart Software Manager satellite to use various licensed feature. Unity Connection remains in the Evaluation Mode until it registers with the Cisco Smart Software Manager (CSSM) or Cisco Smart Software Manager satellite. For information on Unity Connection licenses, see the "Managing Licenses" chapter of the Install, Upgrade, and Maintenance Guide for Cisco Unity Connection, Release 12.x, available at https://www.cisco.com/c/en/ us/td/docs/voice_ip_comm/connection/12x/install_upgrade/guide/b_12xcuciumg.html. With release 12.5(1) and later, Unity Connection provides the APIs to perform the various operations of Cisco Smart Software Licensing. Transport Settings To view and manage the licenses, Unity Connection must communicate with the Cisco Smart Software Manager (CSSM) or Cisco Smart Software Manager satellite. Following are the options to deploy the Cisco Smart Software Licensing in Unity Connection, • Direct Cloud Access: In this option, Unity Connection can directly communicate with CSSM and transfer the usage information over internet. No additional components are required. • Mediated Access through an On-Premises Collector: In this option, Unity Connection communicates with on-prem version of CSSM called Cisco Smart Software Manager satellite. Periodically satellite communicates with CSSM using Cisco network and exchange of license information will be performed. • Direct Cloud Access through an HTTPs Proxy: In this option, Unity Connection directly transfers the usage information to CSSM over internet through proxy server. Cisco Unity Connection Provisioning Interface (CUPI) API 689 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Smart Licensing

Page 722#

chunk 686

Cisco Unity Connection Release 12.5(1) Service Update 4 and later, allows you to authenticate the proxy server for more secure communication with CSSM. To authenticate the proxy server below fields are introduced in Transport Settings API. • isProxyAuthReq • httpProxyUser • httpProxyPasswd Note For more information on transport settings, see Deployment Options section of the Managing Licenses chapter of the Install, Upgrade, and Maintenance Guide for Cisco Unity Connection Release 12.x available at https:/ /www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/12x/install_upgrade/guide/b_12xcuciumg.html Listing Transport Settings The following is an example of the GET request that displays the configured transport setting: GET https://<connection-server>/vmrest/smartlicense/transportsettings The following is the response from the above GET request and the actual response will depend upon the information given by you: <TransportSetting> <transportMode>2</transportMode> <transportUrl>https://tools.cisco.com/its/service/oddce/services/DDCEService</transportUrl> <httpHost></httpHost> <httpPort>0</httpPort> <isPrivacyEnabled>false</isPrivacyEnabled> <isProxyAuthReq>true</isProxyAuthReq> <httpProxyUser>James</httpProxyUser></TransportSetting> Response Code: 200 JSON Example { "transportMode": "2", "transportUrl": "https://tools.cisco.com/its/service/oddce/services/DDCEService</transportUrl", "httpHost": "", "httpPort": "0" "isPrivacyEnabled": "false" "isProxyAuthReq": "true" "httpProxyUser" : "James" } Response Code: 200 Modifying Transport Settings The following is an example of the PUT request that modifies the Transport Settings: Cisco Unity Connection Provisioning Interface (CUPI) API 690 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing Transport Settings

Image 1 from page 722

Page 723#

chunk 687

PUT https://<connection-server>/vmrest/smartlicense/transportsettings The following is the response from the above PUT request and the actual response will depend upon the information given by you: <TransportSetting> <transportMode>0</transportMode> <transportUrl>https://tools.cisco.com/its/service/oddce/services/DDCEService</transportUrl> <httpHost></httpHost> <httpPort>0</httpPort> <isPrivacyEnabled>false</isPrivacyEnabled> <isProxyAuthReq>1</isProxyAuthReq> <httpProxyUser>James</httpProxyUser> <httpProxyPasswd></httpProxyPasswd></TransportSetting> Response Code: 200 JSON Example { "transportMode": "0" "transportUrl": "https://tools.cisco.com/its/service/oddce/services/DDCEService" "httpHost": "" "httpPort": "0" "isPrivacyEnabled" : "false" "isProxyAuthReq" : "true" "httpProxyUser" : "James" "httpProxyPasswd" : ""} Response Code: 200 If the product is registered with CSSM or satellite, you must deregister the product before changing the transport settings. Note Registering the Unity Connection Using this API, you can register the product with CSSM or satellite. For registration, you need a registration token from CSSM or satellite. For information on how to create a token on CSSM or satellite, see "Configuring Cisco Smart Software Licensing in Unity Connection" section of " Managing Licenses" chapter of the Install, Upgrade, and Maintenance Guide for Cisco Unity Connection, Release 12.x, available at https://www.cisco.com/c/en/us/ td/docs/voice_ip_comm/connection/12x/install_upgrade/guide/b_12xcuciumg.html. Following is the PUT request to register the product with CSSM or satellite : PUT https://<connection-server>/vmrest/smartlicense/register <RegisterDetails> <token>NDJiMjI0YTAtMjc0MC00......1JakVZMU5JWGhLOXlP%0AMmVxMD0%3D%0A</token> <force>false</force> </RegisterDetails> Cisco Unity Connection Provisioning Interface (CUPI) API 691 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Registering the Unity Connection

Page 724#

chunk 688

Response Code: 200 JSON Example { "token" : "NDJiMjI0YTAtMjc0MC00......s1RVdnR2c2VExDRXEvcGtUWWVh%0ASTRNdz0%3D%0B" "force" : "false" } Response Code: 200 Reregistering the Unity Connection Using this API, you can reregister the product with CSSM or satellite. For reregistration, you need a registration token from CSSM or satellite. Following is the PUT request to reregister the product with CSSM or satellite: PUT https://<connection-server>/vmrest/smartlicense/register <RegisterDetails> <token>NDJiMjI0YTAtMjc0MC00......1JakVZMU5JWGhLOXlP%0AMmVxMD0%3D%0A</token> <force>true</force> </RegisterDetails> Response Code: 200 JSON Example { "token" : "NDJiMjI0YTAtMjc0MC00......1JakVZMU5JWGhLOXlP%0AMmVxMD0%3D%0A" "force" : "true" } Response Code: 200 Deregistering the Unity Connection Using this API, you can deregister the product from CSSM or satellite. All license entitlements used for the product are released back to its virtual account. The following is an example of the PUT request that deregisters the product from CSSM: PUT https://<connection-server>/vmrest/smartlicense/deregister Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 692 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Reregistering the Unity Connection

Page 725#

chunk 689

Renew Authorization of the Unity Connection Using this API, you can renew the license authorization for the product with CSSM or satellite. However, the licenses are automatically authorized in every 30 days. Following is the PUT request to renew the license authorization for the product: PUT https://<connection-server>/vmrest/smartlicense/renewAuth Response Code: 200 Renew Registration of the Unity Connection Using this API, you can renew the registration of the product with CSSM or satellite. However, the registration of the product is automatically renewed in every six month. Following is the PUT request to renew the registration of the product: PUT https://<connection-server>/vmrest/smartlicense/renewID Response Code: 200 Listing Licensing Details This API is used for listing all the licensing information of the product. Following is the GET request to listing all the licensing details: GET https://<connection-server>/vmrest/smartlicense/licensedetails The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 693 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Renew Authorization of the Unity Connection

Page 726#

chunk 690

<LicenseDetails> <SmartLicensing>Enabled</SmartLicensing> <Register> <Status>Registered</Status> <SmartAccount>BU Production Test</SmartAccount> <VirtualAccount>Cisco_VA</VirtualAccount> <LastRenewalAttempt>SUCCEEDED 2017-11-22 13:17:19.0</LastRenewalAttempt> <NextRenewalAttempt>2018-05-23 13:17:19.0</NextRenewalAttempt> <LastRegistrationSuccessTime>2017-11-24 13:17:19.0</LastRegistrationSuccessTime> <ProductUDI>pid=Cisco Unity Connection sn=cbd7561030494c60af97aabbcba</ProductUDI> <ExportControlFunctionality>Allowed</ExportControlFunctionality> </Register> <Authorization> <Status>Authorized</Status> <LastCommunicationAttempt>SUCCEEDED 2017-11-27 13:17:19.0</LastCommunicationAttempt> <NextCommunicationAttempt>2017-12-27 13:17:19.0</NextCommunicationAttempt> <EvaluationPeriodRemaining>87:0:36</EvaluationPeriodRemaining> </Authorization> <LicenseUsage> <EntitlementTag> <Id>regid.2020-06.com.cisco.CUC_BasicMessaging,14_74b6bdc1-b3e1-45dc-9468-6412b12fdef2</Id> <Count>1</Count> <Status>Evals</Status> </EntitlementTag> <EntitlementTag> <Id>regid.2020-06.com.cisco.CUC_EnhancedMessaging,14_5e05b515-5be5-429e-b301-5de5de8d2c09</Id> <Count>0</Count> <Status>Init</Status> </EntitlementTag> <EntitlementTag> <Id>regid.2020-11.com.cisco.CUC_SpeechViewPro,14_9de30ccc-1671-4c32-9f57-f63c3f66af84</Id> <Count>0</Count> <Status>Init</Status> </EntitlementTag> <EntitlementTag> <Id>regid.2020-11.com.cisco.CUC_SpeechView,14_5a0e3202-2743-4401-a117-1e9c239acbbf</Id> <Count>10</Count> <Status>InCompliance</Status> </EntitlementTag> <EntitlementTag> <Id>regid.2020-06.com.cisco.CUC_SpeechConnectPort,14_d0201ba3-0b71-403d-9b74-5cd643dd662b</Id> <Count>0</Count> <Status>Init</Status> </EntitlementTag> <EntitlementTag> <Id>regid.2020-06.com.cisco.CUC_SpeechConnectGuestUser,14_d49c924c-e587-4a02-8376-7c48bc7ac3ba</Id> <Count>0</Count> <Status>Init</Status> </EntitlementTag> </LicenseUsage> </LicenseDetails> Response Code: 200 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 694 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing Licensing Details

Page 727#

chunk 691

{ "SmartLicensing": "Enabled", "Register": { "Status": "Reservation In Progress", "SmartAccount": "BU Production Test", "VirtualAccount": "Cisco_VA", "LastRenewalAttempt": "SUCCEEDED 2017-11-22 13:17:19.0", "NextRenewalAttempt": " 2018-05-23 13:17:19.0", "LastRegistrationSuccessTime": "2017-11-24 13:17:19.0", "ProductUDI": "pid=Cisco Unity Connection sn=cbd7561030494c60af97aabbcba", "ExportControlFunctionality": "Allowed" }, "Authorization": { "Status": "Evaluation", "LastCommunicationAttempt": "SUCCEEDED 2017-11-27 13:17:19.0", "NextCommunicationAttempt": " 2017-12-27 13:17:19.0", "EvaluationPeriodRemaining": "87:0:36" }, "LicenseUsage": { "EntitlementTag": [ { "Id": "regid.2020-06.com.cisco.CUC_BasicMessaging,14_74b6bdc1-b3e1-45dc-9468-6412b12fdef2", "Count": "1", "Status": "Eval" }, { "Id": "regid.2020-06.com.cisco.CUC_EnhancedMessaging,14_5e05b515-5be5-429e-b301-5de5de8d2c09", "Count": "0", "Status": "Init" }, { "Id": "regid.2020-11.com.cisco.CUC_SpeechViewPro,14_9de30ccc-1671-4c32-9f57-f63c3f66af840Init", "Count": "0", "Status": "Init" }, { "Id": "regid.2020-11.com.cisco.CUC_SpeechView,14_5a0e3202-2743-4401-a117-1e9c239acbbf", "Count": "0", "Status": "Init" }, { "Id": "regid.2020-06.com.cisco.CUC_SpeechConnectPort,14_d0201ba3-0b71-403d-9b74-5cd643dd662b", "Count": "0", "Status": "Init" }{ "Id": "regid.2020-06.com.cisco.CUC_SpeechConnectGuestUser,14_d49c924c-e587-4a02-8376-7c48bc7ac3ba", "Count": "0", "Status": "Init" } ] } } Response Code: 200 Cisco Unity Connection provides different Entitlement Tag based on the supported deployment modes of Unity Connection. Cisco Unity Connection Provisioning Interface (CUPI) API 695 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing Licensing Details

Page 728#

chunk 692

Cisco Unity Connection Release 12.5(1) Service Update 4 and later, administrator provide Speech View functionality with Hosted Collaboration Services (HCS) deployment mode. To use SpeechView feature in HCS mode, you must have HCS SpeechView Standard User Licenses with the users. HCUC_SpeechView entitlement tag is added to support the functionality. In HCS mode, only Standard SpeechView Transcription Service is supported. Note For SpeechView configuration refer chapter "SpeechView" of System Administration Guide Cisco Unity Connection Release 12 available at link https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/ 12x/administration/guide/b_12xcucsag.html. Following table describes the deployment modes with corresponding Entitlement Tags: Entitlement Tag Description Deployment Mode • CUC_BasicMessaging • CUC_EnhancedMessaging • CUC_SpeechView • CUC_SpeechViewPro • CUC_SpeechConnectPort • CUC_SpeechConnectGuestUser This is the default mode of Unity Connection Enterprise • HCUC_BasicMessaging • HCUC_EnhancedMessaging • HCUC_StandardMessaging • HCUC_SpeechConnectPort • HCUC_SpeechView This mode comprises Hosted Collaboration Services HCS • HLECUC_BasicMessaging • HLECUC_EnhancedMessaging • HLECUC_StandardMessaging • HLECUC_SpeechConnectPort This mode comprises Hosted Collaboration Services -Large Enterprise HCS-LE To get the latest licensing details of a product, you must renew the authorization of the product. For more information, see "Renew Authorization of the Unity Connection" section. Note Cisco Unity Connection Provisioning Interface (CUPI) API 696 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing Licensing Details

Image 1 from page 728

Page 729#

chunk 693

Getting License Data for STT Using this API, you can acquire the SpeechView license data (Certificates and Voucher code) locally to the connection server from CSSM or satellite. The following is an example of the PUT request that acquires the Speech View license data from CSSM or satellite: PUT https://<connection-server>/vmrest/smartlicense/configurenuancecerts Response Code: 200 Explanation of Data Fields The following chart lists all of the data fields: Descriptions Operations Data Type Parameter Specifies the different transport settings option through which Unity Connection communicates with CSSM. Possible values are: • 0-Direct option. • 1-Mediated Access through an On-Premises Collector or satellite • 2-HTTP/HTTPS Proxy Default-0 Read\Write Integer transportMode Specifies the URL through which Unity Connection communicates with CSSM. Default URL: https://tools.cisco.com/its/service/oddce/services/DDCEService This field is applicable when transportMode is set to Direct or satellite . Note Read\Write String transportUrl Specifies the IP address or Hostname of the proxy server. This field is applicable when transportMode is set to HTTP/HTTPS Proxy. Note Read\Write String httpHost Specifies the port through which Unity Connection connects to the proxy server. • Range-1 to 65535 Default-0 This field is applicable when transportMode is set to HTTP/HTTPS Proxy. Note Read\Write Integer httpPort Cisco Unity Connection Provisioning Interface (CUPI) API 697 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Getting License Data for STT

Page 730#

chunk 694

Descriptions Operations Data Type Parameter Specifies option to enter the details of password protected proxy server for more secure communication. Possible values are: • 0- false. • 1- true. It is mandatory to provide username and password details of proxy server. Default -0 Read\Write Boolean isProxyAuthReq (Applicable from Unity Connection 12.5SU4 and later releases) Specifies the proxy server username that is required to connect to Unity Connection through more secure channel. Read\Write String httpProxyUser (Applicable from Unity Connection 12.5SU4 and later releases) Specifies the proxy server password that is required to connect to Unity Connection through more secure channel. Read\Write String httpProxyPasswd (Applicable from Unity Connection 12.5SU4 and later releases) Smart Account is a simple and organized way to manage the product licenses and entitlements. Using this account, you can register, view, and manage your Cisco Software Licenses across your organization. Read Only String SmartAccount Virtual Accounts are the sub accounts within the Smart Accounts. Licenses and Product instances can be distributed across virtual accounts. Read Only String VirtualAccount Token is required for registering the product with CSSM or satellite. Read\Write String token This flag is enable when you reregister the product with CSSM or satellite. The possible values are: • False-For registering the product. • True-For reregistering the product. Read\Write String force Specifies the status, date and time on which, the product is last renewed the registration with CSSM or satellite. Possible values are: • SUCCEEDED-When the product successfully renews the registration with CSSM. • FAILED-When renew registration of the product with CSSM is failed. • Not Applicable-When the product is not registered once with CSSM or satellite. Read Only String LastRenewalAttempt Cisco Unity Connection Provisioning Interface (CUPI) API 698 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Explanation of Data Fields

Page 731#

chunk 695

Descriptions Operations Data Type Parameter Specifies the date and time on which, the product is required to renew the registration with CSSM. Read Only Date\Time NextRenewalAttempt Specifies the date and time on which, the product is successfully registered with CSSM or satellite. Read Only Date\Time LastRegistrationSuccessTime Specifies the status, date and time on which, the product last communicated with CSSM or satellite. Possible values are: • SUCCEEDED-When the product is successfully communicated with CSSM or satellite. • FAILED-When the product is failed to communicate with CSSM or satellite. • Not Applicable-When the product is not registered once with CSSM or satellite. Read Only String LastCommunicationAttempt Specifies the date and time on which, the product is required to communicate with CSSM or satellite. Read Only Date\Time NextCommunicationAttempt Specifies the Export Controlled Functionality is enabled for the product or not at the time of token creation on the CSSM or satellite. Possible values are: • Allowed-When Export Controlled Functionality is enabled for the product. • Not Allowed-When the Product is in Evaluation Mode or Export Controlled Functionality is not enabled for the product.. Read Only String ExportControlFunctionality Specifies the License Parameters. Read Only String Id Specifies the number of licenses that are used Read Only Integer Count Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Subject Line Listing Subject Line Formats This page contains information on how to use the API to list and update subject line formats and it's parameters. Subject line format enables the user to configure the subject lines of the notification emails for Message Notifications, Missed Call Notifications, and Scheduled Summary Notifications. Cisco Unity Connection Provisioning Interface (CUPI) API 699 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Custom Subject Line

Page 732#

chunk 696

POST and DELETE APIs are not supported. Note The following is an example of the GET request that lists all subject line formats: GET https://<connection_server>/vmrest/subjectlineformats The following is an example of the GET request to list the subject line for a specific message type: https://<connection_server>/vmrest/subjectlineformats?query=(MessageType is 2) Message type is 1 for voice messages and 2 for notifications. Note The following is an example of the response from the above GET requests and the actual response will depend upon the information given by you: <SubjectLineFormats total="7"> <SubjectLineFormat> <URI>/vmrest/subjectlineformats/7048d455-374b-4b81-bf0b-ebb70239b441</URI> <ObjectId>7048d455-374b-4b81-bf0b-ebb70239b441</ObjectId> <LanguageCode>1033</LanguageCode> <FactoryDefaultSubject>Message notification</FactoryDefaultSubject> <Subject>Message notification</Subject> <SubjectType>7</SubjectType> <MessageType>2</MessageType> <CustomSubjectParameterURI>/vmrest/subjectlineparameters?query=(MessageType%20is%202)</CustomSubjectParameterURI> </SubjectLineFormat> … </SubjectLineFormats> Response code: 200 OK Listing a particular subject line format The following is an example of the GET request that lists a particular subject line format: GET https://<connection_server>/vmrest/subjectlineformats/<objectID> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 700 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing a particular subject line format

Image 1 from page 732

Page 733#

chunk 697

<SubjectLineFormat> <URI>/vmrest/subjectlineformats/75b13d88-7313-491a-b239-dff1f1372379</URI> <ObjectId>75b13d88-7313-491a-b239-dff1f1372379</ObjectId> <LanguageCode>1033</LanguageCode> <FactoryDefaultSubject>%D% %U% %P% Message from %NAME% (%CALLERID%)</FactoryDefaultSubject> <Subject>%D% %U% %P% Message from %NAME% (%CALLERID%)</Subject> <SubjectType>1</SubjectType> <MessageType>1</MessageType> <CustomSubjectParameterURI>/vmrest/subjectlineparameters</CustomSubjectParameterURI> </SubjectLineFormat> Response code: 200 OK Modifying Subject Line Formats The following is an example of the PUT request that modifies subject field in the subject line formats: PUT https://<connection_server>/vmrest/subjectlineformats/<objectID> The following is the input for above PUT request. <SubjectLineFormat> <Subject>%D% %U% %P% Message from %NAME% 123(%CALLERID%)</Subject> </SubjectLineFormat> The following is the reponse of above PUT request. Response code: 204 OK Listing Subject Line Parameters The following is an example of the GET request that lists all subject line parameters: GET https://<connection_server>/vmrest/subject-line-parameters The following is an example of the response from the above GET request. <SubjectLineParameters total="11"> <SubjectLineParameter> <URI>/vmrest/subject-line-parameters/462d2eaa-8109-470e-982e-00c2c99e8770</URI> <ObjectId>462d2eaa-8109-470e-982e-00c2c99e8770</ObjectId> <LanguageCode>1033</LanguageCode> <Parameter>Unknown caller ID1</Parameter> <FactoryDefaultParameter>Unknown caller ID</FactoryDefaultParameter> <ParameterType>1</ParameterType> <MessageType>1</MessageType> </SubjectLineParameter> .... </SubjectLineParameters> Response code: 200 OK Cisco Unity Connection Provisioning Interface (CUPI) API 701 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Modifying Subject Line Formats

Page 734#

chunk 698

Listing a particular Subject Line Parameter The following is an example of the GET request that list a particular subject line parameter: GET https://<connection_server>/vmrest/subject-line-parameters/<objectID> The following is an example of the GET request to list a particular subject line parameter for a specific message type: https://<connection_server>/vmrest/subject-line-parameters?query=(MessageType is 2) The Message Type is 1 for voice messages and 2 for notifications. Note The following is an example of the response from the above GET request. <SubjectLineParameter> <URI>/vmrest/subject-line-parameters/462d2eaa-8109-470e-982e-00c2c99e8770</URI> <ObjectId>462d2eaa-8109-470e-982e-00c2c99e8770</ObjectId> <LanguageCode>1033</LanguageCode> <Parameter>Unknown caller ID1</Parameter> <FactoryDefaultParameter>Unknown caller ID</FactoryDefaultParameter> <ParameterType>1</ParameterType> <MessageType>1</MessageType> </SubjectLineParameter> Response code: 200 OK Modifying Subject Line Parameter The following is an example of the PUT request that modifies the subject line parameters: PUT https://<connection_server>/vmrest/subject-line-parameters/<objectID> The following is the response of above PUT request. <SubjectLineParameter> <Parameter>Unknown caller ID1</Parameter> </SubjectLineParameter> Response code: 204 OK Explanation of Data Fields For Subject Type, Message Type and Parameter Type Explanation/Comments Type Read/Write Field Name Object ID of the entity String Read ObjectId Indicates the language code Integer Read LanguageCode Cisco Unity Connection Provisioning Interface (CUPI) API 702 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Listing a particular Subject Line Parameter

Image 1 from page 734

Page 735#

chunk 699

Explanation/Comments Type Read/Write Field Name 1-%CALLERID% of the message sender 2-%CALLEDID% for the number dialed 3-%NAME%, display name of the sender 4-%EXTENSION%, the extension of the sender 5-%U%, defined value for urgent messages 6-%P%, defined value for private messages 7-%S%, defined value for secure messages 8-%D%, defined value for dispatch messages 9- %TIMESTAMP%, time at which the voice message is received Integer Read ParameterType 1- for Voice Messages 2-For Notifications Integer Read MessageType 0-Ignore, this is for invalid entry 1-Outside Caller Messages, to format string of subject line for Outside Caller Messages 2-User to User Messages, to format string of subject line for User to User Messages 3-Interview Handler Messages, to format string of subject line for Interview Handler Messages 4-Live Record Messages, to format string of subject line for Live Record Messages 5-Message Notification, to format string of subject line for Message Notification 6-Missed Call Notification, to format string of subject line for Missed Call Notification 7-Scheduled Summary Notification, to format string of subject line for Scheduled Notification Integer Read SubjectType Customizes the Parameter Text String Write Parameter Customizes the SubjectLine text String Write Subject System default value for subject line paramater String Read FactoryDefaultParameter URI to get the custom subject parameters details String Read CustomSubjectParameterURI System default value for Subject String Read FactoryDefaultSubject Cisco Unity Connection Provisioning Interface (CUPI) API 703 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Explanation of Data Fields

Page 736#

chunk 700

Cisco Unity Connection Provisioning Interface (CUPI) API -- Language Map About Language Map This page contains information on how to use the API to display the language map, which contains mappings between language codes and languages. This is a list of languages available for install on a Cisco Unity Connection server; to view the list of languages actually installed on a server, use this GET method instead: GET http://<connection-server>/vmrest/installedlanguages Note that currently, the API to retrieve the language map and the API to retrieve the installed languages on a server both require System Administrator access. Listing and Viewing The following is an example of a GET that lists all language mappings in the language map: GET http://<connection-server>/vmrest/languagemap The following is an excerpt of the response from the above GET request: 200 OK <?xml version="1.0" encoding="UTF-8"?> <LanguageMappings total="149"> <LanguageMapping> <LanguageCode>1025</LanguageCode> <LanguageAbbreviation>ARA</LanguageAbbreviation> <LanguageTag>ar-SA</LanguageTag> </LanguageMapping> <LanguageMapping> <LanguageCode>1026</LanguageCode> <LanguageAbbreviation>BGR</LanguageAbbreviation> <LanguageTag>bg-BG</LanguageTag> </LanguageMapping> <LanguageMapping> <LanguageCode>1027</LanguageCode> <LanguageAbbreviation>CAT</LanguageAbbreviation> <LanguageTag>ca-ES</LanguageTag> </LanguageMapping> . . . </LanguageMappings> You can also use the query parameters rowsPerPage and pageNumber to limit the number of returned results. For example: GET http://<connection-server>/vmrest/languagemap?rowsPerPage=2&pageNumber=3 This request returns the two languages on the third page, as follows: Cisco Unity Connection Provisioning Interface (CUPI) API 704 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Language Map

Page 737#

chunk 701

200 OK <?xml version="1.0" encoding="UTF-8"?> <LanguageMappings total="149"> <LanguageMapping> <LanguageCode>1029</LanguageCode> <LanguageAbbreviation>CSY</LanguageAbbreviation> <LanguageTag>cs-CZ</LanguageTag> </LanguageMapping> <LanguageMapping> <LanguageCode>1030</LanguageCode> <LanguageAbbreviation>DAN</LanguageAbbreviation> <LanguageTag>da-DK</LanguageTag> </LanguageMapping> </LanguageMappings> To view the language mapping for a specific language, you can use either the language code or the language abbreviation. For example, to find out what language the language code 1041 corresponds to, use: GET http://<connection-server>/vmrest/languagemap/1041 The following is the response from the above GET request: 200 OK <?xml version="1.0" encoding="UTF-8"?> <LanguageMapping> <LanguageCode>1041</LanguageCode> <LanguageAbbreviation>JPN</LanguageAbbreviation> <LanguageTag>ja-JP</LanguageTag> </LanguageMapping> Similarly, you can use the language abbreviation to find the corresponding language code. For example, to find the language code for US English (abbreviated ENU), use: GET http://<connection-server>/vmrest/languagemap/ENU This GET request yields the following response, which indicates that 1033 is the language code for US English: 200 OK <?xml version="1.0" encoding="UTF-8"?> <LanguageMapping> <LanguageCode>1033</LanguageCode> <LanguageAbbreviation>ENU</LanguageAbbreviation> <LanguageTag>en-US</LanguageTag> </LanguageMapping> Miscellaneous For a list of supported languages and the corresponding language codes/abbreviations, see the section "Numeric and Alphabetic Codes for Supported Languages in Cisco Unity Connection" in the System Requirements for Cisco Unity Connection Release 8.x available at http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/8x/requirements/8xcucsysreqs.html Cisco Unity Connection Provisioning Interface (CUPI) API 705 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Miscellaneous

Page 738#

chunk 702

Cisco Unity Connection Provisioning Interface (CUPI) API -- LDAP Phone Number Transform About LDAP Phone Number Transform This page contains information on how to use the API to create, list, update, and delete LDAP phone number transforms. Beginning with Cisco Unity Connection 8.5, we support up to one LDAP phone number transform, which consists of a regular expression and a replacement pattern. Listing and Viewing The following is an example of a GET request that lists all LDAP phone number transforms: GET http://<connection-server>/vmrest/ldapphonenumbertransforms The following is the response from the above GET request: 200 OK <?xml version="1.0" encoding="UTF-8"?> <LdapPhoneNumberTransforms total="1"> <LdapPhoneNumberTransform> <URI>/vmrest/ldapphonenumbertransforms/0d49a281-cc35-4b8b-bccc-f94f8b8903bd</URI> <ObjectId>0d49a281-cc35-4b8b-bccc-f94f8b8903bd</ObjectId> <Regex>.([0-9][0-9][0-9][0-9])</Regex> <Replacement>9$1</Replacement> </LdapPhoneNumberTransform> </LdapPhoneNumberTransforms> Creating The required fields for creating an LDAP phone number transform are Regex and Replacement. The following is an example of a POST request that creates an LDAP phone number transform with the Regex field set to ".([0-9][0-9][0-9][0-9])", and the Replacement field set to "9$1": POST https://<connection-server>/vmrest/ldapphonenumbertransforms/ <LdapPhoneNumberTransform> <Regex>.*([0-9][0-9][0-9][0-9])</Regex> <Replacement>9$1</Replacement> </LdapPhoneNumberTransform> The following is the response from the above POST request: 201 Created /vmrest/ldapphonenumbertransforms/0d49a281-cc35-4b8b-bccc-f94f8b8903bd Cisco Unity Connection Provisioning Interface (CUPI) API 706 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- LDAP Phone Number Transform

Page 739#

chunk 703

Updating The Regex and Replacement fields of an LDAP Phone Number Transform can be updated via a PUT request. The following is an example of a PUT request that modifies the Regex and Replacement fields of an existing LDAP phone number transform: https://<connection-server>/vmrest/ldapphonenumbertransforms/ 0d49a281-cc35-4b8b-bccc-f94f8b8903bd <LdapPhoneNumberTransform> <Regex>.*([0-9][0-9][0-9][0-9][0-9])</Regex> <Replacement>8$1</Replacement> </LdapPhoneNumberTransform> The following is the response from the above PUT request: 204 No Content null Deleting The following is an example of a DELETE request that deletes an LDAP phone number transform: DELETE https://<connection-server>/vmrest/ldapphonenumbertransforms/ 0d49a281-cc35-4b8b-bccc-f94f8b8903bd The following is the response from the above DELETE request: 204 No Content null Possible Errors As of Connection 8.5, we support one LDAP phone number transform only, so if you attempt to create a new LDAP phone number transform (via the POST request) when there is already an existing LDAP phone number transform, the following error will be returned: 405 Method Not Allowed <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>METHOD_NOT_ALLOWED</code> <message>Unable to perform requested method because an LDAP phone number transform already exists. (This version of Cisco Unity Connection supports up to one LDAP phone number transform only.)</message> </errors> </ErrorDetails> Cisco Unity Connection Provisioning Interface (CUPI) API 707 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Updating

Page 740#

chunk 704

Cisco Unity Connection Provisioning Interface (CUPI) API -- Authorization Server Links to Other API pages: Cisco_Unity_Connection_APIs About Authorization Server (Authz Server) Unity Connection 11.5(1) SU3 and later allows the use of OAuth 2.0 Authorization Code Grant Flow to authenticate the Jabber users. This requires an Authorization Server (Authz Server) that provides the authorization keys to Unity Connection for validating the Jabber user. In Unity Connection, the publisher server of Cisco Unified CM associated with a phone system is configured as an Authz server. For more information on Authorization Code Grant Flow, see "TBD". This page contains information on how to use the API to create, list, modify, and delete an Authz server. Listing Authz Servers The following is an example of the GET request that lists the Authz servers: GET https://<connection-server>/vmrest/authz/server/ The following is the response from the above GET request and the actual response will depend upon the information given by you: <AuthzServers total="2"> <AuthzServer> <ObjectId>f976720d-ed5b-4cbc-95b2-e47e1e2663af</ObjectId> <DisplayName>AuthzServer1</DisplayName> <IgnoreCertificateError>true</IgnoreCertificateError> <ServerUsername>admin</ServerUsername> <ServerPassword /> <ServerNodeAddress>10.76.215.238</ServerNodeAddress> <Port>8443</Port> <LastSyncStatus>Passed - May 12,2017 07:00:53 AM GMT</LastSyncStatus> </AuthzServer> <AuthzServer> <ObjectId>69b82e6a-a77d-499e-a953-cb7f589254aa</ObjectId> <DisplayName>AuthzServer2</DisplayName> <IgnoreCertificateError>false</IgnoreCertificateError> <ServerUsername>admin</ServerUsername> <ServerPassword /> <ServerNodeAddress>10.76.215.239</ServerNodeAddress> <Port>8443</Port> <LastSyncStatus>Passed - May 12,2017 07:00:53 AM GMT</LastSyncStatus> </AuthzServer> </AuthzServers> Response Code: 200 Cisco Unity Connection Provisioning Interface (CUPI) API 708 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Authorization Server

Page 741#

chunk 705

Viewing an Authz Server The following is an example of the GET request that lists a particular Authz server represented by <ObjectId>: GET https://<connection-server>/vmrest/authz/server/<ObjectId> The following is the response from the above GET request and the actual response will depend upon the information given by you: <AuthzServer> <ObjectId>0fa45cde-c289-415a-853f-3d706b3952d5</ObjectId> <DisplayName>AuthzServer1</DisplayName> <IgnoreCertificateError>true</IgnoreCertificateError> <ServerUsername>admin</ServerUsername> <ServerPassword /> <ServerNodeAddress>10.76.215.238</ServerNodeAddress> <Port>8443</Port> </AuthzServer> Response Code: 200 Adding New Authz Server The following is an example of the POST request that adds the Authz servers: POST https://<connection_server>/vmrest/authz/server/ The following is an example of the response from the above POST request and the actual response will depend upon the information given by you: <AuthzServer> <DisplayName>AuthzServer1</DisplayName> <IgnoreCertificateError>true</IgnoreCertificateError> <ServerUsername>admin</ServerUsername> <ServerPassword>******</ServerPassword> <ServerNodeAddress>10.76.215.238</ServerNodeAddress> <Port>8443</Port> </AuthzServer> Response Code: 201 Modifying Authz Server The following is an example of the PUT request that modifies the Authz Server as represented by <ObjectId>: PUT https://<connection_server>/vmrest/authz/server/<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you: <AuthzServer> <ServerNodeAddress>ucbu-aricent-vm475</ServerNodeAddress> <Port>8443</Port> </AuthzServer> Cisco Unity Connection Provisioning Interface (CUPI) API 709 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Viewing an Authz Server

Page 742#

chunk 706

Response Code: 204 Deleting an Authz Server The following is an example of the DELETE request that deletes an Authz Server as represented by <ObjectId>: DELETE https://<connection_server>/vmrest/authz/server/<objectId> The input for the PUT request will be. The output for this request returns the successful response code. Response Code: 204 Synchronization of Authorization Keys The following is an example of the PUT request that synchronize the authorization keys between Authz server and Unity Connection: PUT https://<connection_server>/vmrest/authz/sync/<objectId> The output for this request returns the successful response code. Response Code: 204 Explanation of Data Fields The following chart lists all of the data fields: Comments Data Type Operations Parameter Unique identifier for Authz server String (36) Read Only ObjectId Descriptive name of an Authz server String (64) Read/Write DisplayName A flag that validates the certificates for the Authz server. Possible values are: • false: Validates the certificates for the Authz server. • true: Ignore the certificate validation errors for the Authz server. For more information on certificates, see "Security" chapter of Cisco Unified Communications Operating System Administration Guide for Cisco Unity Connection Release 12.x at htps:/www.cisco.com/c/en/us/td/docs/voice_ip_comm/connection/12x/os_administration/b_12xcucosagx.html. Boolean Read/Write IgnoreCertificateError User name that Unity Connection uses to sign in to the Authz server. String (64) Read/Write ServerUsername Password that Unity Connection uses to sign in to the Authz server. String (64) Write Only ServerPassword Cisco Unity Connection Provisioning Interface (CUPI) API 710 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Deleting an Authz Server

Page 743#

chunk 707

Comments Data Type Operations Parameter Hostname, IP address or Fully-Qualified Domain Name (FQDN) of the Authz server that Unity Connection connects to. String (64) Read/Write ServerNodeAddress The port through which Unity Connection connects to the Authz server. Integer Read/Write Port The status and time of the last synchronization of authorization keys between Authz server and Unity Connection. String (36) Read Only LastSyncStatus Cisco Unity Connection Provisioning Interface (CUPI) API -- System Default Language and TTS Language About System Default Language and System Default TTS Language This page contains information on how to use the API to display and update the System Default Language and the System Default TTS Language. The System Default Language and System Default TTS Language must be one of the installed languages on your Cisco Unity Connection server. To retrieve the list of installed languages on your system, use: GET http://<connection-server>/vmrest/installedlanguages Viewing The System Default Language and System Default TTS Language are considered part of the "local" Connection server. To retrieve the current values for these fields, use: GET http://<connection-server>/vmrest/locations/locallocation The following is the response from the above GET request: 200 OK <?xml version="1.0" encoding="UTF-8"?> <LocalLocation> <DefaultLanguage>1033</DefaultLanguage> <DefaultTTSLanguage>1033</DefaultTTSLanguage> </LocalLocation> Note that the returned values are the language codes for the System Default Language and System Default TTS language. In this case, 1033 is the code for US English. Updating The following is an example of a PUT request that modifies the System Default Language and System Default TTS Language. In this example, we set both to Japanese (language code 1041). Note that the language codes Cisco Unity Connection Provisioning Interface (CUPI) API 711 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- System Default Language and TTS Language

Page 744#

chunk 708

must be valid, and that they must correspond to a language that has been installed and licensed on your Connection server. PUT https://<connection-server>/vmrest/locations/locallocation <LocalLocation> <DefaultLanguage>1041</DefaultLanguage> <DefaultTTSLanguage>1041</DefaultTTSLanguage> </LocalLocation> The following is the response from the above PUT request: 204 No Content null Cisco Unity Connection Provisioning Interface (CUPI) API -- Wave Formats About Wave Formats This page contains information on how to use the API to list wave formats. Cisco Unity Connection supports several different wave formats that recorded messages can be stored in. This URI is accessible to both users and administrators Listing and Viewing The following is an example of a GET that lists all wave formats: GET http://<connection-server>/vmrest/waveformats To retrieve a specific wave format by its object ID: GET http://<connection-server>/vmrest/waveformats/<objectid> The following is an example response from the above GET request: 200 OK <?xml version="1.0" encoding="UTF-8"?> <WaveFormat> <URI>/vmrest/waveformats/cb85b520-e2de-4878-96e2-3331607f4671</URI> <ObjectId>cb85b520-e2de-4878-96e2-3331607f4671</ObjectId> <AvgBytesPerSec>1000</AvgBytesPerSec> <BitsPerSample>0</BitsPerSample> <BlockAlign>10</BlockAlign> <Channels>1</Channels> <FormatName>G.729a</FormatName> <FormatTag>307</FormatTag> <SamplesPerSec>8000</SamplesPerSec> <JavaEncoding>G.729a</JavaEncoding> <CodecId>3</CodecId> </WaveFormat> Cisco Unity Connection Provisioning Interface (CUPI) API 712 Cisco Unity Connection Provisioning Interface (CUPI) API for System Settings Cisco Unity Connection Provisioning Interface (CUPI) API -- Wave Formats

Page 745#

chunk 709

C H A P T E R 46 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules • Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules, on page 713 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Holiday Schedules , on page 729 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set, on page 734 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Details, on page 740 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Members, on page 740 Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Overview of Cisco Unity Connection Schedule Objects Schedules in Cisco Unity Connection are somewhat complicated, since they are composed of several different types of objects. Before presenting the API for accessing schedules, it may be useful to review what these objects are and how they are used. ScheduleSet Objects ScheduleSet objects are the top-level objects. They are comprised of one or more Schedules, each of which is marked as included or excluded in the ScheduleSet. Schedule Objects Schedule objects are composed of one or more ScheduleDetail objects. ScheduleDetail Objects ScheduleDetail objects are the atomic schedule building blocks which comprise Schedule objects. They can be specified with Start and End Dates, Start and End Times of the day, and active Days of the Week. ScheduleDetails have a link to the Schedule objects that they are part of, and said Schedule object in a sense owns the ScheduleDetail object. Cisco Unity Connection Provisioning Interface (CUPI) API 713

Image 1 from page 745

Page 746#

chunk 710

ScheduleSetMemberMap Objects ScheduleSetMemberMap objects provide the linkage between a ScheduleSet and a Schedule that is included or excluded from it (via a boolean called Exclude). There will be one ScheduleSetMemberMap object for each Schedule that is included in or excluded from a ScheduleSet. A ScheduleSetMemberMap abstracts the linkage between a ScheduleSet and a Schedule since neither object has an explicit linkage or ownership relationship of the other. One reason for this is that several ScheduleSets might reference the same Schedule (a Holiday Schedule for example). This differs from the relationship between a Schedule and a ScheduleDetail, since a ScheduleDetail has an explicit link to a Schedule, the Schedule essentially owns the ScheduleDetail, and no other Schedule may use another Schedule's ScheduleDetail object. Schedule Example For example, let's model a weekday schedule with the lunch hour blocked out as unavailable every work day, and with various holidays blocked out as well. Using the objects discussed previously, this schedule might be composed like so: • First, we create a top-level ScheduleSet called WeekdaySet. WeekdaySet includes the WeekdaySchedule and excludes the HolidaySchedule (2 Schedule objects). • After we create these 2 Schedule objects, we create 2 ScheduleSetMemberMap objects for WeekdaySet

  • one to include WeekdaySchedule and one to exclude HolidaySchedule. • Then, we create 2 ScheduleDetail objects for WeekdaySchedule - one active from 8AM to 12PM Mon-Fri, and the other active from 1PM to 5PM Mon-Fri. • Finally, we create various ScheduleDetails objects for HolidaySchedule, one per holiday. For example, we might create a July4ScheduleDetail with start and end dates both set to July 4 2010, and a WinterBreakScheduleDetail with a start date of Dec 23 2010 and an end date of Jan 3 2011. To see how to create this schedule via CUPI, see the Schedule Example page. CUPI for Schedules The previously described database objects are accessible to the administrator via CUPI. The following sections list the URIs to access these resources along with the data contained within them. ScheduleSets in CUPI ScheduleSets are top-level resources in CUPI, with a base URI of +/vmrest/schedulesets+. A ScheduleSet object has the following fields: Notes Default Field Type Field Name NA None GUID ObjectId The unique identifier of the tenant to which the schedulesets belong. This field is reflected in the response only if the schedulesets belong to a particular tenant. String (36) Read Only TenantObjectId NA None String (64) DisplayName One of the Owners must be non-NULL Null GUID OwnerLocationObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 714 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules ScheduleSetMemberMap Objects
Page 747#

chunk 711

Notes Default Field Type Field Name NA Null GUID OwnerPersonalRulesSetObjectId NA Null GUID OwnerSubscriberObjectId Is only True for factory default objects False Boolean Undeletable Retrieving the list of ScheduleSets To retrieve the list of ScheduleSets, an administrator makes a GET to the schedulesets resource: GET /vmrest/schedulesets This would return the following on success: 200 OK <?xml version="1.0" encoding="UTF-8"?> <ScheduleSets total="3"> <ScheduleSet> <URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</URI> <ObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ObjectId> <DisplayName>Weekdays</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI> <Undeletable>true</Undeletable> <ScheduleSetMemberURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers</ScheduleSetMemberURI> </ScheduleSet> <ScheduleSet> <URI>/vmrest/schedulesets/75af01af-d290-4e0e-9862-5adf8293536c</URI> <ObjectId>75af01af-d290-4e0e-9862-5adf8293536c</ObjectId> <DisplayName>All Hours</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI> <Undeletable>true</Undeletable> <ScheduleSetMemberURI>/vmrest/schedulesets/75af01af-d290-4e0e-9862-5adf8293536c/schedulesetmembers</ScheduleSetMemberURI> </ScheduleSet> <ScheduleSet> <URI>/vmrest/schedulesets/e2e381e4-6096-4643-b0bb-b17a65b101bc</URI> <ObjectId>e2e381e4-6096-4643-b0bb-b17a65b101bc</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <DisplayName>Voice Recognition Update Schedule</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI> <Undeletable>false</Undeletable> <ScheduleSetMemberURI>/vmrest/schedulesets/e2e381e4-6096-4643-b0bb-b17a65b101bc/schedulesetmembers</ScheduleSetMemberURI> </ScheduleSet> </ScheduleSets> Cisco Unity Connection Provisioning Interface (CUPI) API 715 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Retrieving the list of ScheduleSets

Page 748#

chunk 712

Listing Specific Tenant Related ScheduleSets by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related schedulesets using the following URI: GET https://<connection-server>/vmrest/schedulesets?query=(TenantObjectId is <Tenant-ObjectId>) To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Retrieving a ScheduleSet To retrieve a single ScheduleSet, an administrator makes a GET to the schedulesets resource, specifying the ObjectId of the requested ScheduleSet in the URI: GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da This would return the following on success: 200 OK <?xml version="1.0" encoding="UTF-8"?> <ScheduleSet> <URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</URI> <ObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ObjectId> <DisplayName>Weekdays</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI> <Undeletable>true</Undeletable> <ScheduleSetMemberURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers</ScheduleSetMemberURI> </ScheduleSet> This would return the following if the specified ScheduleSet does not exist: 404 Not Found <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>NOT_FOUND</code> <message>scheduleset - ObjectId=30d9c0df-534b-437a-a6b7-439adfd850da</message> </errors> </ErrorDetails> Adding a ScheduleSet To add a new ScheduleSet, an administrator makes a POST to the schedulesets resource, specifying the new ScheduleSet via XML: POST /vmrest/schedulesets <ScheduleSet> <DisplayName>Night Shift</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> </ScheduleSet> Cisco Unity Connection Provisioning Interface (CUPI) API 716 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Listing Specific Tenant Related ScheduleSets by System Administrator

Page 749#

chunk 713

This will return the URI to the newly created ScheduleSet (which includes its ObjectId): 201 Created /vmrest/user/schedulesets/0e58ec49-5064-4c9a-b1dc-dd47fe189419 Changing a ScheduleSet To change an existing ScheduleSet, an administrator makes a PUT to the schedulesets resource, specifying the ObjectId of the ScheduleSet they wish to change in the URI and any data changes via XML: PUT /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da <ScheduleSet> <DisplayName>Graveyard Shift</DisplayName> </ScheduleSet> This would return the following on success: 204 No Content This would return the following if the specified scheduleset does not exist: 400 Bad Request <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>DATA_EXCEPTION</code> <message>ScheduleSet not found </message> </errors> </ErrorDetails> Deleting a ScheduleSet To delete an existing ScheduleSet, an administrator makes a DELETE to the schedulesets resource, specifying the ObjectId of the ScheduleSet they wish to delete in the URI: DELETE /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da This would return the following on success: 204 No Content This would return the following if the specified scheduleset does not exist: 404 Not Found <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>NOT_FOUND</code> <message>scheduleset - ObjectId=30d9c0df-534b-437a-a6b7-439adfd850da</message> </errors> </ErrorDetails> Cisco Unity Connection Provisioning Interface (CUPI) API 717 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Changing a ScheduleSet

Page 750#

chunk 714

Note that if an administrator deletes a ScheduleSet object, then all of the supporting ScheduleSetMembers for that ScheduleSet will also be deleted. Schedules in CUPI Schedules are top-level resources in CUPI, with a base URI of +/vmrest/schedules+. A Schedule object has the following fields: Notes Default Field Type Field Name Na None GUID ObjectId The unique identifier of the tenant to which the schedule belong. This field is reflected in the response only if the schedule belong to a particular tenant. String (36) Read Only TenantObjectId NA None String (64) DisplayNamre One of the Owner's must be non-NULL NULL GUID OwnerLocationObjectId Na NULL GUID OwnerPersonalRuleSetObjectId NA NULL GUID OwnerSubscriberObjectId Is only True for factory default objects False Boolean Undeletable NULL means effective immediately NULL DateTime StartDate NULL means effective indefinitely NULL DateTime EndDate Holiday Greetings are used during this period if True False Bolean IsHoliday Retrieving the list of Schedules To retrieve the list of Schedules, an administrator makes a GET to the schedules resource: GET /vmrest/schedules This would return the following on success: Cisco Unity Connection Provisioning Interface (CUPI) API 718 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Schedules in CUPI

Page 751#

chunk 715

200 OK <?xml version="1.0" encoding="UTF-8"?> <Schedules total="3"> <Schedule> <URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</URI> <ObjectId>387f051e-3367-4cc8-abed-810293d39f76</ObjectId> <DisplayName>Weekdays</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI> <Undeletable>true</Undeletable> <IsHoliday>false</IsHoliday> <ScheduleDetailsURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails</ScheduleDetailsURI> </Schedule> <Schedule> <URI>/vmrest/schedules/75af01af-d290-4e0e-9862-5adf8293536c</URI> <ObjectId>75af01af-d290-4e0e-9862-5adf8293536c</ObjectId> <DisplayName>All Hours</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI> <Undeletable>true</Undeletable> <IsHoliday>false</IsHoliday> <ScheduleDetailsURI>/vmrest/schedules/75af01af-d290-4e0e-9862-5adf8293536c/scheduledetails</ScheduleDetailsURI> </Schedule> <Schedule> <URI>/vmrest/schedules/e2e381e4-6096-4643-b0bb-b17a65b101bc</URI> <ObjectId>e2e381e4-6096-4643-b0bb-b17a65b101bc</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <DisplayName>Holidays</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI> <Undeletable>false</Undeletable> <IsHoliday>true</IsHoliday> <ScheduleDetailsURI>/vmrest/schedules/e2e381e4-6096-4643-b0bb-b17a65b101bc/scheduledetails</ScheduleDetailsURI> </Schedule> </Schedules> Listing Specific Tenant Related Schedules by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related schedules using the following URI: GET https://<connection-server>/vmrest/schedules?query=(TenantObjectId is <Tenant-ObjectId>) To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Cisco Unity Connection Provisioning Interface (CUPI) API 719 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Listing Specific Tenant Related Schedules by System Administrator

Page 752#

chunk 716

Retrieving a Schedule To retrieve a single Schedule, an administrator makes a GET to the schedules resource, specifying the Objectid of the requested Schedule in the URI: GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76 This would return the following on success: 200 OK <?xml version="1.0" encoding="UTF-8"?> <Schedule> <URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</URI> <ObjectId>387f051e-3367-4cc8-abed-810293d39f76</ObjectId> <DisplayName>Weekdays</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationURI> <Undeletable>true</Undeletable> <IsHoliday>false</IsHoliday> <ScheduleDetailsURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails</ScheduleDetailsURI> </Schedule> This would return the following if the specified Schedule does not exist: 404 Not Found <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>NOT_FOUND</code> <message>schedule - ObjectId=387f051e-3367-4cc8-abed-810293d39f76</message> </errors> </ErrorDetails> Adding a Schedule To add a new Schedule, an administrator makes a POST to the schedules resource, specifying the new Schedule via XML: POST /vmrest/schedules <Schedule> <DisplayName>EveningShift</DisplayName> <OwnerLocationObjectId>6a56503e-c1c8-406c-85fd-76be40994d39</OwnerLocationObjectId> <IsHoliday>false</IsHoliday> </Schedule> This will return the URI to the newly created Schedule (which includes its ObjectId): 201 Created /vmrest/user/schedules/df7faf3b-3278-4852-b488-7e3134dc3336 Cisco Unity Connection Provisioning Interface (CUPI) API 720 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Retrieving a Schedule

Page 753#

chunk 717

Changing a Schedule To change an existing Schedule, an administrator makes a PUT to the schedules resource, specifying the ObjectId of the Schedule they wish to change in the URI and any data changes via XML: PUT /vmrest/schedules/df7faf3b-3278-4852-b488-7e3134dc3336 <Schedule> <DisplayName>No Daylight Shift</DisplayName> </Schedule> This would return the following on success: 204 No Content This would return the following if the specified schedule does not exist: 400 Bad Request <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>DATA_EXCEPTION</code> <message>Schedule not found </message> </errors> </ErrorDetails> Deleting a Schedule To delete an existing Schedule, an administrator makes a DELETE to the schedules resource, specifying the ObjectId of the Schedule they wish to delete in the URI: DELETE /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76 This would return the following on success: 204 No Content This would return the following if the specified schedule does not exist: 404 Not Found <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>NOT_FOUND</code> <message>schedule - ObjectId=387f051e-3367-4cc8-abed-810293d39f76</message> </errors> </ErrorDetails> Note that if an administrator deletes a Schedule object, then all of the supporting ScheduleDetail objects for that Schedule will also be deleted. Cisco Unity Connection Provisioning Interface (CUPI) API 721 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Changing a Schedule

Page 754#

chunk 718

ScheduleSetMembers in CUPI ScheduleSetMembers are the resources representing ScheduleSetMemberMaps objects. They are sub-resources of ScheduleSets in CUPI, and thus are at a sub-URI of the schedulesets resource: +/vmrest/scheduleset/+{}+<ScheduleSetObjectId>+{}+/schedulesetmembers+. A ScheduleSetMember object has the following fields: Notes Default Field Type Field Name Owning ScheduleSet None GUID ScheduleSetObjectId Schedule to include/exclude from ScheduleSet None GUID ScheduleObjectId False means Include, True means Exclude False Boolean Exclude Retrieving the list of ScheduleSetMembers To retrieve the list of ScheduleSetMembers for a particular ScheduleSet, an administrator makes a GET to the schedulesetmembers resource, specifying the ObjectId of the ScheduleSet in the URI: GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers This would return the following on success: 200 OK <?xml version="1.0" encoding="UTF-8"?> <ScheduleSetMembers total="2"> <ScheduleSetMember> <URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</URI> <ScheduleSetObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetURI> <ScheduleObjectId>a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</ScheduleURI> <Exclude>false</Exclude> </ScheduleSetMember> <ScheduleSetMember> <URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/279fd73f-36a9-469a-9ad5-a0f80f09b2d</URI> <ScheduleSetObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetURI> <ScheduleObjectId>279fd73f-36a9-469a-9ad5-a0f80f09b2d</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/279fd73f-36a9-469a-9ad5-a0f80f09b2d</ScheduleURI> <Exclude>true</Exclude> </ScheduleSetMember> </ScheduleSetMembers> Retrieving a ScheduleSetMember To retrieve a single ScheduleSetMember for a particular ScheduleSet, an administrator makes a GET to the schedulesetmembers resource, specifying the ObjectIds of the ScheduleSet and the requested ScheduleSetMember in the URI: Cisco Unity Connection Provisioning Interface (CUPI) API 722 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules ScheduleSetMembers in CUPI

Page 755#

chunk 719

GET /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b This would return the following on success: 200 OK <?xml version="1.0" encoding="UTF-8"?> <ScheduleSetMember> <URI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</URI> <ScheduleSetObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetURI> <ScheduleObjectId>a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</ScheduleURI> <Exclude>false</Exclude> </ScheduleSetMember> This would return the following if the specified ScheduleSetMember does not exist (meaning the Schedule is not listed as either included or excluded from the ScheduleSet): 404 Not Found <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>NOT_FOUND</code> <message>schedulesetmember - ObjectId=a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</message> </errors> </ErrorDetails> Adding a ScheduleSetMember To add a new ScheduleSetMember to a particular ScheduleSet, an administrator makes a POST to the schedulessetmembers resource, specifying the ObjectId of the ScheduleSet in the URI and the new ScheduleSetMember via XML: POST /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers <ScheduleSetMember> <ScheduleSetObjectId>30d9c0df-534b-437a-a6b7-439adfd850da</ScheduleSetObjectId> <ScheduleObjectId>db46f878-bc72-4870-9482-9f1c336641ed</ScheduleObjectId> <Exclude>false</Exclude> </ScheduleSetMember> This will return the URI to the newly created ScheduleSetMember (which includes its ObjectId): 201 Created /vmrest/user/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/68c53107-5d28-4f40-ae43-f83d35eee8d6 Cisco Unity Connection Provisioning Interface (CUPI) API 723 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Adding a ScheduleSetMember

Page 756#

chunk 720

A ScheduleSet can have at most 1 Schedule marked as Included, and that Schedule must not be a Holiday Schedule. A ScheduleSet can also have at most 1 Schedule marked as Excluded, and that Schedule must be a Holiday Schedule. If an administrator makes a POST to the schedulesetmembers resource in an attempt to Include or Exclude more than 1 Schedule of a given type to a ScheduleSet, then CUPI will return an HTTP 400 error with a descriptive error message. Similarly, if an administrator makes a POST to the schedulesetmembers resource in an attempt to Include a Holiday Schedule or Exclude a non-Holiday Schedule, then CUPI will return an HTTP 400 error with a descriptive error message. Note Changing a ScheduleSetMember The schedulesetmembers resource does not support the PUT method. In order to change a ScheduleSetMember, an administrator must delete the existing one and then add it back with the requested change. Deleting a ScheduleSetMember To delete an existing ScheduleSetMember for a particular ScheduleSet, an administrator makes a DELETE to the schedulesetmembers resource, specifying the ObjectIds of the ScheduleSet and the ScheduleSetMember they wish to delete in the URI: DELETE /vmrest/schedulesets/30d9c0df-534b-437a-a6b7-439adfd850da/schedulesetmembers/a1f34a57-b642-4d8b-9634-b4c2e37bfd2b This would return the following on success: 204 No Content This would return the following if the specified schedulesetmember does not exist: 404 Not Found <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>NOT_FOUND</code> <message>schedulesetmember - ObjectId=a1f34a57-b642-4d8b-9634-b4c2e37bfd2b</message> </errors> </ErrorDetails> ScheduleDetails in CUPI ScheduleDetails are sub-resources of Schedules in CUPI, and thus are at a sub-URI of the schedules resources: +/vmrest/schedules/+{}+<ScheduleObjectId>+{}+/scheduledetails+. A ScheduleDetail object has the following field: Notes Default Field Type Field Name NA None GUID ObjectId NA None String (2048) Subject Owning Schedule None GUID ScheduleObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 724 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Changing a ScheduleSetMember

Page 757#

chunk 721

Notes Default Field Type Field Name NULL means effective immediately, also Time portion of DateTime is ignored NULL DateTime StartDate NULL means 12:00AM, otherwise minutes past 12:00AM so 480 means 8:00AM NULL Int StartTime NULL means effective indefinitely, also Time portion of DateTime is ignored NULL DateTime EndDate NULL means End-of-Day (11:59:59PM), otherwise minutes past 12:00AM so 1020 means 5:00PM NULL Int EndTime NA False Boolean IsActiveMonday NA False Boolean IsActiveTuesday NA False Boolean IsActiveWednesday NA False Boolean IsActiveThursday NA False Boolean IsActiveFriday NA False Boolean IsActiveSaturday NA False Boolean IsActiveSunday Retrieving the list of ScheduleDetails To retrieve the list of ScheduleDetails for a particular Schedule, an administrator makes a GET to the scheduledetails resource, specifying the ObjectId of the Schedule in the URI: GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails This would return the following on success: Cisco Unity Connection Provisioning Interface (CUPI) API 725 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Retrieving the list of ScheduleDetails

Page 758#

chunk 722

200 OK <?xml version="1.0" encoding="UTF-8"?> <ScheduleDetails total="2"> <ScheduleDetail> <URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</URI> <ObjectId>fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</ObjectId> <ScheduleObjectId>387f051e-3367-4cc8-abed-810293d39f76</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</ScheduleURI> <Subject>Weekday Mornings</Subject> <StartTime>480</StartTime> <EndTime>720</EndTime> <IsActiveMonday>true</IsActiveMonday> <IsActiveTuesday>true</IsActiveTuesday> <IsActiveWednesday>true</IsActiveWednesday> <IsActiveThursday>true</IsActiveThursday> <IsActiveFriday>true</IsActiveFriday> <IsActiveSaturday>false</IsActiveSaturday> <IsActiveSunday>false</IsActiveSunday> </ScheduleDetail> <ScheduleDetail> <URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/e049dc1e-7447-4e2a-907e-03d67e2d40a1</URI> <ObjectId>e049dc1e-7447-4e2a-907e-03d67e2d40a1</ObjectId> <ScheduleObjectId>387f051e-3367-4cc8-abed-810293d39f76</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</ScheduleURI> <Subject>Weekday Afternoons</Subject> <StartTime>780</StartTime> <EndTime>1020</EndTime> <IsActiveMonday>true</IsActiveMonday> <IsActiveTuesday>true</IsActiveTuesday> <IsActiveWednesday>true</IsActiveWednesday> <IsActiveThursday>true</IsActiveThursday> <IsActiveFriday>true</IsActiveFriday> <IsActiveSaturday>false</IsActiveSaturday> <IsActiveSunday>false</IsActiveSunday> </ScheduleDetail> </ScheduleDetails> Retrieving a ScheduleDetail To retrieve a single ScheduleDetail for a particular Schedule, an administrator makes a GET to the scheduledetails resource, specifying the ObjectIds of the Schedule and the requested ScheduleDetail in the URI: GET /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e This would return the following on success: Cisco Unity Connection Provisioning Interface (CUPI) API 726 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Retrieving a ScheduleDetail

Page 759#

chunk 723

200 OK <?xml version="1.0" encoding="UTF-8"?> <ScheduleDetail> <URI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</URI> <ObjectId>fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</ObjectId> <ScheduleObjectId>387f051e-3367-4cc8-abed-810293d39f76</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76</ScheduleURI> <Subject>Weekday Mornings</Subject> <StartTime>480</StartTime> <EndTime>720</EndTime> <IsActiveMonday>true</IsActiveMonday> <IsActiveTuesday>true</IsActiveTuesday> <IsActiveWednesday>true</IsActiveWednesday> <IsActiveThursday>true</IsActiveThursday> <IsActiveFriday>true</IsActiveFriday> <IsActiveSaturday>false</IsActiveSaturday> <IsActiveSunday>false</IsActiveSunday> </ScheduleDetail> This would return the following if the specified ScheduleDetail does not exist: 404 Not Found <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>NOT_FOUND</code> <message>scheduledetail - ObjectId=fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e</message> </errors> </ErrorDetails> Adding a ScheduleDetail To add a new ScheduleDetail to a particular Schedule, an administrator makes a POST to the scheduledetails resource, specifying the ObjectId of the Schedule in the URI and the new ScheduleDetail via XML: POST /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails <ScheduleDetail> <Subject>Saturday (Half-day)</Subject> <StartTime>540</StartTime> <EndTime>780</EndTime> <IsActiveSaturday>true</IsActiveSaturday> </ScheduleDetail> This will return the URI to the newly created ScheduleDetail (which includes its ObjectId): 201 Created /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/9d8afb61-bd4b-4e65-b274-e870a2b51865 Changing a ScheduleDetail To change an existing ScheduleDetail for a particular Schedule, an administrator makes a PUT to the scheduledetails resource, specifying the ObjectId of the Schedule and the ScheduleDetail they wish to change in the URI and the data changes via XML: Cisco Unity Connection Provisioning Interface (CUPI) API 727 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Adding a ScheduleDetail

Page 760#

chunk 724

PUT /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/fb6cb280-ea91-4ee5-9225-6ca9c5e3b77e <ScheduleDetail> <StartTime>450</StartTime> </ScheduleDetail> This would return the following on success: 204 No Content This would return the following if the specified ScheduleDetail does not exist: 400 Bad Request <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>DATA_EXCEPTION</code> <message>ScheduleDetail not found </message> </errors> </ErrorDetails> Deleting a ScheduleDetail To delete an existing ScheduleDetail from a particular Schedule, an administrator makes a DELETE to the scheduledetails resource, specifying the ObjectId of the Schedule and the ScheduleDetail they wish to delete in the URI: DELETE /vmrest/schedules/387f051e-3367-4cc8-abed-810293d39f76/scheduledetails/9d8afb61-bd4b-4e65-b274-e870a2b51865 This would return the following on success: 204 No Content This would return the following if the specified ScheduleDetail does not exist: 404 Not Found <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ErrorDetails> <errors> <code>NOT_FOUND</code> <message>scheduledetail - ObjectId=9d8afb61-bd4b-4e65-b274-e870a2b51865</message> </errors> </ErrorDetails> Cisco Unity Connection Provisioning Interface (CUPI) API 728 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Deleting a ScheduleDetail

Page 761#

chunk 725

Cisco Unity Connection Provisioning Interface (CUPI) API -- Holiday Schedules Holiday Schedules API Administrator can use this API to create/update/delete/fetch the holiday schedules. Various attributes of holiday schedules can also be updated using this API. Listing the Holiday Schedule Details The following is an example of the GET request that list the holiday schedules: GET https://<connection-server>/vmrest/schedules/<holidayschedule-objectid>/scheduledetails The following is the response from the above GET request and the actual response will depend upon the information given by you: <ScheduleDetails total="1"> <ScheduleDetail> <URI>/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4/scheduledetails/894f29bc-8ff1-4183-b8c1-f1c304d9109b</URI> <ObjectId>894f29bc-8ff1-4183-b8c1-f1c304d9109b</ObjectId> <ScheduleObjectId>f62e3780-4bfc-4c8f-91a4-3ac4e35803c4</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4</ScheduleURI> <IsActiveMonday>false</IsActiveMonday> <IsActiveTuesday>false</IsActiveTuesday> <IsActiveWednesday>false</IsActiveWednesday> <IsActiveThursday>false</IsActiveThursday> <IsActiveFriday>false</IsActiveFriday> <IsActiveSaturday>true</IsActiveSaturday> <IsActiveSunday>true</IsActiveSunday> <StartTime>480</StartTime> <EndTime>1020</EndTime> </ScheduleDetail> </ScheduleDetails> Response Code: 200 JSON Example To list all the holiday schedules, do the following: GET https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid>/scheduleobjectid Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 729 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Cisco Unity Connection Provisioning Interface (CUPI) API -- Holiday Schedules

Page 762#

chunk 726

{ "@total": "1", "ScheduleDetail": { "URI": "/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4/scheduledetails/894f29bc-8ff1-4183-b8c1-f1c304d9109b", "ObjectId": "894f29bc-8ff1-4183-b8c1-f1c304d9109b", "ScheduleObjectId": "f62e3780-4bfc-4c8f-91a4-3ac4e35803c4", "ScheduleURI": "/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4", "IsActiveMonday": "false", "IsActiveTuesday": "false", "IsActiveWednesday": "false", "IsActiveThursday": "false", "IsActiveFriday": "false", "IsActiveSaturday": "true", "IsActiveSunday": "true", "StartTime": "480", "EndTime": "1020" } } Response Code: 200 Viewing the Specific Holiday Schedule The following is an example of the GET request that lists the details of a specific holiday schedule represented by the provided value of holiday schedule object ID: GET https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: <Schedule> <URI>/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4</URI> <ObjectId>f62e3780-4bfc-4c8f-91a4-3ac4e35803c4</ObjectId> <DisplayName>Tenant1_Holiday_1</DisplayName> <OwnerLocationObjectId>97a1e9ab-6a69-4272-952a-b0e25c08aaaf</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/97a1e9ab-6a69-4272-952ab0e25c08aaaf</OwnerLocationURI> <IsHoliday>true</IsHoliday> <Undeletable>false</Undeletable> <ScheduleDetailsURI>/vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4/scheduledetails</ScheduleDetailsURI> </Schedule> Response Code: 200 JSON Example To view a specific holiday schedule, do the following: GET https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid> Accept: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 730 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Viewing the Specific Holiday Schedule

Page 763#

chunk 727

The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/schedules/10c9ac6c-6a4c-4559-be75-2c409ef85054", "ObjectId": "10c9ac6c-6a4c-4559-be75-2c409ef85054", "DisplayName": "Tenant2_Holiday_1", "OwnerLocationObjectId": "97a1e9ab-6a69-4272-952a-b0e25c08aaaf", "OwnerLocationURI": "/vmrest/locations/connectionlocations/97a1e9ab-6a69-4272-952ab0e25c08aaaf", "IsHoliday": "true", "Undeletable": "false", "ScheduleDetailsURI": "/vmrest/schedules/10c9ac6c-6a4c-4559-be75-2c409ef85054/scheduledetails" } Response Code: 200 Creating a New Holiday Schedule The following is an example of POST request that can be used to create a new holiday schedule: POST https://<connection-server>/vmrest/schedules Request Body: <Schedule> <DisplayName>Texoma_Holiday</DisplayName> <OwnerLocationObjectId>5150cb31-a665-47d8-a311-9cc4524810d39</OwnerLocationObjectId> <IsHoliday>true</IsHoliday> </Schedule> The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4 JSON Example To create a new holiday schedule, do the following: POST https://<connection-server>/vmrest/schedules Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName":"Texoma_Holiday ", "OwnerLocationObjectId":"5150cb31-a665-47d8-a311-9cc4524810d3", "IsHoliday":"true" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/schedules/f62e3780-4bfc-4c8f-91a4-3ac4e35803c4 Cisco Unity Connection Provisioning Interface (CUPI) API 731 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Creating a New Holiday Schedule

Page 764#

chunk 728

Updating the Holiday Schedule The following is an example of the PUT request that can be used to modify the holiday schedule where only description field can be updated: The following is an example of the PUT request that can be used to modify the holiday schedule where only description field can be updated: PUT https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid> Request Body: <Schedule> <DisplayName>Texoma1_Holiday</DisplayName> <OwnerLocationObjectId>5150cb31-a665-47d8-a311-9cc4524810d3</OwnerLocationObjectId> </Schedule> Response Code: 204 JSON Example To update the holiday schedule, do the following: PUT https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body: { "DisplayName":"Texoma1_Holiday ", "OwnerLocationObjectId":"5150cb31-a665-47d8-a311-9cc4524810d3" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Deleting a Holiday Schedule This request can be used to delete an existing holiday Schedule; an administrator makes a DELETE to the schedules resource, specifying the object ID of the holiday schedule they wish to delete in the URI: DELETE https://<connection-server>/vmrest/schedules/<holidayscheduleobjectid> Response Code: 204 JSON Example DELETE https://<connection-ip>/vmrest/schedules/<holidayschedule-objectid> Accept: application/json Connection: keep-alive Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 732 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Updating the Holiday Schedule

Page 765#

chunk 729

Explanation of Data Fields The following chart lists all of the data fields: Comments Operations Data Type Parameter Specifies a globally unique, system-generated identifier for a Schedule object. Read Only String (36) ObjectId Specifies the URI for schedule. Read Only String URI Specifies the preferred text name of this scheduleto be used when displaying entries in the administrative console and Cisco Personal Assistant. Read/Write String (64) DisplayName Specifies the owner of this schedule. If the owner is a LocationVMS, the unique identifier of the LocationVMS objects to which this schedule belongs. Commonly referred to as a "system" schedule. Otherwise, this attribute is set to NULL. Read Only String (36) OwnerLocationObjectId Specifies the owner of this schedule. If the owner is a personal rule set, the unique identifier of the personal rule set to which this schedule belongs. Otherwise, this attribute is set to NULL. OwnerSubscriberObjectId String(36) Read Only Specifies the owner of this schedule. If the owner is a subscriber, the unique identifier of the Subscriber objects to which this schedule belongs. Otherwise, this attribute is set to NULL. Undeletable Boolean Read/Write Indicates a flag that checks whether this schedule can be deleted via an administrative application such as Cisco Unity Connection Administration. It is used to prevent deletion of factory defaults. Read Only String (36) OwnerPersonalRuleSetObjectId The date and time when schedule becomes active, or NULL if active immediately. Read/Write DateTime StartDate The start time (in minutes) for the active day or days. The start time is stored as the number of minutes from midnight. So a value of 480 would mean 8:00 AM and 1020 would mean 5:00 PM. In addition, a value of NULL for the start time indicates 12:00 AM. • Range 0-1435 Read/Write Integer StartTime The date and time when schedule ends, or NULL if effective indefinitely. Read/Write DateTime EndDate The end time (in minutes) for the active day or days. The end time is stored as the number of minutes from midnight. So a value of 480 would mean 8:00 AM and 1020 would mean 5:00 PM. In addition, a value of NULL means "till the end of the day" (e.g. 11:59:59 PM in Linux land). • Range 0-1435 Read/Write Integer EndTime Cisco Unity Connection Provisioning Interface (CUPI) API 733 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Explanation of Data Fields

Page 766#

chunk 730

Comments Operations Data Type Parameter A flag indicating whether this schedule represents a holiday. Read/Write Boolean IsHoliday URI for scheduledetails Read Only String SchedulesDetailsURI Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Schedule Set API Administrator can use this API to create/update/delete/fetch the schedule sets. Various attributes of schedule sets can also be updated using this API. Listing the Schedule Sets The following is an example of the GET request that list the schedule sets: Cisco Unity Connection Provisioning Interface (CUPI) API 734 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set

Page 767#

chunk 731

GET https://<connection-server>/vmrest/schedulesets The following is the response from the above GET request and the actual response will depend upon the information given by you: <pre> <ScheduleSets total="3"> <ScheduleSet> <URI>/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903</URI> <ObjectId>e01b7fa7-521b-47f7-82d0-bb898aeec903</ObjectId> <DisplayName>Weekdays</DisplayName> <OwnerLocationObjectId>51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationURI> <Undeletable>true</Undeletable> <ScheduleSetMembersURI>/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903/schedulesetmembers</ScheduleSetMembersURI> </ScheduleSet> <ScheduleSet> <URI>/vmrest/schedulesets/8f2e394c-1d09-412e-8e09-c26b152344c1</URI> <ObjectId>8f2e394c-1d09-412e-8e09-c26b152344c1</ObjectId> <DisplayName>All Hours</DisplayName> <OwnerLocationObjectId>51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationURI> <Undeletable>true</Undeletable> <ScheduleSetMembersURI>/vmrest/schedulesets/8f2e394c-1d09-412e-8e09-c26b152344c1/schedulesetmembers</ScheduleSetMembersURI> </ScheduleSet> <ScheduleSet> <URI>/vmrest/schedulesets/31c9ff78-f6b3-4731-9df2-dce8de411f33</URI> <ObjectId>31c9ff78-f6b3-4731-9df2-dce8de411f33</ObjectId> <TenantObjectId>fe6541fb-b42c-44f2-8404-ded14cbf7438</TenantObjectId> <DisplayName>Voice Recognition Update Schedule</DisplayName> <OwnerLocationObjectId>51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationURI> <Undeletable>false</Undeletable> <ScheduleSetMembersURI>/vmrest/schedulesets/31c9ff78-f6b3-4731-9df2-dce8de411f33/schedulesetmembers</ScheduleSetMembersURI> </ScheduleSet> </ScheduleSets> Response Code: 200 JSON Example To list all the schedule sets, do the following: GET https://<connection-server>/vmrest/schedulesets Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 735 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Listing the Schedule Sets

Page 768#

chunk 732

{ "@total": "3", "ScheduleSet": [ { "URI": "/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903", "ObjectId": "e01b7fa7-521b-47f7-82d0-bb898aeec903", "DisplayName": "Weekdays", "OwnerLocationObjectId": "51bff648-e60f-44ec-b2c8-ae854dfc1f41", "OwnerLocationURI": "/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41", "Undeletable": "true", "ScheduleSetMembersURI": "/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903/schedulesetmembers" }, { "URI": "/vmrest/schedulesets/8f2e394c-1d09-412e-8e09-c26b152344c1", "ObjectId": "8f2e394c-1d09-412e-8e09-c26b152344c1", "DisplayName": "All Hours", "OwnerLocationObjectId": "51bff648-e60f-44ec-b2c8-ae854dfc1f41", "OwnerLocationURI": "/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41", "Undeletable": "true", "ScheduleSetMembersURI": "/vmrest/schedulesets/8f2e394c-1d09-412e-8e09-c26b152344c1/schedulesetmembers" }, { "URI": "/vmrest/schedulesets/31c9ff78-f6b3-4731-9df2-dce8de411f33", "ObjectId": "31c9ff78-f6b3-4731-9df2-dce8de411f33", "TenantObjectId": "fe6541fb-b42c-44f2-8404-ded14cbf7438", "DisplayName": "Voice Recognition Update Schedule", "OwnerLocationObjectId": "51bff648-e60f-44ec-b2c8-ae854dfc1f41", "OwnerLocationURI": "/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41", "Undeletable": "false", "ScheduleSetMembersURI": "/vmrest/schedulesets/31c9ff78-f6b3-4731-9df2-dce8de411f33/schedulesetmembers" } ] } Response Code: 200 Listing Specific Tenant Related ScheduleSets by System Administrator In Cisco Unity Connection 10.5(2) and later, the system administrator can use TenantObjectID to list the specific tenant related schedulesets using the following URI: GET https://<connection-server>/vmrest/schedulesets?query=(TenantObjectId is <Tenant-ObjectId>) To get the TenantObjectID, use the following URI: GET https://<connection-server>/vmrest/tenants Viewing the Specific Schedule Set The following is an example of the GET request that lists the details of specific schedule set represented by the provided value of schedule set object ID: GET https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid> Cisco Unity Connection Provisioning Interface (CUPI) API 736 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Listing Specific Tenant Related ScheduleSets by System Administrator

Page 769#

chunk 733

The following is the response from the above GET request and the actual response will depend upon the information given by you: <ScheduleSet> <URI>/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903</URI> <ObjectId>e01b7fa7-521b-47f7-82d0-bb898aeec903</ObjectId> <DisplayName>Weekdays</DisplayName> <OwnerLocationObjectId>51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationObjectId> <OwnerLocationURI>/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41</OwnerLocationURI> <Undeletable>true</Undeletable> <ScheduleSetMembersURI>/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903/schedulesetmembers</ScheduleSetMembersURI> </ScheduleSet> Response Code: 200 JSON Example To view a specific schedule set, do the following: GET https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903", "ObjectId": "e01b7fa7-521b-47f7-82d0-bb898aeec903", "DisplayName": "Weekdays", "OwnerLocationObjectId": "51bff648-e60f-44ec-b2c8-ae854dfc1f41", "OwnerLocationURI": "/vmrest/locations/connectionlocations/51bff648-e60f-44ec-b2c8-ae854dfc1f41", "Undeletable": "true", "ScheduleSetMembersURI": "/vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903/schedulesetmembers" } Response Code: 200 Creating a New Schedule Set The following is an example of POST request that can be used to create a new schedule set: POST https://<connection-server>/vmrest/schedulesets Request Body <ScheduleSet> <DisplayName>Texoma_DayShift </DisplayName> <OwnerLocationObjectId>5150cb31-a665-47d8-a311-9cc4524810d3</OwnerLocationObjectId> </ScheduleSet> The following is the response from the above POST request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 737 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Creating a New Schedule Set

Page 770#

chunk 734

Response Code: 201 /vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903 JSON Example To create a new schedule set, do the following: POST https://<connection-server>/vmrest/schedulesets Accept: application/json Content-Type: application/json Connection: keep-alive Request Body { "DisplayName":"Texoma_DayShift ", "OwnerLocationObjectId":"5150cb31-a665-47d8-a311-9cc4524810d3" } The following is the response from the above POST request and the actual response will depend upon the information given by you: Response Code: 201 /vmrest/schedulesets/e01b7fa7-521b-47f7-82d0-bb898aeec903 Updating the Schedule Set The following is an example of the PUT request that can be used to modify the schedule set where only description field can be updated: PUT https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid> Request Body <ScheduleSet> <DisplayName>Texoma_Evening</DisplayName> <OwnerLocationObjectId>5150cb31-a665-47d8-a311-9cc4524810d3</OwnerLocationObjectId> </ScheduleSet> Response Code: 204 JSON Example To update the schedule set, do the following: PUT https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body { "DisplayName":"Texoma_Evening ", "OwnerLocationObjectId":"5150cb31-a665-47d8-a311-9cc4524810d3" } Cisco Unity Connection Provisioning Interface (CUPI) API 738 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Updating the Schedule Set

Page 771#

chunk 735

The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Delete a Schedule Set This request can be used to delete an existing schedule set; an administrator makes a DELETE to the schedule sets resource, specifying the object ID of the schedule set they wish to delete in the URI. DELETE https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid> Response Code: 204 JSON Example DELETE: https://<connection-ip>/vmrest/schedulesets/<scheduleset-objectid> Accept: application/json Connection: keep-alive Response Code: 204 Explanation of Data Fields Comments Operation Data Type Parameter Specifies a globally unique, system-generated identifier for a schedule set object. Read Only String ObjectId The unique identifier of the tenant to which the schedule set belongs. This field is reflected in the response only if the schedule set belongs to a particular tenant. Read Only String TenantObjectId Specifies the URI for schedule set. Read Only String URI Specifies the unique text name of this schedule set to be used when displaying entries in the administrative console and Cisco Personal Assistant. Read/Write String DisplayName The owner of this schedule set. If the owner is a LocationVMS, the unique identifiers of the LocationVMS object to which this schedule set (i.e., "system" schedule) belongs. Otherwise, this attribute is set to NULL. Read Only String OwnerLocationObjectId The owner of this schedule set. If the owner is a personal rule set, the unique identifier of the personal rule set to which this schedule set belongs. Otherwise, this attribute is set to NULL. Read Only String OwnerPersonalRuleSetObjectId Cisco Unity Connection Provisioning Interface (CUPI) API 739 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Delete a Schedule Set

Page 772#

chunk 736

Comments Operation Data Type Parameter The owner of this schedule set. If the owner is a subscriber, the unique identifier of the Subscriber object to which this schedule set belongs. Otherwise, this attribute is set to NULL. Read Only String OwnerSubscriberObjectId Indicates a flag which checks whether this schedule set can be deleted via an administrative application such as Cisco Unity Connection Administration. It is used to prevent deletion of factory defaults. Default value: false. Read/Write Boolean Undeletable Specifies the URI for schedule set members. Read Only String ScheduleSetMembersURI Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Details Schedule Set Details API Administrator can use this API to create/update/delete/fetch the schedule set details. Various attributes of schedule set details can also be updated using this API. Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Members Schedule Set Members API Administrator can use this API to create/update/delete/fetch the schedule set members. Various attributes of schedule set members can also be updated using this API. Listing the Schedule Set Members The following is an example of the GET request that lists the schedule set members: GET https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 740 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Cisco Unity Connection Provisioning Interface (CUPI) API -- Schedules Set Details

Page 773#

chunk 737

<ScheduleSetMembers total="2"> <ScheduleSetMember> <URI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180</URI> <ScheduleSetObjectId>c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetURI> <ScheduleObjectId>2008f07d-4265-4570-ab6f-362228dd8180</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/2008f07d-4265-4570-ab6f-362228dd8180</ScheduleURI> <Exclude>false</Exclude> </ScheduleSetMember> <ScheduleSetMember> <URI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/c1bdc7d4-fd7c-4ae7-a836-6094f987ad74</URI> <ScheduleSetObjectId>c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetURI> <ScheduleObjectId>c1bdc7d4-fd7c-4ae7-a836-6094f987ad74</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/c1bdc7d4-fd7c-4ae7-a836-6094f987ad74</ScheduleURI> <Exclude>true</Exclude> </ScheduleSetMember> </ScheduleSetMembers> <pre> Response Code: 200 JSON Example To list all the schedule set members, do the following: GET https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers Accept: application /json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 741 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Listing the Schedule Set Members

Page 774#

chunk 738

{ "@total": "2", "ScheduleSetMember[ { "URI": "/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180", "ScheduleSetObjectId": "c309414c-0c72-4d37-8a22-9ed7d9ee9b3e", "ScheduleSetURI": "/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e", "ScheduleObjectId": "2008f07d-4265-4570-ab6f-362228dd8180", "ScheduleURI": "/vmrest/schedules/2008f07d-4265-4570-ab6f-362228dd8180", "Exclude": "false" }, { "URI": "/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/c1bdc7d4-fd7c-4ae7-a836-6094f987ad74", "ScheduleSetObjectId": "c309414c-0c72-4d37-8a22-9ed7d9ee9b3e", "ScheduleSetURI": "/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e", "ScheduleObjectId": "c1bdc7d4-fd7c-4ae7-a836-6094f987ad74", "ScheduleURI": "/vmrest/schedules/c1bdc7d4-fd7c-4ae7-a836-6094f987ad74", "Exclude": "true" } ] } Response Code: 200 Viewing the Specific Schedule Set Member The following is an example of the GET request that lists the details of specific schedule set member represented by the provided value of schedule set member object ID: GET https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid> The following is the response from the above GET request and the actual response will depend upon the information given by you: </pre> <ScheduleSetMember>: <URI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180</URI> <ScheduleSetObjectId>c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetObjectId> <ScheduleSetURI>/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e</ScheduleSetURI> <ScheduleObjectId>2008f07d-4265-4570-ab6f-362228dd8180</ScheduleObjectId> <ScheduleURI>/vmrest/schedules/2008f07d-4265-4570-ab6f-362228dd8180</ScheduleURI> <Exclude>false</Exclude> </ScheduleSetMember> </pre> Response Code: 200 JSON Example To view a specific schedule set member, do the following: Cisco Unity Connection Provisioning Interface (CUPI) API 742 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Viewing the Specific Schedule Set Member

Page 775#

chunk 739

GET https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid> Accept: application/json Connection: keep-alive The following is the response from the above GET request and the actual response will depend upon the information given by you: { "URI": "/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180", "ScheduleSetObjectId": "c309414c-0c72-4d37-8a22-9ed7d9ee9b3e", "ScheduleSetURI": "/vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e", "ScheduleObjectId": "2008f07d-4265-4570-ab6f-362228dd8180", "ScheduleURI": "/vmrest/schedules/2008f07d-4265-4570-ab6f-362228dd8180", "Exclude": "false" } Response Code: 200 Creating a New Schedule Set Member The following is an example of POST request that can be used to create a new schedule set member: POST https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers Request Body for a Non-Holiday Schedule: <ScheduleSetMember> <ScheduleSetObjectId>11a4f6b1-c926-4404-9bba-964ebb3075c3</ScheduleSetObjectId> <ScheduleObjectId>4ac392b8-e276-46a1-978a-9b648c2c785b</ScheduleObjectId> <Exclude>false</Exclude> </ScheduleSetMember> The following is the response from the above POST request and the actual response will depend upon the information given by you: <pre> Response Code: 201 /vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180 A schedule set can have at most 1 schedule marked as included, and that schedule must not be a holiday schedule. A schedule set can also have at most 1 schedule marked as excluded, and that schedule must be a holiday schedule. Note JSON Example for a non-holiday schedule To create a new schedule set member, do the following: POST https://<connection-server>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers Accept: application/json Content-Type: application/json Connection: keep-alive Cisco Unity Connection Provisioning Interface (CUPI) API 743 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Creating a New Schedule Set Member

Page 776#

chunk 740

{ "ScheduleSetObjectId":"11a4f6b1-c926-4404-9bba-964ebb3075c3", "ScheduleObjectId":"4ac392b8-e276-46a1-978a-9b648c2c785b", "Exclude":"false" } The following is the response from the above POST request and the actual response will depend upon the information given by you: <pre> Response Code: 201 /vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180 Request Body for a Holiday Schedule: <ScheduleSetMember> <ScheduleSetObjectId>11a4f6b1-c926-4404-9bba-964ebb3075c3</ScheduleSetObjectId> <ScheduleObjectId>4ac392b8-e276-46a1-978a-9b648c2c785b</ScheduleObjectId> <Exclude>true</Exclude> </ScheduleSetMember> Response Code: 201 /vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180 JSON Example to create Schedule set member which is a Holiday Schedule: POST https://<connection-ip>/vmrest/schedulesets/<scheduleset-objectid>/schedulesetmembers Accept: application/json Content-Type: application/json Connection: keep-alive { "ScheduleSetObjectId":"11a4f6b1-c926-4404-9bba-964ebb3075c3", "ScheduleObjectId":"4ac392b8-e276-46a1-978a-9b648c2c785b", "Exclude":"true" } Response Code: 201 /vmrest/schedulesets/c309414c-0c72-4d37-8a22-9ed7d9ee9b3e/schedulesetmembers/2008f07d-4265-4570-ab6f-362228dd8180 Updating the Schedule Set Members The following is an example of the PUT request that can be used to modify the schedule set members where only description field can be updated: PUT https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid> Request Body <ScheduleSetMember> <ScheduleSetObjectId>11a4f6b1-c926-4404-9bba-964ebb3075c3</ScheduleSetObjectId> <ScheduleObjectId>f4e064d5-e21e-4234-a157-91554fd657e5</ScheduleObjectId> <Exclude>true</Exclude> </ScheduleSetMember> Response Code: 204 JSON Example Cisco Unity Connection Provisioning Interface (CUPI) API 744 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Updating the Schedule Set Members

Page 777#

chunk 741

To update the schedule set member, do the following: PUT https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid> Accept: application/json Content-Type: application/json Connection: keep-alive Request Body The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Deleting a Schedule Set Member To delete an existing schedule set member, an administrator makes a DELETE to the schedule set members resource, specifying the object ID of the schedule set member they wish to delete in the URI: DELETE https://<connection-server>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid> Response Code: 204 JSON Example to delete an existing ScheduleSet Member: DELETE https://<connection-ip>/vmrest/schedulesets/<schedulesetobjectid>/schedulesetmembers/<schedulesetmember-objectid> Accept: application/json Connection: keep-alive Response Code: 204 Explanation of Data Fields Comments Operation Data Type Parameter The unique identifier of the ScheduleSet object to which the schedule belongs. Read Only String ScheduleSetObjectId URI of the ScheduleSet Read Only String ScheduleSetURI The unique identifier of the Schedule object that is a member of the schedule set Read Only String ScheduleObjectId URI of the Schedule Read Only String ScheduleURI A flag indicating whether the schedule is to be included or excluded from the schedule set. Default value is false Read/Write Boolean Exclude Cisco Unity Connection Provisioning Interface (CUPI) API 745 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Deleting a Schedule Set Member

Page 778#

chunk 742

Cisco Unity Connection Provisioning Interface (CUPI) API 746 Cisco Unity Connection Provisioning Interface (CUPI) API for Schedules Explanation of Data Fields

Page 779#

chunk 743

C H A P T E R 47 Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration Cisco Unity Connection 14SU2 and later, supports secure SMTP client communication over port 25 and 587 using authentication support. Administrator can use this API to update or fetch the SMTP configuration. Unity Connection can act as both server or client depending upon the requirement. • Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Server Configuration, on page 747 • Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Client Configuration, on page 752 Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Server Configuration Administrator can configure port 25 or port 587 for inbound SMTP communications over STARTTLS. Listing SMTP Server Configuration The request can be used to fetch the SMTP server side configuration present currently on the system. GET https://<connection-server>/vmrest/smtpserver/serverconfigs The following is the response from the above GET request and the actual response will depend upon the current SMTP server configuration. Cisco Unity Connection Provisioning Interface (CUPI) API 747

Image 1 from page 779

Page 780#

chunk 744

<SmtpServerConfiguration> <Port>587</Port> <domainName>ucbu-aricent-vm234.cisco.com</domainName> <maxNumberConnections>20</maxNumberConnections> <smtpClientThreads>2</smtpClientThreads> <maxMessageSizeKb>10000</maxMessageSizeKb> <maxNumberMessagesSession>10</maxNumberMessagesSession> <maxNumberRecipients>15000</maxNumberRecipients> <retryDeliveryTimeoutMin>240</retryDeliveryTimeoutMin> <allowConnectionsFromUntrustedIpAddresses>true</allowConnectionsFromUntrustedIpAddresses> <requireAuthenticationFromUntrustedIpAddresses>true</requireAuthenticationFromUntrustedIpAddresses> <requireTlsFromUntrustedIpAddresses>1</requireTlsFromUntrustedIpAddresses> </SmtpServerConfiguration> Response Code: 200 JSON Example GET https://<connection-server>/vmrest/smtpserver/serverconfigs Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the current SMTP server configuration: { "Port": "587", "domainName": "ucbu-aricent-vm234.cisco.com", "maxNumberConnections": "20", "smtpClientThreads": "2", "maxMessageSizeKb": "10000", "maxNumberMessagesSession": "10", "maxNumberRecipients": "15000", "retryDeliveryTimeoutMin": "240", "allowConnectionsFromUntrustedIpAddresses": "true", "requireAuthenticationFromUntrustedIpAddresses": "true", "requireTlsFromUntrustedIpAddresses": "1" } Response Code: 200 Updating SMTP Server Configuration The following is an example of the PUT request that update the configuration of SMTP Server. PUT https://<connection-server>/vmrest/smtpserver/serverconfigs <SmtpServerConfiguration> <Port>25</Port> <domainName>ucbu-aricent-vm234.cisco.com</domainName> <maxNumberConnections>20</maxNumberConnections> <smtpClientThreads>2</smtpClientThreads> <maxMessageSizeKb>10000</maxMessageSizeKb> <maxNumberMessagesSession>10</maxNumberMessagesSession> <maxNumberRecipients>15000</maxNumberRecipients> Cisco Unity Connection Provisioning Interface (CUPI) API 748 Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration Updating SMTP Server Configuration

Page 781#

chunk 745

<retryDeliveryTimeoutMin>240</retryDeliveryTimeoutMin> <allowConnectionsFromUntrustedIpAddresses>true</allowConnectionsFromUntrustedIpAddresses> <requireAuthenticationFromUntrustedIpAddresses>true</requireAuthenticationFromUntrustedIpAddresses> <requireTlsFromUntrustedIpAddresses>1</requireTlsFromUntrustedIpAddresses> </SmtpServerConfiguration> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 200 JSON Example PUT https://<connection-server>/vmrest/smtpserver/serverconfigs Accept: application/json Connection: keep_alive Request Body:{ "Port": "25", "domainName": "ucbu-aricent-vm234.cisco.com", "maxNumberConnections": "20", "smtpClientThreads": "2", "maxMessageSizeKb": "10000", "maxNumberMessagesSession": "10", "maxNumberRecipients": "15000", "retryDeliveryTimeoutMin": "240", "allowConnectionsFromUntrustedIpAddresses": "true", "requireAuthenticationFromUntrustedIpAddresses": "true", "requireTlsFromUntrustedIpAddresses": "1" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 200 Explaination of Data Fields The following table explain the data fields: Comments Operations Data Type Parameter Specifies the port that Unity Connection uses to support secure/non-secure SMTP client communication. Possible values: • 25 • 587 Default Value : 25 Read/Write Integer Port Specifies the domain name that Unity Connection uses to route messages between digitally networked Unity Connection servers and to construct the SMTP address of the sender on outgoing SMTP messages. Read/Write String DomainName Cisco Unity Connection Provisioning Interface (CUPI) API 749 Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration Explaination of Data Fields

Page 782#

chunk 746

Comments Operations Data Type Parameter Specifies the maximum number of SMTP clients that can be connected to the Unity Connection SMTP server at one time for sending messages. Possible values can be between 0 - 50. Default setting: 20 Unity Connections. Read/Write Integer MaxNumberConnections Specifies the maximum number of outgoing connections that the Unity Connection SMTP server can have open with other SMTP servers at one time. Possible values can be between 0 - 10. Default setting: 2 connections. Read/Write Integer SmtpClientThreads Specifies the maximum size of message that clients can send to Unity Connection using SMTP. Possible values can be between 0 - 50000 Kilobytes. Default setting: 10,000 kilobytes (approximately 10 megabytes). Read/Write Integer MaxMessageSizeKb Specifies the maximum number of messages that a client can send to Unity Connection in a single SMTP session. Possible values can be between 0 - 100. Default setting: 10 messages. Read/Write Integer MaxNumberMessagesSession Specifies the maximum number of recipients allowed for a single message that is sent by a client to Unity Connection using SMTP. Possible values can be between 0 - 50000 Default setting: 15,000 recipients. Read/Write Integer MaxNumberRecipients Specifies the time interval in minutes to have Unity Connection periodically retries the delivery of SMTP messages that have failed because of issues that may be temporary (for example, the remote SMTP server is not responding). If the timeout has passed without success, Unity Connection sends a non-delivery receipt to the sender. Default setting: 0 minutes (Unity Connection immediately sends a non-delivery receipt to the sender and does not retry delivery of failed SMTP messages). Read/Write Integer RetryDeliveryTimeoutMin Cisco Unity Connection Provisioning Interface (CUPI) API 750 Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration Explaination of Data Fields

Page 783#

chunk 747

Comments Operations Data Type Parameter A flag indicating whether the Unity Connection enable or disable the SMTP connections from clients or servers whose IP addresses do not match any address pattern that is configured on the IP Address Access List. Possible values: • false • true Default setting: false Read/Write Boolean AlowConnectionsFromUntrustedIpAddresses A flag indicating whether the Unity Connection requires authentication for SMTP connections from clients or servers whose IP addresses do not match any address pattern that is configured on the IP Address Access List. Possible values: • false : Unity Connection allows clients to connect without authenticating. • true : Unity Connection require authentication from clients for connections. This option is unavailable when the Allow Connections from Untrusted IP Addresses field is disabled. Read/Write Boolean RequireAuthenticationFromUntrustedIpAddresses Specifies how Unity Connection handles Transport Layer Security (TLS) with a client or server that attempts to connect from an IP address that does not match any address pattern configured on the IP Address Access List. Possible values: • 0 : Unity Connection does not offer TLS as an option for SMTP sessions initiated by clients or servers with untrusted IP addresses. • 1 : Clients or servers connecting from untrusted IP addresses must use TLS to initiate SMTP sessions with the Unity Connection server. • 2 : Clients or servers connecting from untrusted IP addresses can use TLS to initiate SMTP sessions with the Unity Connection server, but are not required to do so. This option is unavailable when the Allow Connections from Untrusted IP Addresses field is disabled. Read/Write Integer RequireTlsFromUntrustedIpAddresses Cisco Unity Connection Provisioning Interface (CUPI) API 751 Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration Explaination of Data Fields

Page 784#

chunk 748

Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Client Configuration Administrator can configure port 25 or port 587 for outbound SMTP communications over STARTTLS. Listing SMTP Client Configuration The request can be used to fetch the SMTP client side configuration present currently on the system. GET https://<connection-server>/vmrest/smtpclient/clientconfigs The following is the response from the above GET request and the actual response will depend upon the the current SMTP client configuration: <SmtpClientConfiguration> <smtpSmartHost>outbound.cisco.com</smtpSmartHost> <isClientSecure>true</isClientSecure> <smtpPort>25</smtpPort> <isAuthEnabled>true</isAuthEnabled> <smtpUsername>Admin</smtpUsername> <smtpPassword></smtpPassword> </SmtpClientConfiguration> Response Code: 200 JSON Example GET https://<connection-server>/vmrest/smtpclient/clientconfigs Accept: application/json Connection: keep_alive The following is the response from the above GET request and the actual response will depend upon the current SMTP client configuration. { "smtpSmartHost": "outbound.cisco.com", "isClientSecure": "true", "smtpPort": "25", "isAuthEnabled": "true", "smtpUsername": "Admin", "smtpPassword": "", } Response Code: 200 Updating SMTP Client Configuration The following is an example of the PUT request that update the configuration of SMTP Client. PUT https://<connection-server>/vmrest/smtpclient/clientconfigs Cisco Unity Connection Provisioning Interface (CUPI) API 752 Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration Cisco Unity Connection Provisioning Interface (CUPI) API -- SMTP Client Configuration

Page 785#

chunk 749

<SmtpClientConfiguration> <smtpSmartHost>outbound.cisco.com</smtpSmartHost> <isClientSecure>true</isClientSecure> <smtpPort>25</smtpPort> <isAuthEnabled>true</isAuthEnabled> <smtpUsername>Admin</smtpUsername> <smtpPassword>smtp</smtpPassword> </SmtpClientConfiguration> The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 JSON Example PUT https://<connection-server>/vmrest/smtpclient/clientconfigs Accept: application/json Connection: keep_alive Request Body:{ "smtpSmartHost": "outbound.cisco.com", "isClientSecure": "true", "smtpPort": "587", "isAuthEnabled": "false", "smtpUsername" : "Admin" "smtpPassword" : "smtp" } The following is the response from the above PUT request and the actual response will depend upon the information given by you: Response Code: 204 Explaination of Data Fields The following table explain the data fields: Comments Operations Data Type Parameter Specifies the IP address or fully qualified domain name of the SMTP smart host through which Cisco Unity Connection relays SMTP messages. Read/Write String SMTPSmartHost Cisco Unity Connection Provisioning Interface (CUPI) API 753 Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration Explaination of Data Fields

Page 786#

chunk 750

Comments Operations Data Type Parameter A flag indicating whether the SMTP communication on Unity Connection is secure or non secure. Possible values: • false • true Default setting: false If IsClientSecure checkbox is not checked, Unity Connection will initiate request towards Smart Host over port 25 without using STARTTLS. It is non secure mode of communication. If it is checked, then Unity Connection will initiate request towards Smart Host over port 587 using STARTTLS. It is secure mode of communication. Note Read/Write Boolean IsClientSecure Unity Connection will communicate to external SMTP servers on below ports. • 25 • 587 Read/Write Integer SMTPPort A flag indicating whether the SMTP communication is password protected or not. Possible values: • false • true Default setting: false Read/Write Boolean isAuthEnabled Username of Smart Host. Read/Write String smtpUsername Password of Smart Host. Only Write String smtpPassword Cisco Unity Connection Provisioning Interface (CUPI) API 754 Cisco Unity Connection Provisioning Interface (CUPI) API for SMTP Configuration Explaination of Data Fields

Page 787#

chunk 751

C H A P T E R 48 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations • Cisco Unity Connection Provisioning Interface (CUPI) API -- Phone Systems, on page 755 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Port Groups and Ports, on page 762 • Cisco Unity Connection Provisioning Interface (CUPI) API -- Ports, on page 766 • Cisco Unity Connection Provisioning Interface (CUPI) API – SIP Certificates , on page 771 • Cisco Unity Connection Provisioning Interface (CUPI) API -- SIP Profiles, on page 774 Cisco Unity Connection Provisioning Interface (CUPI) API -- Phone Systems About Phone Systems This page contains information on how to use the API to create, list, modify, and delete Phone Systems. The phone system pages in Cisco Unity Connection Administration identify the phone systems that Cisco Unity Connection integrates with. In Connection Administration, a phone system has one or more port groups, which in turn have voice messaging ports. You can manage the phone systems to meet the changing needs of your system. Listing Phone Systems Example 1 The following is an example of the GET request that lists the Phone Systems: https://<connection_server>/vmrest/phonesystems The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 755

Image 1 from page 787

Page 788#

chunk 752

<PhoneSystems total="1"> <PhoneSystem> <URI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a</URI> <ObjectId>aa6d3f45-ccdf-4fa2-8170-e5c94b51813a</ObjectId> <DisplayName>PhoneSystem</DisplayName> <MwiAlwaysUpdate>false</MwiAlwaysUpdate> <MwiPortMemory>false</MwiPortMemory> <CallLoopSupervisedTransferDetect>false</CallLoopSupervisedTransferDetect> <CallLoopForwardNotificationDetect>false</CallLoopForwardNotificationDetect> <CallLoopDTMF>A</CallLoopDTMF> <CallLoopGuardTimeMs>2500</CallLoopGuardTimeMs> <PortCount>0</PortCount> <EnablePhoneApplications>false</EnablePhoneApplications> <DefaultTRaPSwitch>true</DefaultTRaPSwitch> <MwiForceOff>false</MwiForceOff> <RestrictDialUnconditional>false</RestrictDialUnconditional> <RestrictDialScheduled>false</RestrictDialScheduled> <RestrictDialStartTime>0</RestrictDialStartTime> <RestrictDialEndTime>0</RestrictDialEndTime> <CallLoopExtensionDetect>true</CallLoopExtensionDetect> <AXLServerURI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a/axlservers</AXLServerURI> <PhoneSystemAssociationURI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a/phonesystemassociations</PhoneSystemAssociationURI> </PhoneSystem> </PhoneSystems> Response Code: 200 Example 2 The following is an example of the GET request that lists a particular phone system represented by <phonesystemId>: https:/<connection_server>/vmrest/phonesystem/<objectId> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 756 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Listing Phone Systems

Page 789#

chunk 753

<PhoneSystem> <URI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a</URI> <ObjectId>aa6d3f45-ccdf-4fa2-8170-e5c94b51813a</ObjectId> <DisplayName>PhoneSystem</DisplayName> <MwiAlwaysUpdate>false</MwiAlwaysUpdate> <MwiPortMemory>false</MwiPortMemory> <CallLoopSupervisedTransferDetect>false</CallLoopSupervisedTransferDetect> <CallLoopForwardNotificationDetect>false</CallLoopForwardNotificationDetect> <CallLoopDTMF>A</CallLoopDTMF> <CallLoopGuardTimeMs>2500</CallLoopGuardTimeMs> <PortCount>0</PortCount> <EnablePhoneApplications>false</EnablePhoneApplications> <DefaultTRaPSwitch>true</DefaultTRaPSwitch> <MwiForceOff>false</MwiForceOff> <RestrictDialUnconditional>false</RestrictDialUnconditional> <RestrictDialScheduled>false</RestrictDialScheduled> <RestrictDialStartTime>0</RestrictDialStartTime> <RestrictDialEndTime>0</RestrictDialEndTime> <CallLoopExtensionDetect>true</CallLoopExtensionDetect> <AXLServerURI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a/axlservers</AXLServerURI> <PhoneSystemAssociationURI>/vmrest/phonesystems/aa6d3f45-ccdf-4fa2-8170-e5c94b51813a/phonesystemassociations</PhoneSystemAssociationURI> </PhoneSystem> Response Code: 200 Adding a New Phone System The following is an example of the POST request that adds the Phone Systems: https://<connection_server>/vmrest/phonesystems The actual response will depend upon the information given by you. <PhoneSystem> <DisplayName>PhoneSystem1</DisplayName> </PhoneSystem> Response Code: 201 To create a phone system, only the <DisplayName> parameter is mandatory. Note Modifying a Phone System The following is an example of the PUT request that modifies the Phone System as represented by <phonesystemid>: https:/<Connection_server>/vmrest/phonesystem/<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you:. Cisco Unity Connection Provisioning Interface (CUPI) API 757 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Adding a New Phone System

Page 790#

chunk 754

<PhoneSystem> <MwiAlwaysUpdate>false</MwiAlwaysUpdate> <MwiPortMemory>false</MwiPortMemory> <CallLoopSupervisedTransferDetect>false</CallLoopSupervisedTransferDetect> <CallLoopForwardNotificationDetect>false</CallLoopForwardNotificationDetect> <CallLoopDTMF>A</CallLoopDTMF> <CallLoopGuardTimeMs>2500</CallLoopGuardTimeMs> <PortCount>2</PortCount> </PhoneSystem> Response Code: 204 You can also update the following in a phone system: • AXL Servers • Phone System Associations AXL Servers This page contains information on how to use the API to create, list, modify, and delete Phone Systems AXL Servers. AXL servers are supported only for Cisco Unified Communications Manager phone systems and are needed when Cisco Unity Connection must have access to the Cisco Unified CM database for importing Cisco Unified CM users and for changing certain phone settings for users of Connection personal call transfer rules. With Unity Connection 11.5(1) and later, a new field, IsPinSyncEnabled is introduced in this API, which enables synchronization of phone PIN for Cisco Unity Connection with the PIN for Cisco Unified CM. By default, the value of this field is set to false. To enable PIN synchronization, set the value of the field to true. Note: The IsPinSyncEnabled field is applicable only for primary AXL server. Listing AXL Servers The following is an example of the GET request that lists the AXL Servers: https://<connection_server>/vmrest/phonesystems/<objectId>/axlservers The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 758 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations AXL Servers

Page 791#

chunk 755

<AXLServers total="2"> <AXLServer> <URI> /vmrest/phonesystems/a560c009-e802-466f-b42d-4c64e8ea8260/axlservers/59daf270-3e88-4d81-8dae-a3b0a5fbebb1 </URI> <ObjectId>59daf270-3e88-4d81-8dae-a3b0a5fbebb1</ObjectId> <MediaRemoteServiceEnum>103</MediaRemoteServiceEnum> <HostOrIPAddress>0:0:0:0:0:1</HostOrIPAddress> <Port>443</Port> <TlsPort>443</TlsPort> <Precedence>1</Precedence> <MediaSwitchObjectId>a560c009-e802-466f-b42d-4c64e8ea8260</MediaSwitchObjectId> <PhoneSystemURI> /vmrest/phonesystems/a560c009-e802-466f-b42d-4c64e8ea8260 </PhoneSystemURI> <SkinnyStateMachineEnum>10</SkinnyStateMachineEnum> <IsPinSyncEnabled>false</IsPinSyncEnabled> <CcmAXLUser>admin</CcmAXLUser> <CcmAXLPassword/> <CcmVersion>5</CcmVersion> </AXLServer> <AXLServer> <URI> /vmrest/phonesystems/a560c009-e802-466f-b42d-4c64e8ea8260/axlservers/59daf270-3e88-4d81-8dae-a3b0a5fbebb1 </URI> <ObjectId>59daf270-3e88-4d81-8dae-a3b0a5fbebb1</ObjectId> <MediaRemoteServiceEnum>103</MediaRemoteServiceEnum> <HostOrIPAddress>0.0.0.1</HostOrIPAddress> <Port>443</Port> <TlsPort>443</TlsPort> <Precedence>1</Precedence> <MediaSwitchObjectId>a560c009-e802-466f-b42d-4c64e8ea8260</MediaSwitchObjectId> <PhoneSystemURI> /vmrest/phonesystems/a560c009-e802-466f-b42d-4c64e8ea8260 </PhoneSystemURI> <SkinnyStateMachineEnum>10</SkinnyStateMachineEnum> <IsPinSyncEnabled>false</IsPinSyncEnabled> <CcmAXLUser>admin</CcmAXLUser> <CcmAXLPassword/> <CcmVersion>5</CcmVersion> </AXLServer> </AXLServers> Response Code: 200 Adding New AXL Server The following is an example of the POST request that adds the AXL servers in the Phone Systems: https://<connection_server>/vmrest/phonesystems/<objectId>/axlservers The actual response will depend upon the information given by you. Cisco Unity Connection Provisioning Interface (CUPI) API 759 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Adding New AXL Server

Page 792#

chunk 756

<AXLServer> <MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId> <MediaRemoteServiceEnum>103</MediaRemoteServiceEnum> <HostOrIPAddress>10.105.255.1</HostOrIPAddress> <Port>2001</Port> <TlsPort>2000</TlsPort> <Precedence>1</Precedence> <CcmAXLUser>abcd</CcmAXLUser> <CcmAXLPassword/> <CcmVersion>5</CcmVersion> <IsPinSyncEnabled>false</IsPinSyncEnabled> </AXLServer> Response Code: 201 Modifying AXL Server The following is an example of the PUT request that modifies the AXL Server as represented by <axlserverid>: https://<connection_server>/vmrest/phonesystems/<objectId>/axlservers/<objectId> The following is an example of the response from the above PUT request and the actual response will depend upon the information given by you:. <AXLServer> <MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId> <CcmAXLUser>CiscoCCM</CcmAXLUser> <CcmAXLPassword/> <CcmVersion>5</CcmVersion> </AXLServer> Response Code: 204 Deleting AXL Server The following is an example of the DELETE request that deletes an AXL Server as represented by < axlserverid

: https:/<connection_server>/vmrest/phonesystems/<objectId>/axlservers/<objectId> The input for the PUT request will be. The output for this request returns the successful response code. Response Code: 204 Phone System Associations This page contains information on how to use the API to list Phone Systems Associations. Phone Systems Associations are required to view a list of all of the Cisco Unity Connection users who are associated with your phone system. Listing Phone System Associations Listing Phone Systems Associations The following is an example of the GET request that lists the Phone Systems Associations: https://<connection_server>/vmrest/phonesystems/<objectId>/phonesystemassociations Cisco Unity Connection Provisioning Interface (CUPI) API 760 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Modifying AXL Server

Page 793#

chunk 757

The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <PhoneSystemAssociations total="2"> <PhoneSystemAssociation> <URI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b/phonesystemassociations/219ce340-a3a5-428c-8dc6-4776690b69ee</URI> <Alias>undeliverablemessagesmailbox</Alias> <DisplayName>Papa Recommended Web Application Authentication Rule</DisplayName> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI> <numNotificationDevice>4</numNotificationDevice> <numNotificationMWI>1</numNotificationMWI> <numPrimaryCallHandler>1</numPrimaryCallHandler> <ObjectId>219ce340-a3a5-428c-8dc6-4776690b69ee</ObjectId> </PhoneSystemAssociation> <PhoneSystemAssociation> <URI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b/phonesystemassociations/6b455973-13d1-4b10-871e-1d1d55f160d2</URI> <Alias>operator</Alias> <DisplayName>Operator</DisplayName> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <MediaSwitchObjectId>24f1171f-27b3-4ad3-a94c-66d1fb2e448b</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/24f1171f-27b3-4ad3-a94c-66d1fb2e448b</PhoneSystemURI> <numNotificationDevice>4</numNotificationDevice> <numNotificationMWI>1</numNotificationMWI> <numPrimaryCallHandler>1</numPrimaryCallHandler> <ObjectId>6b455973-13d1-4b10-871e-1d1d55f160d2</ObjectId> </PhoneSystemAssociation> </PhoneSystemAssociations>> Response Code: 200 Deleting a Phone System The following is an example of the DELETE request that deletes Phone System as represented by <phonesystemid>: https://<server-ip>/vmrest/phonesystems/<objectId> The input for the PUT request will be. The output for this request returns the successful response code. Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 761 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Deleting a Phone System

Page 794#

chunk 758

Cisco Unity Connection Provisioning Interface (CUPI) API -- Port Groups and Ports About Port Groups and Ports This page contains information on how to use the API to: • List, view, and update port groups • List and view ports Port groups cannot be created or deleted via the API, and only two fields (MwiOnCode & MwiOffCode) can be updated by using the PUT method. Note Listing and Viewing The following is an example of a GET that lists all port groups: GET http://<connection-server>/vmrest/portgroups The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 762 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Cisco Unity Connection Provisioning Interface (CUPI) API -- Port Groups and Ports

Image 1 from page 794

Page 795#

chunk 759

200 OK <?xml version="1.0" encoding="UTF-8"?> <PortGroups total="1"> <PortGroup> <URI>/vmrest/portgroups/035853ce-f4e6-4de2-bda2-84acf827a555</URI> <MediaPortGroupTemplateObjectId>90dd306f-b8af-46b6-8289-f13437cc1e5e</MediaPortGroupTemplateObjectId> <MediaSwitchObjectId>05186ad4-572c-48d1-aaa6-ac22280c8702</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/05186ad4-572c-48d1-aaa6-ac22280c8702</PhoneSystemURI> <TelephonyIntegrationMethodEnum>1</TelephonyIntegrationMethodEnum> <EnableMWI>true</EnableMWI> <DisplayName>PhoneSystem-1</DisplayName> <CcmDoAutoFailback>true</CcmDoAutoFailback> <MwiOnCode/> <MwiOffCode/> <MwiRetryCountOnSuccess>0</MwiRetryCountOnSuccess> <MwiRetryIntervalOnSuccessMs>5</MwiRetryIntervalOnSuccessMs> <ObjectId>035853ce-f4e6-4de2-bda2-84acf827a555</ObjectId> <SipTransportProtocolEnum>10</SipTransportProtocolEnum> <SipRegisterWithProxyServer>false</SipRegisterWithProxyServer> <SipDoAuthenticate>false</SipDoAuthenticate> <SkinnyDevicePrefix>test-VI</SkinnyDevicePrefix> <MwiMinRequestIntervalMs>0</MwiMinRequestIntervalMs> <MwiMaxConcurrentRequests>0</MwiMaxConcurrentRequests> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <PortCount>2</PortCount> <SipDoSRTP>true</SipDoSRTP> <SipTLSModeEnum>11</SipTLSModeEnum> <ResetStatusEnum>0</ResetStatusEnum> </PortGroup> </PortGroups> Sorting can be done on columns that are indexed, such as display name. To retrieve a sorted list of all port groups, add the following query parameter: sort=(column [asc|desc]) For example, to retrieve a list of all port groups sorted by display name in descending order: GET http://<connection-server>/vmrest/portgroups?sort=(DisplayName%20desc) To retrieve a specific port group by its object ID: GET http://<connection-server>/vmrest/portgroups/<objectid> Similarly, to retrieve a list of all ports, use: GET http://<connection-server>/vmrest/ports The following is the response from the above GET request: Cisco Unity Connection Provisioning Interface (CUPI) API 763 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Listing and Viewing

Page 796#

chunk 760

200 OK <?xml version="1.0" encoding="UTF-8"?> <Ports total="2"> <Port> <URI>/vmrest/ports/2806ecdc-0a3d-43f3-a2c8-93d786fa506b</URI> <ObjectId>2806ecdc-0a3d-43f3-a2c8-93d786fa506b</ObjectId> <MediaPortGroupObjectId>035853ce-f4e6-4de2-bda2-84acf827a555</MediaPortGroupObjectId> <PortGroupURI>/vmrest/portgroups/035853ce-f4e6-4de2-bda2-84acf827a555</PortGroupURI> <TelephonyIntegrationMethodEnum>1</TelephonyIntegrationMethodEnum> <PortNumInGroup>1</PortNumInGroup> <SkinnySecurityModeEnum>0</SkinnySecurityModeEnum> <SkinnyDoMediaEncryption>false</SkinnyDoMediaEncryption> <VmsServerObjectId>a7ba129e-6420-4d44-b060-93b638ba866a</VmsServerObjectId> <HuntOrder>0</HuntOrder> <DisplayName>PhoneSystem-1-001</DisplayName> <SkinnyDeviceName>test-VI1</SkinnyDeviceName> <PimgPortNumber>1</PimgPortNumber> <CapAnswer>true</CapAnswer> <CapNotification>true</CapNotification> <CapMWI>true</CapMWI> <CapEnabled>true</CapEnabled> <CapDeliverAmis>false</CapDeliverAmis> <CapTrapConnection>true</CapTrapConnection> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <MediaSwitchObjectId>05186ad4-572c-48d1-aaa6-ac22280c8702</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/05186ad4-572c-48d1-aaa6-ac22280c8702</PhoneSystemURI> <MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName> <MediaPortGroupEnableMWI>true</MediaPortGroupEnableMWI> <MediaPortGroupMwiReqPortSpecific>true</MediaPortGroupMwiReqPortSpecific> <SipSendPort>0</SipSendPort> <VmsServerName>cuc-install-55</VmsServerName> </Port> <Port> <URI>/vmrest/ports/f87ad180-7d06-48c9-b9bd-e6b5cd2311bc</URI> <ObjectId>f87ad180-7d06-48c9-b9bd-e6b5cd2311bc</ObjectId> <MediaPortGroupObjectId>035853ce-f4e6-4de2-bda2-84acf827a555</MediaPortGroupObjectId> <PortGroupURI>/vmrest/portgroups/035853ce-f4e6-4de2-bda2-84acf827a555</PortGroupURI> <TelephonyIntegrationMethodEnum>1</TelephonyIntegrationMethodEnum> <PortNumInGroup>2</PortNumInGroup> <SkinnySecurityModeEnum>0</SkinnySecurityModeEnum> <SkinnyDoMediaEncryption>false</SkinnyDoMediaEncryption> <VmsServerObjectId>a7ba129e-6420-4d44-b060-93b638ba866a</VmsServerObjectId> <HuntOrder>0</HuntOrder> <DisplayName>PhoneSystem-1-002</DisplayName> <SkinnyDeviceName>test-VI2</SkinnyDeviceName> <PimgPortNumber>2</PimgPortNumber> <CapAnswer>true</CapAnswer> <CapNotification>true</CapNotification> <CapMWI>true</CapMWI> <CapEnabled>true</CapEnabled> <CapDeliverAmis>false</CapDeliverAmis> <CapTrapConnection>true</CapTrapConnection> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <MediaSwitchObjectId>05186ad4-572c-48d1-aaa6-ac22280c8702</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/05186ad4-572c-48d1-aaa6-ac22280c8702</PhoneSystemURI> <MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName> <MediaPortGroupEnableMWI>true</MediaPortGroupEnableMWI> <MediaPortGroupMwiReqPortSpecific>true</MediaPortGroupMwiReqPortSpecific> <SipSendPort>0</SipSendPort> Cisco Unity Connection Provisioning Interface (CUPI) API 764 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Listing and Viewing

Page 797#

chunk 761

<VmsServerName>cuc-install-55</VmsServerName> </Port> </Ports> Finally, to retrieve a specific port by its object ID, use: GET http://<connection-server>/vmrest/ports/<objectid> Searching To retrieve a list of port groups or ports that meet a specified search criteria, add the following query parameter to a GET: query=(column [is|startswith] value) Note that the search column must either be an indexed column or contain boolean values. For example, to find all port groups with a display name that starts with "PhoneSystem": GET http://<connection-server>/vmrest/portgroups?query=(displayname%20startswith%20PhoneSystem) The next example finds all port groups with a EnableMwi that is set to 1 (i.e., enabled): GET http://<connection-server>/vmrest/portgroups?query=(EnableMWI%20is%201) Updating Ports are read-only resources and cannot be updated. Port groups, however, contain two fields, MwiOnCode and MwiOffCode, that can be updated. The following is an example of a PUT request that modifies these fields of an existing port group: PUT https://<connection-server>/vmrest/portgroups/<objectid> <PortGroup> <MwiOnCode>678</MwiOnCode> <MwiOffCode>876</MwiOffCode> </PortGroup> The following is the response from the above PUT request: 204 No Content null Cisco Unity Connection Provisioning Interface (CUPI) API 765 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Searching

Page 798#

chunk 762

Cisco Unity Connection Provisioning Interface (CUPI) API -- Ports About Ports This page contains information on how to use the API to create, list, modify, and delete Ports. The voice messaging ports let Cisco Unity Connection receive calls (for example, to record a message) and let Connection make calls (for example to send message notifications or to set MWIs). Each voice messaging port can belong to only one port group. Port groups, when there are several, each have their own voice messaging ports. The total voice messaging ports belonging to all port groups must not exceed the maximum number of voice messaging ports that are enabled by the Connection license files. Listing Ports Example 1 The following is an example of the GET request that lists the Ports: https://<connection_server>/vmrest/ports The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 766 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Cisco Unity Connection Provisioning Interface (CUPI) API -- Ports

Page 799#

chunk 763

<Ports total="2"> <Port> <URI>/vmrest/ports/ec664876-5879-4cff-a022-4929b37bd575</URI> <ObjectId>ec664876-5879-4cff-a022-4929b37bd575</ObjectId> <MediaPortGroupObjectId>1edf504a-e9a1-4876-bcfc-bb674da8e385</MediaPortGroupObjectId> <PortGroupURI>/vmrest/portgroups/1edf504a-e9a1-4876-bcfc-bb674da8e385</PortGroupURI> <TelephonyIntegrationMethodEnum>2</TelephonyIntegrationMethodEnum> <VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId> <DisplayName>PhoneSystem-1-001</DisplayName> <CapAnswer>true</CapAnswer> <CapNotification>true</CapNotification> <CapMWI>true</CapMWI> <CapEnabled>true</CapEnabled> <CapTrapConnection>true</CapTrapConnection> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <MediaSwitchObjectId>a8eb65f5-795b-41cd-98b1-934f6b987313</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/a8eb65f5-795b-41cd-98b1-934f6b987313</PhoneSystemURI> <MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName> <VmsServerName>ucbu-aricent-vm413</VmsServerName> </Port> <Port> <URI>/vmrest/ports/761fa322-63ae-47d9-9fbf-b35142b11eef</URI> <ObjectId>761fa322-63ae-47d9-9fbf-b35142b11eef</ObjectId> <MediaPortGroupObjectId>1edf504a-e9a1-4876-bcfc-bb674da8e385</MediaPortGroupObjectId> <PortGroupURI>/vmrest/portgroups/1edf504a-e9a1-4876-bcfc-bb674da8e385</PortGroupURI> <TelephonyIntegrationMethodEnum>2</TelephonyIntegrationMethodEnum> <VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId> <DisplayName>PhoneSystem-1-002</DisplayName> <CapAnswer>true</CapAnswer> <CapNotification>true</CapNotification> <CapMWI>true</CapMWI> <CapEnabled>true</CapEnabled> <CapTrapConnection>true</CapTrapConnection> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <MediaSwitchObjectId>a8eb65f5-795b-41cd-98b1-934f6b987313</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/a8eb65f5-795b-41cd-98b1-934f6b987313</PhoneSystemURI> <MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName> <VmsServerName>ucbu-aricent-vm413</VmsServerName> </Port> Response Code: 200 Example 2 The following is an example of the GET request that lists the Ports configuration: Cisco Unity Connection Provisioning Interface (CUPI) API 767 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Listing Ports

Page 800#

chunk 764

<Port> <URI>/vmrest/ports/e4a48f12-d22b-438c-89eb-0b25f2f73d12</URI> <ObjectId>e4a48f12-d22b-438c-89eb-0b25f2f73d12</ObjectId> <MediaPortGroupObjectId>668e5869-7c16-48d6-8858-cd0e00fdd47c</MediaPortGroupObjectId> <PortGroupURI>/vmrest/portgroups/668e5869-7c16-48d6-8858-cd0e00fdd47c</PortGroupURI> <TelephonyIntegrationMethodEnum>2</TelephonyIntegrationMethodEnum> <VmsServerObjectId>d190d99e-e9e8-4d63-8c6c-9aca4956afff</VmsServerObjectId> <DisplayName>PhoneSystem-1-002</DisplayName> <CapAnswer>true</CapAnswer> <CapNotification>false</CapNotification> <CapMWI>true</CapMWI> <CapEnabled>true</CapEnabled> <CapTrapConnection>true</CapTrapConnection> <MediaSwitchDisplayName>PhoneSystem</MediaSwitchDisplayName> <MediaSwitchObjectId>0d15753c-e1b4-4865-b00b-999a1ccf56ce</MediaSwitchObjectId> <PhoneSystemURI>/vmrest/phonesystems/0d15753c-e1b4-4865-b00b-999a1ccf56ce</PhoneSystemURI> <MediaPortGroupDisplayName>PhoneSystem-1</MediaPortGroupDisplayName> <VmsServerName>ucbu-aricent-vm413</VmsServerName> </Port> Adding Ports This section contains information on how to add ports: • Adding SCCP Ports • Adding SIP Ports • Adding PIMGTIMG Ports Note: Before adding ports to port group, you need to know the id of the vmservers. The vmservers id is required as you need to mention the machine on which the ports need to be added. The following is an example of the GET request that lists the vmservers: https://<connection_server>/vmrest/vmsservers The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <VmsServers total="1"> <VmsServer> <URI>/vmrest/vmsservers/574ca5d3-9041-4ff9-8e7d-727c32d80dab</URI> <ServerName>ucbu-aricent-vm413</ServerName> <VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId> </VmsServer> </VmsServers> Make sure that you always add ports in even number and not in odd number. Note Adding SCCP Ports The following is an example of the POST request that lists the SCCP Ports: Cisco Unity Connection Provisioning Interface (CUPI) API 768 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Adding Ports

Page 801#

chunk 765

https:/<server_ip>/vmrest/ports The following is an example of the response from the above POST request and the actual response will depend upon the information given by you: <Port> <MediaPortGroupObjectId>3c011243-e3e2-42f7-b658-d9fbdc966f26</MediaPortGroupObjectId> <VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId> <HuntOrder>0</HuntOrder> <CapAnswer>true</CapAnswer> <CapNotification>true</CapNotification> <NumberOfPorts>10</NumberOfPorts> <CapEnabled>true</CapEnabled> <CapTrapConnection>true</CapTrapConnection> <VmsServerName>ucbu-aricent-vm413</VmsServerName> </Port> RESPONSE Code: 201 Adding SIP Ports The following is an example of the POST request that lists the SIP Ports: https:/<server_ip>/vmrest/ports The following is an example of the response from the above POST request and the actual response will depend upon the information given by you: <Port> <MediaPortGroupObjectId>575f43be-f5d0-4af7-a689-06d968227ff7</MediaPortGroupObjectId> <VmsServerObjectId>574ca5d3-9041-4ff9-8e7d-727c32d80dab</VmsServerObjectId> <HuntOrder>0</HuntOrder> <DisplayName>PhoneSystem-Rohit-001</DisplayName> <CapAnswer>true</CapAnswer> <CapNotification>true</CapNotification> <NumberOfPorts>4</NumberOfPorts> <CapEnabled>true</CapEnabled> <CapTrapConnection>true</CapTrapConnection> <VmsServerName>ucbu-aricent-vm413</VmsServerName> </Port> RESPONSE Code: 201 Adding PIMGTIMG Ports The following is an example of the POST request that create the PIMGTIMG Ports: https:/<server_ip>/vmrest/ports The following is an example of the response from the above POST request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 769 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Adding SIP Ports

Page 802#

chunk 766

<Port> <MediaPortGroupObjectId>2c24f5a9-fb22-47fe-a74b-da9c72d6e7f3</MediaPortGroupObjectId> <HuntOrder>0</HuntOrder> <DisplayName>PhoneSystem-Rohit-002</DisplayName> <CapAnswer>true</CapAnswer> <CapNotification>true</CapNotification> <NumberOfPorts>2</NumberOfPorts> <CapEnabled>true</CapEnabled> <CapTrapConnection>true</CapTrapConnection> </Port> RESPONSE Code: 201 The number of ports should be in even number and not in odd number. Modifying Ports This section contains information on how to modify Ports: • Modifying SCCP Ports • Modifying SIP Port Modifying SCCP Ports The following is an example of the PUT request that modifies the SCCP Ports: https://<connection_server>/vmrest/ports/<sccpobjectId> The actual response will depend upon the information given by you. <Port> <CapAnswer>true</CapAnswer> <CapNotification>true</CapNotification> <CapMWI>true</CapMWI> <CapTrapConnection>true</CapTrapConnection> <HuntOrder>0</HuntOrder> <SkinnySecurityModeEnum>0</SkinnySecurityModeEnum> <CapEnabled>true</CapEnabled> </Port> RESPONSE Code: 204 Modifying SIP Ports The following is an example of the PUT request that modifies the SIP Ports: https://<connection_server>/vmrest/ports/<sipobjectId> The actual response will depend upon the information given by you. Cisco Unity Connection Provisioning Interface (CUPI) API 770 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Modifying Ports

Page 803#

chunk 767

<Port> <CapAnswer>true</CapAnswer> <CapNotification>true</CapNotification> <CapMWI>true</CapMWI> <CapTrapConnection>true</CapTrapConnection> <HuntOrder>0</HuntOrder> <SkinnySecurityModeEnum>0</SkinnySecurityModeEnum> <CapEnabled>true</CapEnabled> </Port> RESPONSE Code: 204 Deleting ports The following is an example of the DELETE request that deletes a Port as represented by <portId>: https://<connection_server>/vmrest/ports/<objectId> The output for this request returns the successful response code. RESPONSE Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API – SIP Certificates About SIP Certificates This section contains information on how to list, modify, and delete SIP Certificates. The SIP certificate is used only by SIP trunk integrations with Cisco Unified CM 7.0 and later, and is required for authentication of the Cisco Unity Connection voice messaging ports. Listing SIP Certificates Example 1 The following is an example of the GET request that lists the SIP Certificates: https://<connection_server>/vmrest/sipcertificates The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 771 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Deleting ports

Page 804#

chunk 768

<SipCertificates total="1"> <SipCertificate> <URI> /vmrest/sipcertificates/c55ef2c3-2475-4505-9566-bcea04a6bb6e </URI> <ObjectId>c55ef2c3-2475-4505-9566-bcea04a6bb6e</ObjectId> <Certificate> -----BEGIN CERTIFICATE----- MIICVzCCAcCgAwIBAgIQQmAlZbMuRhSQnNHI4sqpDjANBgkqhkiG9w0BAQUFADA6 MTgwNgYDVQQDEy9DaXNjb1VuaXR5LWJlMjc5NzZjLTZlNmUtNDE5Zi04NTNkLWIz NzY0ODgxZGZiMDAeFw0xMjA3MTgxMzE1MTdaFw0xOTA3MTAwOTAwNThaMDsxGzAZ BgNVBAoTEkNpc2NvIFN5c3RlbXMgSW5jLjEOMAwGA1UECxMFRUNTQlUxDDAKBgNV BAMTA2FhYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwslps1QPmb/mtfSD mHQ8tdnAPcIWriAqF283p7eQcGKdj9ji+YpDGmMFbaKG5NyPBzVCA2EXgNSrh2tX 8PTTUDUOlfGeqrol0H3kT1viFPxNIVVfnn6fuq4A8thoH54+QGlnOWqfuR6+Y4EZ yT4yhygh5yhRIDW6PTHCyhUnMuUCAwEAAaNdMFswHQYDVR0OBBYEFJ2AaJ5nN36z W6BaE5jVTEmAj54/MAsGA1UdDwQEAwIDqDAdBgNVHSUEFjAUBggrBgEFBQcDAQYI KwYBBQUHAwIwDgYDVR0RBAcwBYYDYWFhMA0GCSqGSIb3DQEBBQUAA4GBAJffZqLV 7pmQ+1HEBUO3dVnNdDr7V6izeh3KgoUHW7cEzUuM5wjsRLV7Mh8H9YvGyQP2sMMc iDRpJp4oNpnXZtwd8WEQcToaXvDOR9TfMr5tX9NdkAQGvb8pvt3kPd5cv3s79/Zy DRhjKYIr7A0dKZEpNAFUhTTHbTeNQiOibaGF -----END CERTIFICATE----- </Certificate> <PrivateKey> USkzHb9O2SAH6sofOA1sM91H+Whkpxl+/Sit7MF4+IfPE7u1shotouFO9lT1ouADtbjYp2WsqzndpjPRUZ5I4na9nc4uBqLkrQ6FZ9r2POBgX5EkoA4l5oYUNhJyNIbdqND54Kn1iO6uIKV/NIngQBSGWM0i2Yh+HezEjP2TY9orxD0v6MHtBTsmZvcbWScwpzIAVE6dP2/OeI2+21zG82m+xLmJnfuyiZc/RcmZ2MqOqQYL3IV9Gmo8l09ocQhst2TYBCEsvI6+hId5YujfO1iyL/1r8GD7lQVBzicFPChR0rqUnGzlilrIpnEbenUs2HpLw/F+lg1awgGRwe3S5moYClBEor1b5g8UIPXAi0QJNF0Pm4P+ImLCfERghinxz/DSiuE5IVkwfdPUPzPknZt+4SjcX0/VU0zIg42lZ5Xl7rJRonA8a2bnFQkg9Vm8D/TqrzAy+tdawOGdlnuAN+Hov1prRZnR5zjkpJaImK3zE0WZyqJsyEQdVaMZEK0irb/fePw5nujRxNJi0eF/AsyDkKEaz5YrjDBZ8QuYAFOr1k9IJI0J8ZkU8krRQCztWdY63k89XqCRzkN0SxEwu39UDajCbFOq7dbDmkalvKfp6lcrRMZy0OtpB3XgzbBvdAb6H3YZquQdCrdtwSKb/VovNsqgWXbeocqf0v2SbJC+tdJIbZlDOMt7x/glz6z0GabyGb6w8SjYGN0xSUZ+ioVlmhZ8qMOZ3fwW87ctXaRo68jBDcQJHI2aeYDABMTe3MoMI0R5A4pWUkNWGCjWhyq52kXvY8mjIRhYCEkDxEsvd6l+XRm2A02PCPpX01eXZ5neZ30jApWkdEzfcQfV57DtEtn8NXv3GCiL59qjiABuA0aHtUmA36m6mfuh8QWqMRoZHI5eXUNjeTt3kyV4jINutEu8dVAujShai/e+wNEulE4clWjh6LaoHjfg3MR28f0/bv2yTPRy/z5zW4/7z8QwKDh20fnLsLt7VatD1HcKjV2sXB50DBkLz4izVrmkLebLaIUs5pYorAVGf7MpPgVkqcbaE+A4qxplnl2eQuQGe6a9IioFaY0UVmN3SCBke6lCDqB5qhWkqTOlJGHwV6LBz2hTnjhd62CP868clvL3YZsC6tdA7CxJPpQZ0b36iS6CclJge2mLVa+CQNnBK68HCP+9y0YdGewEiK+8+D+x6fZC7ng+SYn2iQYHYm9BP7nYdP0YWy/aMy/ga39oHRSyjWv8GfsQNcdFdgEUMCxVx+fUK0Ao8tQKiamJjm8xyCM27UK0RBvy98= </PrivateKey> <SubjectName>test</SubjectName> <DisplayName>test</DisplayName> </SipCertificate> </SipCertificates> Response code: 200 Example 2 The following is an example of the GET request that lists a specified SIP Certificate: https://<connection_server>/vmrest/sipcertificate/<objectId> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 772 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Listing SIP Certificates

Page 805#

chunk 769

<SipCertificate> <URI> /vmrest/sipcertificates/c55ef2c3-2475-4505-9566-bcea04a6bb6e </URI> <ObjectId>c55ef2c3-2475-4505-9566-bcea04a6bb6e</ObjectId> <Certificate> -----BEGIN CERTIFICATE----- MIICVzCCAcCgAwIBAgIQQmAlZbMuRhSQnNHI4sqpDjANBgkqhkiG9w0BAQUFADA6 MTgwNgYDVQQDEy9DaXNjb1VuaXR5LWJlMjc5NzZjLTZlNmUtNDE5Zi04NTNkLWIz NzY0ODgxZGZiMDAeFw0xMjA3MTgxMzE1MTdaFw0xOTA3MTAwOTAwNThaMDsxGzAZ BgNVBAoTEkNpc2NvIFN5c3RlbXMgSW5jLjEOMAwGA1UECxMFRUNTQlUxDDAKBgNV BAMTA2FhYTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwslps1QPmb/mtfSD mHQ8tdnAPcIWriAqF283p7eQcGKdj9ji+YpDGmMFbaKG5NyPBzVCA2EXgNSrh2tX 8PTTUDUOlfGeqrol0H3kT1viFPxNIVVfnn6fuq4A8thoH54+QGlnOWqfuR6+Y4EZ yT4yhygh5yhRIDW6PTHCyhUnMuUCAwEAAaNdMFswHQYDVR0OBBYEFJ2AaJ5nN36z W6BaE5jVTEmAj54/MAsGA1UdDwQEAwIDqDAdBgNVHSUEFjAUBggrBgEFBQcDAQYI KwYBBQUHAwIwDgYDVR0RBAcwBYYDYWFhMA0GCSqGSIb3DQEBBQUAA4GBAJffZqLV 7pmQ+1HEBUO3dVnNdDr7V6izeh3KgoUHW7cEzUuM5wjsRLV7Mh8H9YvGyQP2sMMc iDRpJp4oNpnXZtwd8WEQcToaXvDOR9TfMr5tX9NdkAQGvb8pvt3kPd5cv3s79/Zy DRhjKYIr7A0dKZEpNAFUhTTHbTeNQiOibaGF -----END CERTIFICATE----- </Certificate> <PrivateKey> USkzHb9O2SAH6sofOA1sM91H+Whkpxl+/Sit7MF4+IfPE7u1shotouFO9lT1ouADtbjYp2WsqzndpjPRUZ5I4na9nc4uBqLkrQ6FZ9r2POBgX5EkoA4l5oYUNhJyNIbdqND54Kn1iO6uIKV/NIngQBSGWM0i2Yh+HezEjP2TY9orxD0v6MHtBTsmZvcbWScwpzIAVE6dP2/OeI2+21zG82m+xLmJnfuyiZc/RcmZ2MqOqQYL3IV9Gmo8l09ocQhst2TYBCEsvI6+hId5YujfO1iyL/1r8GD7lQVBzicFPChR0rqUnGzlilrIpnEbenUs2HpLw/F+lg1awgGRwe3S5moYClBEor1b5g8UIPXAi0QJNF0Pm4P+ImLCfERghinxz/DSiuE5IVkwfdPUPzPknZt+4SjcX0/VU0zIg42lZ5Xl7rJRonA8a2bnFQkg9Vm8D/TqrzAy+tdawOGdlnuAN+Hov1prRZnR5zjkpJaImK3zE0WZyqJsyEQdVaMZEK0irb/fePw5nujRxNJi0eF/AsyDkKEaz5YrjDBZ8QuYAFOr1k9IJI0J8ZkU8krRQCztWdY63k89XqCRzkN0SxEwu39UDajCbFOq7dbDmkalvKfp6lcrRMZy0OtpB3XgzbBvdAb6H3YZquQdCrdtwSKb/VovNsqgWXbeocqf0v2SbJC+tdJIbZlDOMt7x/glz6z0GabyGb6w8SjYGN0xSUZ+ioVlmhZ8qMOZ3fwW87ctXaRo68jBDcQJHI2aeYDABMTe3MoMI0R5A4pWUkNWGCjWhyq52kXvY8mjIRhYCEkDxEsvd6l+XRm2A02PCPpX01eXZ5neZ30jApWkdEzfcQfV57DtEtn8NXv3GCiL59qjiABuA0aHtUmA36m6mfuh8QWqMRoZHI5eXUNjeTt3kyV4jINutEu8dVAujShai/e+wNEulE4clWjh6LaoHjfg3MR28f0/bv2yTPRy/z5zW4/7z8QwKDh20fnLsLt7VatD1HcKjV2sXB50DBkLz4izVrmkLebLaIUs5pYorAVGf7MpPgVkqcbaE+A4qxplnl2eQuQGe6a9IioFaY0UVmN3SCBke6lCDqB5qhWkqTOlJGHwV6LBz2hTnjhd62CP868clvL3YZsC6tdA7CxJPpQZ0b36iS6CclJge2mLVa+CQNnBK68HCP+9y0YdGewEiK+8+D+x6fZC7ng+SYn2iQYHYm9BP7nYdP0YWy/aMy/ga39oHRSyjWv8GfsQNcdFdgEUMCxVx+fUK0Ao8tQKiamJjm8xyCM27UK0RBvy98= </PrivateKey> <SubjectName>test</SubjectName> <DisplayName>test</DisplayName> </SipCertificate> Response code: 200 Modifying SIP Certificates The following is an example of the PUT request that modifies the SIP Certificates: https://<connection_server>/vmrest/ sipcertificates/<objectid> The actual response will depend upon the information given by you. <SipCertificate> <SubjectName>test2</SubjectName> <DisplayName>test2</DisplayName> </SipCertificate> Response code: 204 Deleting SIP Certificates The following is an example of the DELETE request that deletes a specified SIP Certificates as represented by <sipcertificateid>: https://<connection_server>/vmrest/sipcertificates/<objectId> The output for this request returns the successful response code. Response code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 773 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Modifying SIP Certificates

Page 806#

chunk 770

Cisco Unity Connection Provisioning Interface (CUPI) API -- SIP Profiles Listing SIP Profiles Generic Examples to List SIP Profiles Example 1 The following is an example of the GET request that lists the SIP Profiles: https:/<server_ip>/vmrest/sipsecurityprofiles The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <SipSecurityProfiles total="2"><SipSecurityProfile> <URI>/vmrest/sipsecurityprofiles/87cab9a5-c68d-447a-ab4f-7cd2837aa240</URI> <ObjectId>87cab9a5-c68d-447a-ab4f-7cd2837aa240</ObjectId><Port>5069</Port> <DoTLS>false</DoTLS><DisplayName>5069</DisplayName> </SipSecurityProfile><SipSecurityProfile> <URI>/vmrest/sipsecurityprofiles/4d7e055a-cdcf-43ff-a922-4ce743939a23</URI> <ObjectId>4d7e055a-cdcf-43ff-a922-4ce743939a23</ObjectId><Port>5066</Port> <DoTLS>true</DoTLS><DisplayName>5066/TLS</DisplayName> </SipSecurityProfile></SipSecurityProfiles> <Pre> RESPONSE Code: 200 Example 2 The following is an example of the GET request that lists a specified SIP Profile: https://<connection_server>/vmrest/sipsecurityprofiles/<objectId> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: <SipSecurityProfile> <URI>/vmrest/sipsecurityprofiles/87cab9a5-c68d-447a-ab4f-7cd2837aa240</URI> <ObjectId>87cab9a5-c68d-447a-ab4f-7cd2837aa240</ObjectId><Port>5069</Port> <DoTLS>false</DoTLS><DisplayName>5069</DisplayName> </SipSecurityProfile><SipSecurityProfile> <pre> Response code: 200 JSON Examples to List SIP Profiles Example 1 The following is a JSON example of the GET request that lists the SIP Profiles: https:/<connection_server>/vmrest/sipsecurityprofiles Cisco Unity Connection Provisioning Interface (CUPI) API 774 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Cisco Unity Connection Provisioning Interface (CUPI) API -- SIP Profiles

Page 807#

chunk 771

The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: { "@total": "6", "SipSecurityProfile": { "URI": "/vmrest/sipsecurityprofiles/08aef04e-8775-4ea5-916b-f7e36cbdb3d4", "ObjectId": "08aef04e-8775-4ea5-916b-f7e36cbdb3d4", "Port": "5065", "DoTLS": "true", "DisplayName": "5065/TLS" }, { "URI": "/vmrest/sipsecurityprofiles/b3c533a4-bc28-4c70-9912-c22edf81910e", "ObjectId": "b3c533a4-bc28-4c70-9912-c22edf81910e", "Port": "5062", "DoTLS": "true", "DisplayName": "5062/TLS" }, { "URI": "/vmrest/sipsecurityprofiles/e667342c-3ce2-49f7-ae2b-27daf850b159", "ObjectId": "e667342c-3ce2-49f7-ae2b-27daf850b159", "Port": "5088", "DoTLS": "true", "DisplayName": "5088/TLS" }, { "URI": "/vmrest/sipsecurityprofiles/9062519a-05d4-42f2-933e-250d5a24efb5", "ObjectId": "9062519a-05d4-42f2-933e-250d5a24efb5", "Port": "5067", "DoTLS": "false", "DisplayName": "5067" }, { "URI": "/vmrest/sipsecurityprofiles/9adbf7ac-c882-4ad1-84d5-d67d56d44d6d", "ObjectId": "9adbf7ac-c882-4ad1-84d5-d67d56d44d6d", "Port": "5077", "DoTLS": "false", "DisplayName": "5077" }, { "URI": "/vmrest/sipsecurityprofiles/15a3a4d9-65a0-456a-be38-4a4aff36554c", "ObjectId": "15a3a4d9-65a0-456a-be38-4a4aff36554c", "Port": "5060", "DoTLS": "false", "DisplayName": "5060" } } <pre> RESPONSE Code: 200 Example 2 The following is a example of the GET request that lists a specified SIP Profile: https://<connection_server>/vmrest/sipsecurityprofiles/<objectId> The following is an example of the response from the above GET request and the actual response will depend upon the information given by you: Cisco Unity Connection Provisioning Interface (CUPI) API 775 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Listing SIP Profiles

Page 808#

chunk 772

{ "URI": "/vmrest/sipsecurityprofiles/9adbf7ac-c882-4ad1-84d5-d67d56d44d6d", "ObjectId": "9adbf7ac-c882-4ad1-84d5-d67d56d44d6d", "Port": "5077", "DoTLS": "false", "DisplayName": "5077" } RESPONSE Code: 200 Adding a new SIP Profiles Example 1 The following is an example of the POST request that lists the SIP Profiles: https://<connection_server>/vmrest/sipsecurityprofiles The following is an example of the response from the above POST request and the actual response will depend upon the information given by you: <SipSecurityProfile> <Port>5070</Port> <DoTLS>true</DoTLS> </SipSecurityProfile> Response code: 201 Example 2 The following is a JSON example of the POST request that lists the SIP Profiles: https://<connection_server>/vmrest/sipsecurityprofiles The following is an example of the response from the above POST request and the actual response will depend upon the information given by you: { "Port": "5080", "DoTLS": "true" } Response code: 201 Modifying SIP Profiles Example 1 The following is an example of the PUT request that modifies the SIP Profile: https://<connection_server>/vmrest/sipsecurityprofiles/<objectId> The actual response will depend upon the information given by you. Cisco Unity Connection Provisioning Interface (CUPI) API 776 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Adding a new SIP Profiles

Page 809#

chunk 773

<SipSecurityProfile> <Port>5070</Port> <DoTLS>true</DoTLS> </SipSecurityProfile> Response code: 204 Example 2 The following is a JSON example of the PUT request that modifies the SIP Profile: https://<connection_server>/vmrest/sipsecurityprofiles/<objectId> The actual response will depend upon the information given by you. { "Port": "5077", "DoTLS": "true" } Response code: 204 Deleting SIP Profiles The following is an example of the DELETE request that deletes a specified SIP Profiles as represented by <sipsecurityprofileid>: https://<server-ip>/vmrest/ sipsecurityprofiles/<objectId> The output for this request returns the successful response code. Response Code: 204 Cisco Unity Connection Provisioning Interface (CUPI) API 777 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Deleting SIP Profiles

Page 810#

chunk 774

Cisco Unity Connection Provisioning Interface (CUPI) API 778 Cisco Unity Connection Provisioning Interface (CUPI) API for Telephony Integrations Deleting SIP Profiles