<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>CUMI vmrest error Object Not Found, Or, INVALID_PARAMETER 0x46401</title>
  <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_recent_posts?p_l_id=" />
  <subtitle>CUMI vmrest error Object Not Found, Or, INVALID_PARAMETER 0x46401</subtitle>
  <id>http://developer.cisco.com/c/message_boards/find_recent_posts?p_l_id=</id>
  <updated>2013-05-22T17:20:55Z</updated>
  <dc:date>2013-05-22T17:20:55Z</dc:date>
  <entry>
    <title>RE: New Message from Jeff Lindborg in Cisco Unity Connection(CUC) - CUMI Qu</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8558319" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8558319</id>
    <updated>2012-11-14T15:44:48Z</updated>
    <published>2012-11-14T15:44:48Z</published>
    <summary type="html">Oops I apologize. I use my email client for forum messages and didn’t pay attention that this was Unity forum but I was assuming AXL/Servicability. Yes it is milliseconds and not seconds.</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-11-14T15:44:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Jeff Lindborg in Cisco Unity Connection(CUC) - CUMI Qu</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8558303" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8558303</id>
    <updated>2012-11-14T15:42:48Z</updated>
    <published>2012-11-14T15:42:48Z</published>
    <summary type="html">I do AddSeconds to new DateTime(1970, 1, 1) and my dates match up too ☺
Did you check the Wikipedia link for Unix Time?</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-11-14T15:42:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Jeff Lindborg in Cisco Unity Connection(CUC) - CUMI Qu</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8555999" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=8555999</id>
    <updated>2012-11-14T15:18:48Z</updated>
    <published>2012-11-14T15:18:48Z</published>
    <summary type="html">Milliseconds or seconds?

http://en.wikipedia.org/wiki/Unix_time</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-11-14T15:18:48Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Akanksha Agarwal in Cisco Unity Connection(CUC) - CUMI</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7524102" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7524102</id>
    <updated>2012-10-11T13:54:42Z</updated>
    <published>2012-10-11T13:54:42Z</published>
    <summary type="html">Anil/Akanksha, I’m having difficulty understanding the roles – specifically Mailbox Access Delegate - and their intended use/audience. From your response it seems I’m not making sense in the Cisco universe. I’ll try to explain little better:

I’m developing some very basic reports for call records (called/received/unanswered/unreturned etc. etc.). I’m aware there are 3rd party software that do that but for sake of simplicity let’s assume they don’t exist.
The reporting app will use a service account to get the job done. And will need certain permissions/roles.

Please help me out here understand the roles here:


1.       /vmrest/mailbox (CUMI) can return voicemail records of *anyone*, if, ALL THREE of the following are true:

a)      Service account is created using voicemailusertemplate template

b)      Mailbox Access Delegate role is assigned to the service account

c)       User Object Id is provided

2.       /vmrest/users (CUNI) can return User Object Id of *anyone*, if, following is true:

a)      System Administrator role is assigned to the service account

So at the end of the day – the service account needs to have mailbox delegate role as well as sysdamin role. Why in the world would I want to give a little service account, whose job is to give me voicemail records (just an extension of CDR call log), the *All Powerful* System Administrator Role? The account does not need to LISTEN to voice messages (which I’d assume will require some God role). All it needs is called party, calling party and time received.

Please understand I’m a programmer and need to convince my CUCM sysadmin to give my little service account this role, so I’d appreciate some insight as to why Cisco chose to design roles in this manner? I’m definitely missing some point ☺
Thanks for your continued responses!</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-10-11T13:54:42Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Shivinder Singh in Cisco Unity Connection(CUC) - CUMI</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7502046" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7502046</id>
    <updated>2012-10-10T18:39:26Z</updated>
    <published>2012-10-10T18:39:26Z</published>
    <summary type="html">I created the new user using voicemailusertemplate and the app is working now, not getting 401 unauthorized message. BUT, only if I hard code some test object user id in the code.

If I try to GET /vmrest/users using this new service account (which is not a system administrator role), I get 403 forbidden status code, with the following XML:

&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;&lt;ErrorDetails&gt;&lt;errors&gt;&lt;code&gt;NOT_AUTHORIZED&lt;/code&gt;&lt;message&gt;Not Authorized&lt;/message&gt;&lt;/errors&gt;&lt;/ErrorDetails&gt;

User with System Administrator role was able to do this, but I would rather this service account not have sysadmin role. What additional privilege can I try to query user object ids from /vmrest/users?

Thanks!</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-10-10T18:39:26Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Akanksha Agarwal in Cisco Unity Connection(CUC) - CUMI</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7487378" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7487378</id>
    <updated>2012-10-10T16:21:26Z</updated>
    <published>2012-10-10T16:21:26Z</published>
    <summary type="html">Akanksha, thanks for your reply. In order to create a user with voicemailusertemplate, I need to give it a phone extension for the voice mailbox. But this is just a service account. What would you suggest?</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-10-10T16:21:26Z</dc:date>
  </entry>
  <entry>
    <title>401 Unauthorized for service account</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7493284" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7493284</id>
    <updated>2012-10-10T15:37:52Z</updated>
    <published>2012-10-10T15:37:52Z</published>
    <summary type="html">I was initially using the administrator account to query CUMI to obtain voicemail records per user object id. Once I had it working, I wanted to create a service account and use that instead in my app. I created a user account from Unity Administration with adminstrator template, went to Roles page, removed System Aministrator and added Mailbox Access Delegate Account to the roles list. When I used this account in my app, I got 401 Unauthorized error. I went back and added Audit Administrator role because this was the only other role administrator account had, but still getting same error 401 unauthorized. Any ideas what's going on?</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-10-10T15:37:52Z</dc:date>
  </entry>
  <entry>
    <title>RE: New Message from Jeff Lindborg in Cisco Unity Connection(CUC) - CUMI Qu</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7421072" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7421072</id>
    <updated>2012-10-08T15:22:33Z</updated>
    <published>2012-10-08T15:20:13Z</published>
    <summary type="html">Jeff that was perfect. Following needed to happen

1.       Add my service user to “Mailbox Access Delegate Account” role on the Unity Server

2.       In the C# code, add this before making web request, because we have self-signed SSL on Unity Server

ServicePointManager.ServerCertificateValidationCallback += delegate(
                object sender,
                X509Certificate certificate,
                X509Chain chain,
                SslPolicyErrors sslPolicyErrors)
            {
                return true;
            };


Now the question remains: I can’t find the additional call center agent numbers from the /vmrest/users endpoint. I can only see the primary number of a person (DtmfAccessId equals the primary IP phone). But I need ALL userobjectids associated with a particular device. How do I do that?</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-10-08T15:20:13Z</dc:date>
  </entry>
  <entry>
    <title>RE: CUMI vmrest error Object Not Found, Or, INVALID_PARAMETER 0x46401</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7345188" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7345188</id>
    <updated>2012-10-04T17:10:02Z</updated>
    <published>2012-10-04T17:10:02Z</published>
    <summary type="html">Anil I have already tried these URL's (before using my objectid). And I get the same error with or without objectid. Matter of fact that's how I guessed my object id.
&lt;ErrorDetails&gt;&lt;errors&gt;&lt;code&gt;INVALID_PARAMETER&lt;/code&gt;&lt;message&gt;unable
 to create CML session for user: id=&lt;myuserobjectid&gt;, 
message=CMLException: 0x46401 code in file 
CsCmlJni/CsCmlJniSessionFactory.cpp at line 
116.&lt;/message&gt;&lt;/errors&gt;&lt;/ErrorDetails&gt;
Also, how do I find userobjectid of everyone in the directory?</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-10-04T17:10:02Z</dc:date>
  </entry>
  <entry>
    <title>CUMI vmrest error Object Not Found, Or, INVALID_PARAMETER 0x46401</title>
    <link rel="alternate" href="http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7344316" />
    <author>
      <name>Shivinder Singh</name>
    </author>
    <id>http://developer.cisco.com/c/message_boards/find_message?p_l_id=&amp;messageId=7344316</id>
    <updated>2012-10-04T16:21:35Z</updated>
    <published>2012-10-04T16:21:35Z</published>
    <summary type="html">Help Documentation: http://docwiki.cisco.com/wiki/Cisco_Unity_Connection_Messaging_Interface_(CUMI)_API

I THINK I'm using the CUMI REST service at &lt;VTG Realm&gt;/vmrest endpoint, and getting some error codes for a start - which is good. Next thing would be to figure out what they mean and wait for new ones right? ;)

To check my own unread messages, I type in a web browser (since its a GET) http://&lt;myipaddress&gt;/vmrest/mailbox/folders/inbox/messages?read=false&amp;type=voice&amp;userobjectid=&lt;myuserobjectid&gt;

I get this error:

Object Not Found

The requested URL '/vmrest/mailbox/folders/inbox/messages?read=false&amp;type=voice&amp;userobjectid=&lt;myuserobejctid&gt;' was not found on the RomPager server.

Return to last page

Now, If I replace my personal IP with Cisco VTG realm IP, I get:

&lt;ErrorDetails&gt;&lt;errors&gt;&lt;code&gt;INVALID_PARAMETER&lt;/code&gt;&lt;message&gt;unable to create CML session for user: id=&lt;myuserobjectid&gt;, message=CMLException: 0x46401 code in file CsCmlJni/CsCmlJniSessionFactory.cpp at line 116.&lt;/message&gt;&lt;/errors&gt;&lt;/ErrorDetails&gt;

How do I do some basic testing against this CUMI REST API?

BTW, VS2010/C# sample of broadcast is very strange choice by Cisco for an example because you don't want to mess up a broadcast doing some testing. Just saying...</summary>
    <dc:creator>Shivinder Singh</dc:creator>
    <dc:date>2012-10-04T16:21:35Z</dc:date>
  </entry>
</feed>

