Skip Headers
Oracle® Beehive Integration Guide
Release 2 (2.0.1.8)

Part Number E16650-06
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
PDF · Mobi · ePub

11 Integrating Cisco Voice Gateway with Oracle Beehive Voicemail and Fax

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.

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 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.

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 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

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

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.

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. 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 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 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:

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. 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.

Facility Preference Properties

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 Preference Properties

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.

Configuring Oracle Beehive Voice Message Service

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:

Voicemail Properties

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.

Inheritance Rules

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:

  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

BusinessHourAttendantName

STRING

   

The name of the attendant to be used when the BusinessHours are matched.

BusinessHours

STRING

   

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

INTEGER

4

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

BOOLEAN

true

false

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

STRING

   

The name of the auto attendant to be used when none of the BusinessHours, Holidays, or SpecialDates are matched.

ExclusiveAudioContentURIs

STRING ARRAY

 

audio

The default value is a relative audio path

ExtensionTranslationRules

STRING ARRAY

13125550???| 1650506????

 

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)


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

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_properties command to get the Voicemail Enterprise Preferences:

    beectl> list_preference_properties prfs=VoiceEnterprisePrefs,enpr=<Enterprise identifier>
    
  3. 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.

Creating Voicemail Users

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.

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 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:

  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 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 the VoiceFacilityPrefs 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"
  3. 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
    
  4. 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>

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 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>

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.

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:

  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 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


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:

    If you are 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 Oracle Beehive server.
  • 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:

Example AAML-based Auto Attendant File

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

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. 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.

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 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".

Configure an Auto Attendant VXML Application in Cisco IOS

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".

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 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

  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>