| Previous | Next |
| RTC_E_STATUS_REDIRECT_MOVED_TEMPORARILY | RTC_E_STATUS_REDIRECT_USE_PROXY |
RTC_E_STATUS_REDIRECT_SEE_OTHER
Where the state changes: RTC_E_STATUS_REDIRECT_SEE_OTHER
This result should be investigated at the point where RTC handles selecting and validating Contact targets from a redirect response without creating loops or violating profile policy, and the condition to prove for this HRESULT is the responder directs the client to obtain the result from another URI using method-specific handling.
This result is represented as 0x80EF012F in the RTC SIP-status facility carrying status 303; record the symbolic name alongside the unsigned hexadecimal value; a decimal exception alone is poor evidence for RTC protocol diagnosis.
A defensible diagnosis of this result requires you to capture the Contact URI and the original method because replaying the same method may be wrong; in the case, See Other changes how the resource should be accessed and is not simply another 302 target.
Telemetry and packet evidence
- Code-specific proof: capture the Contact URI and the original method because replaying the same method may be wrong.
- Addressing context: new transaction result.
- RTC callback state: original and redirected URI.
- Transaction boundary: response status and Contact list.
- Media or profile detail: redirect hop count.
Step-by-step isolation
- Start from
0x80EF012F, then find the method/event pair that first exposed it. - To verify this, capture the Contact URI and the original method because replaying the same method may be wrong.
- Keep the analysis at the right boundary: See Other changes how the resource should be accessed and is not simply another 302 target.
- After you follow the RTC/
SIPAPI behavior for the method, validate the URI, and avoid copying non-idempotent bodies automatically, repeat the smallest reproducer rather than restarting the entire application environment.
Protocol and object state
| RTC area | SIP redirection processing |
|---|---|
| Condition to prove | the responder directs the client to obtain the result from another URI using method-specific handling |
| Objects to correlate | redirect response, Contact list, redirect counter, selected profile, new client transaction |
| Safe corrective direction | follow the RTC/SIP API behavior for the method, validate the URI, and avoid copying non-idempotent bodies automatically |
A SIP redirect terminates the current client transaction and supplies candidate targets; following one creates a new request and transaction. Permanent, temporary, proxy, and alternative-service responses do not have interchangeable caching or routing semantics.
Recovery
Recovery should be narrow: follow the RTC/SIP API behavior for the method, validate the URI, and avoid copying non-idempotent bodies automatically; while handling this result, do not let a higher layer simultaneously recreate the same session, registration, listener, or profile.
Example: A service answers a request by pointing the client to a separate information resource instead of processing it at the original target.
Comparison with adjacent codes
For this HRESULT, 302 generally redirects the request to a temporary location, while 303 can imply a different retrieval action; the neighboring results below require different control-flow decisions.
RTC_E_STATUS_REDIRECT_MOVED_TEMPORARILY | the request should be retried at one or more Contact URIs supplied for temporary routing |
|---|---|
RTC_E_MAX_REDIRECTS | the RTC redirect chain exceeded its configured hop limit |
RTC_E_STATUS_REDIRECT_MOVED_PERMANENTLY | the addressed user or resource is permanently available at a new Contact URI |
Actions that do not address this condition
- Do not follow a Contact target without loop detection, scheme validation, and policy checks.
- Do not cache every redirect as permanent.
Technical references
Looking for a different code? Search another status or error code.