cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
956
Views
0
Helpful
4
Replies

[ListDeviceProfile] Get deviceProfile linked with endUser

Hello,

I'm trying to get the following information :

_ For each end user present in my CUCM , I want to know if this user has a deviceProfile linked with him,  or not.

_ BUT , I can't make a single request for each user, since we have a big amount of users, it take too much time to send a getUser request that return the profile name. ( around 1 sec just to get that info for one user, which make my script run for more than 30mn just to get all the infos...)

Currently, I send this request to the CUCM for each  End User, but, as you can guess, it doesn't work really well :

<?xml version="1.0" encoding="utf-8"?>

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/8.5">

<soapenv:Header/>

<soapenv:Body>

  <ns:getUser sequence="?">

  <userid></userid>

  <returnedTags>

  <userid/>

  <phoneProfiles>

  <profileName/>

  </phoneProfiles>

  </returnedTags>

  </ns:getUser>

</soapenv:Body>

</soapenv:Envelope>

So, I'm coming for your help : Is there a way to build one big xml request that would return everything ( since the main cause of the delay isn't the power of my device but the multiple request) ; or even to do so with the database ? (I'm really not confident with it since I have only worked with xml so far but I guess that if this is the only way...)

Last thing, I made everything with Powershell, if that help in any way....

Thanks in Advance !

1 Accepted Solution

Accepted Solutions

dstaudt
Cisco Employee
Cisco Employee

This kind of problem can sometimes be solved more-or-less elegantly with <executeSqlQuery>.  For example this query (I think) will return all users with an extension mobility profile:

select enduser.userid,enduserdevicemap.fkdevice from enduser,enduserdevicemap,device where enduser.pkid = enduserdevicemap.fkenduser and enduserdevicemap.fkdevice=device.pkid and enduserdevicemap.tkuserassociation=5

View solution in original post

4 Replies 4

dstaudt
Cisco Employee
Cisco Employee

This kind of problem can sometimes be solved more-or-less elegantly with <executeSqlQuery>.  For example this query (I think) will return all users with an extension mobility profile:

select enduser.userid,enduserdevicemap.fkdevice from enduser,enduserdevicemap,device where enduser.pkid = enduserdevicemap.fkenduser and enduserdevicemap.fkdevice=device.pkid and enduserdevicemap.tkuserassociation=5

Thanks, I'll try that ASAP.

Just wondering, is there a graphe somewhere that show the whole database, or did you just went through the data from this location ? : https://developer.cisco.com/site/axl/documents/latest-version/datadictionary11-0-1.gsp

Because atm I don't feel comfortable with the information on this link, I find it somehow too messy....

Yep, via the Data Dictionary, lots of examination of the tables on my running system, trial, and error...

The Data Dictionary does have diagrams illustrating some of the key important table/field relationships, but unfortunately does not document every single relationship (that would be a very large document.)

Sorry it took me so long, I've been quite busy.

Anyway, the SQL request you gave me worked perfectly fine !

Thanks again , marked as solved !