github Azure/azure-sdk-for-python azure-ai-voicelive_1.2.0b5

pre-release7 hours ago

1.2.0b5 (2026-04-06)

Features Added

  • OpenTelemetry Tracing Support: Added VoiceLiveInstrumentor for opt-in OpenTelemetry-based
    tracing of VoiceLive WebSocket connections, following Azure SDK and GenAI semantic conventions
    (v1.34.0). Instrumentation covers connection lifecycle (connect, close), message send/receive,
    and captures voice-specific attributes (gen_ai.voice.session_id, gen_ai.voice.event_type).
    • Enable via AZURE_EXPERIMENTAL_ENABLE_GENAI_TRACING=true environment variable.
    • Content recording controlled by OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT.
    • Aligned with azure-ai-agents / azure-ai-projects tracing model.
  • Enhanced Telemetry Tracking: Added comprehensive session-level and per-message telemetry:
    • Session ID: Automatically captured from session.created/session.updated events and set on
      the parent connect span (gen_ai.voice.session_id).
    • Audio format/codec: Input and output audio formats extracted from session.update sends
      (gen_ai.voice.input_audio_format, gen_ai.voice.output_audio_format).
    • First-token latency: Time from response.create to first response.audio.delta or
      response.text.delta, recorded as gen_ai.voice.first_token_latency_ms.
      response.text.delta is used for latency detection only and is not tracked as a normal recv event.
    • Turn count: Number of completed responses (response.done) per session
      (gen_ai.voice.turn_count).
    • Interruption count: Number of response.cancel sends per session
      (gen_ai.voice.interruption_count).
    • Audio bytes sent/received: Total audio payload bytes transferred
      (gen_ai.voice.audio_bytes_sent, gen_ai.voice.audio_bytes_received).
    • Message size: WebSocket message size on each send/recv span
      (gen_ai.voice.message_size).
    • Rate limit / error events: Server error and rate_limits.updated events recorded as
      span events with error codes and rate limit details.
  • Response & Function Call ID Tracking: All recv and send spans now carry correlation IDs for
    end-to-end tracing across events:
    • gen_ai.response.id, gen_ai.conversation.id, gen_ai.voice.call_id, gen_ai.voice.item_id,
      gen_ai.voice.previous_item_id, gen_ai.voice.output_index extracted from top-level and nested
      fields on every event span.
    • gen_ai.response.finish_reasons from response.done events (also propagated to the connect span).
  • Agent v2 Telemetry: Added agent identity and configuration tracking on the connect span:
    • gen_ai.agent.id and gen_ai.agent.thread_id extracted from session.created/session.updated
      server events.
    • gen_ai.agent.version and gen_ai.agent.project_name from AgentSessionConfig at connect time.
  • MCP (Model Context Protocol) Telemetry: Added tracking for MCP tool calls and approval flows:
    • Per-event: gen_ai.voice.mcp.server_label, gen_ai.voice.mcp.tool_name,
      gen_ai.voice.mcp.approval_request_id, gen_ai.voice.mcp.approve on recv/send spans.
    • Session-level: gen_ai.voice.mcp.call_count and gen_ai.voice.mcp.list_tools_count counters
      flushed on session close.
    • Nested item extraction is guarded by event type to prevent forward-compatibility issues.

Other Changes

  • Updated default API version to 2026-01-01-preview.

Don't miss a new azure-sdk-for-python release

NewReleases is sending notifications on new releases.