SIP 300 Multiple Choices vs 412 Conditional Request Failed
SIP 300 (Multiple Choices) is a 3xx Redirection response, while 412 (Conditional Request Failed) is a 4xx Client Failure response. 300 indicates that the address in the request resolved to several choices, each with its own location. The user or UA can select a preferred communication endpoint. In contrast, 412 means that the precondition given in the request was not met. Used with SIP event state publication (RFC 3903).
Descrição
The address in the request resolved to several choices, each with its own location. The user or UA can select a preferred communication endpoint.
Quando você o vê
When a user has multiple registered devices or contact addresses and the server cannot determine which one to use.
Como corrigir
Select one of the provided Contact addresses and resend the request to that specific URI.
Descrição
The precondition given in the request was not met. Used with SIP event state publication (RFC 3903).
Quando você o vê
When a PUBLISH request includes an If-Match header with an entity tag that does not match the current state on the server.
Como corrigir
Refresh the entity tag by performing a new PUBLISH without If-Match, then use the returned SIP-ETag for subsequent updates.
Diferenças principais
300 is a 3xx Redirection response, while 412 is a 4xx Client Failure response.
SIP 300: The address in the request resolved to several choices, each with its own location. The user or UA can select a preferred communication endpoint.
SIP 412: The precondition given in the request was not met. Used with SIP event state publication (RFC 3903).
You encounter 300 when when a user has multiple registered devices or contact addresses and the server cannot determine which one to use.
You encounter 412 when when a PUBLISH request includes an If-Match header with an entity tag that does not match the current state on the server.
Quando usar qual
For 300 (Multiple Choices): Select one of the provided Contact addresses and resend the request to that specific URI. For 412 (Conditional Request Failed): Refresh the entity tag by performing a new PUBLISH without If-Match, then use the returned SIP-ETag for subsequent updates.