Cisco Support Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Announcements

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

New Member

Programatically access Unity server messages [unity 7x]

Hi,

    Using Curl is it posible to access the inbox data from the unity server or using some Soap API's
or is there any direct access to the database of the unity server ?

I am using the version 7.1.2.20000 .

Please help me on this.

thanks/Chandar

6 REPLIES

Re: Programatically access Unity server messages [unity 7x]

Hi -

When you say inbox, I think of voice messages. Voice messages are not stored in the Unity database.  The Unity database stores subscriber information and other voicemail configuration data for example user account alias, where the user's inbox resides (like Exchange mailbox server), phone extension, voicemail configuration settings etc.  For Unity system messages, event information is stored in the Application or System event log of the Windows server.  Unity trace information is also stored elsewhere.  There are ways to programmatically access the Unity database - here is a great link for additional information - http://www.ciscounitytools.com/CodeSamples.html.  Jeff Lindborg is also a moderator on this forum - if you reply back what type of information you are looking for, I'm sure he or another forum expert will be able to point you in the right direction :-)

Sincerely, Ginger

New Member

Re: Programatically access Unity server messages [unity 7x]

Hi,

I am looking for accessing the configuration related data aswell as the voice mail data which are in Inbox.

thanks/Chandar.

Cisco Employee

Re: Programatically access Unity server messages [unity 7x]

For messages you'll need to go through an interface such as IMAP or MAPI to Exchange to get them - Unity does not store them in it's own database.  Many books and articles out there on how to gain access to message boxes using super user access for various Exchange versions (trickier in 2010).  You don't get these through the Unity database.

If you can be a bit more specific about what you want to pull from Unity's SQL database we might be able to help - it's basic ODBC type access for Unity - can be done off box or on and Ginger already pointed you at a few samples you can look at for the basics.  I'd suggest downloading the CUDLE database explorer (has a data dictionary built into it and can make looking at and finding the data you're looking for a bit easier).  You can find it on its home page here: http://www.ciscounitytools.com/Applications/Unity/CUDLE/CUDLE.html

Lots of tables and inner joins needed to find some of the deeper data so if you have some specific requirement for what you need, post it out here and we can help.

If you're looking for a web based interface (AJAX or the like), Unity does not support such an interface.  STraight up ODBC is as good as it gets.  Unity Connection 7.1(3) does support a web based interface for database access to most top level data just as a side note.

-Jeff

New Member

Re: Programatically access Unity server messages [unity 7x]

Hi,

Basically i have a interface and database and i need to get the voice mail/messages for coresponding users[ODBC Database access also is fine] and  this

will be displayed in my interfaces,Already i have the interface for viewing the QOS from Cisco Call manager by parsing CDR/CRM files.

Same manner i need to get the voice mails so that i can display is here in my interface.

If Cisco Unity server is providing Soap Api's or direct access to the database [Super user access for fetching the data] then it will be fine for me.

If the voice mails are stored in a directory even access to that directory will be fine for me.I can parse it and display in my database.

thanks/Chandar

New Member

Re: Programatically access Unity server messages [unity 7x]

I need to get the

1) A list of the voice mail boxes [count],Voice Mail box status, size

What will be the possible way for accessing this data programmatically ?

thanks/Chandar

Cisco Employee

Re: Programatically access Unity server messages [unity 7x]

You can easily get the number of subscribers (users with voice mail boxes stored in Exchange or Domino) out of the Unity database -

a couple of examples on the old samples page referenced above have that - connect to the UnityDirDB and get a count of users in the vw_Subscriber view that have a subscriber type of 1 or 3 (Exchange or Domino respectively).  Other subscriber types are remote users that don't have mailstores attached to Unity (i.e. SMTP/VPIM/Bridge/AMIS users).

To get at the mailstore, as noted, you have to go through whatever storage Unity is attached to (Exchange 55/2000/2003/Domino).  With Exchange the most common method is IMAP - Unity uses MAPI for access to additional properties not offered via IMAP but for your purposes either would work.  Exchange does have the concept of a super user account (an account with rights to the mailstore) - There are numerous articles and samples on the web talking about how to get information from Exchange mailstores - the vw_Subscriber view noted above includes the SMTP address and DirctoryID (GUID pointing to the user's AD record) - everything you need for mailbox identification.

Short version is you wont get things like message count (read/unread/deleted/total size etc...) from the Unity database in SQL - we don't keep that kind of information around.  All that's kept in SQL is that the user has at least one unread voice mail message or not (their MWI is on or off accordingly - a flag is kept for this in the DB) - but for more detailed mailbox info you'll have to go directly to the store.

-J

552
Views
5
Helpful
6
Replies