03-26-2025 03:15 AM
Issue Summary:
I am currently working on integrating JTAPI with CUCM 14 to make phone calls from a Java application. However, I am encountering issues with CTI port registration and call initiation.
Observed Behavior:
CTI Port Registration Issue:
It appears that Cisco has removed the register() method from JTAPI in CUCM 14 and later versions.
The error message: com.cisco.jtapi.MethodNotSupportedExceptionImpl: Operation not allowed
Instead of explicitly calling register(), the observer is now expected to wait for CUCM to automatically register the CTI port.
Call Initiation Failure:
When attempting to make a call from CTI port "cti89456" to extension "51513", I receive the following error:Initiating call from cti89456 to 51513
? Error: Address is out of service
com.cisco.jtapi.InvalidStateExceptionImpl: Address is out of service
This suggests that the CTI port is not registered, preventing the call from being placed.
Request for Assistance:
Can you confirm whether CUCM 14 has officially removed the register() method from JTAPI?
What is the correct procedure for ensuring automatic CTI port registration? i have added in applaiction user and controlled devices etc .. eve restarted CTI manger ..
How can I resolve the "Address is out of service" error and successfully initiate a call?
Any guidance on this would be greatly appreciated!
04-11-2025 08:14 AM
.register() is definitely still there, though there are some twists depending on whether you are doing traditional static registration (fixed IP/port/codec per CTI port), or dynamic registration (IP/port/codec provided by the app per call).
This sample demonstrates static registration and media playback, which may be helpful: https://github.com/CiscoDevNet/jtapi-samples/blob/master/src/main/java/com/cisco/jtapi/playmedia/playMedia.java
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