A pure Erlang library implementing SIP and SDP protocols with RFC compliance and minimal dependencies.
Erlang SIP (ersip) is an Erlang library that implements the Session Initiation Protocol (SIP) and Session Description Protocol (SDP) standards. It provides the fundamental building blocks for creating SIP-based applications like proxies, registrars, and user agents while maintaining strict RFC compliance. The library focuses on pure functions and minimal dependencies, making it suitable for building custom telephony and real-time communication systems.
Erlang developers building SIP-based telephony infrastructure, VoIP systems, or real-time communication servers who need RFC-compliant protocol handling without framework overhead.
Developers choose ersip for its pure functional approach, comprehensive RFC support, and minimal dependencies—allowing complete control over SIP application architecture without being locked into a specific framework or runtime.
Erlang SIP
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements core SIP RFCs including 3261 and 3262, and validated against torture tests like RFC 4475, ensuring reliable interoperability with other SIP systems.
Built entirely with pure Erlang functions without supervisors or servers, simplifying testing, debugging, and code reasoning for protocol logic.
Zero external dependencies for core functionality, reducing deployment complexity and avoiding potential version conflicts in Erlang environments.
Provides low-level parsing, transaction handling via ersip_trans, and modular components like ersip_uas and ersip_proxy for building custom SIP solutions.
Key features such as INVITE dialog support and high-level user agent functionality are listed as pending in the roadmap, limiting ready-to-use capabilities for end-user applications.
The roadmap notes 'Detailed documentation and tutorials' are still pending, which can hinder onboarding and advanced implementation without deep SIP expertise.
By avoiding OTP supervisors and servers, developers must manually implement fault tolerance and concurrency management, adding overhead for production systems.