Skip Headers
Oracle® Beehive Administrator's Guide
Release 1 (1.4)

Part Number E13797-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

11 Managing Oracle Beehive Voicemail and Fax

Note:

Oracle Beehive Voicemail functionality requires advanced configuration to enable. Some necessary Cisco configuration is not fully documented in this Guide. Please contact your Oracle support representative for assistance with deploying Oracle Beehive Voicemail.

Oracle Beehive Voicemail is provided by the Voice Message Service. It enables a variety of functionality for Oracle Beehive users, including the ability to access and manage voice messages from a telephone or as audio files in the e-mail Inbox. Oracle Beehive Fax is provided by the Fax Message Service. This module describes how to set up and configure the necessary software components to enable the voicemail functionality. It contains the following sections:

See Also:

Introduction to Managing Oracle Beehive Voicemail

This section includes the following topics:

About Facilities

A Facility is an Oracle Beehive group, defined for a physical location that is connected to a single PBX. This concept allows all users at that facility to have common attributes and be treated in a common way. For example, a facility will set the default language for the voicemail users of that facility. Users may also have their own unique parameters as required.

Facilities are optional. You can set preferences and settings at the enterprise level, and those settings not specified at the facility level will default to the enterprise values. Facilities allow you the flexibility of having different settings at different physical locations, each with their own PBX.

About Auto Attendants

An Auto Attendant is an automated call-answering and routing server, which presents a collection of menus that are created for individual phone numbers supported at a facility. The menus allow callers to be routed to the correct department or extension, or expose additional recorded information (such as street directions or operation hours), and the corporate directory.

Auto Attendants are optional. You can deploy Oracle Beehive voicemail functionality with or without the use of Auto Attendants. You can have one Auto Attendant for each facility, or one for the whole enterprise.

About Voicemail Infrastructure

Oracle Beehive voicemail and automated attendant (AA) telephone user interface (TUI) use VoiceXML to present the TUI to the caller via a Cisco VoiceXML capable router. The Cisco router has a VoiceXML browser imbedded in the Cisco IOS operating system. VoiceXML is a W3C standards-based approach for voice applications and services, which leverages a Web-based development and deployment model instead of a propietary telephony hardware and software approach. Since VoiceXML uses a Web based model, all the Oracle Beehive voice applications are executed on the server and only the VoiceXML and audio .wav files are served to the Cisco VoiceXML browser via HTTP or HTTPS.

Figure 11-1 shows an example deployment architecture linking Cisco Call Manager (CCM) hardware to Oracle Beehive.

Figure 11-1 Oracle Beehive Voicemail Centralized Deployment

Description of Figure 11-1 follows
Description of "Figure 11-1 Oracle Beehive Voicemail Centralized Deployment"

This section contains the following topics:

Cisco Dependencies and Requirements

In order to deploy Oracle Beehive voicemail, Cisco VoiceXML-capable harware and Cisco IOS VXML software is required. The supported Cisco VXML routers are the 2800 and 3800 Series Internet Service Routers (ISR), and the AS5350XM/AS5400XM Universal gateways. These routers offer a VoiceXML featureset in the Cisco IOS operating system, to execute the Oracle Beehive voice applications.

Please refer to your Cisco account representative to determine the VXML browser software licensing required for your environment and hardware. Cisco Unified Call Manager 5.0 or greater is the only IP PBX that has been tested with Oracle Beehive voicemail redirection.

Voicemail UDS Requirements

For an Oracle Beehive user to be active for voicemail, the user's UDS record must contain voice_principal, voice_pin, and tel: (telephone scheme) address attributes. The voice principal and telephone scheme address must be numbers containing no special characters or spaces. See "Managing and Provisioning Oracle Beehive Users" for complete documentation on configuring the appropiate user record attributes. You can use the beectl command-line tool to add and modify preference profiles, users' voice properties, groups, and group properties.

Voicemail Preference Properties

Voicemail configuration properties follow the Oracle Beehive model of property inheritance: Enterprise, Facility, and User. This allows you to group configuration properties. Enterprise properties apply to all voicemail users. Facility properties apply to the users defined in the UDS group that constitutes a voicemail facility. User properties are defined at the user level inside the user's UDS Voicemail Preference Profile. For example, the user propery PreferedLocale will override the locale defined at the facility.

There are three types of preference properties:

Enterprise Preference Properties

Voicemail stores application configuration options in Oracle Beehive Preference Property Profiles. The enterprise properties for voicemail are stored in a Preference Profile called VoiceEnterprisePrefs. Before you can add or modify any voicemail properties, you must create the profile, by using the beectl add_voice_enterprise command.

Facility Preference Properties

Voicemail has the ability to define multiple facilities in order to decentralize the deployment of voicemail router resources in remotes offices without having to run or administer multiple voicemail applications. A voicemail facility is a group of users and properties that share the same physical location and configuration information. You create voicemail facilities by using the beectl add_voice_facility command.

User Preference Properties

User properties are defined inside the user's voicemail profile. These properties can define the user's PreferedLocale and ActiveGreetingType.

Configuring Oracle Beehive Voice Message Service

You must perform some configuration before Oracle Beehive voicemail functionality is enabled. At a minimum, you must configure the enterprise, and you optionally may configure one or more facilities. You must also ensure that all users who will use Oracle Beehive voicemail have required values for the relevant attributes in their user accounts.

If you want to enable the Message Waiting Indicator and graphical user interface features of your telephones, you must configure them. If you want to use an auto attendant to answer and forward calls, you must configure the auto attendant.

This section contains the following topics:

Voicemail Properties

Table 11-1, "Voicemail Properties" lists the properties used by the voicemail Enterprise and voicemail Facilities. When configuring the voicemail Enterprise Preferences, or a facility's properties, refer to this table for a description and examples.

Inheritance Rules

In general, the heirarchy is Enterprise -> Facility -> User, such that property values set at the lowest level are used first, and if no value is set, the property value at the next-higher level is used. This general flow is not followed in some cases.

The following rules are applied for determining inheretence of property values:

  • UNDEFINED VALUES

    When the Enterprise value is not defined, then the default value is used. When the default value is not defined, then the Facility's value, if defined, is used. When neither value is defined, then the application determines a value, which may cause undesirable results.

  • BOOLEAN

    When the Enterprise value is true, then the Facility's value, if set, is used. If not set, then true is used. If the Enterprise value is false, then all Facilities will use the value false, even if specified at the Facility level.

  • INTEGER

    When the Enterprise value is -1, then the Facility's value is used.

  • STRING and STRING ARRAY

    Both of these types behave as UNDEFINED VALUES

Table 11-1 Voicemail Properties

Property Name Type Example Value Default Value Description

isRetrievalEnabled

BOOLEAN

true

true

Determines whether users are allowed to retrieve their messages

isMWIEnabled

BOOLEAN

true

true

Enables or disables users' Message Waiting Indicator (MWI)

isOperatorConfigured

BOOLEAN

true

true

Determines whether a caller can transfer to a live operator from the Touchtone User Interface (TUI)

MaxRecordingDuration

INTEGER

 

-1

Specifies the maximum duration of a recording, in seconds. -1 means that the Facility's value will be used. If not set at the Facility level, then 180 is used.

RTPServerURI

STRING

http://<BH_MT>:<PORT>/voice-servlet/rtp_server/RtpServer.jsp

 

The URI to access the RTP Server

RTPServerUserName

STRING

RtpClient

 

This value must be defined, but the user name is only used for internal communication

RTPServerPassword

STRING

RtpPassword

 

This value must be defined but the password is only used for internal communication

isGlobalLookupFallbackEnabled

BOOLEAN

true

true

 

isPhoneNumberPresentable

BOOLEAN

true

true

 

StoreMsgMenuLocale

STRING

en-US

 

The locale to use when messages are being left for a user

RetrieveMsgMenuLocale

STRING

en-US

 

The locale to use when messages are being retrieved by a caller. This locale is always used at the login, but the user's locale, if specified, will be used after he or she is authenticated

IpPhoneUserName

STRING

bhvmgui

 

Username of the account defined in Cisco Call Manager which has device control over the users' telephones for audio playback and return call functionality in the Voicemail GUI

IpPhonePassword

STRING

<bhvmgui_password>

 

Password of the account defined in Cisco Call Manager which has device control over the users telephones for audio playback and return call functionality in Voicemail GUI

IpPhonePasswordSeed

STRING

   

This only needs to be set if local IP phone authentication is used. Oracle recommends you use Cisco Call Manager Administrative XML Layer (AXL) configuration for IP authentication

IpPhonePasswordAlgorithm

STRING

   

This only needs to be set if local IP phone authentication is used. Oracle recommends you useCisco Call Manager Administrative XML Layer (AXL) configuration for IP authentication

IpPhonePasswordNumBits

INTEGER

   

This only needs to be set if local IP phone authentication is used. Oracle recommends you use Cisco Call Manager Administrative XML Layer (AXL) configuration for IP authentication

IpPhoneRtpMinPort

INTEGER

     

IpPhoneRtpMaxPort

INTEGER

     

IpPhoneHttpProxyHost

STRING

   

This only needs to be set if the Oracle Beehive tier needs to communicate through a proxy to reach the IP phones' HTTP server

IpPhoneHttpProxyPort

INTEGER

   

This only needs to be set if the Oracle Beehive tier needs to communicate through a proxy to reach the IP phones' HTTP server

MwiAlgorithm

STRING

SHA1PRNG

 

Defines the algorithm used to create the SIP NOTIFY messages for MWI which must be set

MwiCcmHost

STRING

   

The IP address of the Cisco Call Manager SIP trunk configured to accept SIP NOTIFY messages

MwiCcmPort

INTEGER

 

5060

The port of the Cisco Call Manager SIP trunk configured to accept SIP NOTIFY messages

MwiSipProxyHost

STRING

   

SIP Proxy Host that is authorized to send SIP messages to Cisco Call Manager SIP MWI trunk

MwiSipProxyPort

INTEGER

   

SIP Proxy Port that is authorized to send SIP messages to Cisco Call Manager SIP MWI trunk

MwiMinLocalPort

INTEGER

5061

 

Lowest port in the range that Oracle Beehive will use to send and receive SIP messages

MwiMaxLocalPort

INTEGER

5080

 

Highest port in the range that Oracle Beehive will use to send and receive SIP messages

MwiSourcePhone

STRING

16505551234

 

Voicemail DNIS phone number that is presented in the SIP NOTIFY message

RtpServerHost

STRING

beehive.example.com

 

Host where the RTP Server is running

RtpServerMinPort

INTEGER

 

20480

Lowest port in the range used by the RTP server to send RTP packets

RtpServerMaxPort

INTEGER

 

32768

Highest port in the range used by the RTP server to send RTP packets

RtpServerPacketSize

INTEGER

 

160

RTP Packet Size. Leave at default for Cisco IP phones

RtpServerHttpProxyHost

STRING

   

This value must be set if the RtpServer has been deployed on a standalone host which can only be accessed by the Oracle Beehive tier through a proxy

RtpServerHttpProxyPort

INTEGER

   

This value must be set if the RtpServer has been deployed on a standalone host which can only be accessed by the Oracle Beehive tier through a proxy

AxlConfigA

STRING

https://<CCM_HOST>:8443/axl/,https://<CCM_HOST>:8443/realtimeservice/services/RisPort,,,bhvmgui,password,f,f

none

The comma seperated fields, in order, are:

  1. The AXL URL

  2. The realtime info URL

  3. The proxy host

  4. The proxy port

  5. The user provisioned for AXL access (read only)

  6. The password for the AXL user

  7. Whether certificate validation is enabled for SSL connections to CCM

  8. Whether hostname verification is enabled for SSL connections to CCM

AxlConfigB

STRING

https://192.188.175.105:8443/axl/,https://192.188.175.105:8443/realtimeservice/services/RisPort,,,bhvmgui,password,f,f STRING_LIST

 

This field's contents are the same as for AxlConfigA, and are used for backup AXL services running on another Cisco Call Manager Node

RecordStreamURIs

STRING ARRAY

 

http://<host>:<port>/voice-servlet/vmail/crs

 

RecordPlaybackURIs

STRING ARRAY

 

http://<host>:<port>/voice-servlet/vmail/data/shared/playback

 

ExclusiveAudioContentURIs

STRING ARRAY

 

audio

The default value is a relative audio path

SharedAudioContentURIs

STRING ARRAY

 

../shared-audio

The default value is a relative audio path

TelephoneAnsweringAddress

STRING ARRAY

vm-no-reply@example.com

TelephoneAnsweringService@example.com

This is the e-mail from: address that is used for voicemail messages when an Oracle Beehive user is not the originator


Configuring the Enterprise

This section describes how to configure enterprise-level preferences for Oracle Beehive voicemail functionality.

Note:

The Enterprise is created during Oracle Beehive installation. The only optional steps are to configure the settings for Voicemail and Auto Attendant. The values are stored in enterprise preferences.

This section contains the following topic:

Configuring Enterprise Preferences

These are set as part of the Enterprise Preferences:

Use the following commands to set any of the Enterprise Preference properties listed in Table 11-1, "Voicemail Properties".

  1. First, get the identifier for your enterprise by using the beectl list_enterprises command:

    beectl> list_enterprises
    
  2. Then, use the enterprise identifier with the beectl list_preference_profiles command to get the Active Preference Profile identifier:

    beectl> list_preference_profiles --consumer <Enterprise identifier>
    

    Look for output similar to the following:

    Name : ActivePreferenceProfile
    Identifier : prfp=ActivePreferenceProfile,enpr=Oracle
    
  3. Create a preference set using the beectl add_preference_set command:

    beectl> add_preference_set --parent <Preference Profile identifier> --name VoiceEnterprisePrefs
    

    The console will output an identifier for the new Preference Set.

  4. Use the beectl add_preference_property command to set preference properties. :

    beectl> add_preference_property --set <Preference Set identifier> --name <name> --value <value> --type <type>
    

    See Table 11-1, "Voicemail Properties" for the values of the --name, --value, and --type attributes. Repeat this step for each enterprise property.

Creating Voicemail Users

Generally, you can follow the instructions in "Managing and Provisioning Oracle Beehive Users" to create users with access to Oracle Beehive voicemail functions. You must provide values for any voicemail user for the following specific user attributes, in addition to the required user attributes:

  • --voice_principal <phone number>

  • --voice_pin <PIN>

  • --address <type>:tel:<phone number>

The voice_principal and tel: address must be integers containing no special characters or spaces. The voice_principal is used for user authentication because it is associated to the voice_pin. The tel: address attribute is used to associate the redirected DNIS passed by the PBX to the user account or user's e-mail Inbox.

Note:

It is possible to define multiple phone numbers that map to the same user account, but only the voice principal defined for that account can be used to authenticate.

Managing Facilities

This section describes how to create and configure a Facility. Facilities allow you to deploy more than one voicemail system (such as, at different physical locations), each with its own properties. Those properties not set at the facility level, will default to their enterprise-level values.

This section contains the following topics:

Creating a Facility

To create a Facility, you must create both a group and a voice facility object. The group's values (enterprise identifier, name, properties, and so on) are defined in an XML file. The values of these properties are shown in Table 11-1, "Voicemail Properties". See Example 11-1, "Sample Facility XML File" for an example Facility XML file.

Perform the following steps to create a Facility:

  1. Create a group by using the beectl add_group command:

    beectl> add_group --file <path to Group XML file>
    

    See Example 11-1, "Sample Facility XML File" for an example Facility XML file.

  2. Add a voice facility object using the beectl add_voice_facility command:

    beectl> add_voice_facility --name <voicemail service phone number OR auto attendant service phone number> [--include <phone rules>] [--exclude <phone rules>]
    

    Note:

    This command initalizes the voicemail component configuration properties which maps the voicemail DNIS to the UDS group (facility). This mapping is contained within a table which is used for phone number look-up, defined with the inclusion and exclusion numbers assigned durring the add_voice_facility command execution.

    Using the optional --include and --exclude options, you can specify a range of phone numbers to be associated with this voice facility. Use a question mark (?) as a wildcard. Multiple include and exclude ranges can be specified on the command line by delimiting them with a pipe (|) symbol in quotes due to the command shell limitations. For example:

    beectl> add_voice_facility --name <voicemail service phone number OR auto attendant service phone number> --include "1866612????|1866264????|4730"
    

    This example associates all phone numbers in the range "18666120000-18666129999 and 18662640000-99999 and 4730" number ranges with this facility. The phone number lookup is based upon ANI, then RDNIS (redirect number), and then DNIS (dialed number), in that order, to make the association.

  3. Use the beectl list_groups command with the global option --entity_format id to get the group identifier:

    beectl> list_groups --group <group name> --show ALL --entity_format id
    
  4. Use the beectl modify_property command to set the voice facility object to associate the group identifier to the alias "FacilityCollabId":

    beectl> modify_property --id <voice facitlity object id> --name FacilityCollabId --value <Group identifier>
    
  5. Run the beectl activate_configuration command to validate and apply your configuration changes:

    beectl> activate_configuration
    

You can look up with which facility or facilities a given phone number is assigned and selected based upon weight (strength of number match) by using the beectl list_facilities command:

beectl> list_facilities --phone <user or voicemail DNIS number>

Sample Facility XML File

Example 11-1, "Sample Facility XML File" is a sample XML-formatted file for creating the Group when setting up a Facility. In this example, a static group is used, but you could use a more complex group if you want. Be sure to replace the name, description, and scope values with the correct ones for the Facility you are creating.

Note:

To find the CollabID of the enterprise or a user, use the global option --entity_format id with the appropriate beectl list command. For example:
beectl list_users --user loginid=exampleuser --show ALL --entity_format id

The user's CollabID will be shown on the Identifier line of the output.

Example 11-1 Sample Facility XML File

<?xml version="1.0" encoding="utf-8"?>
<groups>
  <group type="grup">
    <name>18665552020</name>
    <description>18665552020 Voicemail Facility</description>
    <scope>
<!-- Define Enterpripse CollabID here -->
      <cen>178B:5E25:enpr:360B9A7289F63579E040578C05156389000000018845</cen>
    </scope>
    <members>
      <add>
        <actor>
          <item>
            <!-- User 1 -->
<!-- Define a User's CollabID here -->
            <cen>178B:5E25:user:63386283615A46D59306642C37BF3D07000000000000</cen>
          </item>
        </actor>
      </add>
     </members>
    <properties>
      <add>
        <item>
          <name>isMwiEnabled</name>
          <value>true</value>
          <description>MWI Enabled</description>
        </item>
        <item>
          <name>VMPhoneNumber</name>
          <value>18665552020</value>
          <description>VM DNIS</description>
        </item>
        <item>
          <name>OperatorTransferNumber</name>
          <value>13125554399</value>
          <description>Operator or AA Phone Number</description>
        </item>
        <item>
          <name>isOperatorConfigured</name>
          <value>true</value>
          <description>Enable Operator Transfer Number</description>
        </item>
        <item>
          <name>StoreMsgMenuLocale</name>
          <value>en-US</value>
          <description>Facility Default Message Leaving Language</description>
        </item>
        <item>
          <name>RetrieveMsgMenuLocale</name>
          <value>en-US</value>
          <description>Facility Default Message Retrieval Language</description>
        </item>
        <item>
          <name>isUserLookupEnabled</name>
          <value>true</value>
          <description>Allow User Directory Lookup</description>
        </item>
        <item>
          <name>isGlobalLookupFallbackEnabled</name>
          <value>true</value>
          <description>Allow User Directory Lookup Local to Global</description>
        </item>
        <item>
          <name>PhoneList</name>
          <value>1866</value>
          <description>Common prefix of all interal phone numbers for Lookup by Phone number for directory and Voicemail GUI</description>
        </item>
        <item>
          <name>ExtensionTranslationRules</name>
          <value>1866555????|1866556????</value>
          <description>Enable users to enter extentions instead of full e.164 phone numbers</description>
<!-- The first rule allow users to enter 51234, which maps to 18665551234 -->
<!-- The second rule allows users to enter 61234, which maps to 18665561234 -->
          
        </item>
      </add>
    </properties>
  </group>
</groups>

Example 11-2, "Sample Modifying Facility XML File" shows the XML for modifying a facility. Note that when modifying a group, you do not provide the enterprise identifier, so you should remove the <scope> element tags from a file you previously used to create the group. The facility group's identifier is used. In this example, a second user (User 2) is added to the group.

Example 11-2 Sample Modifying Facility XML File

<?xml version="1.0" encoding="utf-8"?>
<groups>
  <group type="grup" cen="178B:5E25:grup:63386283615A46D59306642C37BF3D0700000000003F">
    <name>18665552020</name>
    <description>18665552020 Voicemail Facility</description>
    <members>
      <remove>
        <actor>
            <!-- User 1 -->
            <cen>178B:5E25:user:63386283615A46D59306642C37BF3D07000000000000</cen>
          </item>
          <item>
            <!-- User 2 -->
            <cen>178B:5E25:user:63386283615A46D59306642C37BF3D07000000000009</cen>
          </item>
        </actor>
      </remove>
     </members>
    <properties>
      <remove>
        <item>
          <name>isMwiEnabled</name>
          <value>true</value>
          <description>MWI Enabled</description>
        </item>
        <item>
          <name>VMPhoneNumber</name>
          <value>18665552020</value>
          <description>VM DNIS</description>
        </item>
        </remove>
        <add>
        <item>
          <name>isGlobalLookupFallbackEnabled</name>
          <value>true</value>
          <description>Allow User Directory Lookup Local to Global</description>
        </item>
        <item>
          <name>PhoneList</name>
          <value>1866</value>
          <description>IP Phone GUI User Finder</description>
        </item>
        <item>
          <name>ExtensionTranslationRules</name>
          <value>186655?????</value>
          <description>Extension Dialing</description>
        </item>
      </add>
    </properties>
  </group>
</groups>

Configuring the Voicemail Touch-tone User Interface (TUI)

For the Voicemail TUI to function the only required action is to create users with the required attribute values, as described in "Creating Voicemail Users". Once a user is created you can call into the voice service, and leave and listen to voice messages.

Enabling HTTPS for Cisco VXML Enabled Device Access to Oracle Beehive

To enable the Cisco VXML router to access Oracle Beehive via HTTPS, the Oracle Beehive system must be configured for HTTPS, and the Voicemail Component Properties must be modified to map the RecordPlaybackURIs and RecordStreamURIs properties to the HTTPS URIs.

The Cisco VXML device also needs to import the Oracle Beehive application server's CA certificate, to enable access to Oracle Beehive using HTTPS.

Perform the following steps:

  1. Configure HTTPS for this Oracle Beehive instance

    For instructions, see "Changing HTTP Port" in Chapter 12, "Oracle Beehive Post-Installation Procedures" in the Oracle Beehive Installation Guide for your platform (Linux or Solaris only).

  2. Modify the voicemail facility object's properties, using the following commands, replacing the items in angle-brackets (<>) with the appropriate values:

    beectl> modify_property --component <voice enterprise alias or object ID> --name RecordPlaybackURIs --value  https://<host>:<port>/voice-servlet/vmail/data/shared/playback
    
    beectl> modify_property --component <voice enterprise alias or object ID> --name RecordStreamURIs --value https://<host>:<port>/voice-servlet/vmail/crs
    
    beectl> activate_configuration
    

To secure HTTPS between Cisco VXML-enabled Routers and Oracle Beehive, you need to import the Oracle Beehive certificate into the IOS device during device configuration. Configure your Cisco VXML router for HTTPS application access using the following steps:

  1. From Internet Explorer, access the Oracle Beehive Application Server with [https://<ServerIP>:<port>/

    Use the server and HTTP port for the computer hosting the Oracle Beehive tier.]

    The Security Alert dialog box displays

  2. Click View Certificate

    The Certificate dialog box displays

  3. Select the Details tab

    <All> will be highlighted in the Show drop-down list

  4. Click Copy to File

    The Certificate Export Wizard dialog appears

  5. Click Base-64 encoded X.509 (.CER) and then click Next

  6. Specify a file name in the File to Export dialog box and then click Next

  7. Click Finish

    An Export was Successful message displays.

  8. Click OK and close the Security Alert dialog box.

  9. Open the exported file in a text editor and copy the text that appears between the ---BEGINCERTIFICATE-- and --END CERTIFICATE-- tags.

    You are now ready to copy the Oracle Beehive Application Server certificate information to the IOS device

  10. Access the IOS device in privileged EXEC mode

    Note:

    For more information about managing the IOS device, refer to the Cisco IOS Command-Line Interface documentation
  11. Access global configuration mode by entering the configuration terminal

  12. Create and enroll a trustpoint by entering the following commands:

    crypto pki trustpoint xxxx
    en terminal
    revocation-check none
    exit
    

    Where xxxx is a trustpoint name

    The IOS device exits configuration terminal mode and returns to privileged EXEC mode

  13. To copy the certificate exported to the text file to the IOS device, perform the following steps:

    1. Enter:

      crypto pki auth xxxx
      

      Where xxxx is the trustpoint name specified in step 12

    2. Paste in the certificate you copied from the text file in Step 9

    3. Enter:

      quit
      

    A message displays describing the certificate attributes, and a confirmation prompt appears

  14. Enter:

    Yes
    

    A message reports that the certificate was successfully imported

  15. Associate the imported certificate with the http client by entering the following command:

    Enter http client secure-trustpoint xxxx
    

    Where xxxx is the trustpoint name specified in the previous steps

You have finished importing the certificate.

Configuring Cisco IP Phone Voicemail GUI Application

The IP Phone GUI is a Cisco phoneXML application that is served from Oracle Beehive to the Cisco IP Phones, for use on the Cisco IP Phone's graphical display. This application is supported by Cisco Hard Phone 7970 Series as well as Cisco IP communicator, which is a software phone. In order for the voicemail GUI advanced features (play audio and return call) to function properly, the internal Cisco IP phone's Web server must be enabled. These Web servers are enabled by default, but some deployments disable them. Also, the Cisco IP Phones do not support HTTPS, so in order for the IP phones to access the XML application, the Oracle Beehive application server must allow HTTP access from the phone to the URI http://<beehive server>:<port>/voice-servlet/cisco-ip-phones.

The configuration for the voicemail GUI is determined by the network topology and how Cisco Unified Call Manager is deployed.

The following are the points of communication:

  • HTTP and RTP from the Oracle Beehive application tier to the IP Phones

  • HTTPS from the Oracle Beehive application tier to the Cisco Call Manager AXL interface

  • Standard client traffic flow of HTTP from the Cisco IP phones to the Oracle Beehive application tier

The communication needed from the Oracle Beehive application tier to the IP Phones is necessary because Oracle Beehive will push requests to the IP Phones via HTTP utlizing the internal Web server running on the Cisco IP phones. Also, to play back voicemail audio files, RTP communication needs to be enabled from the Oracle Beehive application tier to the IP phones. The Oracle Beehive application tier needs to communicate to the Cisco Call Manager AXL interface to look up the IP Phone's registered IP address, to push HTTP comands and RTP streams for audio playback.

To configure the voicemail GUI the properties shown in Table 11-2, "Cisco IP Phone Recommended Deployment Properties" need to be set, depending on your network topology and Cisco Call Manager Configuration. These properties can be set in the Voice Enterprise preference set or in the facility group file. The values in bold are the recommended values to define.

Note:

To make the voicemail GUI available from the Cisco IP Phones, you must also set certain properties, as described in "Configuring the Voicemail GUI and Message Waiting Indicator".

Table 11-2 Cisco IP Phone Recommended Deployment Properties

Preference Name Type Example Value Default Value Description

IpPhoneUserName

STRING

bhvmgui

none

Defines the account name provisioned in Cisco Call Manager that has device control over the user's device

IpPhonePassword

STRING

password

none

Defines the account password provisioned in Cisco Call Manager that has device control over the user's device

AxlConfigA

STRING

https://<CCM HOST>:8443/axl/,https://<CCM HOST>:8443/realtimeservice/services/RisPort,,,bhvmgui,password,f,f

none

The comma seperated fields, in order, are:

  1. The AXL URL

  2. The realtime info URL

  3. The proxy host

  4. The proxy port

  5. The user provisioned for AXL access (read only)

  6. The password for the AXL user

  7. Whether certificate validation is enabled for SSL connections to CCM

  8. Whether hostname verification is enabled for SSL connections to CCM

RTPServerURI

STRING

http://bigip-beehive.example.com/voice-servlet/rtp_server/RtpServer.jsp

http://<beehive_middle_tier>:<PORT>/voice-servlet/rtp_server/RtpServer.jsp

The URI to access the RTP Server

RTPServerUserName

STRING

RtpClient

none

This value must be defined but the username and password is only used for internal communication

RTPServerPassword

STRING

RtpPassword

none

This value must be defined but the username and password is only used for internal communication

MwiCcmHost

String

callmanger.example.com

none

The Cisco Call Manager IP address where the MWI SIP trunk is defined

MwiCcmPort

INTEGER

5060

none

The Cisco Call Manager port of the MWI SIP trunk

IpPhoneRtpMinPort

INTEGER

20480

none

Minimum value for allowed RTP port range to IP phones

IpPhoneRtpMaxPort

INTEGER

32768

none

Maximum value for allowed RTP port range to IP phones

IpPhoneHttpProxyHost

STRING

internal-proxy.example.com

none

Defines the proxy needed for the Oracle Beehive tier to access the internal IP Phones

IpPhoneHttpProxyPort

INTEGER

80

none

Defines the proxy port needed for the Oracle Beehive tier to access the internal IP Phones

MwiAlgorithm

STRING

SHA1PRNG

none

Defines the algorithm used to created the SIP NOTIFY messages for MWI

MwiSipProxyHost

STRING

sip-proxy.example.com

none

SIP Proxy Host that is authorized to send SIP messages to Cisco Call Manager SIP MWI trunk

MwiSipProxyPort

INTEGER

5060

none

SIP Proxy Port that is authorized to send SIP messages to Cisco Call Manager SIP MWI trunk

MwiMinLocalPort

INTEGER

5060

none

Lowest port in the range that Oracle Beehive will use to send and receive SIP messages

MwiMaxLocalPort

INTEGER

5080

none

Highest port in the range that Oracle Beehive will use to send and receive SIP messages

MwiSourcePhone

STRING

18665551234

none

Voicemail DNIS phone number that is presented in the SIP NOTIFY message

RtpServerHost

STRING

bigip-beehive.example.com

none

Host where the RTP Server is running

RtpServerMinPort

INTEGER

20480

20480

Minimum port range used by the RTP server to send RTP packets

RtpServerMaxPort

INTEGER

32768

32768

Maximum port range used by the RTP server to send RTP packets

RtpServerPacketSize

INTEGER

160

160

RTP Packet Size. Leave at default for Cisco IP phones


Configuring the Voicemail GUI and Message Waiting Indicator

Telephones within your deployment may have a Message Waiting Indicator (MWI), which lights up when the phone number has recieved one or more voicemail messages. Additionally, sophisticated phones may have a Graphical User Interface (GUI), which presents a menu of choices to the user.

In order to enable the use of voicemail features through an IP phone's GUI, or to enable MWI operation, you must set the properties identified in Table 11-3, "Voicemail Properties". These are a subset of the total set of properties, which are listed in Table 11-1, "Voicemail Properties". You must set these properties at the Enterprise level of scope, but you can also set them at a Facility level; at a given Facility, the Facility-level properties override the global Enterprise-level properties.

The properties listed are for configuring using local IP Phone authentication.

To use local IP Phone configuration every device in Cisco Call Manager needs to be configured with the authentication server URL: http://<Beehive_HOST>:<port>/voice-servlet/cisco-ip-phones/authenticate.jsp

"Configuring Enterprise Preferences" describes how to set the voicemail properties.

Table 11-3 Voicemail Properties

Property Value Type

IpPhonePasswordSeed

 

STRING

IpPhonePasswordAlgorithm

AES

STRING

IpPhonePasswordNumBits

128

INTEGER

IpPhoneRtpMinPort

20480

INTEGER

IpPhoneRtpMaxPort

32768

INTEGER

RtpServerHost

<hostname> (of the computer on which Beehive is installed

STRING

RTPServerUserName

RTPClient

STRING

RTPServerPassword

RTPpwd

STRING

RTPServerURI

 

STRING

MwiAlgorithm

SHA1PRNG

STRING

MwiCcmHost

 

STRING

MwiCcmPort

5060

INTEGER

MwiSipProxyHost

 

STRING

MwiSipProxyPort

15060 (optional property)

INTEGER

MwiMinLocalPort

5060

INTEGER

MwiMaxLocalPort

5080

INTEGER

MwiSourcePhone

 

STRING


Cisco Router Configuration

This section assumes you have Cisco IOS and Cisco Call Manager Administration configuration experience. Cisco 2800/3800 Series or AS5400XM with IOS version 12.4(11T) or greater with VXML feature set, is required for Oracle Beehive voicemail.

To configure your Cisco router hardware for use with Oracle Beehive, perform the following steps:

  1. Configure Translation Rule

  2. Configure Global VXML Configuration Options

  3. Configure Voicemail VXML Application

  4. Configure Transcoding (Optional)

Each step is described in its own section.

Configure Translation Rule

The router must be configured for full E.164 phone numbers, which map to the phone numbers defined in users' UDS record voice_principal and tel: address attributes.

These rules will change, depending on the incoming DNIS delivery method provided by your PRI.

The following example shows how 5-digit DNIS delivery is expanded:

voice translation-rule 10
 rule 2 /\(^627..$\)/ /170332\1/
!
!
voice translation-profile FULL_E164_IN
 translate called 10
!
voice-port 0/3/0:23
 translation-profile incoming FULL_E164_IN

Configure Global VXML Configuration Options

Make the following configurations:

  • http client cache memory pool 8192

    Note:

    If you record prompts with file sizes larger than the http client cache, the prompt will not be cached. Latency between the gateway and the Oracle Beehive instance could cause a timeout while Oracle Beehive waits for the gateway to send audio files. The end-user may experience long pauses while using the TUI, and a timeout could abruptly end the call without any error messages.

    If you experience this issue, increase the http client cache memory pool size to a size larger than your largest prompt file.

  • http client cache memory file 200

  • http client cache refresh 300

  • http client response timeout 30

  • ivr prompt memory 4096

  • ivr prompt streamed http

    Note:

    NOTE: If using https then ivr prompt streamed must be set to none.
  • ivr record memory system 48000

  • ivr record memory session 1500

  • vxml tree memory 100000

  • vxml version 2.0

The following settings are necessary only if fax is to be supported on the PSTN side of the ingress gateway:

  • fax receive called-subscriber $d$

  • fax interface-type fax-mail

  • mta send server bh-midtier port 5025

    Note:

    This is the SMTP service running on your beehive midtier
  • mta send with-subject both

  • mta send mail-from hostname example.com

  • mta send mail-from username $s$

Configure Voicemail VXML Application

Use the following configuration settings:

application
  service vm_bh http://beehive.example.com:7777/voice-servlet/vmail/start.vxml
!
dial-peer voice 500 voip
  description Voicemail Pilot Number
  huntstop
  service vm_bh
  session protocol sipv2
  incoming called-number 18665551234
  dtmf-relay rtp-nte sip-notify
  codec g711ulaw
  no vad

Use the following settings to configure Fax functionality (if you will be setting up fax service with Oracle Beehive).

!
dial-peer voice 310 mmoip
 service fax_on_vfc_onramp_app out-bound
 destination-pattern 1866.......
 information-type fax
 session target mailto:faxservice@example.com
 image encoding MH

Note:

To complete the configuration of fax functionality with Oracle Beehive, follow the steps in "Configuring Oracle Beehive Fax".

Configure Transcoding (Optional)

Cisco only supports uncompressed audio on IVR application call legs. Depending on the Call Manager deployment configuration using compressed audio, it is possible to configure transcoding on the local router in order to support multiple codecs.

Use the following configuration settings:

sccp local Loopback0
sccp ccm 192.188.175.105 identifier 1 priority 1 version 5.0.1
sccp
!
sccp ccm group 1
description Reston Lab transcoding for IPC
bind interface Loopback0
associate ccm 1 priority 1
associate profile 1 register restontvg2
 !
dspfarm profile 1 transcode
codec g711ulaw
codec g711alaw
codec g729ar8
codec g729abr8
codec gsmfr
codec g729r8
codec pass-through
maximum sessions 12
associate application SCCP 

Cisco Unified Call Manager Configuration

To configure the Touch-tone User Interface (TUI), you must do the following:

  1. Create SIP Trunk

  2. Create Voicemail Pilot Number

  3. Create Voicemail Profile

  4. Assign Voicemail Profile to users' Directory Phone Number

To configure Voicemail GUI, you must do the following:

  1. Create CCM User that is associated to all users' phone devices

  2. Create a Read Only user with AXL Access

  3. Define IP Phone Services in CCM

Note:

You can also configure the language availability for Oracle Beehive voicemail users from Cisco Call Manager user interface. The default location for the CCM User interface is https://<CCM_HOST>:8443/ccmuser/.

For locale support on Cisco Call Manager, the appropriate locale packs must be installed. Once the locales are installed in Cisco Call Manager, Oracle Beehive voicemail users can select the locale using the Cisco Call Manager User interface.

Configuring the Auto Attendant

This section contains the following topics:

Installing an Auto Attendant

To install an Auto Attendant, create an Auto Attendant Markup Language (AAML) document for your attendant, and record your voice prompts, making sure that they are 8000Hz mono u-law WAVE files. Make the files accessible from the computer on which Oracle Beehive is installed.

Use the beectl add_attendant command to add the auto attendant:

beectl> add_attendant --file <AAML file>

Next, use the beectl upload_attendant_prompt command to upload your recorded audio prompts:

beectl> upload_attendant_prompt --name <attendant name> --lang <language> --type <type> --file <prompt file>

You can review the VoiceXML at http://<host>:<port>/voice-servlet/aa/view/<attendant name>.do.

Associating an Auto Attendant with a Facility

To associate an Auto Attendant to a facility, first create one or more facilities by following the directions in "Managing Facilities". When you create a Facility, you create both a group and a config object. The group's values, such as identifier, Name, Properties, and so on, are defined in an XML file. See Example 11-1, "Sample Facility XML File" for an example Facility XML file.

See "Managing Facilities" for instructions on creating a Facility.

Create a facility object by using the beectl add_voice_facility command:

beectl> add_voice_facility --name <voicemail service phone number OR auto attendant service phone number>

Next, use the beectl list_groups command to get the name and identifier of the group:

beectl> list_groups

Use the beectl modify_property command:

beectl> modify_property --component <config object id or Alias defined by adding the configuration object> --name FacilityCollabId --value <Group identifier>

Use the beectl activate_configuration command to validate and activate the configuration changes:

beectl> activate_configuration

For more information on administration commands for the auto attendant, see "Auto Attendant Administration Commands".

Voicemail TUI Optional Steps

An Enterprise is not required for Facility values to be used. You may specify all settings at the Facility level, by following the instructions in the section "Creating a Facility", and skipping these Enterprise steps.

You can create Enterprise-level settings, which are used by default if you do not specify a given setting at the Facility level.

To create Enterprise-level settings:

  1. Load defaultfacility.xml as a group ( see "Sample Facility XML File"). The default Facility must be created for Enterprise values to be used

  2. Set Enterprise values, by following the instructions in "Configuring the Enterprise"

Auto Attendant Administration Commands

This section lists the various beectl commands used for managing the Auto Attendant, along with descriptions.

  • add_attendant

    Adds an auto attendant using the information from an AAML document. The name of the attendant will be taken from the name attribute of the root element, "attendant". It should not contain any white space.

  • delete_attendant

    Deletes an auto attendant by name.

  • modify_attendant

    Updates an existing auto attendant with a new AAML file. You can also use this command to rename an existing attendant.

  • upload_attendant_prompt

    Uploads a prompt for an attendant.

  • delete_attendant_prompt

    Deletes a prompt.

  • list_attendant_prompts

    List all prompts that have been uploaded for an attendant.

  • list_attendant_aaml

    Prints the Auto Attendant Markup Language document for an auto attendant.

  • modify_ip_phone_password_seed

    Resets the seed of the password generator for IP phones. To send commands to an IP phone the requestor must be authenticated. The password is generated based on information in the phone but must be seeded to ensure security.

Configuring Oracle Beehive Fax

Oracle Beehive fax functionality is enabled using the same Cisco infrastructure as voicemail. Once you have configured Cisco Call Manager for voicemail, you must perform additional configuration to enable fax.

In Oracle Beehive, the Fax Message Service provides configuration options. You must also create a special Fax User, and set up a business event notification for that user. The Cisco Call Manager will send all faxes to that user, and then the notification will trigger a process that forwards the fax to the intended Oracle Beehive user.

To configure Cisco Call Manager for fax, see "Configure Voicemail VXML Application"

Perform the following procedure to create the special Oracle Beehive fax account and set up the notification:

  1. Add a user using the beectl add_user command. You can use any name for the account; in this example, FaxUser is used. Give the user an e-mail address, such as faxuser@<yourcompany.com>:

    beectl> add_user --family_name FaxUser --scope <your enterprise identifier> --login_id faxuser --login_password <password> --address BUSINESS_1:mailto:faxuser@example.com
    
  2. After the fax service user is provisioned, get the Entity ID (EID) of that user by using the beectl list_users command with the --entity_format option:

    beectl> list_users --user loginid=faxuser --show ALL --entity_format id
    

    The EID is the portion of the user's CollabID following the :user: segment. For example, if the list_users command produced the following output:

    User Identifier: 05C1:7403:user:9AE5E38909BE41C181BAD42CE1B88F5300000000000E
    

    Then the EID is 9AE5E38909BE41C181BAD42CE1B88F5300000000000E

  3. Use the XML file shown in Example 11-3 to create a subscription, by using the beectl add_event_subscription command:

    beectl> add_event_subscription --file <name of XML file>
    

    When you have completed this step, Oracle Beehive is ready to receive fax messages from the Cisco Call Manager.

Example 11-3 Sample Fax User Event Subscription

In this example, replace the bolded EID with the EID of your Oracle Beehive fax user.

<?xml version="1.0" encoding="UTF-8" ?>
<eventSubscription xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                 xsi:noNamespaceSchemaLocation="eventSubscription.xsd">
<subscriberId></subscriberId>
<name>ES_MSG_DELIVERED_EVENT_FAX_LISTENER</name>
<description>Subscription to sync Fax repository for incoming fax </description>
<eventName>ES_MSG_DELIVERED</eventName>
<Condition>
  <simple>
    <leftSide>RAWTOHEX(custom_attributes.recipient_eid)</leftSide>
    <operator>=</operator>
    <rightSide>'E603E73114BB4944AF5A6E5014D520E10000000003C1'</rightSide>
  </simple>
  <!--
  <conjunction>
  </conjunction>-->
  <!--
  <disjunction>
  </disjunction>-->
</Condition>
<Action>
  <isPLSQLAction>F</isPLSQLAction>
  <actionString>oracle.ocs.management.model.FaxMessageService:ES_MSG_DELIVERED</actionString>
  <ActionPreferenceInfos>
    <actionPreferenceInfo>
      <key></key>
      <value></value>
    </actionPreferenceInfo>
  </ActionPreferenceInfos>
</Action>
</eventSubscription>