Remote Control Utility for Cisco Phones
The title says it all: this utility permits to remote control Cisco Phones registered to CUCM using Phone XML APIs.

Installation
If you use Windows, you can download the pre-compiled .exe from the releases page; if you're not a Windows user or you prefer to DIY you must:
- Clone the repo
- (optional) Create a virtual environment
- Install the dependencies (
pip install -r requirements.txt
)
- Run the script (
python main.py
)
Requirements
In order to be controlled, the phone configuration on the CUCM must satisfy the following requirements:
- Web Access must be enabled in the Product Specific Configuration Layout section of the device and the ip address of the phone must (obviously) be reacheable.
- You can check this by reaching the ip address of the phone via web browser: if the phone details page shows, then web access is enabled!
- The phone must be controllable by an end user
- Configuring End User, in the Device Information section, the devices you want to control with the user credentials must be inserted in the Controlled Devices list.
- The End User must have adequate permissions.
- In the Permission Information section of the End User, at least the following Groups must appear:
- Standard CCM End User
- Standard CTI Enabled
- Standard CTI Allow Control of Phones supporting Rollover Mode
- Standard CTI Allow Control of Phones supporting Connected Xfer and conf
Usage
- Run the script
- Insert the ip address of the phone and the End User credentials in the corresponding fields
- Click on Collegati (=Connect, yes I know this button is it's in italian, pls don't crucify me for this).
- If the connection is successful, the phone screen will be shown and you'll be able to use the new buttons to control the phone
- To refresh the screen (it's not a live view but a screen capture taken 1 second after each command) click the Refresh button
- To disconnect from the phone just close the application

Supported Phones
AFAIK it should work with all phone models. Please note that in newer phones you must use the Application button to open the settings of the phone, while on older devices (like 79xx) you must use the Settings button.
Some buttons are in italian!
Yes, I know. It should be easy to understand those couple of buttons... if you really cannot stand it, open me an issue and I will translate them.
Feedback
If you have feedback of any kind, I encourage you to open an issue :)