Capacity & traffic
| Metric | What it means | Healthy range | Why it matters |
|---|---|---|---|
| CPS (Calls Per Second) | The origination rate. | The trunk’s contracted CPS, with ~30% headroom. | Carriers throttle above the contracted CPS. Sustained overshoot causes 503 rejections. |
| Concurrent channels | In-flight calls at any instant. | < 80% of the trunk channel cap. | At 100%, new call attempts drop. Steady state = CPS × ACD. |
| Erlangs | Channel-hours of traffic. 1 Erlang = one channel busy continuously for one hour. | It is a capacity-planning unit. | Carriers and PBX vendors size hardware in Erlangs, not CPS. |
| Trunk utilisation | Concurrent / channel cap. | 60–80%. | Utilisation < 40% means over-provisioned capacity (cost). Utilisation > 90% means blocking risk. |
Connection & answer rates
| Metric | Formula | Healthy | Why it matters |
|---|---|---|---|
| ASR (Answer-Seizure Ratio) | answered / attempted | 30%–70% (campaigns), > 90% (transactional) | A low ASR indicates bad numbers, blocked caller-ID, or trunk health issues. |
| ACD (Average Call Duration) | Σ duration / answered | depends on use case | A sudden ACD drop indicates audio failure. A sudden spike indicates stuck calls that do not hang up. |
| ABR / NER (Answer/Network Effectiveness Ratio) | (answered + busy + no-answer) / attempted | > 95% | It excludes “user-busy” from your fault attribution and isolates network failures. |
| CCR (Call Completion Ratio) | answered / not-blocked-attempts | > 50% on outbound campaigns | The carrier-facing version of ASR. |
| PDD (Post-Dial Delay) | dial → ringback start | < 3 s | With high PDD, the caller hangs up before ringback. Carrier routing often drives it. |
Audio quality
| Metric | What it means | Healthy | Why it matters |
|---|---|---|---|
| MOS (Mean Opinion Score) | A subjective 1.0–5.0 quality estimate. | ≥ 4.0 toll, ≥ 3.6 acceptable | A single-number summary of perceived audio quality. |
| R-factor | ITU E-Model 0–100. It converts to MOS. | ≥ 80 = MOS 4+ | It catches problems that MOS alone smooths over (delay, codec, jitter). |
| Jitter (ms) | The StdDev of inter-packet arrival times. | < 30 ms | Jitter above 30 ms triggers de-jitter buffering, which raises latency. |
| Packet loss (%) | RTP packets dropped. | < 1% | Loss of 1–3% is audible. Loss > 3% is degraded. |
| One-way latency (ms) | Mouth → ear. | < 150 ms ideal, < 300 ms acceptable | See ITU G.114. Above 400 ms, conversation falls apart. |
| Round-trip time (ms) | The symmetric round trip. | < 300 ms | It is diagnostic. One-way latency is the number that users perceive. |
| Echo Return Loss (ERL, dB) | An echo suppression measure. | > 20 dB | Below 10 dB, the caller hears their own voice. |
WebRTC-specific metrics
When the leg is WebRTC (browser, LiveKit, Daily, Chime, Twilio Media Streams, Vapi), a second tier of standard numbers applies:| Metric | What it means | Healthy | Why it matters |
|---|---|---|---|
| ICE gathering time (ms) | The time to enumerate candidate paths and pick one. | < 1 s | High values mean STUN/TURN issues. The user hears a long “connecting” pause. |
| DTLS handshake time (ms) | The SRTP key negotiation duration. | < 200 ms | It adds to PDD on WebRTC legs. |
| Selected candidate type | host / srflx / relay. | Mostly host or srflx. | A high relay % means much TURN traffic. TURN is expensive and adds 30–80 ms one-way. |
| REMB / TWCC bandwidth estimate | A live link estimate from the WebRTC bandwidth controller. | matches connection speed | Drops in the estimate predict upcoming loss/jitter. |
| NACK / FIR rate | Retransmit and full-frame requests. | low and stable | Spikes mean the receiver detects loss. Sustained spikes need action. |
| Audio level | Per-direction loudness. | speech-shaped, with silences | Flat or zero levels indicate a mic or route issue. |
| PLI/PLC events | Packet-loss-concealment fires. | sparse | Frequent PLC means concealment masks the loss, but quality is degraded. |
getStats() standard. Observability
tooling that consumes WebRTC stats recognises them by name.
Outbound campaign metrics
| Metric | What it means | Healthy | Why it matters |
|---|---|---|---|
| Connect rate | answered / dialed | 30–60% (cold), > 80% (warm) | It drives bottom-of-funnel conversion. |
| Pickup rate | ”human answered” / dialed | varies | AMD (answering-machine detection) classifies calls as human vs voicemail. |
| Abandon rate | answered → agent unavailable / answered | ≤ 3% (TCPA) | TCPA caps US predictive-dialer abandon at 3%. This is a legal requirement, not a target. |
| Drop rate | dropped mid-call / answered | < 0.5% | A high drop rate indicates trunk instability or a codec mismatch. |
| DNC hit rate | suppressed / dialed | ideally 0% | Anything > 0 means your DNC hygiene is broken. |
Inbound / contact-centre metrics
| Metric | What it means | Healthy | Why it matters |
|---|---|---|---|
| AHT (Average Handle Time) | talk + hold + wrap-up | varies by industry | It measures operations efficiency. |
| ASA (Average Speed of Answer) | queue time before an agent picks up | < 30 s most industries | SLAs usually target ASA. |
| Service Level | ”% answered within X seconds”. e.g. 80/20 = 80% within 20 s. | varies | The dominant SLA shape in contact-centre RFPs. |
| Abandonment Rate | callers who hung up before an agent answered | < 5% | Above 5% indicates under-staffing or routing issues. |
| First Call Resolution (FCR) | resolved / answered | > 70% | It predicts CSAT better than AHT. |
| Occupancy | (talk + hold + wrap) / scheduled | 80–85% | > 90% burns out agents. |
Cost metrics
| Metric | What it means | Why it matters |
|---|---|---|
| CPM (Cost Per Minute) | The carrier rate per minute. It varies by destination prefix. | It is the foundation of LCR. |
| CPC (Cost Per Call) | The all-in cost per attempt: minutes + AI + recording storage. | The standard unit-economics figure for voice workloads. |
| Margin per minute | Revenue – (carrier + AI + infra) per billed minute. | It determines whether per-minute pricing is sustainable. |
| Bill increment | Carriers bill in 1/1, 6/6, or 30/30-second increments. | The first number is the setup minimum. The second number is the increment after. With 6/6 billing, a 7-second call bills as 12 seconds. With 1/1 billing, it bills as 7 seconds. |
Reliability
| Metric | What it means | Healthy | Why it matters |
|---|---|---|---|
| Uptime / availability | The % of time the service answered new calls. | ≥ 99.95% (3-nines plus). | Voice SLAs hover here. Availability below 99.9% triggers credits. |
| MTTR (Mean Time To Repair) | The average outage length. | < 15 min for carrier-grade voice. | It is more operationally meaningful than MTBF for voice. |
| Cutover RTO/RPO | Time-to-recover / data-loss window for failover. | RTO < 1 min, RPO ~0 for voice. | It drives the active-active vs cold-standby decision. |
Which metrics matter for which workload
| Workload | Primary metrics |
|---|---|
| Outbound predictive dialer | ASR, abandon rate, CPS sustained. |
| Contact-centre / ACD | ASA, service level, MOS. |
| Carrier interconnect | CPS, NER, MOS, CPM. |
| AI voicebot | One-way latency, transcoding overhead, concurrent channels. |
| Browser / WebRTC | DTLS handshake time, ICE gathering time, % relay candidates, MOS. |
| Regulated (health / finance) | DTMF masking, recording encryption, retention controls. |
| Cost / unit-economics | CPC, margin per minute, billing increment. |

