Why exactly would you need to change the state of the agent? Why can't the external event just route the call to other places which are not the agent? Like in case of an emergency it goes to VM. Or after hours, it goes to an answering service through the PSTN?
The agents will have other incoming task asynchronously. For instance, a chat-based call center. We need to integrate it with the CCX in such way that when the agent is idle and there is a new chat session starts, the agent's state should be change to busy or not-ready. And when the chat is over, change the agent state back to ready.
Certainly, your solution it may work (removing the user's CTI Port or requeue the call) but it may have undesirable side effects.
Are you getting this error “Installer User Interface Mode Not Supported. The installer cannot run in this UI mode. To specify the interface mode, use the -i command-line option, followed by the UI mode identifier. The value UI mode identifiers...
The below trick might come handy when you have to add a new node to a cluster but you don't have or is unsure of the security password for the publisher. This procedure has been around for ages.
1) Login into the CLI of the Publisher.