SIP

SIP 204 No Notification vs 420 Bad Extension

SIP 204 (No Notification) is a 2xx Success response, while 420 (Bad Extension) is a 4xx Client Failure response. 204 indicates that the request was successful but the server has decided not to send a NOTIFY for this SUBSCRIBE request. In contrast, 420 means that the server did not understand the protocol extension specified in a Require or Proxy-Require header. The Unsupported header lists the unknown extensions.

설명

The request was successful but the server has decided not to send a NOTIFY for this SUBSCRIBE request.

이 코드를 보게 되는 경우

When subscribing to event packages that may not generate immediate notifications, such as dialog or presence packages.

해결 방법

No fix needed. The subscription was accepted but there is no state change to notify about yet.

설명

The server did not understand the protocol extension specified in a Require or Proxy-Require header. The Unsupported header lists the unknown extensions.

이 코드를 보게 되는 경우

When the request includes a Require header with SIP extensions that the server does not support.

해결 방법

Check the Unsupported header in the response. Remove the unsupported extension from the Require header or make it optional via Supported.

주요 차이점

1.

204 is a 2xx Success response, while 420 is a 4xx Client Failure response.

2.

SIP 204: The request was successful but the server has decided not to send a NOTIFY for this SUBSCRIBE request.

3.

SIP 420: The server did not understand the protocol extension specified in a Require or Proxy-Require header. The Unsupported header lists the unknown extensions.

4.

You encounter 204 when when subscribing to event packages that may not generate immediate notifications, such as dialog or presence packages.

5.

You encounter 420 when when the request includes a Require header with SIP extensions that the server does not support.

언제 어떤 것을 사용할지

For 204 (No Notification): No fix needed. The subscription was accepted but there is no state change to notify about yet. For 420 (Bad Extension): Check the Unsupported header in the response. Remove the unsupported extension from the Require header or make it optional via Supported.

더 알아보기