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.
Look in the [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 [standalone example plugin project on github]