I see two particular events I am looking into - these are Pause and Resume. I see the general definition of these two events - however, there are a couple of gaps I still have:
Is the Pause / Resume event workflow always intended to be initiated by the Server?
Are these Pause / Resume events equivalent to an Agent putting a call on hold?
In particular to the scenario of an Agent putting a call on hold. In order for the web-socket Server to send a Pause event to the Genesys Client - would it be that the Agent "gadget" or UI would need to somehow let the web-socket server know that a call is intended to go on hold - so that the Server can then in turn, send a Pause message to the Client?
Or, is it that, the AudioHook Pause / Resume events are not really intended to handle the use case of an Agent putting a call on hold and taking a call off hold?
The Pause/Resume events are designed so that Illuma Labs can stop having the audio stream sent (Pause) until you need to start processing the audio (Resume). These actions do not effect the call in any way, it just pauses/resumes the audio data being sent to you from Genesys.
Note, in a week or two these actions will have to added benefit of not charging the Genesys Customer for streaming the audio out to you. In the current implementation the Genesys Customer is charged for streaming the call out even if the server has paused the audio because they aren't processing it. That behavior will soon change so that customer's aren't charged for the period of time that the server has paused the audio stream.
Thank you Crespino. So, if an Agent puts a call on hold - there will have to be some type of mechanism that let's our web-socket server know this so that our web-socket server in turn can send the pause event to the Genesys client.
If the agent puts the call on hold then you can simply continue to consume the audio, even though it will essentially be silence (or hold music).
If you want to know what the agent is doing, you'll have to subscribe to events over our Notification API to keep track of that: https://developer.genesys.cloud/notificationsalerts/notifications/. In that way you'll know if they put the call on hold and can then pause/resume the audio as you see fit.