VoIP Research

article

Open Source VOIP Software

Open Source VOIP applications, both clients and servers.

SIP Proxies

  • Sip I/O Lightweight sip proxy, location server, and registrar
  • SBO SIP Proxy Bypass All types of Internet Firewall
  • JAIN-SIP Proxy
  • Mini-SIP-Proxy A very tiny perl POE based SIP proxy
  • MjServer cross-platform SIP proxy/registrar/redirect, written in java, based on MjSip stack
  • MySIPSwitch SIP Proxy server which allows using multiple SIP accounts with a single SIP login
  • Net-SIP A Perl SIP framework that includes a stateless proxy
  • OpenJSIP Opensource distributed standalone SIP proxy, SIP registrar, SIP location service run by Java VM. Based on NIST SIP and derived from JAIN-SIP Proxy.
  • OpenSBC: MPL licensed SIP proxy/registrar/B2BUA with NAT traversal and ENUM
  • OpenSER: GPL SIP Server with TLS support – renamed to Kamailio
  • OpenSIPS forked from OpenSER.
  • Partysip SIP proxy server
  • repro from the reSIProcate project fully implements Federated VoIP and has a built-in web UI for quick setup
  • SaRP SIP and RTP Proxy in Perl
  • SIP Express Router (SER): the SIP router/proxy/jack-in-all-trades from IPtel.org
  • Siproxd SIP and RTP Proxy
  • SIPVicious tool suite: tools for auditing sip devices
  • sipX The SIP PBX for Linux: Complete, native SIP PBX solution for business
  • VOCAL SIP softswitch with H.323 and MGCP translators for non-SIP endpoints
  • Yxa Written in the Erlang programming language
  • CRM INtegration Proxy Open Source program writen on java. based on MJ SIP lib Proxy for Call-Centers solutions
  • Clearwater – open source IMS (IP Multimedia Subsystem) implementation designed for massively scalable deployment in the Cloud – SIP routing components built on PJSIP
  • Yeti Opensource SBC with integrated routing subsystem and billing. Designed as high performance and clustered wholesale platform. Yeti supports media proxying with transcoding, SIP protocol normalization, flexible call rerouting and interaction with LNP databases. Rich CDRs allow to find any protocol issues without manual work.

SIP Clients (UA’s)

Android clients:

  • Lumicall is a heavily enhanced derivative of SIPdroid, adding support for ZRTP, SRTP, ENUM, ICE/TURN
  • SIPdroid is a basic SIP dialer for Android, based on the MjSIP stack in Java
  • ENUMdroid is an ENUM lookup tool for Android’s dialer, it relies on the user having some other softphone installed to make the call over SIP or Jabber
  • Sipmobile is an opensource VoIP client for Android. Supports OPUS and VP8 codecs, Google push notifications, picture sharing. Setting are optimized for use with sipmobile.org domain. Can be used with another proxies.

Linux clients:

  • SBO Multipath with Integrated SyncSwitch– Linux based SIP Solution.
  • Baresip Portable SIP useragent with Video support
  • Blink: It supports wideband VoIP (Opus codec), Chat, File Transfer and Multiparty conferencing based on MSRP protocol
  • Cockatoo
  • Ekiga || SIP, H.323 audio and video softphone for various linux, solaris, windows, and various unix systems. Formerly GnomeMeeting
  • Jitsi (formerly SIP Communicator) Audio/Video phone and messenger with end-to-end encryption through ZRTP – Multiplatform – Open Source (also supports XMPP, MSN, AIM, Yahoo! and others).
  • KPhone
  • Homer – live conferencing and more: free cross-platform video conferencing software, supporting unlimited amount of participants in a video/audio conference
  • Linphone audio and video SIP softphone for Linux and Windows XP
  • minisip cross-platform SIP softphone, Linux, Windows XP and soon Windows Mobile 2003 SE
  • MUVConf cross-platform SIP multi-user video conference. See demo video. Download from code.google.com
  • MjUA: simple cross-platform SIP softphone, written in java, based on MjSip stack
  • Open IP Phone Business IP Phone sdk support, ims compliant, good interoperability.
  • OpenSIPStack MPL licensed SIP stack with ENUM, Presence (XMPP/SIMPLE) and NAT traversal. Reference implementation of Session Border Controller (OpenSBC) available.
  • OpenSoftphone: A simple Java based SIP softphone using the PjSip-jni wrapper.
  • OpenZoep: GPL telephone and IM messaging client engine
  • Peers Minimalist SIP softphone written in java (tested on linux and windows)
  • PJSUA: Command line SIP UA with SIMPLE, IM, call transfer, RTCP/RTCP, etc.
  • SFLphone, open-source multiplatform multi-protocol VoIP client
  • SipToSis from mhspot.com Skype SIP UA – Multiplatform – Open Source
  • sipXezPhone (“sipX easy phone”) from SIPfoundry based on sipXtapi
  • sipXphone from SIPfoundry, previously known as the Pingtel phone
  • Twinkle
  • YateClient is multiprotocol and multiplatform softphone with H.323, SIP, Jingle and IAX support.
  • CRM Integration Client Open Source program writen on java. based on MJ SIP and SIP-Communicator for Call-Centers solutions

MacOS X clients:

  • Blink: It supports wideband VoIP, Instant Messaging, File Transfer and Desktop Sharing based on MSRP
  • Jitsi (formerly SIP Communicator) Audio/Video phone and messenger with end-to-end encryption through ZRTP – Multiplatform – Open Source (also supports XMPP, MSN, AIM, Yahoo! and others).
  • PJSUA: Command line SIP UA with SIMPLE, IM, call transfer, RTCP/RTCP, etc.
  • SFLphone, open-source multiplatform multi-protocol VoIP client
  • SipToSis from http://www.mhspot.com Skype SIP UA – Multiplatform – Open Source
  • Telephone: A SIP softphone designed for the Mac. Very good integration with Mac OSX : Dial from Addressbook, dial tel: URIs from Safari, notifications with Growl.

Windows clients

  • Blink: It supports wideband VoIP (Opus codec), Chat, File Transfer and Multiparty conferencing based on MSRP protocol
  • Ekiga || SIP, H.323 audio and video softphone for various linux, solaris, windows, and various unix systems. Formerly GnomeMeeting
  • Homer – live conferencing and more: free cross-platform video conferencing software, supporting unlimited amount of participants in a video/audio conference
  • Jitsi (formerly SIP Communicator) Audio/Video phone and messenger with end-to-end encryption through ZRTP – Multiplatform – Open Source (also supports XMPP, MSN, AIM, Yahoo! and others).
  • JPhone Rich software SDK support softphone development, Windows, Linux, ThreadX, Vxworks etc.
  • Linphone audio and video SIP softphone for Linux and Windows XP
  • MicroSIP: lightweight SIP softphone based on PJSIP stack for Windows OS written in C++. SIMPLE IM and Presense.
  • minisip cross-platform SIP softphone, Linux, Windows XP and soon Windows Mobile 2003 SE
  • MUVConf cross-platform SIP multi-user video conference. See demo video. Download from code.google.com
  • MjUA: simple cross-platform SIP softphone, written in java, based on MjSip stack
  • OfficeSIP Softphone GPL audio-video softphone.
  • OpenSIPStack MPL licensed SIP stack with ENUM, Presence (XMPP/SIMPLE) and NAT traversal. Reference implementation of Session Border Controller (OpenSBC) available.
  • OpenSoftphone: A simple Java based SIP softphone using the PjSip-jni wrapper
  • OpenZoep: GPL telephone and IM messaging client engine
  • Peers Minimalist SIP softphone written in java (tested on linux and windows)
  • PJSUA: Command line SIP UA with SIMPLE, IM, call transfer, RTCP/RTCP, etc.
  • SipToSis from mhspot.com Skype SIP UA – Multiplatform – Open Source
  • sipXezPhone (“sipX easy phone”) from SIPfoundry based on sipXtapi
  • sipXphone from SIPfoundry, previously known as the Pingtel phone
  • tSIP Portable, BSD-licensed softphone with BLF, call recording, customizable keypad and shortcuts, browser integration. Based on re/rem/baresip.
  • wxCommunicator Windows softphone based on sipXtapi and wxWidgets 2.8.x, multi-account, conferencing, NAT support

Platform independent clients

SIP tools

  • Callflow: Generates SIP Call Flow diagrams
  • miTester for SIP: SIP testing tool; Automates test execution.
  • Open Source Asterisk AMI: Open Source Asterisk AMI interface application
  • pjsip-perf: SIP transaction and call performance measurement tool
  • PROTOS Test-Suite: SIP Testing tools
  • SFTF: SIP Forum Test Framework – a SIP UA test suite primarily targeted at UA software developers hosted by SIPfoundry
  • SIPbomber: SIP proxy testing tool
  • SIPInspector – SIP Inspector is a tool written in JAVA to simulate different SIP messages and scenarios. You can create your own SIP signaling scenarios, customize SIP messages and monitor incoming and outgoing messages. The tool can play RTP streams from a pcap file. Transport protocols: UDP, TCP, websocket
  • Sipp: SIP performance tester
  • Sipper: SIPr (called Sipper) is an open source and a comprehensive SIP application testing framework. Generate any call flow in minutes.
  • SIP Proxy: SIP security testing tool.
  • Sipsak: SIP testing tool
  • SIP Soft client: Software development kit for SIP Softphone
  • SIPVicious tool suite: tools for auditing SIP devices
  • Vovida.org load balancer: SIP Load Balancer

SIP Protocol Stacks and Libraries

  • Aloha Spring based J2SE SIP A/S which leverages optimistic concurrent model and supports multiple persistence models
  • eXosip – eXtended osip library
  • JVoIP – compact SIP library for Java
  • libdissipate SIP stack
  • Libre – Portable SIP Stack under BSD license with IPv4/v6 support (SIP,SDP,RTP/RTCP,STUN,TURN,ICE,DNS)
  • minisip includes a SIP stack
  • MjSip – complete and powerful java-based SIP library for both J2SE and J2ME platforms.
  • MSRP Library – MSRP protocol (RFC4975) and its relay extension (RFC4976) written in Python
  • NIST SIP Various SIP appications and tools in Java
  • Open Sip Stack MPL licensed SIP stack with ENUM, Presence (XMPP/SIMPLE) and NAT traversal. Reference implementation of Session Border Controller (OpenSBC) available.
  • oSIP Library SIP Library
  • PhClickDial – Verona based Active/X plugin for IE allowing ClickToDial functionallity
  • PJSIP: Small footprint, high performance, and ultra-portable SIP stack written in C, and has language binding for Python. Works on smartphones (Symbian, Windows, iPhone/iOS, Android) as well as desktops and support ZRTP encryption.
  • reSIProcate SIP stack and sample Application from SIPfoundry
  • SailFin Adds SIP support the the Java GlassFish Application Server
  • SIP.js – SIP Signaling JavaScript Library for WebRTC Developers
  • sipXtackLib an RFC 3261, 3263 complient SIP stack from SIPfoundry
  • http://sofia-sip.sourceforge.net Sofia-Sip is SIP stack implementation with STUN and presense support
  • SIP SIMPLE client SDK – High level middleware on top of SIP, RTP, MSRP and XCAP protocols
  • Twisted Python protocol stacks and applications includes SIP support
  • Verona – GPL licenesed VOIP engine based on oSIP,eXosip,oRTP,ffmepg, works on Linux,Windows Mac-OS/X
  • VOVIDA SIP Vovida SIP stack
  • XCAP Library – XCAP client library written in Python
  • YASS – Statefull SIP stack used in YATE written in C++ usable for client, server or proxy in a multithread or single thread model. It’s working on both Windows and Linux, it’s very small but full featured.
  • ivrworx – high level Lua interface to SIP/RTSP/MRCP, for testing distributed VoIP scenarios (windows, Vista+ clients).

TURN servers and RTP Proxies

RTP Protocol Stacks

  • ccRTP C++ library based on GNU Common C++
  • JRTPLIB C++ object oriented RTP library
  • libRTP part of gnome-o-phone
  • LIVE.COM Streaming Media includes C++ RTP stack
  • oRTP Written in C, running on linux, win32 and arm-linux.
  • PJMEDIA: Small footprint media stack with a tiny RTP/RTCP stack suitable for DSP or embedded deployment
  • RTPlib C library
  • sipXmediaLib RTP + audio bridges, audio splitters, echo suppression, tone from generation (e.g. DTMF), streaming support, RTCP, G711 codecs, etc. from SIPfoundry
  • Secure RTP – see: SRTP
  • OpenTelecoms.org ZRTP stack implements ZRTP in Java, for Android, J2SE and Blackberry, used in the Lumicall dialer for Android
  • YRTP – YATE RTP stack, that can be used in other projects.
  • zrtp4j – ZRTP stack for Java, based on GNU ZRTP, used in Jitsi (formerly SIP Communicator)

MSRP Relays

PBX platforms

Some of these include SIP proxy functionality

IVR / Voice Mail platforms

  • Asterisk: Open Source PBX with built-in IVR server
  • Bayonne: GNU project IVR server
  • Elastix Unified Communications distro supporting IVR capabilities
  • ICTDialer An Open Source smart autodialer software bundled with graphical IVR Designer tools.
  • OpenVXI: Implementation of VoiceXML
  • sems: Free/Open Source SIP media server with IVR capabilities
  • sipX PBX The SIP PBX for Linux (open source) with built-in IVR (voice mail & auto-attendant)
  • YATE Yet Another Telephony Engine
  • Elastix Unified Communications distro supporting Voicemail capabilities
  • Lintad: Linux Telephone Answering Device – A Voice and Faxmail Server
  • OpenUMS: Linux Voicemail and Unified Messaging Server
  • VOCP: A Voicemail Server for voice modems
  • See Also: VoiceXML

Voice broadcasting platform

  • Newfies-Dialer Open Source Autodialer & Voice Broadcasting Solution – Multi-Tenant system comprising Auto-dialer, survey tool, extension dialing (press 1 campaign), voice recording and Do Not Call, with white labeling, SMS and AMD available.
  • ICTDialer Is an Open Source unified communications autodialer and broadcasting software application supporting voice, sms, fax broadcasting.

Speech

Text-to-speech and speech-to-text (voice recognition)

  • Festival: Voice synthesis system (implemented with a trainable neural network)
  • OpenSALT: Implementation of SALT
  • OpenVXI: Implementation of VoiceXML
  • Sphinx: speaker-independent speech recognizer
  • UniMRCP: cross-platform MRCP client and server

SMS solutions

  • jSMPP: low-level Java API for SMPP, the protocol for SMS gateways on the Internet
  • SMS Router: server process for handling interchange of SMS messages between an SMPP gateway and local applications using JMS, STOMP, SIP, XMPP, email and REST

Fax Servers

  • Elastix Unified Communications distro supporting FAX and Virtual FAX capabilities
  • ICTFAX, is an Open Source Foip Software featuring email to fax , fax to email and web to fax based on freeswitch and ICTCore Communication Framework.
  • Lintad: Linux Telephone Answering Device – A Voice and Faxmail Server
  • Hylafax

Development platforms, protocol stacks

  • Adhearsion: High-level, highly productive backend telephony development framework based on Asterisk. Written in Ruby.
  • IVR for Skype: Open Source example in C#. No hardware required.
  • OpenBloX: OpenBloX Open Source Java Diameter framework with all IMS and SIP servers interfaces; maintained by Traffix Systems,
  • OpenMGCP: Open Source MGCP Protocol Stack Developed with C and POSIX APIs,
  • OpenSS7: SS7 Protocol Stack
  • ++Skype C++ library for Skype add-on platform independent software development. It is platform independent, easy to use, and easy to extend because of the flexible library design, inspired by modern C++ design ideas. Performance is one of the goals.

Radius Servers

  • Aradial: Radius server and Billing for VoIP
  • BSDRadius: Radius server for VoIP
  • Interlink RADIUS Server RADIUS Server Software
  • RadBox RADIUS Server + Billing System. (For a work, you nead instal Framework 2.0)

Billing

  • See Open Source Billing Systems
  • BillRun BillRun – – Open Source Billing Solution, designed for Big Data
  • Yeti Opensource wholesale platform with integrated SIP SBC, billing and routing subsystems.

Codecs

Middleware

  • Ernie: Open Source Python based applications platform for VoIP and presence based applications
  • Mobicents: The most popular Open Source Service Logic Execution Environment (JSLEE) and SIP Application Server for the Java platform.
  • TALK: Web based CTI Solution (AJAX client) which provides call control, presence and directorty features.

CTI Dialer utilities

  • Asterisk phonebook A common shared phone book directory for Asterisk PBX
  • TALK Powerful directory management and scalable architecture to create Click to call or Select and Dial applications + AJAX libraries to implement these features in your web site.

See Also