Oracle® Beehive Integration Guide Release 2 (2.0.1.8) Part Number E16650-06 |
|
|
PDF · Mobi · ePub |
Note:
Enabling Oracle Beehive Voicemail functionality requires advanced configuration. Some necessary Cisco Voice Gateway configuration is not fully documented in this guide. Please contact your Oracle support representative for important configuration and security information related to deploying Oracle Beehive Voicemail.Oracle Beehive Voicemail is provided by the Voice Message Service through integration with Cisco Voice Gateway. 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:
For more information on configuring the Voice Message Service, see "Managing the Voice Message Service" in the Oracle Beehive Administrator's Guide.
For more information on configuring the Fax Service, see "Managing the Fax Message Service" in the Oracle Beehive Administrator's Guide.
This section includes the following topics:
A Facility is an Oracle Beehive group, defined for a physical location that is connected to a common telecommunication infrastructure. This concept allows all users at that facility to have common attributes and be treated in a common way. For example, a facility can set the default language for the voicemail users of that facility. Users may also have their own unique preference properties defined which will override the facility properties.
Facilities are optional. You can set preferences and properties at the enterprise level, and those properties not specified at the facility level will default to the properties defined in the enterprise preference set. Facilities allow you the flexibility of having different settings at different physical locations, all grouped together in a logical configuration within the Oracle Beehive server. This provides the flexibility to define different telecommunication infrastructures associated with those physical locations.
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.
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 proprietary 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
This section contains the following topics:
To deploy Oracle Beehive Voicemail, Cisco VoiceXML-capable hardware 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 feature set in the Cisco IOS operating system version 12.4(15)T5 or higher, 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.
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. For complete documentation on configuring the appropriate user record attributes, see "Managing and Provisioning Oracle Beehive Users" in the Oracle Beehive Administrator's Guide. You can use the beectl
command-line tool to add and modify preference profiles, users' voice properties, groups, and group 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 facilities and users. Facility properties apply to the users defined in the matching facility for that user. User properties are defined at the user level inside the user's UDS Voicemail Preference Profile. For example, the user property PreferedLocale will override the locale defined at the user's facility.
There are three types of 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
. A default preference profile of VoiceEnterprisePrefs is created by default upon installation. Oracle recommends that you view and change these preference properties specific to your installation. You can view the properties within the preference set by using the beectl
list_preference_properties --set prfs=VoiceEnterprisePrefs,enpr=Oracle
command, for example. To add or modify a preference property, see the beectl
command add_preference_property
or delete_preference_property
. Oracle recommends that you verify that the voicemail RecordStreamURIs
and RecordPlaybackURIs
enterprise properties are configured properly for the site installation prior to using the Voicemail Service, otherwise voicemail message recording and playback will fail if these properties are not set correctly for the site installation.
Voicemail has the ability to define multiple facilities in order to decentralize the deployment of voicemail router resources offices or to define a logical grouping of preference properties for a physical location 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 (or logical grouping) and configuration information. You can create voicemail facilities by using the beectl add_voice_facility
command. This command creates the voicemail user's phone number mapping to a UDS user group and facility properties preference set associated with the newly created facility. The default installation has a single facility configured against the ALL_USERS
group, by matching all incoming phone phones to that facility. It is possible to use that default facility for voicemail, but directory lookup will not be available. Oracle recommends that you create a more specific phone number matching facility and either a static or dynamic user group mapped to that facility.
User properties are defined inside the user's voicemail preference set. These properties can define the user's PreferredLocale
and ActiveGreetingType
.
To list a user's voicemail preference properties, use the beectl list_preference_properties
command:
beectl> list_preference_properties --set prfs=VoiceMail,user=<userID>
Then, use the beectl add_preference_property
command to set the PreferredLocale
or ActiveGreetingType
as needed. For example, to set the PreferredLocale to en-us
:
beectl add_preference_property --set prfs=VoiceMail,user=<userID> --name PreferredLocale --type string --value en-us
Note:
You can set the number of secondary languages by using the/.beectl add_preference_property
command. The maximum number of secondary languages that Oracle Beehive Voice Mail supports is four.You must perform some configuration before Oracle Beehive voicemail functionality is fully 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 (MWI) and graphical user interface features (GUI) of your Cisco IP small-screen telephones, you must configure the correct voicemail enterprise and facility properties. If you want to use an auto attendant to answer and forward calls, then you must configure the auto attendant and associated voicemail facility properties.
This section contains the following topics:
Table 11-1, "Voicemail Properties" lists all the possible properties used by the Voicemail Service either at the Enterprise and Facility level. When configuring the voicemail preferences properties of an enterprise or facility, refer to this table for a description and examples.
In general, the hierarchy is Enterprise -> Facility -> User, such that property values set at the lowest level are used first, and if no value is set, then 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 inheritance 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
, unless it has been overridden by being 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 |
---|---|---|---|---|
AxlConfigA |
STRING |
https://<CCM_HOST>:8443/axl/,https://<CCM_HOST>:8443/realtimeservice/services/RisPort,,,bhvmgui,password,f,f |
none |
The comma separated fields, in order, are:
|
AxlConfigB |
|
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 |
|
BusinessHourAttendantName |
|
The name of the attendant to be used when the BusinessHours are matched. |
||
BusinessHours |
|
Defines the business hours used for the facility auto attendant. Represented as a list of seven comma-separated time intervals showing the open hours for each day of the week starting with Monday. Time intervals are in the format HHMM-HHMM in 24-hour notation. For example, ???0900-1700,0900-1700,0900-1700,0900-1700,0900-1700,,??? represent 9:00 AM to 5:00 PM, Monday through Friday. |
||
CallBackSenderRule |
|
|
0 |
Controls whether or not the voicemail's sender can be called back or not.0 = No/Off1 = Call backs to Beehive users only2 = Call backs to phone numbers in Allowed Numbers3 = Call backs to either Beehive or Allowed Numbers4 = Always / On (no restrictions) |
ChooseLanguageFirst |
|
|
|
If this value is true, then certain dialogs will present the caller with "For English press 1, For French press 2, ..." rather than a UI that simply presents the prompts in both languages: "[English] Please enter your mailbox number. [French] Please enter your mailbox number..." |
DefaultAttendantName |
|
The name of the auto attendant to be used when none of the BusinessHours, Holidays, or SpecialDates are matched. |
||
ExclusiveAudioContentURIs |
|
|
The default value is a relative audio path |
|
ExtensionTranslationRules |
STRING ARRAY |
|
The ExtensionTranslationRules is a pipe-delimited (|) String containing simplistic rules for defining how extensions are expanded. A caller may enter 3-5 digits to indicate an extension. The extension is matched against the patterns provided and if a match is found, then the full set of digits is returned. For example, the extension 61234 would return 16505061234. While 789 would return 13125550789. |
|
HolidayAttendantName |
STRING |
The name of the attendant to be used when the HolidayHours are matched. |
||
HolidayHours |
STRING |
Defines the holidays for the facility auto attendant. Represented as a comma-separated list of dates and time intervals representing holidays. For example, ???112707:0000-2359,123107:1400-2359??? represents all day on Thanksgiving Day and after 2:00 PM on New Years Day 2007. |
||
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 |
||
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 |
|
IpPhonePasswordAlgorithm |
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 |
||
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 |
||
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 |
||
IpPhoneRtpMaxPort |
INTEGER |
The maximum port in the range defined for the Cisco IP Phone. |
||
IpPhoneRtpMinPort |
INTEGER |
The minimum port in the range defined for the Cisco IP Phone. |
||
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 |
|
isExtensionDialingEnabled |
BOOLEAN |
true |
Enables extension dialing in auto attendant applications |
|
isGlobalLookupFallbackEnabled |
BOOLEAN |
true |
true |
This value provides the directory lookup module the ability to find users in the global directory if no match is found in the local facility lookup. |
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) |
isPhoneNumberPresentable |
BOOLEAN |
true |
true |
This value enables or disables the playing of phone numbers of incoming voicemail messages when the voicemail header is read inside the TUI. |
isRetrievalEnabled |
BOOLEAN |
true |
true |
Determines whether users are allowed to retrieve their messages |
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. |
|
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 |
|
MwiMaxLocalPort |
INTEGER |
5080 |
Highest port in the range that Oracle Beehive will use to send and receive SIP messages |
|
MwiMinLocalPort |
INTEGER |
5061 |
Lowest port in the range that Oracle Beehive will use to send and receive SIP 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 |
||
MwiSourcePhone |
STRING |
16505551234 |
Voicemail DNIS phone number that is presented in the SIP NOTIFY message |
|
OperatorTransferNumber. |
STRING |
sip:16505551234@192.168.1.10 or tel:+16505551212 NOTE: These values are dependent upon the Cisco router configuration and CUCM dialplan implementation specific to the site. |
Determines the Operator Phone Number to be used when a caller presses 0 to be transfer to an Operator. This can be a full SIP URI or tel:+ URI |
|
RecordPlaybackURIs |
STRING ARRAY |
http://<host>:<port>/voice-servlet/vmail/data/shared/playback |
The URI used inside the voicemail service to define the fully qualified URIs inside the VXML. If a load balancer is used, this must be defined to the load balancer hostname. |
|
RecordPlaybackURIs |
STRING ARRAY |
http://<host>:<port>/voice-servlet/vmail/data/shared/playback |
Cisco only supports audio streaming using HTTP. For performance reasons, it is recommended that you use HTTP and not HTTPS. |
|
RecordStreamURIs |
STRING ARRAY |
http://<host>:<port>/voice-servlet/vmail/crs |
The URI used inside the voicemail service to define the fully qualified URIs inside the VXML. If a load balancer is used, this must be defined to the load balancer hostname. |
|
RecordStreamURIs |
STRING ARRAY |
http://<host>:<port>/voice-servlet/vmail/crs |
Cisco only supports audio streaming using HTTP. For performance reasons, it is recommended that you use HTTP and not HTTPS. |
|
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 |
|
RtpServerHost |
STRING |
beehive.example.com |
The mid-tier host that runs the RTP Server used to stream audio to Cisco IP phones in the voicemail GUI service |
|
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 |
||
RtpServerMaxPort |
INTEGER |
32768 |
Highest port in the range used by the RTP server to send RTP packets |
|
RtpServerMinPort |
INTEGER |
20480 |
Lowest 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 |
|
RTPServerPassword |
STRING |
RtpPassword |
This value must be defined but the password is only used for internal communication |
|
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 |
|
SecondaryLanguages |
STRING ARRAY |
This is an array of locales used in multi-lingual deployments. The service first presents the facilities preferred locales, but, if this array has values, then these locales are presented as well giving callers the ability to interact with the service in multiple languages |
||
SharedAudioContentURIs |
STRING ARRAY |
../shared-audio |
The default value is a relative audio path |
|
SpecialAttendantName |
STRING |
The name of the attendant to be used when the SpecialDates are matched. |
||
SpecialDates |
STRING |
Defines the special dates (similar to Holidays) for the facility auto attendant. Represented as a comma-separated list of dates and time intervals representing special dates. For example, ???112707:0000-2359,123107:1400-2359??? represent all day Thanksgiving Day and after 2:00 PM on New Years Day 2007. |
||
StoreMsgMenuLocale |
STRING |
en-US |
The locale to use when messages are being left for a user |
|
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 |
TransferPrefix |
STRING |
tel:+ or sip: |
tel:+ |
This is the value attached to the beginning of the voicemail sender's phone number or the User defined OperatorNumber. This is specific to the deployment. |
TransferSuffix |
STRING |
@nnn.nnn.nnn.nnn |
This is the value attached to the end of the voicemail sender's phone number or the User defined OperatorNumber. This is specific to the deployment. |
|
UserOperatorRule |
INTEGER |
4 |
0 |
Controls whether or not the user's specified operator number can be used.0 = No/Off1 = Call backs to Beehive users only2 = Call backs to phone numbers in Allowed Numbers3 = Call backs to either Beehive or Allowed Numbers4 = Always / On (no restrictions) |
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:
Use the following commands to set any of the Enterprise Preference properties listed in Table 11-1, "Voicemail Properties".
First, get the identifier for your enterprise by using the beectl list_enterprises
command:
beectl> list_enterprises
Then, use the enterprise identifier with the beectl list_preference_properties
command to get the Voicemail Enterprise Preferences:
beectl> list_preference_properties prfs=VoiceEnterprisePrefs,enpr=<Enterprise identifier>
Use the beectl add_preference_property
command to set or modify preference properties:
beectl> add_preference_property --set prfs=VoiceEnterprisePrefs,enpr=<Enterprise 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.
Generally, you can follow the instructions in "Managing and Provisioning Oracle Beehive Users" in the Oracle Beehive Administrator's Guide 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.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:
To create a Facility, you must create both a UDS user group and a voice facility. 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". For an example of facility XML file, see Example 11-1, "Sample Facility XML File". It is also possible to use Oracle Beekeeper to define the group. In this case, you will need to add groups using the XML, but it would still be necessary to look up the group collabID
entity identifier for that group created in Oracle Beekeeper so the proper group collabID
could be input into the voice facility command.
Perform the following steps to create a Facility:
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.
Add a voice facility using the beectl add_voice_facility
command:
beectl> beectl> add_voice_facility --group_collabid <1234:grup:1234:5678> [--include <phone rules>] [--exclude <phone rules>]]
Note:
This command initializes the voicemail component configuration properties which maps the voicemail phone numbers assigned to the UDS group (facility) and creates theVoiceFacilityPrefs
preference property set. This mapping is contained within a table which is used for phone number look-up, defined with the inclusion and exclusion numbers assigned during 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 --group_collabid <1234:grup:1234:5678> --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.
Note:
It is also possible to add full SIP URIs to the facility if needed depending upon the router configuration and deployment. If the router has SIP header parsing enabled, then it may be necessary to use a full SIP URI. For example:--include "sip:1866612????@192.168.1.1"
Add facility preference properties to the voice facility by adding or deleting properties in the VoiceFacilityPrefs preference set assigned to the group which was used during the add_voice_facility
command. The following commands demonstrate how to list and modify properties in the preference set. The following example uses the default ALL_USERS group, but that can be substitute by the group that was used to create your own custom UDS group facility.
beectl> list_preference_profiles --consumer agrp=ALL_USERS --entity_format id
Look for the VoiceFacilityPrefs Identifier and use that identifier in the next command to add or modify properties:
Name : VoiceFacilityPrefs Description : Identifier : 721D:6EBE:prfs:77A70C3093BF9C34E040578C36151005000000001DA3 beectl> list_preference_properties --set 721D:6EBE:prfs:77A70C3093BF9C34E040578C36151005000000001DA3 beectl> add_preference_property --set 721D:6EBE:prfs:77A70C3093BF9C34E040578C36151005000000001DA3 --name isMWIEnabled --value false --type boolean
To modify or add properties to the VoiceFacilityPrefs
preference set, repeat the previous steps using the add_preference_property
command.
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_voice_facilities
command:
beectl> list_voice_facilities --phone <user or voicemail DNIS number>
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 it possible to use dynamic groups as well. 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 user=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> </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> </group> </groups>
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.
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:
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).
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:
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
Click View Certificate
The Certificate dialog box displays
Select the Details tab
<All> will be highlighted in the Show drop-down list
Click Copy to File
The Certificate Export Wizard dialog appears
Click Base-64 encoded X.509 (.CER) and then click Next
Specify a file name in the File to Export dialog box and then click Next
Click Finish
An Export was Successful message displays.
Click OK and close the Security Alert dialog box.
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
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 documentationAccess global configuration mode by entering the configuration terminal
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
To copy the certificate exported to the text file to the IOS device, perform the following steps:
Enter:
crypto pki auth xxxx
Where xxxx
is the trustpoint
name specified in step 12
Paste in the certificate you copied from the text file in Step 9
Enter:
quit
A message displays describing the certificate attributes, and a confirmation prompt appears
Enter:
Yes
A message reports that the certificate was successfully imported
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.
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
.
Note:
Cisco IP Communicator version 7.0.1 is supported. Other versions may not be fully compatible.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 utilizing 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 commands 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 separated fields, in order, are:
|
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 |
Telephones within your deployment may have a Message Waiting Indicator (MWI), which lights up when the phone number has received 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 |
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:
Each step is described in its own section.
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
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:
If you are usinghttps
, 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 Oracle Beehive server.mta send with-subject both
mta send mail-from hostname example.com
mta send mail-from username $s$
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".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
To configure the Touch-tone User Interface (TUI), you must do the following:
Create SIP Trunk
Create Voicemail Pilot Number
Create Voicemail Profile
Assign Voicemail Profile to users' Directory Phone Number
To configure Voicemail GUI, you must do the following:
Create CCM User that is associated to all users' phone devices
Create a Read Only user with AXL Access
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 ishttps://<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.
This section contains the following topics:
The following AAML file is an example with the commands used to upload the AAML file and prompts using beectl
. For more information, refer to Appendix B, "Oracle Auto-Attendant Markup Language (AAML) Reference."
<!-- The attendant name is used in the Voice Facility Property to associate the AA to the facility --><attendant name="GIT"> <languages> <audio> Thank you for calling Oracle Corparation. To proceed in English press one, to proceed in Spanish press two. </audio> <language>en_US</language> <language>es</language> </languages> <menu> <audio-set> <audio lang="en_US"> To reach an employee at this office press one. To leave a general message for the operator press two. Alternatively you can try to reach a live operator if available by pressing three. To hear these options again press nine. </audio> <audio lang="es"> </audio> </audio-set> <option ord="1"><!-- The directory facility is the UDS group name to associate the users that will be looked up in the local directory --> <directory facility="OVL_DYN"/> </option> <option ord="2"><!-- The voicemail mailbox is used to send the caller directly to this voicemail users voicemail box --> <voicemail mailbox="18665552005"/> </option> <option ord="3"><!-- The transfer destination is what is used in the VXML transfer tag executed on the Cisco VXML router --> <transfer destination="sip:18665552005@192.168.1.10"/> </option> <option ord="9"> <reprompt/> </option> </menu></attendant> beectl> add_attendant --file attendant.aamlbeectl> upload_attendant_prompt --name GIT --type language --file LanguagePrompt.wavbeectl> upload_attendant_prompt --name GIT --type menu --language en_US --file EnglishMenu.wavbeectl> upload_attendant_prompt --name GIT --type menu --language es --file SpanishMenu.wav
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. For more information on creating AAML files, refer to Appendix B, "Oracle Auto-Attendant Markup Language (AAML) Reference."
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> --language <language> --type <type> --file <prompt file>
You can review the VoiceXML at http://<host>:<port>/voice-servlet/aa/view/<attendant name>.do
.
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 UDS group (static or dynamic) and a voice facility. The group's values, such as identifier, Name, Members, 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.
After the voicemail facility has been created, it is just a matter of adding an additional preference property to the VoiceFacilityPrefs
preference set as demonstrated in "Creating a Facility" as well as mapping the Auto Attendant DNIS in that facility lookup and configuring the Auto Attendant application in the Cisco router.
beectl> add_preference_property --set 721D:6EBE:prfs:77A70C3093BF9C34E040578C36151005000000001DA3 --name DefaultAttendantName --value <Attendant Name in AAML> --type string
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".
To configure an Auto Attendant VXML application in Cisco IOS, use the following configuration settings:
application service aa_bh http://beehive.example.com:7777/voice-servlet/aa/start.vxml!dial-peer voice 500 voip description AA Number huntstop service aa_bh session protocol sipv2 incoming called-number> 18664441234 dtmf-relay rtp-nte sip-notify codec g711ulaw no vad
For more information on administration commands for the auto attendant, see "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.
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:
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
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 user=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
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>