This section discusses troubleshooting the Cisco UE voice mail system's interaction with its back-end databases. Here you learn how to interpret SQL database traces, voice mail's interaction with the LDAP database for user information, and message and mailbox activities. These topics are discussed by looking at an example of a subscriber addressing a voice message to another subscriber and sending it. The trace commands needed for this section include
In the trace segment shown in Example 21-36, a call arrives at the voice mail system with a calling number of 6001. As you can see from the traces, voice mail accesses the LDAP database to resolve the calling number to a user configured on the system to check whether the caller is a valid subscriber on the system or an outside (PSTN) caller calling into the voice mail system. Depending on the outcome of this query, the voice mail system plays different prompts.
In this example, the calling number 6001 is resolved to the user johndoe. Following that action, the system retrieves the user's preferred language (English only in the system used to generate these traces) to select the appropriate prompts to play.
Example 21-36. System Retrieves User Information Based on Calling Extension
cue#show trace buffer tail 6082 09/30 18:39:48.614 voicemail ldap "getUserByPhoneNo" 6001 6082 09/30 18:39:48.617 voicemail ldap "getUserByPhoneNo: userDn." /sw/local/ users/johndoe 6082 09/30 18:39:48.617 voicemail ldap 0 getAttributeValue: /sw/local/users/johndoe/Language/preferredLanguage 6082 09/30 18:39:48.618 voicemail ldap 0 getAttributeValue: /sw/local/users/johndoe/TelephoneNumbers/primaryExtension 6082 09/30 18:39:48.618 voicemail database 0 Got connection: 2, inUse: 3, active: 2
After the calling user has been identified, the voice mail system verifies that the user has a mailbox, because it is not necessary for every user defined in the system to have an associated voice mailbox.
The SQL statement shown in Example 21-37 is executed and returns the mailbox ID of the given user (for example, the mailbox ID returned here is PERSONAL_00000000000000000000022).
Example 21-37. Retrieving Mailbox Information Based on User Information
cue#show trace buffer tail 6082 09/30 18:39:48.619 voicemail database "SQL: " select mailboxid from vm_mbxusers where owner=true and userdn='/sw/local/users/johndoe'; 6082 09/30 18:39:48.621 voicemail database "Database query results" PERSONAL_00000000000000000000022 6082 09/30 18:39:48.621 voicemail database 0 Freed connection: 2, inUse: 3, active: 2
Next, the voice mail system retrieves the details of the mailbox for johndoe by executing the SQL statement shown in the trace output in Example 21-38. The database returns a row of data. To interpret this data, you need the database schema. The SQL database schema for Cisco UE is given in Appendix C, "Cisco Unity Express Database Schema." The schema-related trace output is shown in Example 21-38.
Example 21-38. Sample Schema and Trace Output for Table vm_mailbox
create table vm_mailbox ( MailboxId varchar(64) not null, MailboxType integer not null default 0, Description varchar(64) , MailboxSize integer , MessageSize integer , Tutorial boolean not null default true, TotalMessageTime integer , MessageExpiryTime integer , Enabled boolean not null default true, GreetingType integer not null default 10, OrphanedTime bigint not null default 0, primary key (MailboxId) ); cue#show trace buffer tail 6082 09/30 18:39:53.085 voicemail database "SQL: " select * from vm_mailbox where mailboxid='PERSONAL_00000000000000000000022'; 6082 09/30 18:39:53.090 voicemail database "Database query results" PERSONAL_00000000000000000000022,0,johndoe mailbox, 3000, 60, f,0,30, t,10,0, 1064946956019
From the trace output and schema definition, the following are the characteristics of johndoe's mailbox:
The data returned from the back-end SQL database affects the prompts played to the caller via VXML. The JSP create dynamic VXML scripts for the TUI depending on the values returned from the back-end databases. For example, if the tutorial flag is set for the mailbox, the prompts played to the user start with the tutorial prompt "Welcome to Cisco Unity Express messaging system. To get the most from the system...."
After checking that the mailbox is enabled, the voice mail system lets the user log into the mailbox. At the same time, the voice mail system retrieves the user's spoken name from the LDAP database to play it after the login. The traces in Example 21-39 show this exchange.
Example 21-39. Voice Mail System Plays the User's Spoken Name After Login
cue#show trace buffer tail 6082 09/30 18:39:53.104 voicemail mailbox "User login" /sw/local/users/johndoe 6082 09/30 18:39:53.104 voicemail database 0 Got connection: 3, inUse: 3, active: 2 6082 09/30 18:39:53.106 voicemail database "SQL: " update vm_mailbox set lastaccessed=1064947193104 where mailboxid='PERSONAL_00000000000000000000022'; 6082 09/30 18:39:53.111 voicemail database "Commiting transaction" 6082 09/30 18:39:53.114 voicemail database 0 Freed connection: 3, inUse: 3, active: 2 6082 09/30 18:39:53.160 voicemail ldap "getSpokenNameByName: userDn." /sw/local/users/johndoe 6082 09/30 18:39:53.160 voicemail ldap "normalizeDN" /sw/local/users/johndoe 6082 09/30 18:39:53.160 voicemail ldap "getSpokenName: dn." uid=johndoe,ou=users,ou=branch123,o=cisco.com
After having logged into the mailbox, user johndoe chooses to send a voice message to another subscriber at extension 6003. At this time, the voice mail system resolves extension 6003 to a subscriber called janedoe. janedoe's spoken name is retrieved, if recorded, from LDAP and is played as a confirmation to johndoe. Finally, the voice mail system finds janedoe's mailbox ID (PERSONAL_00000000000000000000023), as shown in Example 21-40.
Example 21-40. User Addresses a Message to Another Extension
cue#show trace buffer tail 6081 09/30 18:40:07.825 voicemail ldap "getUserByPhoneNo" 6003 6081 09/30 18:40:07.828 voicemail ldap "getUserByPhoneNo: userDn." /sw/local/ users/janedoe 6081 09/30 18:40:07.828 voicemail ldap 0 getAttributeValue: /sw/local/users/janedoe/Language/preferredLanguage 6081 09/30 18:40:07.829 voicemail ldap 0 getAttributeValue: /sw/local/users/janedoe/TelephoneNumbers/primaryExtension 6081 09/30 18:40:07.829 voicemail database 0 Got connection: 3, inUse: 3, active: 2 6081 09/30 18:40:07.830 voicemail database "SQL: " select mailboxid from vm_mbxusers where owner=true and userdn='/sw/local/users/janedoe' 6081 09/30 18:40:07.832 voicemail database "Database query results" PERSONAL_00000000000000000000023
janedoe's spoken name, if recorded, is retrieved from LDAP and is played so that the sender can recognize the extension by spoken-name confirmation, as shown in Example 21-41.
Example 21-41. Message Recipient's Spoken Name Is Played if Recorded
cue#show trace buffer tail 6082 09/30 18:40:07.846 voicemail ldap "getSpokenNameByName: userDn." /sw/local/ users/janedoe 6082 09/30 18:40:07.846 voicemail ldap "normalizeDN" /sw/local/users/janedoe 6082 09/30 18:40:07.847 voicemail ldap "getSpokenName: dn." uid=janedoe,ou=users, ou=branch123,o=cisco.com
As soon as the recipient of the voice message is identified, the caller records a message. The voice mail system creates a message, assigns it a message ID, and sets the message's size. As shown in the trace output in Example 21-42, a message with ID 1064947237095_0, 43258 bytes long, is created. This message is 5.2 seconds long (5281 ms).
Example 21-42. Message Is Created
cue#show trace buffer tail 6082 09/30 18:40:37.096 voicemail message "Creating Message" 1064947237095_0 6082 09/30 18:40:37.096 voicemail message "Message Length" 5281, Message Size: 43258
The next few lines of trace output (as given in Example 21-43). show that a message is sent from user johndoe to extension 6003 and that a message with ID 1064947237095_0 is received for mailbox ID PERSONAL_00000000000000000000023. The total usage time for the destination mailbox is updated in the database. After sending the message, the user logs out of the mailbox.
Example 21-43. Message Is Sent and Database Tables Are Updated
cue#show trace buffer tail 6082 09/30 18:40:37.096 voicemail mailbox "Sending message(s) from" 0x000000037e11d61a /sw/local/users/johndoe 6082 09/30 18:40:37.096 voicemail mailbox "Sending message to" 0x000000037e11d61a 6003 ....... 6082 09/30 18:40:37.096 voicemail database 0 Got connection: 2, inUse: 3, active: 2 6082 09/30 18:40:37.097 voicemail mailbox "Message received" 0x0000000000000000 PERSONAL_00000000000000000000023,1064947237095_0 ............ 6082 09/30 18:40:37.099 voicemail database "SQL: " update vm_message set messageid='1064947237095_0',messagetype=1,sender='/sw/local/users/johndoe', urgent=false,private=false,attachedmsgid=null where messageId='OID_16693'; 6082 09/30 18:40:37.104 voicemail database "SQL: " insert into vm_usermsg values('PERSONAL_00000000000000000000023','1064947237095_0',1,1064947237095); 6082 09/30 18:40:37.108 voicemail database "SQL: " select totalmessagetime from vm _mailbox where mailboxid='PERSONAL_00000000000000000000023' for update; 6082 09/30 18:40:37.111 voicemail database "Database query results" 2409 6082 09/30 18:40:37.111 voicemail database "SQL: " update vm_mailbox set totalmessagetime=7690 where mailboxid='PERSONAL_00000000000000000000023'; 6082 09/30 18:40:37.115 voicemail database "Commiting transaction" 6082 09/30 18:40:37.118 voicemail ldap 0 getAttributeValue: /sw/local/users/janedoe/TelephoneNumbers/primaryExtension 6082 09/30 18:40:37.131 voicemail database 0 Freed connection: 2, inUse: 3, active: 2 6081 09/30 18:40:43.994 voicemail mailbox "User logout" 0x000000037e11d61a /sw/local/users/johndoe
Example 21-44 explores what happens when Jane Doe logs into her mailbox and listens to the message just sent by John Doe. First, the calling number (6003) is resolved to a subscriber on the system, and the subscriber's details are retrieved. The calling subscriber's mailbox ID is checked, and the details of that mailbox are retrieved from the vm_mailbox table. Then the voice mailbox entity logs the subscriber into the mailbox, updates the last access time for the mailbox, and retrieves the user's spoken name.
Example 21-44. Message Recipient Logs in to Check the Message
cue#show trace buffer tail 6082 09/30 18:40:48.912 voicemail ldap "getUserByPhoneNo" 6003 6082 09/30 18:40:48.915 voicemail ldap "getUserByPhoneNo: userDn." /sw/local/users/janedoe 6082 09/30 18:40:48.916 voicemail ldap 0 getAttributeValue: /sw/local/users/janedoe/Language/preferredLanguage 6082 09/30 18:40:48.916 voicemail ldap 0 getAttributeValue: /sw/local/users/janedoe/TelephoneNumbers/primaryExtension 6082 09/30 18:40:48.917 voicemail database 0 Got connection: 3, inUse: 3, active: 2 ....... 6082 09/30 18:40:48.918 voicemail database "SQL: " select mailboxid from vm _mbxusers where owner=true and userdn='/sw/local/users/janedoe'; 6082 09/30 18:40:48.920 voicemail database "Database query results" PERSONAL_00000000000000000000023 6082 09/30 18:40:48.921 voicemail database 0 Freed connection: 3, inUse: 3, active: 2 6081 09/30 18:40:57.002 voicemail database 0 Got connection: 2, inUse: 3, active: 2 6081 09/30 18:40:57.003 voicemail database "SQL: " select * from vm_mailbox where mailboxid='PERSONAL_00000000000000000000023'; 6081 09/30 18:40:57.009 voicemail database "Database query results" PERSONAL_00000000000000000000023,0,janedoe mailbox,3000,60,f,7690,30,t,10,0,1064947025206 6081 09/30 18:40:57.009 voicemail database "SQL: " select userdn from vm_mbxusers where owner=true and mailboxid='PERSONAL_00000000000000000000023'; 6081 09/30 18:40:57.012 voicemail database 0 Freed connection: 2, inUse: 3, active: 2 6081 09/30 18:40:57.013 voicemail database 0 Got connection: 3, inUse: 3, active: 2 6081 09/30 18:40:57.013 voicemail database "SQL: " 0x000000037e11d61c select mailboxid from vm_mbxusers where owner=true and userdn='/sw/local/users/ janedoe'; 6081 09/30 18:40:57.016 voicemail database "Database query results" 0x000000037e11d61c PERSONAL_00000000000000000000023 6081 09/30 18:40:57.017 voicemail database "SQL: " 0x000000037e11d61c select distinct vm_mbxusers.mailboxid, orphanedtime from vm_mbxusers, vm_mailbox where vm_mailbox.mailboxid=vm_mbxusers.mailboxid and (userdn='/sw/local/users/ janedoe') and orphanedtime=0 and owner=false; 6081 09/30 18:40:57.022 voicemail database 0 0x000000037e11d61c Freed connection: 3, inUse: 3, active: 2 6081 09/30 18:40:57.022 voicemail mailbox "User login" /sw/local/users/janedoe 6081 09/30 18:40:57.023 voicemail database 0 Got connection: 2, inUse: 3, active: 2 6081 09/30 18:40:57.024 voicemail database "SQL: " update vm_mailbox set lastaccessed=1064947257023 where mailboxid='PERSONAL_00000000000000000000023'; 6081 09/30 18:40:57.028 voicemail database "Commiting transaction" 6081 09/30 18:40:57.030 voicemail database 0 Freed connection: 2, inUse: 3, active: 2 6081 09/30 18:40:57.165 voicemail ldap "getSpokenNameByName: userDn." /sw/local/users/janedoe 6081 09/30 18:40:57.165 voicemail ldap "normalizeDN" /sw/local/users/janedoe 6081 09/30 18:40:57.165 voicemail ldap "getSpokenName: dn." uid=janedoe,ou=users,ou=branch123,o=cisco.com
The voice mail system now gets details about the messages for this particular mailbox from the vm_usermsg and vm_message tables in the SQL database, as shown in Example 21-45. You can see as part of this SQL transaction that all the message attributes are returned, including
Also note the value 16693, which is the object ID of the message stored as an object in the SQL database. References to this appear in the later traces also. Right now the messages in the mailbox are ordered according to urgency and secondarily by the time when they were left. Urgent messages are played out first, and then the remaining messages are played in the order in which they were received.
Example 21-45. Information About the Message Is Retrieved
cue#show trace buffer tail 5047 09/30 18:40:57.207 voicemail database 0 Got connection: 3, inUse: 3, active: 2 5047 09/30 18:40:57.208 voicemail database "SQL: " 0x000000037e11d61c select * from vm_usermsg,vm_message where mailboxid='PERSONAL_00000000000000000000023' and vm_usermsg.messageid=vm_message.messageid; 5047 09/30 18:40:57.225 voicemail database "Database query results" 0x000000037e11d61c PERSONAL_00000000000000000000023,1064947237095_0,1, 1064947237095,1064947237095_0,1,1,/sw/local/users/johndoe,f,f,5281,43258, 1064947225155,null,16693,30-Sep-03 18:40:25 UTC 5047 09/30 18:40:57.225 voicemail database 0 0x000000037e11d61c Freed connection: 3, inUse: 3, active: 2 6081 09/30 18:41:01.912 voicemail database 0 Got connection: 2, inUse: 3, active: 2 6081 09/30 18:41:01.913 voicemail database "SQL: " 0x000000037e11d61c select mailboxid, vm_usermsg.messageid, urgent, messagetime from vm_usermsg, vm_message where vm_usermsg.messageid=vm_message.messageid and state=1 and mailboxid= 'PERSONAL_00000000000000000000023' and messagetype<10 order by urgent desc , messagetime asc; 6081 09/30 18:41:01.918 voicemail database "Database query results" 0x000000037e11d61c PERSONAL_00000000000000000000023,1064947237095_0,f, 1064947225155
Note that the message ID was received in the last SQL transaction. In the traces shown in Example 21-46, the voice mail system creates a message to be played using that message ID.
Example 21-46. Voice Mail System Readies the Message to Be Played
cue#show trace buffer tail 6081 09/30 18:41:01.919 voicemail database 0 0x000000037e11d61c Freed connection: 2, inUse: 3, active: 2 6081 09/30 18:41:01.919 voicemail database 0 Got connection: 3, inUse: 3, active: 2 6081 09/30 18:41:01.920 voicemail message 0 1064947237095_0 6081 09/30 18:41:01.924 voicemail message "Creating Message" 1064947237095_0 6081 09/30 18:41:01.925 voicemail database "Database query results" 0x000000037e11d61c 1064947237095_0,1,/sw/local/users/johndoe,f,f,5281,43258, 1064947225155,null,16693,30-Sep-03 18:40:25 UTCh 6081 09/30 18:41:01.925 voicemail database 0 0x000000037e11d61c Freed connection: 3, inUse: 3, active: 2
Because John Doe is the sender of the message, the voice mail system now has to retrieve details such as his spoken name and extension to play as part of the message's envelope information, as shown in Example 21-47.
Example 21-47. System Retrieves and Plays the Sender's Information as Part of the Envelope
cue#show trace buffer tail 6081 09/30 18:41:01.926 voicemail ldap 0 getAttributeValue: /sw/local/users/johndoe/TelephoneNumbers/primaryExtension 6081 09/30 18:41:01.926 voicemail ldap "getUserByPhoneNo" 6001 6081 09/30 18:41:01.929 voicemail ldap "getUserByPhoneNo: userDn." /sw/local/users/johndoe 6081 09/30 18:41:01.929 voicemail ldap 0 getAttributeValue: /sw/local/users/johndoe/Language/preferredLanguage 6081 09/30 18:41:01.929 voicemail ldap 0 getAttributeValue: /sw/local/users/johndoe/TelephoneNumbers/primaryExtension 6081 09/30 18:41:01.930 voicemail database 0 Got connection: 2, inUse: 3, active: 2 6081 09/30 18:41:01.931 voicemail database "SQL: " select mailboxid from vm _mbxusers where owner=true and userdn='/sw/local/users/johndoe'; 6081 09/30 18:41:01.934 voicemail database "Database query results" PERSONAL_00000000000000000000022 6081 09/30 18:41:01.934 voicemail database 0 Freed connection: 2, inUse: 3, active: 2 6081 09/30 18:41:01.934 voicemail ldap "getUserByDn" /sw/local/users/johndoe 6081 09/30 18:41:01.934 voicemail ldap "normalizeDN" /sw/local/users/johndoe 6081 09/30 18:41:01.934 voicemail ldap 0 getAttributeValue: /sw/local/users/johndoe/TelephoneNumbers/primaryExtension 6081 09/30 18:41:01.935 voicemail ldap 0 getAttributeValue: /sw/local/users/johndoe/Language/preferredLanguage 6081 09/30 18:41:01.935 voicemail database 0 Got connection: 3, inUse: 3, active: 2 6081 09/30 18:41:01.936 voicemail database "SQL: " select mailboxid from vm _mbxusers where owner=true and userdn='/sw/local/users/johndoe'; 6081 09/30 18:41:01.938 voicemail database "Database query results" PERSONAL_00000000000000000000022 6081 09/30 18:41:01.938 voicemail database 0 Freed connection: 3, inUse: 3, active: 2 6081 09/30 18:41:01.938 voicemail ldap "getSpokenNameByName: userDn." /sw/local/users/johndoe 6081 09/30 18:41:01.939 voicemail ldap "normalizeDN" /sw/local/users/johndoe 6081 09/30 18:41:01.939 voicemail ldap "getSpokenName: dn." uid=johndoe,ou=users,ou=branch123,o=cisco.com 5047 09/30 18:41:12.757 voicemail database 0 Got connection: 2, inUse: 3, active: 2
In the trace shown in Example 21-48 you can see the message entity of the voice mail system retrieving message object 16693 from the database. After Jane Doe listens to the message, she opts to delete it. In the traces shown in Example 21-48, you see that the message and large object are deleted, and the mailbox properties (for example, mailbox time remaining) are updated in the database. Then the user logs out of the mailbox.
Example 21-48. User Listens to and Deletes the Message and Logs Out
cue#show trace buffer tail 5047 09/30 18:41:12.757 voicemail message 16693 get 5047 09/30 18:41:12.757 voicemail database "Large object open" 16693 0 0x000000037e11d61c 5047 09/30 18:41:12.758 voicemail database "Large object close" 0x000000037e11d61c 5047 09/30 18:41:12.758 voicemail database 0 0x000000037e11d61c Freed connection: 2, inUse: 3, active: 2 6081 09/30 18:41:14.970 voicemail mailbox "Message deleted" 0x000000037e11d61c PERSONAL_00000000000000000000023,1064947237095_0 6081 09/30 18:41:14.970 voicemail database 0 Got connection: 3, inUse: 3, active: 2 6081 09/30 18:41:14.971 voicemail database "SQL: " 0x000000037e11d61c delete from vm_usermsg where messageid='1064947237095_0' and mailboxid='PERSONAL_00000000000000000000023'; 6081 09/30 18:41:14.974 voicemail database "SQL: " 0x000000037e11d61c select usecount,messagelength,attachedmsgid, messageoid from vm_message where messageId='1064947237095_0' for update; 6081 09/30 18:41:14.977 voicemail database "Database query results" 0x000000037e11d61c 1,5281,null,16693 6081 09/30 18:41:14.978 voicemail message "Deleting Message" 1064947237095_0 6081 09/30 18:41:14.978 voicemail database "SQL: " 0x000000037e11d61c delete from vm_message where messageid='1064947237095_0'; 6081 09/30 18:41:14.982 voicemail database 16693 0x000000037e11d61c Deleted large object id: 6081 09/30 18:41:14.982 voicemail database "Commiting transaction" 0x000000037e11d61c 6081 09/30 18:41:14.985 voicemail database 0 0x000000037e11d61c Freed connection: 3, inUse: 3, active: 2 6081 09/30 18:41:14.985 voicemail database 0 Got connection: 2, inUse: 3, active: 2 6081 09/30 18:41:14.986 voicemail database "SQL: " 0x000000037e11d61c select totalmessagetime from vm_mailbox where mailboxid='PERSONAL _00000000000000000000023' for update; 6081 09/30 18:41:14.989 voicemail database "Database query results" 0x000000037e11d61c 7690 6081 09/30 18:41:14.989 voicemail database "SQL: " 0x000000037e11d61c update vm _mailbox set totalmessagetime=2409 where mailboxid='PERSONAL _00000000000000000000023'; 6081 09/30 18:41:14.993 voicemail database "Commiting transaction" 0x000000037e11d61c 6081 09/30 18:41:14.995 voicemail database 0 Got connection: 3, inUse: 4, active: 2 6081 09/30 18:41:14.996 voicemail database "SQL: " 0x000000037e11d61c select count(*) from vm_usermsg where state=1 and mailboxid='PERSONAL _00000000000000000000023'; 6081 09/30 18:41:14.999 voicemail database "Database query results" 0x000000037e11d61c 0 6081 09/30 18:41:15.000 voicemail database 0 0x000000037e11d61c Freed connection: 3, inUse: 4, active: 2 6081 09/30 18:41:15.000 voicemail ldap 0 getAttributeValue: /sw/local/users/janedoe/TelephoneNumbers/primaryExtension 6081 09/30 18:41:15.031 voicemail database 0 0x000000037e11d61c Freed connection: 2, inUse: 3, active: 2 6082 09/30 18:41:15.108 voicemail ldap "getUserByPhoneNo" 80016003 6082 09/30 18:41:15.112 voicemail ldap "getUserByPhoneNo: No entry found." 6082 09/30 18:41:15.200 voicemail database 0 Got connection: 3, inUse: 3, active: 2 6082 09/30 18:41:15.201 voicemail database "SQL: " 0x000000037e11d61c select * from vm_usermsg,vm_message where mailboxid='PERSONAL_00000000000000000000023' and vm_usermsg.messageid=vm_message.messageid; 6082 09/30 18:41:15.206 voicemail database 0 0x000000037e11d61c Freed connection: 3, inUse: 3, active: 2 6082 09/30 18:41:20.357 voicemail mailbox "User logout" 0x000000037e11d61c /sw/local/users/janedoe
In a similar way, you can isolate any other voice mail back-end-related issues using the preceding trace commands and referring to the database schema. The Cisco UE Database Schema changes from one release to another as more features are added, but the basic nature of the schema and troubleshooting using the schema remain the same. The key to effective troubleshooting in this area is understanding what data is stored in which database.
Troubleshooting the Message Waiting Indicator |
Part I: Cisco IP Communications Express Overview
Introducing Cisco IPC Express
Building a Cisco IPC Express Network
Cisco IPC Express Architecture Overview
Part II: Feature Operation and Applications
Cisco IP Phone Options
Cisco CME Call Processing Features
Cisco CME PSTN Connectivity Options
Connecting Multiple Cisco CMEs with VoIP
Integrating Cisco CME with Cisco CallManager
Cisco IPC Express Automated Attendant Options
Cisco IPC Express Integrated Voice Mail
Cisco CME External Voice Mail Options
Additional External Applications with Cisco CME
Part III: Administration and Management
Cisco IPC Express General Administration and Initial System Setup
Configuring and Managing Cisco IPC Express Systems
Cisco IPC Express System Configuration Example
Part IV: Maintenance and Troubleshooting
Troubleshooting Basic Cisco IPC Express Features
Troubleshooting Advanced Cisco CME Features
Troubleshooting Cisco CME Network Integration
Troubleshooting Cisco UE System Features
Troubleshooting Cisco UE Automated Attendant
Troubleshooting Cisco UE Integrated Voice Mail Features
Part V: Appendixes
Appendix A. Cisco IPC Express Features, Releases, and Ordering Information
Appendix B. Sample Cisco UE AA Scripts
Appendix C. Cisco Unity Express Database Schema
Index