EM API error 10

Unanswered Question
May 6th, 2009

Hi all.

I am having a problem with an application which I created a while ago. It has been used for quite a long time at different installations with no problems. But at this new installation I receive an error code 10 when trying to logout.

The application sends a XML message to to callmanager to login or logout a specific user on a specific phone.


<request><appInfo><appID>" + Settings.Default.username + "</appID><appCertificate>" + decodePassword(Settings.Default.password) + "</appCertificate></appInfo><login><deviceName>" + Mac + "</deviceName><userID>" + Settings.Default.username + "</userID><exclusiveDuration><indefinite/></exclusiveDuration></login></request>


<request><appInfo><appID>" + Settings.Default.username + "</appID><appCertificate>" + decodePassword(Settings.Default.password) /*tbPass.Text*/ + "</appCertificate></appInfo><logout><deviceName>" + currentMac + "</deviceName></logout></request>

This has worked so far for a couple of different installations without any problems, but this installation gives a EM error code 10 when trying to logout.

Cisco says:

error 10

User does not have app proxy rights

PROXY_AUTHENT_NOT_ALLOWED-User does not have proxy authentication rights. The appID that is specified does not have rights to log in or log out other users.

I am using the same username(userID) for the appID and userID. All the users have authentication proxy rights enabled.

Does anyone know why login works, but logging out doesn't?

Thanks in advance!

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
stephan.steiner Wed, 05/06/2009 - 04:23

Shouldn't you have a single user which has em proxy rights (use its userid as appid) and other users (use them in the userid field) that you log in and out?

Also, what release are you running? EM proxy stuff has changed quite a bit between release 3.x/4.x and 5.0+

Also, and that's what devsupp will be asking for... did you check the logs? Logs often are key to determining the true cause of the problem as the APIs don't always tell you the proper error message (I know.. shouldn't happen, but unfortunately it does.. I've had a few instances where the error I got from the ccm would really confuse me and only when I looked at the logs would I figure out what was going wrong and could take steps to fix it).

Mike-1985 Wed, 05/06/2009 - 04:59

Yes that should be the case, but this should also work and worked always before.

The release is: 6.1.3 And I have installed it before on this release without any problems.

Which log files do you mean?

Thanks for helping!

m_mudassir_saeed Wed, 05/06/2009 - 05:10

Hello Mike,

I developed an application which does the same but without using EM and remains valid for all versions of call manager.

Please let me know if you need this sample application with source code, but again remember it does everything WITHOUT using EM.

please note that all the sample applications I provide here with source are just for reference and should not be assumed finalized products.

Thanks and Regards,

M. Mudassir Saeed

Mike-1985 Wed, 05/06/2009 - 05:27

Thanks for the offer. I might can have a look on how you did this without EM. But I prefer to fix this problem in my current software without such a major change.

Ofcourse I do understand that the code you provide is for testing only and not to be used for commercial activities.



stephan.steiner Thu, 05/07/2009 - 00:32

The log category is conveniently named "Extension Mobility" :)

Now in order to have detailed enough logs, you need to do the usual: log into the serviceability pages of ccm (https://mycallmanager/ccmservice/), go to "Trace", "Configuration", select the server in question, then you need to locate the appropriate service group (that's really trying out categories until you find what you're looking for).. in this case, it's under CM services, then Select Extension Mobility, and change the debut trace level from info to debug and save.

Sometimes, when you need to see DB interactions, the "cisco database layer monitor" in the "database and admin services" service group is also helpful (look at that if the extension mobility logs show you nothing). Needless to say that dbl logs go over the entire system so if you have an active system, you might want to do this on off hours (both for load and size considerations.. )

The principle is the same in every case you have an unexplained error message, regardless of the api (I often do this for axl).. and those logs, even if they tell you nothing, you can send them to developer support (provided you have a valid contract) so that you don't have to wait 1-2 days only to be asked to provide traces and you then have to reproduce the problem and lose even more time.

Mike-1985 Thu, 05/07/2009 - 22:40

Hi Stephan.

Thanks for your answer. Unfortunately we don't have a developer support contract with Cisco. Would there still be a way to get support from Cisco?

Thanks in advance.

Mike-1985 Fri, 05/08/2009 - 01:47

Problem is solved!

After a few hours of tying without any success I created a new Enduser. This user was able to successful login and out. So there was no problem in the application, but probably in the Enduser configuration.

After a while I found out that the appID is case sensitive with the logout request.

For example:

appID is "ABcd". If I enter this appID in my application as username, the application uses it for userID and appID (all our end users have authentication proxy rights). When I use all lower case for the username I can login, but get the error message when I try to logout. When I enter the username in case sensitive I am also able to logout.

Why does the EM service for IP phones not care about case sensitive, the EM API login request not care about case sensitive, but the EM API logout request does care about case sensitive?

For me it seems like a bug... Although I do understand that they want case sensitive, but not in the selective way it is now.



This Discussion