Guest

Cisco Unity Express

Transfer a Caller Directly into a Unity Express Mailbox

Document ID: 61089

Updated: Feb 02, 2006

   Print

Introduction

This document describes the configuration steps required to allow an attendant or operator to transfer a caller directly into a Cisco Unity Express subscriber's mailbox, and not ring their phone. Readers of this document must be familiar with the method of integration used by their Cisco Unity Express version. This method is either Cisco CallManager or Cisco CallManager Express.

In order to forward a call directly to a user voicemail box, the phone switch (CallManager Express or CallManager) must be configured to define a range of extensions which are always forwarded to the voicemail pilot number. Because these extensions are different than the regular extensions for users, Cisco Unity Express must be configured in order to recognize the other extensions. This is accomplished through the use of E.164 numbers.

Prerequisites

Requirements

Cisco recommends readers of this document have knowledge of these topics:

Components Used

The information in this document is based on these software versions:

  • For Cisco CallManager Express integration, Cisco Unity Express version 1.0 or later is required.

  • For Cisco CallManager integration, Cisco Unity Express version 1.1 is required.

Note: All sample configurations and screen output are taken from Cisco Unity Express version 1.1.1 and Cisco CallManager 3.3.3.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Conventions

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

Unity Express Integrated with CallManager Express

Unity Express CLI Configuration

When Cisco Unity Express is integrated with CallManager Express, the administrator must configure additional ephone-dns, which use the Call-Forward All feature to direct calls to voicemail. Those ephone-dns must be configured with the Cisco Unity Express E.164 address instead of the primary number. This way the system recognizes the forwarded call belongs to a particular mailbox.

Note: This option is only possible if the E.164 address is not already used for other purposes.

For this example, assume that the CallManager Express extensions are in the 200-299 range. Also, assume that the number those users dial in order to transfer to the voicemail box of those extensions is 3200-3299. If the lead digit 3 has already been assigned to something else in the CallManager Express dial plan, then a different lead digit can be used. The voicemail pilot number, or the number users dial in order to retrieve their messages, is 18900.

Note: For some attendants, you can put the transfer extension on a speed dial, so they simply have to press Transfer, followed by the speed dial line.

Complete these steps in order to configure Cisco Unity Express with CallManager Express:

  1. Configure an ephone-dn with the pattern to be used in order to Call-Forward All to voicemail.

    In Cisco CallManager Express, you must configure:

    ephone-dn  99
     number 32..
     description DN to transfer directly to Cisco Unity Express voicemail
     call-forward all 18900
    !

    The Transfer to Voice Mail feature is supported in Cisco Unified CallManagerExpress 4.3 or later versions. The Transfer to Voice Mail feature allows a phone user to transfer a caller directly to a voice-mail extension. The user presses the TrnsfVM soft key to place the call on hold, enters the extension number, and then commits the transfer by pressing the TrnsfVM soft key again. The caller hears the complete voice mail greeting. This feature is supported using the TrnsfVM soft key or feature access code (FAC). For more information, refer to Transfer to Voice Mail.

    Note: You must have the Call-Forward All parameter configured to go to the same extension used for Cisco Unity Express voicemail.

  2. Verify that a dial-peer is configured for Cisco Unity Express in CallManager Express.

    The destination-pattern configured must match the call-forward all extension configured in Step 1. For example:

    dial-peer voice 18900 voip
     destination-pattern 18900
     description Cisco Unity Express voicemail pilot number
     session protocol sipv2
     session target ipv4:172.18.106.88
     dtmf-relay sip-notify
     codec g711ulaw
     no vad
    !
  3. Configure the chosen transfer extension ("32..") as an E.164 address in Cisco Unity Express with the CLI.

    Note: In order to use the GUI to define the E.164 address click here.

    As mentioned earlier, in Cisco Unity Express you must define these "3.." extensions as E.164 addresses. Use the CLI in order to accomplish this. In order to see a user list, issue the show users command:

    vnt-nm-Cisco Unity Express> show users
    administrator
    jdoe
    jsmith
    marschne

    In order to get more details about a particular user, issue the show user detail username <user> command:

    vnt-nm-Cisco Unity Express> show user detail username marschne
    Full Name:          marschne
    First Name:         Markus
    Last Name:          Schneider
    Nickname:           marschne
    Phone:              201
    Phone(E.164):       
    Language:           en_US
  4. Configure the E.164 addresses.

    In order to configure an E.164 address, you must enter the configuration mode and issue the user <username> phonenumberE164 <number> command:

    vnt-nm-Cisco Unity Express> conf t
    
    !--- Enter configuration commands, one per line. End with CNTL/Z.
    
    vnt-nm-Cisco Unity Express(config)> user marschne phonenumberE164 3201
    
  5. When finished, issue the write memory command in order to save your configuration and exit configuration mode.

Unity Express GUI Configuration

Alternatively, you can complete the Cisco Unity Express configuration through the GUI. In order to complete the configuration with the GUI, complete these steps:

  1. Log in to the GUI.

  2. Select Configure > Users.

  3. Enter the E.164 address (such as 3201) in the Primary E.164 Number field.

  4. Select the desired user and press Apply.

Verification

In order to verify the operation, issue another show user detail username <user> command:

vnt-nm-Cisco Unity Express> show user detail username marschne
Full Name:          marschne
First Name:         Markus
Last Name:          Schneider
Nickname:           marschne
Phone:              201
Phone(E.164):       3201
Language:           en_US 

Notice that the configuration now lists the Phone (E.164) number.

Note: When you use full-consult transfer, instruct the operators to hit the Transfer button the second time rapidly. Otherwise the first few words of the greeting can be lost.

Note: Cisco recommends that all users have recorded names in Cisco Unity Express. For instance, if a call is forwarded to voicemail, that voicemail must state the user's name, not their extension. Since the call was forwarded from extension 3201, the system announces the extension "3201" in the greeting to the caller. This can potentially create confusion about the real extension of the user (201).

In order to test this configuration, complete these steps:

  1. Call from one phone to another.

  2. Press the Transfer button on the phone and dial "3201" (in this example).

    If a full-consult is configured in Cisco CallManager Express, press the Transfer button again.

  3. Ideally, the caller is now connected to the mailbox of the user to whom the call was transferred.

Unity Express Integrated with Cisco CallManager

When Cisco Unity Express is integrated with CallManager, a computer telephony integration (CTI) Route Point is required in order to forward calls to voicemail. When the calls are forwarded, the call forwarding information matches the configured E.164 number in Cisco Unity Express. For more information, see the warning about integration with CallManager 4.x that is included in this document.

Note: You must set up E.164 numbers in Cisco Unity Express. Voice mailbox masks do not work because Cisco Unity Express integrates with Java Telephony Application Programming Interface (JTAPI) software.

In this example, assume the user extensions for a Cisco Unity Express location within CallManager are 2100-2199. For all phones that use a voicemail profile to get to voicemail, configure a number range, 421xx, to transfer directly to voicemail. In other words, a user on a call can press Transfer, then dial 4 plus the extension of the user to whose voicemail they want to send the call. This is followed by Transfer again, The call goes directly to the voicemail box of the desired party.

Complete these steps in order to add an extension range that can be used to transfer directly to voicemail, when Cisco Unity Express is integrated with CallManager:

  1. Add a CTI Route Point for transferred calls.

    1. Click Device > Add a New Device. For the Device type, choose CTI Route Point.

    2. Click Next.

      The Name field is arbitrary, so something logical must be used such as "TransferToVM". The Device Pool, Calling Search Space, and Location must match other phones that use this particular Cisco Unity Express module.

    3. Click Insert.

      A pop-up appears that states "The CTI Route Point has been inserted into the database. Would you like to add a directory number for line 1 of this CTI Route Point now?" Click OK here.

      rpins.gif

  2. Add a directory number for the CTI Route Point.

    1. For the Directory Number field, enter the number to be dialed that will transfer to voicemail (such as 421xx).

    2. Assign the same voicemail profile as other phones that use this Cisco Unity Express module.

    3. Make sure Forward All to Voicemail is checked.

    4. Press Insert.

    5. Cisco CallManager adds the directory number and resets the device.

    rpdn.gif

  3. In Cisco Unity Express, configure an E.164 number for each mailbox to which you want to be able to transfer.

    For example, for the user "marschne":

    VNT-AIM-Cisco Unity Express1> show user detail username marschne
    Full Name:          Markus Schneider
    First Name:         Markus
    Last Name:          Schneider
    Nickname:           Markus Schneider
    Phone:              2103
    Phone(E.164):       
    Language:           en_US
  4. Add E.164 addresses for users.

    Because the CTI Route Point directory number was 4xxxx, the E.164 address for this user must be 42103. You can easily add this with the CLI in configuration mode:

    VNT-AIM-Cisco Unity Express1> conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    VNT-AIM-Cisco Unity Express1(config)> username marschne phonenumbere164 42103
    
  5. Once all E.164 numbers have been added, issue the write memory command in order to save your configuration and exit the configuration mode.

Verification

In order to verify a user is set up properly, issue the show user detail username <user> command:

VNT-AIM-Cisco Unity Express1> show user detail username marschne
Full Name:          Markus Schneider
First Name:         Markus
Last Name:          Schneider
Nickname:           Markus Schneider
Phone:              2103
Phone(E.164):       42103
Language:           en_US

Complete these steps in order to test the operation:

  1. Place a call between two phones.

  2. Press the Transfer button.

  3. Dial 42103 or whatever the CTI Route Point directory number is. Make sure to include the destination mailbox.

    Ideally, the call goes to voicemail and the greeting of the desired user plays. If the call does not go to voicemail, then the problem is likely that the voicemail profile is not set up properly or not applied to the CTI Route Point.

    If the call does go to voicemail but the wrong greeting is played--or even one that states that there is no mailbox associated with this number--then the problem is likely that the E.164 number is not assigned to the subscriber.

Note: Cisco recommends that all users have recorded names in Cisco Unity Express. If a call is forwarded to voicemail, it must announce the user name, not their extension. Because the call was destined to mailbox 2103, the system announces extension 42103 in the greeting to the caller. This can potentially create confusion about the real extension.

Note: This configuration example also applies in another scenario. If a customer wants to have an Auto Attendant script--for any or all users--transfer directly to a user voicemail and never ring their phone, this configuration can be used with one small adjustment. The 3201 extension must be configured as the primary phone number and 201 as the E.164 number. Name lookups always utilize the primary phone number in order to transfer. So when a caller dials in and does a name lookup, the call is transferred to 3201. Then the Call-Forward All feature transfers the call to the user voice mailbox.

Note: After you dial the transfer extension, Cisco recommends you instruct users to press Transfer as soon as possible. Otherwise part of the greeting could be inaudible to the transferred party.

warning Warning: Note this update for Cisco Call Manager 4.x. As of Cisco CallManager version 3.3.5, and through the current 4.x release, this workaround no longer works. As detailed in Cisco bug ID CSCsb39067 (registered customers only) , the issue is that when the call is forwarded from the CTI Route Point to Cisco Unity Express, the Last Redirected Number field shows up with the entire pattern instead of the actual dialed number. For instance, "4xxxx" instead of "41234" if you try to transfer to mailbox 1234. Instead, you must configure each number individually in a route point without the use of "x" wildcards. At this time, the only workaround is to use the direct transfer with the Cisco Unity Express Custom Script option.

Direct Transfer with CUE Custom Script

With both Cisco CallManager and CallManager Express, a third option is possible. You can use a custom Cisco Unity Express script. In order to request the script, send an email to ask-cue-editor@external.cisco.com.

Note: The script requires Cisco Unity Express 2.1.1 or later, but works with any CallManager or CallManager Express version. The script also does not require any E164 numbers configured in Cisco Unity Express. This script is not supported by Cisco Technical Support, and is provided as-is. If you have a problem with or question about the script itself, direct you concerns to ask-cue-editor@external.cisco.com.

Set Up the Custom Script

For Cisco CallManager, assume that 4xxxx is used on the CTI Route Point set to call forward all to voicemail. You can remove that and add a route point with a directory number of simply 4, with no wildcard digits afterwards.

Note: Make sure you understand the use of Cisco CallManager Partitions and Calling Search Spaces, to make sure this directory number does not overlap with any other directory number that starts with 4. In other words, when you choose a first digit for the directory number, make sure it does not match anything else.

In order to set up the custom script, use these steps:

Note: Call forwarding is not configured on this new route point. The route point must be associated with the Cisco Unity Express JTAPI user. The JTAPI user is already associated with route points for voicemail, and possibly an Auto Attendant as well.

  1. You must load the attached custom script in Cisco Unity Express from the GUI. log in to the Unity Express GUI with an account that has administrative rights. To do this, navigate to Voicemail > Auto Attendant> Add.

    The only script parameter is numDigitsToCollect. The Call-in Number must be the same as the directory number (DN) on the route point (in this case, 4). For Cisco CallManager Express integrations, simply configure a dial-peer with a destination-pattern of 4 pointing to the Cisco Unity Express IP address. Basically, whatever digit is used in order to perform the transfer, must be used here. For example:

    dial-peer voice 4 voip 
    
    destination-pattern 4 
    
    session protocol sipv2 
    
    session target ipv4<cue IP address> 
    
    dtmf-relay sip-notify 
    
    codec g711ulaw 
    
    no vad 
    
    !
  2. Upload the custom script, as described in this document, and configure the Call-in Number to match the number configured in the destination-pattern.

Use the Custom Script

This custom script workaround has a slightly different operation from an end-user perspective. When a person wants to transfer a caller to a Cisco Unity Express mailbox, the user simply dials 4 and waits for Unity Express to pick up. Cisco Unity Express prompts you to enter the extension. Then, Cisco Unity Express collects the digits entered. Cisco Unity Express can collect numDigitsToCollect digits (configurable when the custom script is uploaded). Alternatively, if the user presses #, Cisco Unity Express uses that as a terminator. Also, the user can wait three seconds (configurable within the script) between digits.

Once the digits are collected, Cisco Unity Express checks to make sure there is a valid mailbox on the system with that number. If there is, the call is transferred directly to the mailbox without ringing the phone. If there is a problem or there is an invalid mailbox number, Cisco Unity Express requests an extension again.

Operationally, the only difference is that instead of dialing Transfer followed by 41234 and Transfer again, to put someone into the 1234 mailbox, the user presses Transfer followed by 4 and waits for Cisco Unity Express to pick up. Once Cisco Unity Express picks up, the user dials 1234 and presses Transfer. The benefit for the administrator is that this method does not require any E164 number assignment in Cisco Unity Express.

Unity Express 2.1.1 Update

Cisco Unity Express 2.1.1 and later versions contain an additional system script that can be used in order to reach a mailbox greeting. This script does not require you to transfer the call first. This system script is called xfermailbox.aef. The script can only be invoked from a customized auto attendant script. You cannot invoke this script from one that ships with Cisco Unity Express 2.1.1.

This is useful when the desired behavior is such that you want an outside caller to reach a mailbox, but do not want to transfer the call to the phone switch (CallManager Express or Cisco CallManager) first.

In order to become familiar with custom scripting with Cisco Unity Express, review the Cisco Unity Express Script Editor Installation and Configuration Guide and the Unity Express Custom Scripts Quick Start Guide.

The xfermailbox.aef system script is invoked by a Call Subflow step.

xfermbx1.gif

On the Parameter Mapping tab, you must add a variable to the xfermbox that has a Type of String. In this example, a variable called mbox is shown that is created in this custom script. Here, the user is prompted to enter three digits followed by the # sign. Then, the user is able to call the xfermailbox.aef subflow with that value.

xfermbx2.gif

Note: In order to see if a mailbox is valid before you call this subflow, use the Extension To User step in Cisco Unity Express 2.1.1. If this subflow is called with an invalid extension, you receive a message that states "Sorry, there is no mailbox associated with this extension." Then, you receive the main voicemail greeting ("Hello, welcome to the Cisco Unity Express messaging system. If you have a mailbox on this system, please press *, otherwise please hold for an operator"). With the "Extension To User" step, you can verify that an extension is valid before you call the xfermailbox.aef subflow.

Troubleshoot

The information in this section helps you to troubleshoot mailbox problems.

Error: There is not enough mailbox space in the system

This error occurs when you try to add a very large mailbox to the mailbox in CUE that does not have enough space. In order to resolve this issue, open the GUI of CUE, go to Reports > Voicemail, and reduce the mailbox space.

Related Information

Updated: Feb 02, 2006
Document ID: 61089