Creating a Test
Step-by-step guide to configuring a SIP load test with endpoints, groups, media settings, registrar selection, and assignment modes.
Tests define the SIP load scenario you want to run against your infrastructure. A test specifies how many endpoints to simulate, how long calls should last, which SIP server to register with, and what media (audio and video) to use. This guide walks through every field in the test creation form.
Prerequisites
Before creating a test, ensure you have:
- At least one registrar configured in your project
- Enough SIP accounts for the endpoint count you plan to use (unless using the cloud registrar)
- Media files uploaded if you want custom audio or video content (optional)
Opening the Test Creation Form
- Open your project from the sidebar
- Click Tests in the project navigation
- Click New Test
The form has two main areas: the global Configuration section at the top, and one or more Group sections below it.
Global Configuration
These settings apply to the entire test across all groups.
Test Name
An optional descriptive label for the test (e.g., "100-endpoint load test", "Codec comparison", "SIP trunk stress test"). If you leave it blank, the test will be listed by its creation date.
Total Endpoints
The total number of concurrent SIP endpoints across all groups. Each endpoint simulates one SIP device -- it registers with the registrar, places or receives a call, and exchanges media.
The maximum endpoint count depends on your subscription plan. The form displays your current plan limit.
Choosing an endpoint count:
| Objective | Recommended Endpoints |
|---|---|
| Basic connectivity check | 2 (1 caller + 1 callee) |
| Small load test | 10-50 |
| Medium load test | 50-200 |
| Stress test | 200-1000+ |
| Capacity planning | Start small, increase incrementally |
Duration
How long each call lasts, in seconds. All endpoints maintain their calls for this duration before hanging up.
| Duration | Use Case |
|---|---|
| 30s | Quick connectivity and registration check |
| 60s | Baseline quality measurement |
| 120-300s | Realistic call simulation |
| 600s+ | Long-duration stability testing |
Buildup Time
The staggered startup period, in seconds. Instead of all endpoints registering simultaneously (which can overwhelm your SIP server), the buildup spreads registrations over a time window.
How buildup works:
With 100 endpoints and a 10-second buildup, approximately 10 endpoints start per second. This creates a gradual ramp-up that more closely simulates real-world call patterns and avoids SIP server registration storms.
| Buildup | Effect |
|---|---|
| 0s | All endpoints start at once (burst mode) |
| 10s | Gradual ramp-up, ~N/10 endpoints per second |
| 30s | Slow ramp-up, suitable for large tests |
| 60s+ | Very gradual, useful for capacity planning |
Buildup vs. Duration
The buildup period is part of the total test time, not added on top of the duration. If your duration is 60 seconds and buildup is 10 seconds, the first endpoints start calling at t=0 and the last endpoints start at t=10, but all calls last 60 seconds from their individual start time. The total test run time will be approximately duration + buildup.
Group Configuration
Each test has one or more groups. A group is a logical set of endpoints that share the same configuration -- the same registrar, media settings, assignment mode, and callee target.
By default, a new test has one group. Click Add Group to create additional groups. See Groups for a complete guide on multi-group testing.
When you have multiple groups, the total endpoint count is distributed among them. Each group gets a percentage of the total, and you can adjust the split using sliders.
Registrar Selection
Each group selects which registrar its endpoints register with. Two options are available:
Cloud Registrar:
- Uses CallMeter's hosted SIP server
- Generates ephemeral credentials automatically -- no SIP account setup needed
- Ideal for baseline testing and verifying worker/network connectivity
Custom Registrar:
- Select from the registrars you have configured in this project
- Endpoints use the SIP accounts assigned to that registrar
- Required when testing your own SIP infrastructure
SIP account check
When you select a custom registrar, the form validates that it has enough SIP accounts for the group's endpoint count. If accounts are insufficient, a warning appears and the test cannot be submitted.
Callee Configuration
The callee setting determines who each endpoint calls. Three modes are available:
External URI:
Endpoints call an external SIP URI that you specify (e.g., sip:echo@sip.example.com). Only the calling side needs SIP accounts. Use this for testing outbound call paths to specific destinations.
Target Another Group: Endpoints in this group call endpoints in another group within the same test. This creates cross-group calling scenarios -- for example, Group A (callers) calls Group B (callees). Both groups need SIP accounts. This is ideal for testing call routing between different SIP servers or configurations.
Receive External Calls: Endpoints register and wait for incoming calls from an external system. No outbound calls are placed. Use this for testing inbound call paths -- your external system initiates calls to the registered endpoints.
Assignment Mode
The assignment mode controls which workers execute the endpoints in this group:
Region (Auto-Distribute): Select a geographic region (e.g., US East, EU West) and the platform automatically distributes endpoints across healthy cloud workers in that region. This is the recommended mode for most tests.
Workers (Explicit): Manually select specific workers (cloud or user-owned) to execute this group's endpoints. Use this when you need precise control over which infrastructure runs the test -- for example, testing from a specific network location or using your own Docker workers.
Audio Configuration
Two audio modes are available per group:
Generic Mode: Select one or more audio codecs from a checklist. Workers generate synthetic audio using the selected codecs. Available codecs:
| Codec | Bandwidth | Quality | Use Case |
|---|---|---|---|
| PCMA (G.711 A-law) | 64 kbps | Toll quality | Standard telephony |
| PCMU (G.711 u-law) | 64 kbps | Toll quality | North American telephony |
| G.722 | 64 kbps | Wideband | HD voice |
| Opus | 6-510 kbps | Adaptive | Modern VoIP, WebRTC |
Custom Mode: Select pre-uploaded audio files from your project's media library. Workers play these files during calls for realistic audio content. Use custom mode when you need to test with specific audio patterns (e.g., speech, music, silence).
Video Configuration
Toggle video on or off per group. When enabled, configure:
| Setting | Options | Description |
|---|---|---|
| Codec | H.264, VP8 | Video compression codec |
| Resolution | 360p, 480p, 720p, 1080p | Video frame size |
| FPS | 15, 24, 30 | Frames per second |
| Bitrate | Variable | Target video bitrate |
You can also select custom video files from your media library instead of generated video.
Video and bandwidth
Enabling video significantly increases bandwidth usage per endpoint. A 720p/30fps H.264 stream typically uses 1-2 Mbps. Plan your endpoint count and worker capacity accordingly.
Advanced Track Settings
Each media track has a collapsible Advanced section with settings for traffic prioritization and deferred negotiation.
DSCP / QoS Marking
DSCP (Differentiated Services Code Point) tags RTP packets with a priority value so network equipment can prioritize voice and video traffic. By default, new audio tracks use EF/46 (Expedited Forwarding) and video tracks use AF41/34 (Assured Forwarding), matching RFC 4594 recommendations.
You can select from presets (Voice, Video, Signaling, Low Priority) or enter a custom value (0-63). Set to "Default (Best Effort)" to disable marking.
See Advanced Track Settings for the full reference including verification steps and network requirements.
Deferred Track Negotiation
Two toggles control when a track becomes active:
- Negotiate at call start -- Include this track in the initial SDP offer. Disable to keep the track at port 0 until a scenario action activates it.
- Start sending at establishment -- Begin media immediately when the call connects. Disable to negotiate the track upfront but defer actual media until a scenario action triggers it.
These settings enable advanced scenarios like mid-call video escalation and content sharing simulation. See Advanced Track Settings for detailed examples.
Call Scenario
Each group can define scenario actions -- mid-call operations triggered by time or events. Actions follow a When/Then model:
- When: A time (e.g., at 10 seconds) or an event (e.g., hold received from remote)
- Then: An action (hold, resume, start sending track, negotiate track, update media)
Common scenarios:
- Hold the call at 10s, resume at 30s
- Activate a deferred video track 15 seconds into the call
- React to the remote putting you on hold by negotiating a content-sharing track
See Scenario Actions for the complete reference.
Advanced SIP Settings
Each group has a collapsible Advanced SIP section for protocol-level configuration:
- 100rel / PRACK (RFC 3262) -- Reliable provisional responses. Set to "Supported" or "Required" to use PRACK for guaranteed delivery of 180 Ringing and other provisional responses.
- Session Timer (RFC 4028) -- Periodic session refresh to detect dead calls. Configure the expiry interval (minimum 90 seconds) and which side initiates refreshes.
Submitting the Test
After configuring all settings:
- Review the configuration summary in the sidebar (endpoint distribution, estimated usage)
- Click Create Test
The test is saved to your project's test list. It does not run automatically -- you must manually trigger each run by clicking Run Test on the test detail page.
Tips for Effective Test Configuration
- Start small: Begin with 2-10 endpoints to verify connectivity, then scale up
- Use buildup for large tests: A 30-second buildup prevents registration storms on your SIP server
- Match your production codec: Test with the same codec your production system uses for realistic quality metrics
- Test incrementally: Run at 10%, 25%, 50%, 75%, and 100% of your target capacity to identify the breaking point
- Use multiple groups: Test different configurations side-by-side in a single run. See Groups
- Set DSCP markings: Enable QoS marking to test how your network handles prioritized traffic
Next Steps
- Groups -- Configure multi-group tests for advanced scenarios
- Advanced Track Settings -- DSCP marking and deferred track negotiation
- Scenario Actions -- Mid-call behavior configuration
- Running a Test -- Execute your test and monitor progress
- Analyzing Results -- Interpret test run metrics and charts