SIP has been the extension used for the purpose of event notification. A user or resource subscribes to another resource that has an event of interest and receives notifications of the state and any changes in such an event.
The SIP SUBSCRIBE method is used for subscription while the NOTIFY method is used to deliver notifications of any changes to an event.
[RFC3265] is the IETF paper that documents this extension. It is a framework that describes subscriptions and notifications in a generic manner and provides rules for creating SUBSCRIBE requests and NOTIFY requests. It also describes the behaviour of subscribers when sending and receiving subscription requests, as well as notifiers' behaviour when receiving subscription requests and sending notifications.
The event notification framework also introduces new SIP headers and response codes, along with the SUBSCRIBE and NOTIFY methods:
Event header – this identifies the event to which a subscriber is subscribing for notifications.
Allow-Events header – this indicates to the receiver that the sender of the header understands the event notification framework. The tokens present in the header indicate the event packages that it supports.
Subscription-State header – this indicates the status of a subscription. "Active", "pending" and "terminated" are the three defined subscription states. This header also carries the reason for a subscription state: "deactivated", "probation", ...