- Full support for all curently defined SIP methods: INVITE, ACK, REGISTER, OPTIONS, INFO, UPDATE, PRACK, SUBSCRIBE, NOTIFY, REFER, PUBLISH and MESSAGE, as an UAC, an UAS or and Proxy.
- Can be used to very easily develop any possible SIP application: endpoints, stateful proxies with serial and parallel forking, stateless proxies, B2BUAs, application servers, registrars, SBCs, load generators, etc.
- Transports UDP, TCP, TLS, SCTP, WS and WSS (websockets) are available, all of them capable of handling thousands of simultaneous sessions.
- Full SIP Event support.
- A written from scratch, fully typed 100% Erlang code with few external dependencies.
- Robust and highly scalable, using all available processor cores automatically.
- More than 150 tests covering nearly all of the functionality.
- Sophisticated plugin mechanism, that adds very low overhead to the core.
- Hot, on-the-fly core and application configuration and code upgrades.
- IPv6 support and IPv4 <-> IPv6 bridge.
- Full support for NAPTR and SRV location, including priority and weights.
- Dialog and SDP processing utility functions, including media start and stop detection.
- Digest Authentication.
- Registrar Server and Automatic Registrations.
- Event State Compositor.
- Reliable provisional responses.
- Session Timers
- SIP REFER.
- Outbound and GRUU.
- Trace and Statistics.
In the current version the following RFCs are fully implemented (see notes):
RFC | Description | Notes |
---|---|---|
RFC2617 | Digest authentication | |
RFC2782 | DNS SRV | |
RFC2915 | DNS NAPTR | |
RFC2976 | INFO | |
RFC3261 | SIP 2.0 | |
RFC3262 | Reliable provisional responses | |
RFC3263 | Locating SIP Services | |
RFC3264 | Offer/Answer Model | |
RFC3265 | Event Notification | |
RFC3311 | UPDATE | |
RFC3326 | Reason | |
RFC3327 | Registering Non-Adjacent Contacts | path |
RFC3428 | MESSAGE | |
RFC3515 | REFER | |
RFC3581 | RPort | |
RFC3608 | Service-Route | |
RFC3903 | PUBLISH | |
RFC4168 | SCTP Transport | No TLS-SCTP |
RFC4475 | Torture Tests | Included in unit tests |
RFC4566 | SDP | Only parser and generator |
RFC5057 | Multiple Dialogs | |
RFC5118 | IPv6 Torture Tests | Included in unit tests |
RFC5389 | STUN | Basic STUN client and server (no IPv6) |
RFC5626 | Outbound | |
RFC5627 | GRUU | |
RFC6026 | 2xx responses | |
RFC6157 | IPv6 Transition | |
RFC6665 | Event Notification | Obsoletes 3265. GRUU support pending |
RFC7118 | SIP over Websockets | Client and server support |