dracht.io
dracht.io is an application framework that is designed to let node.js developers easily integrate Voice-over-IP (VoIP) features into their applications using familiar middleware patterns.
The dracht.io architecture consists of the following components:
- drachtio-server - A high-performance, resilient SIP user agent that can be controlled by one or more client applications over a TCP network connection. The drachtio-server is written in C++ and is based on the open source sofia sip stack that is used in Freeswitch
- drachtio-client - Low-level javascript library that provides abstraction for SIP request and response processing.
- drachtio-connect - Higher-level framework designed to offer familiar middleware patterns to web application developers, enabling them to easily incorporate VoIP features into their applications.
drachtio-client
drachtio-client is a low-level framework that is intended to be used in conjunction with drachtio-connect middleware. This document describes the drachtio-client feature set and API, but the reader is encouraged to review the drachtio-connect library as well. Generally speaking, a developer will interact with the dracht.io framework through the higher-level drachtio-connect middleware framework rather than directly through drachtio-client, although it is important to know how to create a client and to be familiar with the basic API and objects provided by this library.
dracht.io lets you build all sorts of SIP applications: SIP proxies, user agent clients and servers, back-to-back user agents, registrars, and more.
Here is an example showing how to create a simple SIP proxy server:
//require the drachtio client-side agent, and create an instance of itvar Agent = Agent ;var agent = handler ; //connect to a drachtio serveragent ; //tell agent which messages we want to receiveagent ;agent ; //now handle incoming messages { if reqmsgmethod === 'INVITE' req ; }