Outdated_sdk_version

When calling GetConversationRecordingAnnotations, I am sometimes seeing for reason="OUTDATED_SDK_VERSION". For one of our customers, I started seeing this on November 9, 2024. Sometimes these annotations overlap with other annotations with reason="FlowOrQueue" which is causing some problems for my application.

Why am I seeing this, and why only sometimes? Is this because my version of the SDK does not support the enum in Genesys Cloud? If I see overlapping annotations, is there one I should/could ignore?

Hello,

The different SDKs, like the Platform API .Net SDK, are generated automatically from the Platform API swagger specification (definition of each API endpoint, models, enums).

If an enum value appears with "OUTDATED_SDK_VERSION", it means that the SDK received a response with an enum property value that was not a member of the enum type when this SDK version was created.
i.e. the SDK has received an enum value that is not defined in your version of the SDK.

So the Reason enum likely got a new value added compared to the SDK version you are using.
Updating your SDK to the last version should resolve this.

Regards,

1 Like

That makes sense.

That brings me to my next question. We are looking at annotations with type=pause so that we can correctly mark a timeline of events in an audio recording. How may there be overlapping pauses? My understanding is that there can be pauses, whereby audio is removed based on some configuration such as a hold or time in IVR, or there can be explicit pauses, in which an agent pauses the recording to protect some private data. Can these pauses overlap? The following array of annotations suggests that they may:

[
{
"reason": "FlowOrQueue",
"id": "2c55a8c4-b8bf-4a0b-b2b6-c3d3eb4446d1",
"type": "Pause",
"location": 400,
"durationMs": 88400,
"absoluteLocation": 0,
"absoluteDurationMs": 116317,
"recordingLocation": 400,
"recordingDurationMs": 0,
"description": "Flow Or Queue",
"realtimeLocation": 2
},
{
"reason": "OUTDATED_SDK_VERSION",
"id": "2c55a8c4-b8bf-4a0b-b2b6-c3d3eb4446d1",
"type": "Pause",
"location": 35280,
"durationMs": 53520,
"absoluteLocation": 34880,
"absoluteDurationMs": 211600,
"recordingLocation": 35280,
"recordingDurationMs": 0,
"description": "Pause",
"annotations": [],
"realtimeLocation": 149689
},
{
"reason": "FlowOrQueue",
"id": "2c55a8c4-b8bf-4a0b-b2b6-c3d3eb4446d1",
"type": "Pause",
"location": 35440,
"durationMs": 53360,
"absoluteLocation": 35040,
"absoluteDurationMs": 199449,
"recordingLocation": 35440,
"recordingDurationMs": 0,
"description": "Flow Or Queue",
"realtimeLocation": 161840
},
{
"reason": "OUTDATED_SDK_VERSION",
"id": "2c55a8c4-b8bf-4a0b-b2b6-c3d3eb4446d1",
"type": "Pause",
"location": 88390,
"durationMs": 2000,
"absoluteLocation": 88400,
"absoluteDurationMs": 2000,
"recordingLocation": 88390,
"recordingDurationMs": 0,
"description": "Pause",
"realtimeLocation": 413152
}
]

Adding realtimeLocation and absoluteDurationMs in the second and third objects result in the same location.

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