10-14-2011 08:02 AM - edited 03-16-2019 07:31 AM
CUMC 6.1.4.1190-3
Does anyone know how to run a query or report to find out the IP address assigned to all their Cisco IP Phones? This information is viewable on a per phone basis in the CUMC Admin Console but I was looking for a way to export it.
Thanks, Tom
Solved! Go to Solution.
10-14-2011 09:14 AM
Tom,
This information is not stored in the database. To get IP addresses you can follow two paths. One is to leverage SNMP. The second path (my preference) is to use the RISPort API. This is the same API RTMT uses to get its information.
I did a short write up on this a while ago here:
HTH.
Regards,
Bill
Please remember to rate helpful responses and identify
10-14-2011 11:21 AM
Tom,
I have several apps I put together to pull this information and it is reliable. I did come across one gotcha where you need to resolve different status values for the same device. For example, an IP phone unregisters from one CUCM node and registers to another. Both nodes will report on the device and you need to resolve this conflict. I did a short write up on that here:
As far as polling frequency, I don't have numbers on that. My process is more manual. The API may have guidance on polling intervals. If I had to guess, I wouldn't poll more frequently than every 5 minutes with a more conservative 15 min being more comfy. But I don't have any tech to back that up.
HTH.
Regards,
Bill
Please remember to rate helpful responses and identify
10-14-2011 09:14 AM
Tom,
This information is not stored in the database. To get IP addresses you can follow two paths. One is to leverage SNMP. The second path (my preference) is to use the RISPort API. This is the same API RTMT uses to get its information.
I did a short write up on this a while ago here:
HTH.
Regards,
Bill
Please remember to rate helpful responses and identify
10-14-2011 10:43 AM
William…thank you…
I am trying to create a (poor man’s Cisco Emergency Responder)
From the 3rd octet address of a Cisco Phone Address IE 10.20.71.57 I can tell which building and floor in which the phone is residing a because the .71 equals a certain subnet which is then equal to a device pool and all the device pools equal a certain location.
So I can tell where a phone is by looking at the IP.
Do you think I can create something using RISPort API to get IP device reports on a consistent basis?
Tom
10-14-2011 11:21 AM
Tom,
I have several apps I put together to pull this information and it is reliable. I did come across one gotcha where you need to resolve different status values for the same device. For example, an IP phone unregisters from one CUCM node and registers to another. Both nodes will report on the device and you need to resolve this conflict. I did a short write up on that here:
As far as polling frequency, I don't have numbers on that. My process is more manual. The API may have guidance on polling intervals. If I had to guess, I wouldn't poll more frequently than every 5 minutes with a more conservative 15 min being more comfy. But I don't have any tech to back that up.
HTH.
Regards,
Bill
Please remember to rate helpful responses and identify
10-15-2011 07:14 AM
Tom,
Bill's script is very useful and you should be able to use that method without any issues, however, have you considered pulling the Switch & Switch port information from the phones webserver?
As you are looking for physical location, the most consistant element would be the switch, it would also be something that does not load UCM as you are communicating with the IP Phones directly.
You could either scan your Voice subnets on a regular interval, or use Bill's script (possibly there would be less of a need to poll the RISPort API as oftern) for the list of addresses to pull the data from. This may not be ideal as there are occations with some firmware versions that the phones webserver can stop responding, hence why CER uses SNMP....
Also,
There are built-in throttling mechanism on the RISPort API, so you cannot overload it, but you need to be able to retry accordingly when you get a busy response, so that logic would need to be in your script or you may end up with partial informaiton which would of-course be bad for a CER type solution.
Given your design is consistant at the moment, it's less of an issue using the 3rd octect, but if there is a change, deliberate or not that breaks that consistancy then you could have problems in the furture. Personally I'd by aiming for the switch and switch port data as it's independant of the network configuration. In an ideal world you would realy want to use SNMP, depending on the script/coding langage you are familiar with, there are some examples of using the SNMP API's in Windows to send/recieve SNMP messages, I've done this before and when you figure it out it does work very well, never mind the wealth of routing/switch and Voice data you can access using SNMP.
Thanks
Stephen Welsh
CTO
Unified FX (http://www.unifiedfx.com)
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide