Hold Count — SIP Call Hold Testing Metric
Track the number of hold/resume events per call. Essential for testing call center workflows, PBX hold behavior, and re-INVITE handling in SIP infrastructure.
Hold Count
| Property | Value |
|---|---|
| Key | hold_count |
| Unit | Count |
| Type | Cumulative counter |
| Direction | Both |
| RFC | RFC 3264 Section 8.4 (Hold via SDP), RFC 3261 (re-INVITE) |
What It Measures
Hold Count tracks the number of times a call was placed on hold during a test. Each hold event is triggered by a re-INVITE with the media direction changed to sendonly or inactive in the SDP. The subsequent resume (re-INVITE back to sendrecv) does not increment the counter — only the hold transition does.
Why It Matters
Call hold is one of the most common mid-call operations in enterprise telephony. Call centers, IVR systems, and PBX environments put calls on hold constantly — for transfers, consultations, queue waiting, and music-on-hold. If hold/resume breaks, the entire call center workflow breaks.
Testing hold behavior at scale reveals issues that never surface in single-call testing: SBC state machine bugs under concurrent holds, music-on-hold resource exhaustion, and re-INVITE race conditions when multiple holds happen simultaneously.
Thresholds
Compare against your test scenario's expected hold count:
| Condition | Meaning |
|---|---|
| Hold count = expected scenario holds | Hold/resume cycle working correctly |
| Hold count < expected | Some hold actions failed — check scenario timing |
| Hold count > expected | Unexpected holds — may indicate SBC or PBX inserting holds autonomously |
How to Fix It
- Check scenario definition. Verify hold actions are correctly defined in your test scenario with appropriate timing.
- Verify re-INVITE handling. Use CallMeter's SIP ladder diagram to inspect the re-INVITE/200 OK/ACK exchange for hold.
- Check concurrent hold limits. Some SBCs limit concurrent held calls. During load tests, this limit may be reached.
- Compare with SSRC Switches. Each hold/resume may trigger an SSRC change. If SSRC Switches exceeds hold count, the SBC is resetting streams unnecessarily.
Related Metrics
- Total Hold Duration — Total time spent on hold
- SSRC Switches — Stream changes from hold/resume re-INVITEs
- Scenario Actions Executed — Overall scenario step tracking
- Call Duration — Total call time including hold periods