| Previous | Next |
| RTC_E_STATUS_CLIENT_AMBIGUOUS | RTC_E_STATUS_REQUEST_TERMINATED |
RTC_E_STATUS_CLIENT_BUSY_HERE
Where the state changes: RTC_E_STATUS_CLIENT_BUSY_HERE
This HRESULT is emitted for a defined RTC state rather than an unspecified communications problem; that state is the particular contacted user agent is busy and will not accept the call now.
At the HRESULT layer, this result appears as 0x80EF01E6 in the RTC SIP-status facility carrying status 486; preserving the facility and symbol prevents it from being grouped incorrectly with unrelated networking or media errors.
A defensible diagnosis of this result requires you to record which Contact returned the response, Retry-After, call-waiting policy, and other branch results; in the case, Busy Here applies to one endpoint or branch; 600 can assert the user is busy everywhere.
Protocol and object state
| RTC area | SIP final response |
|---|---|
| Condition to prove | the particular contacted user agent is busy and will not accept the call now |
| Objects to correlate | SIP request method, client transaction, response status, dialog identifiers and method-specific headers |
| Safe corrective direction | stop or try another permitted branch, respect user policy, and avoid immediate repeated ringing |
Comparison with adjacent codes
For this HRESULT, 600 is global and tells proxies not to search other locations for the user; the neighboring results below require different control-flow decisions.
RTC_E_STATUS_GLOBAL_NOT_ACCEPTABLE | the user cannot accept the proposed session at any location because its characteristics are globally unacceptable |
|---|---|
RTC_E_STATUS_CLIENT_PAYMENT_REQUIRED | the legacy SIP endpoint returned the reserved Payment Required status |
RTC_E_STATUS_CLIENT_NOT_ACCEPTABLE | the resource cannot produce a response representation acceptable under the request’s Accept constraints |
Telemetry and packet evidence
- Code-specific proof: record which Contact returned the response, Retry-After, call-waiting policy, and other branch results.
- Addressing context: status-specific headers.
- RTC callback state: retry or alternate-target decision.
- Transaction boundary: request method and Request-URI.
- Media or profile detail: responding Via hop.
Step-by-step isolation
- Start from
0x80EF01E6, then find the method/event pair that first exposed it. - To verify this, record which Contact returned the response, Retry-After, call-waiting policy, and other branch results.
- Keep the analysis at the right boundary: Busy Here applies to one endpoint or branch; 600 can assert the user is busy everywhere.
- After you stop or try another permitted branch, respect user policy, and avoid immediate repeated ringing, repeat the smallest reproducer rather than restarting the entire application environment.
Actions that do not address this condition
- Do not retry every 4xx or 5xx response with the identical request.
- Do not show a reason phrase as trusted server identity or authorization evidence.
Recovery
Resolve it at its producing layer: stop or try another permitted branch, respect user policy, and avoid immediate repeated ringing; after it, a separate UI or watchdog retry must wait until that layer reports a final state.
Example: A desktop endpoint rejects an INVITE because the user is already on a call while another registered device may remain available.
Technical references
Looking for a different code? Search another status or error code.
