https://github.com/muverum/sipengine
SIP processing engine that allows processing of messages concurrently based on a pipeline of functions
https://github.com/muverum/sipengine
sip sipproxy
Last synced: 3 months ago
JSON representation
SIP processing engine that allows processing of messages concurrently based on a pipeline of functions
- Host: GitHub
- URL: https://github.com/muverum/sipengine
- Owner: muverum
- License: mit
- Created: 2020-05-13T02:15:15.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2021-04-13T03:06:41.000Z (about 5 years ago)
- Last Synced: 2023-03-04T11:54:03.151Z (over 3 years ago)
- Topics: sip, sipproxy
- Language: Go
- Size: 57.6 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SipEngine

SipEngine is a go-based take on the traditional SIP proxy (FreeSwitch, OpenSIPS). As
opposed to creating a lexed configuration language, this library can be imported
and implemented however you choose.
The engine itself takes a slice of `SIPStep` functions, which have a signature of
`func (message *Message) error`. You simply build your steps, put them into a slice
and they will execute against every message that comes in
## Exiting
There are scenarios where we want to abandon processing at an earlier stage. If you
return a `MessageTerminationError`, the engine will stop further processing. This does
mean, however, that you will still have to put your message onto the egress channel
for processing before returning that message.