Every user with a mailbox has an associated call handler, and thus transfer options. Transfer Options are also referred to
as Transfer Rules. Every user and call handler has three types of transfer options:
-
Standard
-
Off Hours
-
Alternate
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 on which 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,
the currently CUPI offers no ability to set this field to null. TimeExpires is always treated as GMT. Any required timezone
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: 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.