Documentation

Documentation.Interface-Events-1-7 History

Hide minor edits - Show changes to output

August 05, 2013, at 04:22 PM by 109.99.235.212 -
Changed line 4 from:
[- Page for other versions: [[Interface-Events|devel]] [[Interface-Events-1-9|1.9]] [[Interface-Events-1-8|1.8]] old versions: 1.7 -]
to:
(:allVersions Interface-Events 1.7 :)
May 29, 2013, at 01:16 PM by razvancrainea -
Changed lines 13-14 from:
to:
----
Changed lines 17-67 from:
!!!! Overview
to:
!!!! Overview

In order to notify an external application about OpenSIPS internal events, the '''Event Interface''' provides the following functions:
# manages exported events
# manages subscriptions from different applications
# exports generic functions to raise an event (regardless the transport protocol used)
# sends the event packed in a datagram


----

!!!! Events

There are several types of events that can be exported by OpenSIPS:
* '''Core events''' - internal events that trigger changes of OpenSIPS core/global behavior. A full list of exported core events can be found [[Documentation.Interface-CoreEvents-1-7 | here]].
* '''Modules events''' - events triggered by each module, when loaded. Each module can export zero, one or more events.
* '''Custom events''' - triggered from script using the [[Documentation.Script-CoreFunctions-1-7#raise_event | raise_event()]] command.

----

!!!! Transport Protocols

External applications can be notified about the events triggered using various transport protocols. While the interface itself is provided by OpenSIPS core, each transport protocol is implemented by a separate OpenSIPS module. Currently, in this version there is only one transport protocol available (but many others pending):

* [[http://www.opensips.org/html/docs/modules/1.7.x/event_datagram | event_datagram ]] - sends Datagrams over UDP or UNIX sockets

An external application can subscribe to any of the exported module and can be notified using any of the loaded transport modules/protocols.

----

!!!! Events Subscription

Currently, an external application can only subscribe to an event using the [[Interface-CoreMI-1-7#event_subscribe | event_subscribe]] MI command.

----

!!!! Examples

In order to configure a RabbbitMQ server to be notified when a custom event is triggered, first you have to subscribe it to the event through MI, by sending a [[Interface-CoreMI-1-7#event_subscribe | event_subscribe]] command.

[@
# opensipsctl fifo event_subscribe E_SCRIPT_CUSTOM_EVENT udp:127.0.0.1:8888
@]

Then, in order to trigger the event from the script, call the [[Documentation.Script-CoreFunctions-1-7#raise_event | raise_event()]] command when needed:

[@
....
raise_event("E_SCRIPT_CUSTOM_EVENT"); # raises an event without any parameters
...
@]
May 29, 2013, at 11:30 AM by 109.99.235.212 -
Added lines 1-16:
!!!!!Documentation -> [[Documentation.Manuals|Manuals]] -> [[Documentation.Manual-1-7|Manual 1.7]] -> Events Interface
(:title Events Interface - ver 1.7 :)
----
[- Page for other versions: [[Interface-Events|devel]] [[Interface-Events-1-9|1.9]] [[Interface-Events-1-8|1.8]] old versions: 1.7 -]

\\

|| %color=#185662%[+'''Events Interface v1.7'''+]%% ||

||[[Interface-CoreMI-1-7|Prev]] || [[Interface-CoreEvents-1-7|Next]]||
----


The '''Events Interface''' is an OpenSIPS interface that provides different ways to notify external applications about certain events triggered inside OpenSIPS.

!!!! Overview

Page last modified on August 05, 2013, at 04:22 PM