I asked TAC for this about a year ago, they didn't have it. I had them ask their engineering team for it, they also didn't have any code or samples to give.
I think strategically, Cisco is trying to have everyone instead use the Finesse API instead. Though, in some cases this proves insufficient. Hope you find what you're looking for, and if you do please share back.
In the doc, there is a section on "How the CTI Server works". You must establish the connection, then send a OPEN_REQ. The state of the agents will come as a AGENT_STATE_EVENT.
Unfortunately, Cisco doesn't have any sample code for GED-188. GED-188 was developed decades ago as a way to integrate with the CTI server. Providing sample code for GED-188 is not as easy as sample code for REST APIs which can be done in a few lines and there are libraries for many different programming languages.
GED-188 and Finesse have two different purposes so it is incorrect to say that "Cisco is trying to have everyone instead use the Finesse API instead". As a matter of fact, Finesse uses GED-188 to communicate to the CTI Server. Finesse is an agent desktop and is not meant to be used as a monitoring application. That is why those capabilities are not available. GED-188 is meant to get access to the CTI server, which will provide agent/call states as well as monitoring capabilities.
Thanks for your answer. CTIOS provided monitoring, but Finesse did not. Finesse provides a Team Notification Event, but due to its limitations, not as good as the monitoring function of CTIOS. The customizing from CTIOS to Finesse seems to be the biggest monitoring issue. CISCO will have to come up with a solution soon.