Troubleshooting
Outbound call emits non2xxResponse
The destination did not answer with a final 2xx response. The SDK reports the
final SIP status code and reason phrase, such as 486 Busy Here or
603 Decline, without classifying the outcome; your application decides what
the status means. Confirm that:
- The destination includes its country code and is valid.
- The device has a valid Emergency Address in the RingCentral portal.
The SDK emits non2xxResponse once and disposes the outbound call session.
Only one instance receives inbound calls
This is expected when several instances register with the same credentials. Only the most recent registration receives inbound calls.
TLS certificate validation fails
Fix the certificate chain for production. A trusted, controlled development
environment can set ignoreTlsCertErrors: true temporarily. This disables
certificate verification, permits man-in-the-middle attacks, and must not be
used in production.
Registration fails
Check all five credential values:
- Use the SIP domain without its port.
- Use a regional
proxyTLSvalue including its port asoutboundProxy. - Use the username, password, and authorization ID for an Existing Phone
device (
OtherPhonein the REST API). - Do not use a RingCentral app device (
SoftPhonein the REST API).
Call softphone.enableDebugMode() to inspect the SIP exchange. The initial
register() call rejects on failure; later signaling failures, such as a
connection loss, a registration-refresh failure, or a failed recovery
attempt, emit signalingError. Debug output can contain identities, phone
numbers, call metadata, and authentication material, so redact it before
sharing.
Audio is distorted or silent
The input to streamAudio() must match the selected codec exactly. Check the
sample format, sample rate, and channel count on the
Audio & DTMF page. The SDK does not resample or convert
files.
Inbound telephony IDs are missing
RingCentral does not include session and party IDs in the initial inbound invite. They are exposed only on outbound call sessions. For an inbound-call alternative, see the call-ID workaround.