SIP

SIP 199 Early Dialog Terminated vs 489 Bad Event

SIP 199 (Early Dialog Terminated) is a 1xx Provisional response, while 489 (Bad Event) is a 4xx Client Failure response. 199 indicates that a UAS can send this to indicate that an early dialog has been terminated. Used when forking results in multiple early dialogs. In contrast, 489 means that the server did not understand the event package specified in the Event header of a SUBSCRIBE request.

Description

A UAS can send this to indicate that an early dialog has been terminated. Used when forking results in multiple early dialogs.

When You See It

In forked call scenarios when one of the forked branches is cancelled because another branch was answered.

How to Fix

No action needed. This is normal behavior in forked call setups. Ensure your UA handles early dialog termination gracefully.

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.

199 is a 1xx Provisional response, while 489 is a 4xx Client Failure response.

2.

SIP 199: A UAS can send this to indicate that an early dialog has been terminated. Used when forking results in multiple early dialogs.

3.

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

4.

You encounter 199 when in forked call scenarios when one of the forked branches is cancelled because another branch was answered.

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 199 (Early Dialog Terminated): No action needed. This is normal behavior in forked call setups. Ensure your UA handles early dialog termination gracefully. For 489 (Bad Event): Check which event packages the server supports (OPTIONS request) and use a supported event package name.

Learn More