Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Real-Time Communications
  3. NkSIP

NkSIP

Apache-2.0Erlang

An Erlang SIP application server framework for building robust and scalable server-side SIP applications like proxies, registrars, and B2BUAs.

GitHubGitHub
364 stars129 forks0 contributors

What is NkSIP?

NkSIP is an Erlang SIP application server framework that facilitates building server-side SIP applications such as proxies, registrars, and B2BUAs. It abstracts SIP complexity while allowing full control over requests and responses, enabling developers to create scalable and robust telephony solutions. The framework supports multiple transports and includes a plugin system for extensibility.

Target Audience

Erlang developers and engineers building SIP-based telephony infrastructure, including proxies, session border controllers, and real-time communication servers.

Value Proposition

Developers choose NkSIP for its Erlang-based concurrency and fault tolerance, which ensure high scalability and reliability. Its plugin mechanism and hot upgrade capabilities allow for flexible, maintainable deployments without downtime.

Overview

Erlang SIP application server

Use Cases

Best For

  • Building SIP proxy servers with serial or parallel forking
  • Developing Session Border Controllers (SBCs) for VoIP networks
  • Creating registrar servers for SIP user registration
  • Implementing Back-to-Back User Agents (B2BUAs) for call control
  • Generating SIP load for testing and performance benchmarking
  • Developing scalable SIP application servers with hot code upgrades

Not Ideal For

  • Teams not using Erlang or unfamiliar with Erlang/OTP concurrency models
  • Projects needing a pre-built, out-of-the-box SIP server with minimal configuration
  • Applications requiring extensive graphical user interfaces or web-based management tools
  • Small-scale, static deployments where hot upgrades and high scalability add unnecessary complexity

Pros & Cons

Pros

Full SIP Method Support

Implements all SIP methods like INVITE, REGISTER, and OPTIONS as UAC, UAS, or Proxy, enabling versatile server applications such as proxies and B2BUAs.

Multi-Transport Scalability

Supports UDP, TCP, TLS, SCTP, WS, and WSS transports, handling thousands of simultaneous sessions and automatically utilizing all processor cores for high performance, as noted with 3,000+ call cycles per second.

Extensible Plugin Architecture

Features a low-overhead plugin mechanism for adding functionality like authentication and event handling without modifying the core, reducing development overhead.

Hot Code Upgrades

Allows on-the-fly configuration, code upgrades, and behavior changes without downtime, leveraging Erlang's runtime for zero-duration maintenance.

Cons

Erlang Expertise Required

Demands proficiency in Erlang and OTP, which has a steeper learning curve compared to more common languages, limiting accessibility for non-Erlang developers.

Testing Instability

The README admits that Travis CI fails sometimes due to timers, indicating potential reliability issues in continuous integration and testing environments.

Limited Out-of-the-Box Features

Core functionality requires implementing callback modules or using plugins, which can be complex for simple use cases, despite sane defaults.

Frequently Asked Questions

Quick Stats

Stars364
Forks129
Contributors0
Open Issues6
Last commit2 years ago
CreatedSince 2013

Tags

#telephony#sip#session-border-controller#proxy-server#voip#real-time-communication#b2bua#erlang#application-server

Built With

E
Erlang

Included in

Real-Time Communications471
Auto-fetched 9 hours ago

Related Projects

ersipersip

Erlang SIP

Stars130
Forks28
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub