From Fedora Project Wiki

 
(4 intermediate revisions by one other user not shown)
Line 10: Line 10:


You can help build a world of free communications based on secure, open standards by deploying SIP and XMPP on your Fedora and Red Hat servers.  See [http://www.opentelecoms.org/federated-voip-quick-start-howto the Federated VoIP quick start HOWTO] for details.
You can help build a world of free communications based on secure, open standards by deploying SIP and XMPP on your Fedora and Red Hat servers.  See [http://www.opentelecoms.org/federated-voip-quick-start-howto the Federated VoIP quick start HOWTO] for details.
== Desktop Integration ==
=== Click to call ===
''click-to-call'' is a pharse used for functionality when a desktop user initiates VoIP-call from desktop software. There are different use cases when this could happen:
* desktop application, that is linked to CLI binary with arguments: kaddressbook
* web browsers clicking href=tel: that either have a plugin or CLI-helper that is executed with arguments. Related documentation: [https://tools.ietf.org/html/rfc3966 rfc3966], [https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/PhoneLinks/PhoneLinks.html apple.com - phone links]
Second part to click-to-call is targeted phone system, wether that is nearby PBX (Asterisk), a local desktop softphone or hardphone (Cisco SOAP/XML, etc).


== Applications/Libraries of Interest ==
== Applications/Libraries of Interest ==
Line 20: Line 28:
* [http://www.gnugk.org/ gnugk] - H.323 gatekeeper
* [http://www.gnugk.org/ gnugk] - H.323 gatekeeper
** This may require importing OpenH323 from the old Fedora package into Fedora Package Collection because Fedora dropped OpenH323 once GnomeMeeting/Ekiga switched to Opal.
** This may require importing OpenH323 from the old Fedora package into Fedora Package Collection because Fedora dropped OpenH323 once GnomeMeeting/Ekiga switched to Opal.
* [http://sourceforge.net/projects/kphone/ kphone] interesting SIP-phone project for KDE that never had enough activity.
* [http://msrprelay.org/ MSRPRelay] - it helps in NAT traversal of media sessions between endpoints located behind NAT.
* [http://msrprelay.org/ MSRPRelay] - it helps in NAT traversal of media sessions between endpoints located behind NAT.
* [http://chatserver.ag-projects.com/ SIP chatserver] - an open source conference bridge that supports MSRP chat sessions.
* [http://chatserver.ag-projects.com/ SIP chatserver] - an open source conference bridge that supports MSRP chat sessions.
Line 25: Line 34:
* [http://www.opensourcesip.org:8080/clearspacex/community/opensbc OpenSBC] - hybrid SIP proxy and B2BUA
* [http://www.opensourcesip.org:8080/clearspacex/community/opensbc OpenSBC] - hybrid SIP proxy and B2BUA
* [http://www.opensipstack.org/ OpenSIPStack] - implementation of the Session Initiation Protocol
* [http://www.opensipstack.org/ OpenSIPStack] - implementation of the Session Initiation Protocol
* [http://www.pycall.org/ pycall] '' is a flexible python library for creating and using Asterisk call files.''
* [http://www.ipcom.at/index.php?id=560 QjSimple] - cross-platform SIP Client, is based on the pjsip SIP stack and the Qt GUI toolkit.
* [http://www.ipcom.at/index.php?id=560 QjSimple] - cross-platform SIP Client, is based on the pjsip SIP stack and the Qt GUI toolkit.
* [http://www.qutecom.org/ QuteCom] (former WengoPhone) - SIP compliant VoIP client
* [http://www.qutecom.org/ QuteCom] (former WengoPhone) - SIP compliant VoIP client
* [http://www.resiprocate.org reSIProcate] - comprehensive implementation of a SIP stack in C++, repro SIP proxy (with WebRTC support), reTurn ICE/STUN/TURN server, sipdialer (click to call) - supports IPv6, TLS, WebSockets, Python-based routing scripts, low-level and high-level programming APIs
* [http://www.resiprocate.org reSIProcate] - comprehensive implementation of a SIP stack in C++, repro SIP proxy (with WebRTC support), reTurn ICE/STUN/TURN server, sipdialer (click to call) - supports IPv6, TLS, WebSockets, Python-based routing scripts, low-level and high-level programming APIs
* [http://sflphone.org/ SFLphone] - the open-source enterprise-class SIP/IAX2 softphone
* [http://sflphone.org/ SFLphone] - the open-source enterprise-class SIP/IAX2 softphone (This project is now called ring. https://ring.cx/ It depends (among other things) on openDHT for which a review request was open some time ago: [[rhbug:1377762|1377762]])
* [http://sipsimpleclient.com/ SIP SIMPLE client] - a Python software library that allows for easy development of Internet communications end-points based on SIP and related protocols for voice, rich presence, session based instant messaging (IM), file transfers and desktop sharing.
* [http://sipsimpleclient.com/ SIP SIMPLE client] - a Python software library that allows for easy development of Internet communications end-points based on SIP and related protocols for voice, rich presence, session based instant messaging (IM), file transfers and desktop sharing.
* [http://sipxecs.sipfoundry.org/ sipXecs] - a SIP Unified Communications solution for your enterprise.
* [http://sipxecs.sipfoundry.org/ sipXecs] - a SIP Unified Communications solution for your enterprise.
Line 108: Line 118:
* [[Marionline]]
* [[Marionline]]
* [[User:Pocock|Daniel Pocock]]
* [[User:Pocock|Daniel Pocock]]
* [[Tuju]]


== General Issues ==
== General Issues ==

Latest revision as of 08:48, 2 February 2017

VoIP Special Interest Group

Mission

To package as many Voice over IP applications as possible for Fedora. To that end, members of this SIG will assist in packaging VoIP applications and make reviewing VoIP-related packages our priority.

Process

Want to suggest a VoIP application or library? Just add it to the Applications/Libraries of Interest list. Working on packaging a VoIP application or library, or need a review for your VoIP-related package? Just add it to the Applications/Libraries Being Packaged list. Interested in joining the SIG? Just add your WikiName to the list.

Federating VoIP and real-time communications with open standards

You can help build a world of free communications based on secure, open standards by deploying SIP and XMPP on your Fedora and Red Hat servers. See the Federated VoIP quick start HOWTO for details.

Desktop Integration

Click to call

click-to-call is a pharse used for functionality when a desktop user initiates VoIP-call from desktop software. There are different use cases when this could happen:

  • desktop application, that is linked to CLI binary with arguments: kaddressbook
  • web browsers clicking href=tel: that either have a plugin or CLI-helper that is executed with arguments. Related documentation: rfc3966, apple.com - phone links

Second part to click-to-call is targeted phone system, wether that is nearby PBX (Asterisk), a local desktop softphone or hardphone (Cisco SOAP/XML, etc).

Applications/Libraries of Interest

  • Asterisk-Addons
  • Asterisk-Sounds
  • Call Control - a prepaid application that can be used together with OpenSIPS call_control module and CDRTool rating engine to limit the duration of SIP sessions based on a prepaid balance. It can also be used to limit the duration of any session to a predefined maximum value without debiting a balance.
  • CDRTool - A set of utilities for working with call detail records
  • Druid - an open source web-based unified communications platform (based on Asterisk)
  • FreeSWITCH - an open source telephony platform.
  • gnugk - H.323 gatekeeper
    • This may require importing OpenH323 from the old Fedora package into Fedora Package Collection because Fedora dropped OpenH323 once GnomeMeeting/Ekiga switched to Opal.
  • kphone interesting SIP-phone project for KDE that never had enough activity.
  • MSRPRelay - it helps in NAT traversal of media sessions between endpoints located behind NAT.
  • SIP chatserver - an open source conference bridge that supports MSRP chat sessions.
  • minisip - SIP softphone
  • OpenSBC - hybrid SIP proxy and B2BUA
  • OpenSIPStack - implementation of the Session Initiation Protocol
  • pycall is a flexible python library for creating and using Asterisk call files.
  • QjSimple - cross-platform SIP Client, is based on the pjsip SIP stack and the Qt GUI toolkit.
  • QuteCom (former WengoPhone) - SIP compliant VoIP client
  • reSIProcate - comprehensive implementation of a SIP stack in C++, repro SIP proxy (with WebRTC support), reTurn ICE/STUN/TURN server, sipdialer (click to call) - supports IPv6, TLS, WebSockets, Python-based routing scripts, low-level and high-level programming APIs
  • SFLphone - the open-source enterprise-class SIP/IAX2 softphone (This project is now called ring. https://ring.cx/ It depends (among other things) on openDHT for which a review request was open some time ago: 1377762)
  • SIP SIMPLE client - a Python software library that allows for easy development of Internet communications end-points based on SIP and related protocols for voice, rich presence, session based instant messaging (IM), file transfers and desktop sharing.
  • sipXecs - a SIP Unified Communications solution for your enterprise.
  • Yxa - transaction stateful SIP stack and a set of SIP server applications
  • GreenJ - GreenJ is an open source Voice-over-IP phone software using pjsip and Qt
  • Homer conferencing - Homer is a free cross-platform SIP softphone, which also supports video conferencing. It can't be include in Fedora repository because it use ffmpeg. A review request is open on RPMFusion repository.
  • Jitsi - an audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, AIM/ICQ, Windows Live, Yahoo! and many other useful features.
  • Blink - Blink is the real-time communications client using SIP protocol. You can use it with many SIP providers, on the LAN using Bonjour and SIP2SIP free service.

Applications/Libraries already packaged

  • asterisk - Open Source PBX
  • asterisk-sounds-core - core sounds for Asterisk
  • callweaver (former OpenPBX) - GPL-only fork of Asterisk.
  • ccrtp - Common C++ class framework for RTP/RTCP
  • ekiga - A Gnome based SIP/H323 teleconferencing application
  • hylafax+ - An enterprise-strength fax server
  • iax - Implementation of Inter-Asterisk eXchange protocol
  • iaxclient- Library for creating telephony solutions that interoperate with Asterisk
  • isdn4k-utils - Utilities for configuring an ISDN subsystem.
  • jabbin- Jabber and VoIP client (fork of well-known Psi)
  • jrtplib - C++ RTP library
  • kannel - WAP and SMS gateway
  • libeXosip2 - A library that hides the complexity of using the SIP protocol.
  • libosip2 - oSIP is an implementation of SIP.
  • libpri - An implementation of Primary Rate ISDN
  • libss7 - SS7 protocol services to applications
  • libzrtpcpp - ZRTP support library for the GNU ccRTP stack
  • linphone - Linphone is an internet phone or Voice Over IP phone (VoIP).
  • mISDN - Userspace part of Modular ISDN stack
  • nagios-plugins-check_sip - A Nagios plugin to check SIP servers and devices
  • opal - Open Phone Abstraction Library
  • openser - Fork of well-known SER SIP Server with interesting new features
  • opensips - Open Source SIP Server
  • openxcap - open source, easy extensible, fully featured XCAP server with TLS security and support for multiple realms.
  • ortp - A C library implementing the RTP protocol (RFC3550)
  • python-sippy - B2BUA SIP call controlling component
  • resiprocate - reSIProcate SIP stack, repro SIP proxy (with WebRTC support), reTurn ICE/STUN/TURN server, sipdialer (click to call)
  • rtpproxy - RTP proxy server
  • sems - an extensible SIP media server
  • ser - SIP Express Router
  • sip-redirect - Tiny IPv4 and IPv6 SIP redirect server written in Perl
  • sipp - test tool and traffic generator for the SIP protocol
  • sipsak - SIP swiss army knife
  • sipwitch - SIP telephony server for secure phone systems
  • sofia-sip - Sofia SIP UA Library
  • spandsp - A DSP library for telephony
  • stun - implements the stun protocol
  • xisdnload - An ISDN connection load average display for the X Window System
  • zaptel - Tools and libraries for using/configuring/monitoring Zapata telephony interfaces

Packages for review

  • Mediaproxy - far-end NAT traversal solution for SER/OpenSER
    • Initial attempt to package it was made, but review request was closed due to lack of activity
  • srtp - Secure Real-Time Transport Protocol (SRTP) Library
  • pjproject - Libraries written in C language for building embedded/non-embedded VoIP applications
  • Yate - Yet Another Telephony Engine

Orphaned Packages Needing Maintainers

  • None, currently

Retired Packages

  • twinkle - SIP softphone - upstream dead, bitrot - [1] - still present in EPEL5 and EPEL6 as of 2014-05-29

Rejected Packages

Packagers/Reviewers/People interested

General Issues

* Legal status of iLBC prevents it from inclusion into Fedora, so you should check that your application doesn't use it before submitting it to Fedora/EPEL.

Now iLBC can be included in Fedora: https://bugzilla.redhat.com/show_bug.cgi?id=728302#c26

A new review request for WebRTC, that include iLBC codec, should be open nearly. A first package and spec file can be found here: https://bugzilla.redhat.com/show_bug.cgi?id=728302#c41

See also

References