Checking the call quality issues and bot delays in IraVoice and BotCompose


Iravoice Latency Monitoring

Live Latency Monitoring

For real-time latency analysis, you can monitor the Iravoice dashboard, which provides several network and streaming metrics, including:

  • SSL handshake time

  • WebSocket (WSS) connection delays

  • WebSocket socket errors

  • Other streaming/network-related metrics

A detailed knowledge base article explaining these metrics is already available internally.

https://support.epicode.in/help/en-gb/42-iravoice/287-components-of-iravoice-web-monitor


Post-Call Latency Analysis

After calls are completed, latency and quality metrics can be analyzed using the Call Event CDRs received on the webhook endpoint.

The following events are useful:

1. call_quality

This event provides overall call quality information, including:

  • MOS (Mean Opinion Score)

  • Quality

This helps evaluate the overall user experience for each call.


2. stream_stopped

This event contains detailed stream-level latency metrics within the "setup_delays" parameter, including:

  • Start time

  • SSL handshake delays

  • Average bot delay

  • WSS/WebSocket connection delays

Example: “setup_delays”:  {"started":"2026-05-15T11:39:17.813164Z","resolve":0,"connect":0,"ssl_handshake":4641,"wss_handshake":36,"first_audio":16,"att":0,"awt":0,"abd":13}


Unlike the dashboard, which shows averaged metrics across calls, the stream_stopped event provides per-call visibility, making it useful for debugging specific latency issues.



BotCompose Latency Monitoring

For BotCompose calls, latency analysis can be performed using the BotCompose CDRs.

The CDR contains latency_metrics which shows per-call timing information for:

  • LLM response delay

  • STT (Speech-to-Text) delay

  • TTS (Text-to-Speech) delay

Example:

  "latency_metrics": {
    "stt": {
      "mode": "non_streaming",
      "error_count": 0,
      "request_count": 3,
      "mean": "297.456 ms",
      "p50": "262.354 ms",
      "p95": "262.354 ms",
      "p99": "262.354 ms",
      "max": "393.228 ms"
    },
    "llm": {
      "request_count": 4,
      "mean": "446.052 ms",
      "p50": "363.335 ms",
      "p95": "446.922 ms",
      "p99": "446.922 ms",
      "max": "618.938 ms"
    },
    "tts": {
      "tts_request_count": 11,
      "tts_mean": "775.027 ms",
      "tts_p50": "751.765 ms",
      "tts_p95": "1.161 s",
      "tts_p99": "1.161 s",
      "tts_max": "1.193 s",
      "cdb_request_count": 2,
      "cdb_mean": "1.778 ms",
      "cdb_p50": "1.681 ms",
      "cdb_p95": "1.681 ms",
      "cdb_p99": "1.681 ms",
      "cdb_max": "1.874 ms"
    }

Additionally, you can review the call_quality event to analyze:

  • MOS (Mean Opinion Score)

  • Overall call quality metrics

This helps identify whether latency originates from the AI pipeline (LLM/STT/TTS) or from network and media streaming layers.