Question about audiohook

We checked the information published in the Resource Center to check the operation of AudioHook, but we will check the following contents in it.

1.Configure and activate AudioHook Monitor in Genesys Cloud - Genesys Cloud Resource Center
Three points are written in " Before you begin" on the above page.
"3.Add an AudioHook Monitor instance for each endpoint." What exactly do I have to do?
Could you explain a little more concretely?

  1. I would like to check the details of "Add AudioHook Monitor credentials" on the above page.
    API Key : What should I set for the API key? Where can I get it?
    (Optional) Client Secret : Is it not necessary to write it because it is not a required item?

3.I would like to check the details of " Configure AudioHook Monitor" on the above page.
Connection URI: What should I enter for the value?

4.Is there a video of how to build AudioHook?

Best Regards,

#1: The endpoints referred to here are the AudioHook servers to which you want to stream the conversation audio. Look at AudioHook as the streaming audio equivalent to Data Actions. Instead of WebHook request/response calls, AudioHook uses WebSockets to stream the conversation audio from our platform to a 3rd party endpoint. You have to provide that endpoint. We have partners that implemented endpoint for various services, but you can of course implement your own. The protocol specification is available. I'm still working on integrating it into the developer center, but if you send me an email, I'll send you a preliminary copy. We're also working on open sourcing a sample server that can be used as starting point or as reference.

#2: The API Key and (optional) Client Secret are provided by the implementer of the respoectiv AudioHook server to identify and authenticate the client connecting to the service. The specifics are documented in the protocol specification.

#3: This is the URI of the AudioHook service. As with #2 that's provided by the service implementer.

#4: Not yet. As mentioned above, we are working on open sourcing sample code. Tutorials will follow as time permits.

Greetings! Just to add on that, as of now, it seems that Genesys allows up to 2 Audiohook Integrations per instance at a time.

While both Audiohooks have been working properly thus far, when trying today to update one of the two, we are receiving the error shown on the screenshot and it has stopped working. When we activate the Audiohook Integration, our service is up and running and properly receives the messages sent by Genesys (onOpen - onClose) but nothing upon an actual call.

Our second Integration which we haven't changed still works as expected.
Thank you in advance.

Hi Aris

When activating an integration, Genesys Cloud now performs a basic connection probe to the configured AudioHook server to perform a basic check that parameters are correct and it's an AudioHook server. This is a new feature whose need became evident during beta testing as misconfigurations were hard to diagnose. The connection probe is documented in the protocol spec here: https://developer.genesys.cloud/devapps/audiohook/patterns-and-practices#connection-probe.

Please try disabling and re-enabling the integration to trigger another connection probe. Verify that the URI is correct and your server is up.

--Felix

1 Like

Hello Felix, really appreciate the swift response.

It appears that we are receiving a barrage of onOpen requests (5 or 6 within a span of 200ms) all of which have different uuids, like the following:

{ "version":"2", "id":"f423b04d-376b-4238-9410-85ba0f5fc6b9", "type":"open", "seq":1, "position":"PT0S", "parameters":{ "organizationId":"{myOrganizationid}", "customConfig":{}, "conversationId":"00000000-0000-0000-0000-000000000000", "media":[ { "type":"audio", "format":"PCMU", "channels":[ "external", "internal" ], "rate":8000 }, { "type":"audio", "format":"PCMU", "channels":[ "external" ], "rate":8000 }, { "type":"audio", "format":"PCMU", "channels":[ "internal" ], "rate":8000 } ], "participant":{ "id":"00000000-0000-0000-0000-000000000000", "ani":"", "aniName":"", "dnis":"" } }, "serverseq":0 }

To all of which we respond with a type:opened message copying the initial uuid.

Same goes for all the CLOSE requests that come afterwards :

`{"version":"2","id":"c6772543-616a-4dcb-b8c2-207e41a11d25","type":"close","seq":2,"position":"PT0S","parameters":{"reason":"end"},"serverseq":1}`

All sessions are then closed (we respond with a CLOSED message ) but we still face the same error.
Any help would be really appreciated!

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.