SIP Registration Errors
Comprehensive diagnosis guide for SIP registration failures during CallMeter test and probe execution, covering authentication errors, network issues, DNS problems, and transport mismatches.
SIP registration is the first step in any CallMeter test or probe execution. Each endpoint must successfully REGISTER with its assigned SIP registrar before it can place or receive calls. When registration fails, the endpoint's outcome is set to REGISTRATION_FAILED and its phase advances to CLOSED.
This guide provides step-by-step diagnosis for every common registration failure scenario.
Using the SIP Message Trace
The SIP message trace is your primary diagnostic tool for registration failures. To access it:
- Open the test run or probe execution that contains failed endpoints
- Click on an endpoint showing REGISTRATION_FAILED outcome
- Navigate to the SIP Trace tab
- Look for the REGISTER request and examine the server's response
The response code, headers, and timing information in the trace identify the exact failure cause.
401 Unauthorized
The SIP registrar rejected the authentication credentials after the challenge-response exchange.
How SIP Authentication Works
SIP authentication is a two-step process:
- The endpoint sends an initial REGISTER request without credentials
- The registrar responds with 401 Unauthorized and includes a WWW-Authenticate header containing a challenge (realm, nonce, algorithm)
- The endpoint re-sends the REGISTER request with an Authorization header containing the response to the challenge (computed from the username, password, realm, nonce, and other parameters)
- If the credentials are correct, the registrar responds with 200 OK
A 401 in the SIP trace after step 3 (after the endpoint sent credentials) means the credentials were rejected.
Diagnosis Checklist
Verify the username
Check that the SIP account username in CallMeter exactly matches the username configured on the registrar. Common issues:
- Extra whitespace characters before or after the username
- Case sensitivity (some registrars are case-sensitive for usernames)
- The username should be the SIP user part only, not the full SIP URI (e.g.,
alice, notalice@example.com)
Verify the password
Re-enter the SIP account password in CallMeter. Passwords are stored securely and cannot be viewed after entry. Common issues:
- Copy-paste errors (leading/trailing whitespace, invisible characters)
- The password may have been changed on the registrar side
- Special characters that need escaping in some configurations
Check the authentication realm
Examine the WWW-Authenticate header in the 401 response from step 2 of the trace. The realm parameter identifies the authentication domain. Some registrars require the client to use this specific realm in the Authorization response. If the realm does not match what the endpoint is using, authentication will fail.
Check the authentication algorithm
The WWW-Authenticate header specifies the digest algorithm (typically MD5 or SHA-256). Verify that the endpoint and registrar agree on the algorithm. Most implementations default to MD5.
Check for account lockout
Many SIP registrars lock accounts after a configurable number of failed authentication attempts. If the account is locked:
- Verify credentials are correct
- Unlock the account on the registrar
- Wait for the lockout period to expire
Bulk Registration and Account Lockout
When running tests with many endpoints using the same SIP account pool, a credential error can trigger rapid-fire failed authentication attempts that lock the accounts on the registrar. Verify credentials with a single-endpoint test before running large tests.
403 Forbidden
The registrar understood the request and the credentials may be valid, but access is denied. Unlike 401, re-sending with different credentials will not help.
Diagnosis Checklist
Check IP address restrictions
Many registrars maintain an allow list of IP addresses or networks that are permitted to register. The worker's public IP address may not be on this list.
- Identify the worker's public IP address (visible on the Workers page for cloud workers)
- Add the worker's IP to the registrar's allow list
- For user-owned workers, check the public IP of the host machine (which may differ from the container's IP)
Check account status
The SIP account may be:
- Suspended or disabled on the registrar
- Expired (time-limited accounts)
- Exceeded its maximum concurrent registration count
- Restricted to specific User-Agent strings
Check rate limiting
Some registrars enforce rate limits on REGISTER requests per source IP or per account. A CallMeter test with many endpoints may exceed this limit.
- Increase the buildup time to stagger registration attempts
- Check the registrar's rate limit configuration
- Consider using multiple source IPs (deploy workers on multiple hosts)
Check domain and SIP URI restrictions
Some registrars restrict registrations to specific domains or SIP URI patterns. Verify that the endpoint's SIP URI matches the registrar's expected format.
404 Not Found
The registrar indicates that the user or domain does not exist. The address is syntactically valid but there is no account matching it.
Diagnosis Checklist
Verify the registrar domain
The domain used in the SIP URI must match a domain that the registrar serves. If the registrar serves sip.example.com but your CallMeter registrar configuration uses pbx.example.com, the registrar may return 404.
Verify the SIP account username
The username must exist as an account on the registrar. Check for:
- Typos in the username
- The account may not have been created on the registrar
- The account may have been deleted
Check domain routing
If your SIP infrastructure has multiple domains, ensure the REGISTER request is being routed to the correct registrar. A SIP proxy may be routing the request to a server that does not host the target domain.
408 Request Timeout
The REGISTER request reached the registrar but no response was received within the timeout period. The registrar accepted the request but could not process it in time.
Diagnosis Checklist
Check registrar load
The most common cause of 408 is an overloaded registrar. When a CallMeter test sends hundreds of concurrent registration requests:
- The registrar's request queue fills up
- Processing time exceeds the SIP transaction timeout
- Older requests in the queue expire before being processed
Resolution:
- Increase the buildup time to spread registrations over a longer period
- Reduce the total number of endpoints
- Check the registrar's performance metrics for CPU, memory, and database load during the test
- If the registrar has configurable worker threads or process limits, increase them
Check SIP proxy chain
If the REGISTER passes through one or more SIP proxies before reaching the registrar, any proxy in the chain can introduce delays:
- Check each proxy for resource constraints
- Check for slow DNS lookups at each hop
- Reduce the number of proxies in the path if possible
Check network latency
High network latency between the worker and the registrar can push the total round-trip time (request, challenge, re-request, response) beyond the SIP transaction timeout:
- Check the RTT between the worker and the registrar
- Deploy workers closer to the registrar
- Consider increasing the SIP transaction timeout if your infrastructure supports it
500 Server Internal Error
The registrar encountered an unhandled error while processing the REGISTER request.
Diagnosis
This is a server-side issue, not a CallMeter configuration problem. Investigate the registrar:
- Check the registrar's application logs for error details
- Check the registrar's database (user directory) for connectivity issues
- Check for disk space, memory, or other resource issues on the registrar
- If the error occurs only under load, it may indicate a scalability issue
503 Service Unavailable
The registrar is temporarily unable to process requests, typically due to overload or maintenance.
Diagnosis
- Check if the registrar is in a maintenance window
- Check the registrar's load metrics
- If the error occurs during stress tests, it indicates the registrar has reached its capacity limit
- The Retry-After header in the 503 response may indicate when to retry
503 as a Capacity Signal
During stress tests, 503 responses are a valuable data point. They indicate the exact load level at which the registrar begins rejecting traffic. Record the number of concurrent registrations at which 503 responses begin appearing to establish the registrar's registration capacity.
Connection Timeout (No Response)
The endpoint sent a REGISTER request but received no response at all. The SIP trace shows the request being sent but no reply from the registrar.
Diagnosis Checklist
DNS resolution
- Verify the registrar domain resolves to a valid IP address from the worker's network
- For user-owned workers, check
nslookupordigoutput from the worker host - If using SRV records, verify the SRV record structure is correct
- Check for DNS propagation issues if the registrar's IP was recently changed
Firewall and network connectivity
- Verify the worker can reach the registrar's IP address on the configured port:
- UDP: port 5060 (default SIP over UDP)
- TCP: port 5060 (default SIP over TCP)
- TLS: port 5061 (default SIP over TLS)
- Check firewalls on both sides (worker network and registrar network)
- For user-owned workers, check the Docker container's network configuration
- Verify that outbound SIP traffic is not being blocked by corporate firewall rules
Transport protocol mismatch
If the test is configured for UDP but the registrar only accepts TCP (or vice versa), the request will never reach the SIP application:
- Verify the transport protocol in the CallMeter registrar configuration
- Check the registrar's transport configuration
- Try the AUTO transport option, which uses DNS SRV/NAPTR discovery (RFC 3263) to determine the correct transport
TLS certificate issues (for SIP over TLS)
When using TLS transport:
- Verify the registrar's TLS certificate is valid and not expired
- Check that the certificate's Common Name or SAN matches the registrar domain
- Verify the certificate chain is complete (intermediate certificates included)
- Self-signed certificates may require specific configuration on the worker
Registration Succeeds Then Expires
Endpoints register successfully but their registration expires during the test, causing call failures.
Diagnosis
- Check the registration expiry value. If it is too short, the registration may expire before the call phase begins.
- Some registrars override the requested expiry with a shorter value. Check the Contact header in the 200 OK response for the actual granted expiry.
- If the granted expiry is very short (e.g., 30 seconds), the endpoint may need to re-register during the test. CallMeter handles re-registration automatically, but a very short expiry creates additional load on the registrar.
Multi-Registrar Issues
When testing with multiple groups targeting different registrars, failures may be isolated to one registrar:
- Check the endpoint outcome summary grouped by group
- If one group shows high REGISTRATION_FAILED outcome rates while others succeed, the issue is specific to that group's registrar
- Apply the relevant diagnosis from above to the failing registrar only
DNS Resolution Failures
DNS issues are one of the most common causes of "no response" registration failures. The worker cannot send a REGISTER request if it cannot resolve the registrar's hostname to an IP address.
Symptoms
- SIP trace shows the REGISTER request was never sent
- Connection timeout with no response at all
- Intermittent failures where some endpoints register and others do not (DNS round-robin with one dead server)
Diagnosis Steps
- Check the hostname: Verify the registrar hostname is spelled correctly. A single character typo means DNS returns NXDOMAIN.
- Check DNS from the worker's network: For user-owned workers, run
digornslookupfrom the Docker host. Corporate DNS servers may not resolve external domains (or vice versa). - Check SRV records: SIP uses DNS SRV records (RFC 3263) for service discovery. Verify that
_sip._udp.example.com(or the appropriate transport variant) exists and points to the correct host and port. - Check DNS propagation: If the registrar's IP was recently changed, caches may still return the old IP. Wait for the TTL to expire or flush the DNS cache.
- Check for split DNS: Different internal vs external DNS views may resolve the hostname to different IPs. Ensure the worker's DNS view resolves to the correct registrar IP.
TLS Certificate Issues
When using SIP over TLS (SIPS, port 5061), the TLS handshake must complete before any SIP messages are exchanged. Certificate problems cause the handshake to fail silently from the SIP perspective (no SIP response, because the connection was never established).
Symptoms
- Registration works on UDP or TCP but fails on TLS with connection timeout
- No SIP trace at all (the TLS handshake fails before SIP traffic begins)
Common Certificate Problems
Expired certificate: The certificate has passed its expiration date. Check with openssl s_client -connect registrar.example.com:5061 from the worker's network.
Certificate name mismatch: The CN or SAN in the certificate does not match the registrar hostname in CallMeter. For example, the certificate is for sip.example.com but CallMeter connects to pbx.example.com. Use the hostname that matches the certificate.
Incomplete certificate chain: The registrar presents the leaf certificate but not the intermediates needed to chain to a trusted root CA. Configure the registrar to serve the full chain.
Self-signed certificate: Not trusted by default. Contact the CallMeter team for guidance on custom CA trust configuration for user-owned workers.
Testing TLS from the Command Line
To verify TLS connectivity to your registrar from the worker's network, run: openssl s_client -connect registrar.example.com:5061. This shows the certificate chain, expiry date, and any handshake errors. If this command fails, CallMeter's TLS connection will also fail.
SIP Account Lockout and Rate Limiting
Many production SIP registrars implement security measures that can block legitimate test traffic if not anticipated.
Account Lockout
SIP registrars commonly lock accounts after a configurable number of consecutive failed authentication attempts (typically 3-10 attempts). In a CallMeter test, a single wrong password can lock out all accounts in the pool within seconds because multiple endpoints attempt to register with the same credentials simultaneously.
Prevention: Always verify credentials with a single-endpoint test before running a large test. If you change a password on the registrar, update it in CallMeter immediately. Ask your registrar administrator what the lockout threshold and duration are.
Recovery: Unlock the accounts on the registrar (or wait for the lockout period to expire), fix the credentials in CallMeter, verify with a single-endpoint test, then run the full test.
IP-Based Rate Limiting
Some registrars limit the number of REGISTER requests from a single source IP within a time window. A test with hundreds of endpoints on a single worker sends all requests from one IP.
Symptoms:
- First batch of endpoints registers successfully, subsequent batches receive 403 or 503
- The number of successful registrations is consistent across test runs (matches the rate limit threshold)
Resolution:
- Increase the buildup time to spread registrations over a longer window
- Deploy multiple workers (each with a different IP) and distribute endpoints across them
- Ask the registrar administrator to whitelist the worker's IP from rate limiting during testing
- If the registrar returns a Retry-After header with 503 responses, the value tells you how long to wait
REGISTER Flood Protection
Enterprise SBCs often have flood protection that blackholes all SIP traffic from an IP that sends too many REGISTER requests in a short window (often banning the IP for 5-30 minutes). If registration works for small tests but completely fails for large tests, and even single-endpoint tests fail for several minutes after a large test, check the SBC's blacklist for the worker's IP. Whitelist the worker's IP in the SBC's flood protection rules, or use a longer buildup time to stay below the threshold.
Systematic Registration Debugging
If none of the above scenarios match your situation, follow this systematic approach:
- Single endpoint test: Create a test with one endpoint, one SIP account, and minimal configuration. If this succeeds, the issue is load-related.
- Manual SIP test: If possible, test the SIP account with a standard SIP client (softphone) from the same network. If the softphone registers, the issue may be specific to the worker or CallMeter configuration.
- SIP trace analysis: Compare the SIP message trace from a failing endpoint with the expected message flow. Look for unexpected headers, modified URIs, or missing fields.
- Incremental load: Start with 10 endpoints and increase gradually. Note the threshold at which failures begin to identify capacity limits.
Related Pages
- SIP Response Codes -- Full response code reference
- Common Test Failures -- Other failure types
- Adding a Registrar -- Registrar configuration
- SIP Accounts -- Account management
- Transport Protocols -- Protocol selection
Poor Quality Metrics
Diagnose and resolve low MOS scores, high jitter, packet loss, high RTT, video freezes, and other quality issues in CallMeter test results.
Media Encryption Issues
Troubleshoot TLS handshake failures, SDES negotiation errors, DTLS-SRTP handshake timeouts, and SRTP authentication problems.