cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2001
Views
5
Helpful
2
Replies

UCCX contact search in CUCM instead of directory lookup in CUCM

schm196
Level 1
Level 1

CUCM 12.5 and UCCX 11.6

I currently have a UCCX script that uses the CUCM publisher directory lookup URL to retrieve a calling contact's "<last>, <first>" name based on his/her caller ID (https://<CUCMpublisher>:8443/ccmcip/xmldirectorylist.jsp?n=<callingNumber>, then simple XML item lookup via "/descendant::CiscoIPPhoneDirectory/child::DirectoryEntry/child::Name").  Works great.

However, I would like to have user contact details derived from the CUCM's existing LDAP integration (first name, last name, email address, department, etc.) instead of from directory data ("last, first" only), which can be found at https://<CUCMpublisher>:8443/cucm-uds/users - I am running into several problems, though:

  • The contact details URL only returns the first 64 user contact records instead of all 500 or so that we have.  I couldn't find a setting in CUCM to change this.
  • Preferably, I would like to search/filter during lookup but I couldn't find documentation on how to query the XML file to only return the one user contact record where the "Phone Number" field is equal to my calling contact number (like "?n=<callingNumber>" appended to the directory list URL).

I'd like to get this done using existing data in CUCM rather than setting up and querying an external SQL server that has an additional LDAP synchronization with Active Directory going on - seems rather redundant to me if this data is already present in CUCM... I just need to find a way to get to it.

Any help would be greatly appreciated!

Matthias

 

1 Accepted Solution

Accepted Solutions

James Hawkins
Level 8
Level 8

Hi,

Rather than trying to retrieve all records just get the one that matches the calling number using the query below:

 

https://10.1.49.1:8443/cucm-uds/users?numberlast=+447539123456

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<users uri="https://10.1.49.1:8443/cucm-uds/users" version="12.0.1" start="0" requestedCount="64" returnedCount="1" totalCount="1">
<id>737d26a7-d7cb-112f-06ba-acac65d5fc9d</id>
<userName>resttest</userName>
<firstName>Rest</firstName>
<lastName>Test</lastName>
<middleName></middleName>
<nickName></nickName>
<displayName></displayName>
<phoneNumber>1111</phoneNumber>
<homeNumber>2222</homeNumber>
<mobileNumber>+447539123456</mobileNumber>
<email>rest@test.com</email>
<directoryUri></directoryUri>
<msUri></msUri>
<department>Department of REST Testing</department>
<manager></manager>
<title>Rest Test User</title>
<pager>4444</pager>
</user>
</users>

View solution in original post

2 Replies 2

James Hawkins
Level 8
Level 8

Hi,

Rather than trying to retrieve all records just get the one that matches the calling number using the query below:

 

https://10.1.49.1:8443/cucm-uds/users?numberlast=+447539123456

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<users uri="https://10.1.49.1:8443/cucm-uds/users" version="12.0.1" start="0" requestedCount="64" returnedCount="1" totalCount="1">
<id>737d26a7-d7cb-112f-06ba-acac65d5fc9d</id>
<userName>resttest</userName>
<firstName>Rest</firstName>
<lastName>Test</lastName>
<middleName></middleName>
<nickName></nickName>
<displayName></displayName>
<phoneNumber>1111</phoneNumber>
<homeNumber>2222</homeNumber>
<mobileNumber>+447539123456</mobileNumber>
<email>rest@test.com</email>
<directoryUri></directoryUri>
<msUri></msUri>
<department>Department of REST Testing</department>
<manager></manager>
<title>Rest Test User</title>
<pager>4444</pager>
</user>
</users>

Thank you so much!!!  :-)   This "numberlast" query filter did the job.

Cheers, Matthias