Cisco Unity Connection Provisioning Interface (CUPI) API -- User Template Transfer Options

From DocWiki

Jump to: navigation, search

Links to Other API pages: Cisco_Unity_Connection_APIs

CUPI Guide Contents
API Overview
Index of All CUPI Documentation


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.

For information on minimum software required with this API, see Cisco_Unity_Connection_Provisioning_Interface_(CUPI)_API_--_Basic_User_Template_Information#Minimum_Software_Version

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:


Step 2: Do the following GET command to list the user template of your choice represented by the <usertemplate-id>:


Step3: The following URI is the response from the above GET command:


Step 4: The following URI is the reponse from the above GET command:


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.

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.


Note that you cannot use CUPI to create transfer options.


To enable the Alternate transfer option until March 9, 2020, you would use the following PUT request:


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
<?xml version="1.0" encoding="UTF-8"?>
  <TimeExpires>1976-03-09 00:00:00.0</TimeExpires>
 Response Code: 204 

Example 2
<?xml version="1.0" encoding="UTF-8"?>
 Response Code: 204 


Note that you cannot use CUPI to delete transfer options.

Rating: 0.0/5 (0 votes cast)

Personal tools