SIP

SIP 301 Moved Permanently vs 489 Bad Event

SIP 301 (Moved Permanently) is a 3xx Redirection response, while 489 (Bad Event) is a 4xx Client Failure response. 301 indicates that the user can no longer be found at the address in the Request-URI. The client should direct future requests to the new address in the Contact header. In contrast, 489 means that the server did not understand the event package specified in the Event header of a SUBSCRIBE request.

Description

The user can no longer be found at the address in the Request-URI. The client should direct future requests to the new address in the Contact header.

When You See It

When a user has permanently changed their SIP address. All future calls should be directed to the new URI.

How to Fix

Update your address book or routing tables to use the new Contact URI provided in the response.

Description

The server did not understand the event package specified in the Event header of a SUBSCRIBE request.

When You See It

When subscribing to an event package that the server does not support (e.g., dialog, presence, message-summary).

How to Fix

Check which event packages the server supports (OPTIONS request) and use a supported event package name.

Key Differences

1.

301 is a 3xx Redirection response, while 489 is a 4xx Client Failure response.

2.

SIP 301: The user can no longer be found at the address in the Request-URI. The client should direct future requests to the new address in the Contact header.

3.

SIP 489: The server did not understand the event package specified in the Event header of a SUBSCRIBE request.

4.

You encounter 301 when when a user has permanently changed their SIP address. All future calls should be directed to the new URI.

5.

You encounter 489 when when subscribing to an event package that the server does not support (e.g., dialog, presence, message-summary).

When to Use Which

For 301 (Moved Permanently): Update your address book or routing tables to use the new Contact URI provided in the response. For 489 (Bad Event): Check which event packages the server supports (OPTIONS request) and use a supported event package name.

Learn More