| Previous | Next |
| RTC_E_STATUS_CLIENT_UNAUTHORIZED | RTC_E_STATUS_CLIENT_FORBIDDEN |
RTC_E_STATUS_CLIENT_PAYMENT_REQUIRED
What RTC_E_STATUS_CLIENT_PAYMENT_REQUIRED means in RTC
This code belongs to a peer, proxy, registrar, or gateway returning a specific SIP response to the RTC transaction: the legacy SIP endpoint returned the reserved Payment Required status. Treating it as a generic RTC failure loses the state needed to choose a safe next action.
For correlation, retain 0x80EF0192 in the RTC SIP-status facility carrying status 402 together with this result; generic HRESULT text can otherwise hide the protocol family and the exact RTC branch.
Evidence should show that you capture the complete method, responder product/version, and any extension headers or body defining local semantics; the diagnostic distinction is that RFC 3261 reserves 402 without standard operational behavior, so the reason phrase alone is insufficient.
Protocol and object state
| RTC area | SIP final response |
|---|---|
| Objects to correlate | SIP request method, client transaction, response status, dialog identifiers and method-specific headers |
| Condition to prove | the legacy SIP endpoint returned the reserved Payment Required status |
| Safe corrective direction | treat it as an extension-specific terminal response unless the deployed service contract defines a safe next step |
How to prove the condition
- Start from
0x80EF0192and this result, then find the method/event pair that first exposed it. - To verify this, capture the complete method, responder product/version, and any extension headers or body defining local semantics.
- Keep the analysis at the right boundary: RFC 3261 reserves 402 without standard operational behavior, so the reason phrase alone is insufficient.
- After you treat it as an extension-specific terminal response unless the deployed service contract defines a safe next step, repeat the smallest reproducer rather than restarting the entire application environment.
Minimum incident record
- Code-specific proof: capture the complete method, responder product/version, and any extension headers or body defining local semantics.
- Owning object: status-specific headers.
- Wire evidence: retry or alternate-target decision.
- Lifecycle state: request method and Request-URI.
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.
Correct application response
To correct this, treat it as an extension-specific terminal response unless the deployed service contract defines a safe next step.
Example: A proprietary gateway uses 402 to signal an account-billing condition; the application routes it to gateway-specific handling.
Nearby failure modes
For this HRESULT, 403 has standard authorization-denied semantics; 402 depends on the deployed extension; the neighboring results below require different control-flow decisions.
RTC_E_STATUS_CLIENT_NOT_ACCEPTABLE | the resource cannot produce a response representation acceptable under the request’s Accept constraints |
|---|---|
RTC_E_STATUS_CLIENT_TEMPORARILY_NOT_AVAILABLE | the addressed user or endpoint is temporarily unavailable at all currently known contacts |
RTC_E_STATUS_CLIENT_LENGTH_REQUIRED | the server requires an explicit Content-Length body framing it received |
Technical references
Looking for a different code? Search another status or error code.