Adding a Registrar
Configure a SIP server connection so test endpoints can register and place calls against your VoIP infrastructure.
A registrar defines the SIP server that your test endpoints register with before placing calls. Every test and probe in CallMeter requires at least one registrar. This guide walks you through creating a registrar, understanding the configuration options, and verifying connectivity.
What Is a Registrar?
In SIP terminology, a registrar is a server that processes SIP REGISTER requests and maintains a binding between a user's SIP address-of-record (AOR) and the contact address where the user can be reached. In the context of CallMeter, a registrar represents the SIP server, PBX, or SIP trunk you want to test.
Common examples of SIP servers you might configure as registrars:
- An Asterisk PBX
- A FreeSWITCH media server
- A Kamailio SIP proxy
- A hosted PBX service (e.g., 3CX, Cisco UCM, Avaya Aura)
- A SIP trunk provider (e.g., Twilio, Vonage, Bandwidth)
- A Session Border Controller (SBC)
Creating a Registrar
- Open your project from the sidebar
- Click Registrars in the project navigation
- Click New Registrar
- Fill in the configuration fields:
| Field | Required | Description | Example |
|---|---|---|---|
| Name | Yes | A friendly label to identify this registrar | "Production Asterisk", "Staging FreeSWITCH" |
| Domain | Yes | The SIP server address (hostname or IP) | sip.example.com or 192.168.1.100 |
| Port | No | The SIP signaling port. Leave blank to use the default for the selected transport | 5060, 5061 |
| Transport | Yes | The protocol for SIP signaling | UDP, TCP, TLS, WSS, or AUTO |
| Outbound Proxy | No | Route all INVITE requests through this SIP proxy via a Route header (RFC 3261). Format: host:port | proxy.example.com:5060 |
- Click Save
The registrar is now available for use in tests and probes within this project.
SIP URI Format
CallMeter constructs the SIP URI for registration from your configuration. The general format is:
sip:domain:port;transport=protocolExamples:
| Configuration | Resulting URI |
|---|---|
Domain: sip.example.com, Transport: UDP, Port: default | sip:sip.example.com:5060;transport=udp |
Domain: pbx.corp.net, Transport: TLS, Port: 5061 | sip:pbx.corp.net:5061;transport=tls |
Domain: 10.0.0.50, Transport: TCP, Port: 5060 | sip:10.0.0.50:5060;transport=tcp |
When using AUTO transport, CallMeter performs DNS-based discovery per RFC 3263 to determine the correct transport, host, and port automatically.
Choosing a Registrar Type
Your Own SIP Server (Custom Registrar)
Use this when testing infrastructure you operate or have direct access to. You provide:
- The server's domain or IP address
- The transport protocol that matches your server configuration
- Static SIP credentials (added as SIP Accounts)
This is the most common setup for testing PBX systems, SIP trunks, and VoIP infrastructure.
CallMeter Cloud Registrar
Use this for scenarios where you do not want to provide your own SIP server. CallMeter's cloud registrar:
- Generates ephemeral HMAC-based credentials per endpoint automatically
- Credentials expire after the test completes
- No manual credential management needed
- Ideal for testing worker connectivity, codec negotiation, or media quality in isolation
The cloud registrar is useful for baseline testing and for verifying that your workers and network path are functioning correctly before connecting to your own infrastructure.
Transport Protocol Selection
The transport protocol controls how SIP signaling messages are transmitted between endpoints and the registrar:
| Protocol | Default Port | Encryption | Use Case |
|---|---|---|---|
| UDP | 5060 | None | Legacy systems, low-latency testing |
| TCP | 5060 | None | Large SIP messages, reliable delivery |
| TLS | 5061 | TLS 1.2+ | Production testing, compliance |
| WSS | 443 | TLS (WebSocket) | WebRTC-compatible systems |
| AUTO | Varies | Varies | DNS SRV-based discovery (RFC 3263) |
For a deep dive into transport selection, see Transport Protocols.
DNS Auto-Discovery (AUTO Mode)
When you select AUTO as the transport, CallMeter uses the DNS-based server discovery procedure defined in RFC 3263:
- NAPTR lookup on the domain -- returns available services and their transport preferences
- SRV lookup for the selected service -- returns hostname and port
- A/AAAA fallback -- if no NAPTR/SRV records exist, falls back to direct DNS resolution with default ports
AUTO mode is recommended when your SIP server publishes proper DNS records, as it provides the most flexible and standards-compliant configuration.
DNS requirements for AUTO mode
AUTO mode requires that your SIP domain has NAPTR and/or SRV DNS records configured. Without these records, the endpoint falls back to A/AAAA resolution with UDP on port 5060. If your SIP server does not publish DNS service records, select the transport protocol explicitly.
Outbound Proxy
An outbound proxy routes all INVITE requests through a designated SIP proxy before they reach the callee. This is useful when:
- Your SIP infrastructure requires calls to traverse an SBC or SIP proxy
- You are testing proxy-based call routing (e.g., Kamailio, OpenSIPS)
- Your network topology requires a hop between the endpoint and the destination
When configured, CallMeter adds a Route header to every INVITE request pointing to the proxy:
Route: <sip:proxy.example.com:5060;lr>The endpoint uses the same credentials for proxy authentication (407 Proxy-Authentication-Required) as it does for REGISTER authentication (401). No additional credentials are needed.
Outbound proxy and AUTO mode
Outbound proxy works with any transport protocol, including AUTO. When both are configured, DNS discovery determines how to reach the registrar for REGISTER, while the outbound proxy receives all INVITE requests regardless of DNS results.
Tips for Common PBX Setups
Asterisk
- Default transport: UDP on port 5060
- Ensure the
allowline insip.conforpjsip.confincludes the codecs you plan to test - Set
qualify=yesif you want Asterisk to monitor endpoint availability - For TLS, ensure Asterisk's TLS listener is enabled in the transport configuration
FreeSWITCH
- Default SIP profile listens on UDP 5060 (internal) and UDP 5080 (external)
- Use the external profile port if testing from outside the local network
- FreeSWITCH supports all transport protocols natively
- Check
sip_profiles/directory for the active listener configuration
Kamailio
- Default transport: UDP on port 5060
- Kamailio is a SIP proxy and does not handle media -- ensure it routes to a media server (e.g., RTPengine, Asterisk) for actual call handling
- If Kamailio is behind a load balancer, use the load balancer's address as the domain
- TLS requires the
tlsmodule to be loaded
Hosted PBX / SIP Trunk Providers
- Use the SIP server address provided by your provider
- Transport is usually UDP or TLS depending on the provider
- Port is typically 5060 (UDP/TCP) or 5061 (TLS)
- Some providers require registration from specific IP addresses -- whitelist your worker IPs
Verifying Registrar Connectivity
After creating a registrar, verify that endpoints can reach it:
- Create a simple test with 1 endpoint and a short duration (30 seconds)
- Select the new registrar
- Run the test
- Check the test results for:
- DNS resolution -- the domain resolved to an IP address
- Transport connection -- TCP/TLS handshake succeeded (if applicable)
- SIP REGISTER accepted -- 200 OK response from the server
- Authentication -- credentials were accepted (if SIP accounts are configured)
If registration fails, check the endpoint's SIP Message Trace in the results view for the exact SIP response code. Common issues:
| SIP Response | Meaning | Fix |
|---|---|---|
| 401 / 407 | Authentication required/failed | Check SIP account credentials |
| 403 | Forbidden | IP not whitelisted or account disabled |
| 404 | Not found | Check the SIP domain and username |
| 408 | Request timeout | Server unreachable, check network/firewall |
| 503 | Service unavailable | Server overloaded or not running |
Next Steps
- SIP Accounts -- Add authentication credentials for your registrar
- Transport Protocols -- Deep dive into protocol selection
- Creating a Test -- Use your registrar in a test configuration
Managing Project Members
Invite team members, assign roles, control project access, and understand the permission model for collaborative SIP testing.
SIP Accounts
Manage SIP authentication credentials for test endpoints, including adding accounts individually or in bulk, account pools, and rotation strategies.