| Previous | Next |
| RTC_E_SIP_SSL_TUNNEL_FAILED | RTC_E_SIP_STACK_SHUTDOWN |
RTC_E_SIP_SSL_NEGOTIATION_TIMEOUT
Where the state changes: RTC_E_SIP_SSL_NEGOTIATION_TIMEOUT
The legacy RTC Client API reports this result while working with resolving a SIP destination and establishing UDP, TCP, TLS, or proxy transport before a transaction can proceed; the precise meaning of it is the secure transport handshake did not complete before the RTC negotiation timer expired, not merely that a call or registration failed.
The numeric form of this result is 0x80EE001D in the RTC interface facility 0xEE; an exception translator handling it should preserve this value before converting it into application-facing call or presence states.
Evidence should show that you measure TCP connect time, tunnel completion, TLS handshake messages, and certificate callback timing; the diagnostic distinction is that this is different from certificate rejection because validation may never have completed.
Protocol and object state
| RTC area | SIP transport and reachability |
|---|---|
| Condition to prove | the secure transport handshake did not complete before the RTC negotiation timer expired |
| Objects to correlate | SIP URI, proxy/registrar address, DNS results, socket, HTTP CONNECT tunnel, transaction timer |
| Safe corrective direction | repair latency or blocked handshake traffic and retry with bounded backoff |
Comparison with adjacent codes
RTC_E_SIP_TRANSPORT_NOT_SUPPORTED | the requested SIP transport is not implemented or allowed by the RTC profile/platform path |
|---|---|
RTC_E_INVALID_PROXY_ADDRESS | the profile’s proxy address is syntactically invalid or unusable as a SIP next hop |
RTC_E_SIP_TLS_FAIL | the TLS transport failed outside the more specific tunnel, timeout, certificate, or compatibility cases |
Telemetry and packet evidence
Do not wait for a generic failure notification to log it; preserve the API call or event producing it together with the RTC object and transaction state visible at that moment.
- Code-specific proof: measure
TCPconnect time, tunnel completion,TLShandshake messages, and certificate callback timing. - Addressing context: DNS query type and answers.
- RTC callback state: local/remote socket tuple.
- Transaction boundary: proxy tunnel response.
- Media or profile detail:
SIPtransaction timer and retransmit count.
Step-by-step isolation
- Use protocol and object evidence to measure
TCPconnect time, tunnel completion,TLShandshake messages, and certificate callback timing. - Confirm the distinction that this is different from certificate rejection because validation may never have completed.
- Start a fresh operation after you repair latency or blocked handshake traffic and retry with bounded backoff, and compare its final state with the failing run.
Actions that do not address this condition
- Do not switch transports without checking profile policy and authentication constraints.
- Do not retry rapidly across every resolved address without preserving the failure phase.
Recovery
To correct this, repair latency or blocked handshake traffic and retry with bounded backoff.
Example: A proxy tunnel opens, but TLS handshake packets are dropped until the RTC timer expires.
Technical references
Looking for a different code? Search another status or error code.