Good bye devicelistx.asp, Hello RisPort

William Bell
Vice President, Solutions and Products

Probably the only thing I miss from Call Manager 4.x (and 3.3 for that matter) is devicelistx.asp.  It was a simple tool provided by Cisco that had a lot of potential for home groan applications.  It also played a large role in integrating CM data with many 3rd party applications.  Now, it is gone and has been replaced with the Real Time Information (RisPort) API.


The devicelistx.asp (DeviceListX Report) was introduced in CM builds starting around 3.3(3).  It was provided as a very basic tool that provided a list of IP phone records with associated real time information (i.e IP address, registration status, etc.) that could be read by an application and processed.

This type of information is invaluable to 3rd party applications (e.g. Berbee) that didn’t require line state monitoring offered by CTI but did need to know if a phone was on line and what IP address it was using.  For me, the most valuable aspect of this tool was how I could use it with my own scripts to provide registration status reports, check device health before/after a maintenance task, and provide trending information on IP phones.

With the introduction of CUCM 5.x (and later), devicelistx has gone the way of the dodo and now we have the Serviceability API, specifically RisPort.  This is an API that uses the SOAP method, XML schemas, etc. to provide realtime information on CUCM endpoints. It isn’t really “new” per se as it started being available in 4.1(3) and, well, how do you think RTMT does its job?

I was used to writing AXL/SOAP applications and I believed this may be an extension of that API, but it is not.  I found it to be a tad more cumbersome than I expected.  Alot of extra tags in the XML responses (all responses have an H.323 node) and each tag has name space attributes which annoy me personally, but that is just me and it is simple enough to deal with.

What I do like about this API (versus devicelistx) is that it allows you to query a single CUCM node or the entire cluster.  You can also query a list of devices and the response is organized by CUCM node (some may not like this, but I think it is handy).  You can also query devices other than IP phones (bonus).  The RisPort also can facilite monitoring for state changes and capturing time stamps for the latest “state”.  Handy for trending.

I am still getting used to this API as I slowly port/enhance scripts to leverage it more. One of the first things I missed from devicelistx was the ability to tweak the maximum number of devices that the application would return (technically not supported, but who was watching).  With RisPort, the max is 200 devices in a return stream.  This isn’t very many devices but we adapt, learn, and move forward.

What works for me is using the AXL/SOAP API (executeSQLQuery) to retrieve devices from CUCM.  Stick device names in an array, iterate through the array and parse out groups of devices (max 200).  Then send a cmSelectDevice request to RisPort with a SelectItems node for each device in the group.  You can then aggregate responses or act on them anyway you choose.

All in all I am looking forward to adding this functionality into some of the tools I use and plan to post interesting lessons as challenges present themselves.

URL for devicelistx:

URL for RISPort:

Leave a Reply


Nick Kelly

Cybersecurity Engineer, Cisco

Nick has over 20 years of experience in Security Operations and Security Sales. He is an avid student of cybersecurity and regularly engages with the Infosec community at events like BSides, RVASec, Derbycon and more. The son of an FBI forensics director, Nick holds a B.S. in Criminal Justice and is one of Cisco’s Fire Jumper Elite members. When he’s not working, he writes cyberpunk and punches aliens on his Playstation.


Virgilio “BONG” dela Cruz Jr.

CCDP, CCNA V, CCNP, Cisco IPS Express Security for AM/EE
Field Solutions Architect, Tech Data

Virgilio “Bong” has sixteen years of professional experience in IT industry from academe, technical and customer support, pre-sales, post sales, project management, training and enablement. He has worked in Cisco Technical Assistance Center (TAC) as a member of the WAN and LAN Switching team. Bong now works for Tech Data as the Field Solutions Architect with a focus on Cisco Security and holds a few Cisco certifications including Fire Jumper Elite.


John Cavanaugh

CCIE #1066, CCDE #20070002, CCAr
Chief Technology Officer, Practice Lead Security Services, NetCraftsmen

John is our CTO and the practice lead for a talented team of consultants focused on designing and delivering scalable and secure infrastructure solutions to customers across multiple industry verticals and technologies. Previously he has held several positions including Executive Director/Chief Architect for Global Network Services at JPMorgan Chase. In that capacity, he led a team managing network architecture and services.  Prior to his role at JPMorgan Chase, John was a Distinguished Engineer at Cisco working across a number of verticals including Higher Education, Finance, Retail, Government, and Health Care.

He is an expert in working with groups to identify business needs, and align technology strategies to enable business strategies, building in agility and scalability to allow for future changes. John is experienced in the architecture and design of highly available, secure, network infrastructure and data centers, and has worked on projects worldwide. He has worked in both the business and regulatory environments for the design and deployment of complex IT infrastructures.