SIP 180 Ringing vs 489 Bad Event
SIP 180 (Ringing) is a 1xx Provisional response, while 489 (Bad Event) is a 4xx Client Failure response. 180 indicates that the UA receiving the INVITE is trying to alert the user. This response is used to initiate local ringback tone at the caller's end. In contrast, 489 means that the server did not understand the event package specified in the Event header of a SUBSCRIBE request.
Description
The UA receiving the INVITE is trying to alert the user. This response is used to initiate local ringback tone at the caller's end.
When You See It
During call setup when the callee's phone is ringing. You should hear a ringback tone after receiving this response.
How to Fix
No fix needed — the callee's device is ringing. If the call never connects after ringing, check the callee's device or call forwarding settings.
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
180 is a 1xx Provisional response, while 489 is a 4xx Client Failure response.
SIP 180: The UA receiving the INVITE is trying to alert the user. This response is used to initiate local ringback tone at the caller's end.
SIP 489: The server did not understand the event package specified in the Event header of a SUBSCRIBE request.
You encounter 180 when during call setup when the callee's phone is ringing. You should hear a ringback tone after receiving this response.
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 180 (Ringing): No fix needed — the callee's device is ringing. If the call never connects after ringing, check the callee's device or call forwarding settings. For 489 (Bad Event): Check which event packages the server supports (OPTIONS request) and use a supported event package name.