Documentation |
Documentation.Interface-Events-1-7 HistoryHide minor edits - Show changes to output August 05, 2013, at 04:22 PM
by
- 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
- 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
- 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 |