Table of Contents
List of Tables
List of Examples
The event_virtual module provides the possibility to have multiple external applications, using different transport protocols, subscribed to the OpenSIPS Event Interface as a single virtual subscriber, for a specific event. When an event is triggered, the event_virtual module notifies the specified transport modules using one of the following policies:
PARALLEL - all subscribers (applications) are notified at once
FAILOVER - for every event raised, try to notify the subscribers, in the order in which they are given, until the first successful notification. A failed subscriber is skipped for further notifications until the failover_timeout passes.
ROUND-ROBIN - for every event raised, notify the subscribers alternatively, in the order in which they are given (for each raised event notify a different subscriber)
Only one expire value can be used (for the whole virtual subscription), and not one for each individual subscriber.
virtual:policy subscriber_1 [[subscriber_2] ...]
Meanings:
virtual: - informs the Event Interface that the events sent to this subscriber should be handled by the event_virtual module
policy - subscriber notification policy, can have one of the following values: 'PARALLEL', 'FAILOVER', 'ROUND-ROBIN' (with the behaviour described above)
!! Important: Policies must always be specified as uppercase strings!
subscriber_1 - use the socket syntax for this specific subscriber (eg. "rabbitmq:guest:guest@127.0.0.1:5672/pike")
The following libraries or applications must be installed before running OpenSIPS with this module loaded:
none
Table 2.1. Top contributors by DevScore(1), authored commits(2) and lines added/removed(3)
Name | DevScore | Commits | Lines ++ | Lines -- | |
---|---|---|---|---|---|
1. | Vlad Patrascu (@rvlad-patrascu) | 22 | 10 | 1057 | 125 |
2. | Liviu Chircu (@liviuchircu) | 8 | 6 | 39 | 36 |
3. | Razvan Crainea (@razvancrainea) | 6 | 4 | 4 | 2 |
4. | Maksym Sobolyev (@sobomax) | 4 | 2 | 3 | 4 |
5. | Bogdan-Andrei Iancu (@bogdan-iancu) | 3 | 1 | 3 | 2 |
6. | Peter Lemenkov (@lemenkov) | 3 | 1 | 1 | 1 |
(1) DevScore = author_commits + author_lines_added / (project_lines_added / project_commits) + author_lines_deleted / (project_lines_deleted / project_commits)
(2) including any documentation-related commits, excluding merge commits. Regarding imported patches/code, we do our best to count the work on behalf of the proper owner, as per the "fix_authors" and "mod_renames" arrays in opensips/doc/build-contrib.sh. If you identify any patches/commits which do not get properly attributed to you, please submit a pull request which extends "fix_authors" and/or "mod_renames".
(3) ignoring whitespace edits, renamed files and auto-generated files
Table 2.2. Most recently active contributors(1) to this module
Name | Commit Activity | |
---|---|---|
1. | Maksym Sobolyev (@sobomax) | Feb 2023 - Feb 2023 |
2. | Liviu Chircu (@liviuchircu) | May 2016 - Dec 2021 |
3. | Vlad Patrascu (@rvlad-patrascu) | Jul 2015 - Jul 2020 |
4. | Razvan Crainea (@razvancrainea) | Aug 2015 - Sep 2019 |
5. | Bogdan-Andrei Iancu (@bogdan-iancu) | Apr 2019 - Apr 2019 |
6. | Peter Lemenkov (@lemenkov) | Jun 2018 - Jun 2018 |
(1) including any documentation-related commits, excluding merge commits
Last edited by: Vlad Patrascu (@rvlad-patrascu), Liviu Chircu (@liviuchircu), Peter Lemenkov (@lemenkov).
Documentation Copyrights:
Copyright © 2015 www.opensips-solutions.com