Skip to content

Plugins

Scott Godin edited this page Jan 29, 2021 · 2 revisions

Plugins are supported for the repro SIP proxy component of reSIProcate.

There are currently two supported plugin mechanisms:

  • developing plugins in C++: the plugins can then act on messages as they pass through the various stages of the request processing chain. This API is useful for C++ developers, particularly those who want to link to other libraries or develop custom routing logic without recompiling the whole stack.
  • developing plugins in Python: this is currently a more trivial API that simply allows a user-supplied Python script to view the request URI and other message parameters, including any cookies from a WebSocket transport and supply alternative request URIs. This API is useful for people who are not comfortable with C++ programming or who want to write some basic routing script without the inconvenience of setting up a development environment and compiling the code manually each time they change the routing logic.

Examples

Look in the https://svn.resiprocate.org/viewsvn/resiprocate/main/repro/plugins/ repro/plugins directory of the source tree for examples and details.

Getting started quickly

For C++ plugin development, a very quick way to get started is to fork the https://github.com/resiprocate/repro-plugin-example standalone example plugin project on github

Clone this wiki locally