From Fedora Project Wiki

 
(49 intermediate revisions by 10 users not shown)
Line 6: Line 6:
== Process ==
== 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.
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 [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 ==
* Asterisk-Addons
* Asterisk-Addons
* Asterisk-Sounds
* Asterisk-Sounds
* [http://callcontrol.ag-projects.com/ 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.
* [http://cdrtool.ag-projects.com/ CDRTool] - A set of utilities for working with call detail records
* [http://cdrtool.ag-projects.com/ CDRTool] - A set of utilities for working with call detail records
* [http://www.voiceroute.org/ Druid] - an open source web-based unified communications platform (based on Asterisk)
* [http://www.freeswitch.org/ FreeSWITCH] - an open source telephony platform.
* [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://mediaproxy.ag-projects.com/ Mediaproxy] - far-end NAT traversal solution for SER/OpenSER
* [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://chatserver.ag-projects.com/ SIP chatserver] - an open source conference bridge that supports MSRP chat sessions.
* [http://www.minisip.org/ minisip] - SIP softphone
* [http://www.minisip.org/ minisip] - SIP softphone
* [http://www.opensourcesip.org/opensbc.php 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://openwengo.com/ OpenWengo] - SIP softphone with lot of advanced features
* [http://www.pycall.org/ pycall] '' is a flexible python library for creating and using Asterisk call files.''
** This softphone uses a lot of other libraries (as optional and as a required) and there are not allowed for inclusion in Fedora among them.
* [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://openxcap.org/ OpenXCAP] - open source, easy extensible, fully featured XCAP server with TLS security and support for multiple realms.
* [http://www.qutecom.org/ QuteCom] (former WengoPhone) - SIP compliant VoIP client
* [http://www.iptel.org/sems SEMS] - SIP express media server
* [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 (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://sipxecs.sipfoundry.org/ sipXecs] - a SIP Unified Communications solution for your enterprise.
* [http://www.stacken.kth.se/project/yxa/ Yxa] - transaction stateful SIP stack and a set of SIP server applications
* [http://www.stacken.kth.se/project/yxa/ Yxa] - transaction stateful SIP stack and a set of SIP server applications
* [http://www.loremipsum.at/produkte/greenj/ GreenJ] - GreenJ is an open source Voice-over-IP phone software using pjsip and Qt
* <del>[http://www.homer-conferencing.com Homer conferencing] - Homer is a free cross-platform SIP softphone, which also supports video conferencing.</del> It can't be include in Fedora repository because it use ffmpeg. A review request is open on RPMFusion repository.
* [https://jitsi.org/index.php/Main/HomePage 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.
* [http://icanblink.com/ 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 ==
== Applications/Libraries already packaged ==
* [https://admin.fedoraproject.org/pkgdb/packages/name/asterisk Asterisk] - Open Source PBX
* {{package|asterisk}} - Open Source PBX
* [https://admin.fedoraproject.org/pkgdb/packages/name/callweaver CallWeaver] (former OpenPBX) - GPL-only fork of Asterisk.
* {{package|asterisk-sounds-core}} - core sounds for Asterisk
* [https://admin.fedoraproject.org/pkgdb/packages/name/ekiga ekiga]
* {{package|callweaver}} (former OpenPBX) - GPL-only fork of Asterisk.
* [https://admin.fedoraproject.org/pkgdb/packages/name/jabbin Jabbin] - Jabber and VoIP client (fork of well-known Psi)
* {{package|ccrtp}} - Common C++ class framework for RTP/RTCP
* [https://admin.fedoraproject.org/pkgdb/packages/name/jrtplib jrtplib] - C++ RTP library
* {{package|ekiga}} - A Gnome based SIP/H323 teleconferencing application
* [https://admin.fedoraproject.org/pkgdb/packages/name/libpri libpri]
* {{package|hylafax+}} - An enterprise-strength fax server
* [https://admin.fedoraproject.org/pkgdb/packages/name/openser OpenSER] - Fork of well-known SER SIP Server with interesting new features
* {{package|iax}} - Implementation of Inter-Asterisk eXchange protocol
* [https://admin.fedoraproject.org/pkgdb/packages/name/rtpproxy rtpproxy] - RTP proxy server
* {{package|iaxclient}}- Library for creating telephony solutions that interoperate with Asterisk
* [https://admin.fedoraproject.org/pkgdb/packages/name/ser SER] - SIP Express Router
* {{package|isdn4k-utils}} - Utilities for configuring an ISDN subsystem.
* [https://admin.fedoraproject.org/pkgdb/packages/name/sipp SIPp] - test tool and traffic generator for the SIP protocol
* {{package|jabbin}}- Jabber and VoIP client (fork of well-known Psi)
* [https://admin.fedoraproject.org/pkgdb/packages/name/sipsak sipsak] - SIP swiss army knife
* {{package|jrtplib}} - C++ RTP library
* [https://admin.fedoraproject.org/pkgdb/packages/name/sofia-sip sofia-sip] - Sofia SIP UA Library
* {{package|kannel}} - WAP and SMS gateway
* [https://admin.fedoraproject.org/pkgdb/packages/name/spandsp spandsp]
* {{package|libeXosip2}} - A library that hides the complexity of using the SIP protocol.
* [https://admin.fedoraproject.org/pkgdb/packages/name/twinkle twinkle] - SIP softphone
* {{package|libosip2}} - oSIP is an implementation of SIP.
* [https://admin.fedoraproject.org/pkgdb/packages/name/zaptel zaptel]
* {{package|libpri}} - An implementation of Primary Rate ISDN
* {{package|libss7}} - SS7 protocol services to applications
* {{package|libzrtpcpp}} - ZRTP support library for the GNU ccRTP stack
* {{package|linphone}} - Linphone is an internet phone or Voice Over IP phone (VoIP).  
* {{package|mISDN}} - Userspace part of Modular ISDN stack
* {{package|nagios-plugins-check_sip}} - A Nagios plugin to check SIP servers and devices
* {{package|opal}} - Open Phone Abstraction Library
* {{package|openser}} - Fork of well-known {{package|ser|SER}} SIP Server with interesting new features
* {{package|opensips}} - Open Source SIP Server
* {{package|openxcap}}  - open source, easy extensible, fully featured XCAP server with TLS security and support for multiple realms.
* {{package|ortp}} - A C library implementing the RTP protocol (RFC3550)
* {{package|python-sippy}} - B2BUA SIP call controlling component
* {{package|resiprocate}} - reSIProcate SIP stack, repro SIP proxy (with WebRTC support), reTurn ICE/STUN/TURN server, sipdialer (click to call)
* {{package|rtpproxy}} - RTP proxy server
* {{package|sems}} - an extensible SIP media server
* {{package|ser}} - SIP Express Router
* {{package|sip-redirect}} - Tiny IPv4 and IPv6 SIP redirect server written in Perl
* {{package|sipp}} - test tool and traffic generator for the SIP protocol
* {{package|sipsak}} - SIP swiss army knife
* {{package|sipwitch}} - SIP telephony server for secure phone systems
* {{package|sofia-sip}} - Sofia SIP UA Library
* {{package|spandsp}} - A DSP library for telephony
* {{package|stun}} - implements the stun protocol
* {{package|xisdnload}} - An ISDN connection load average display for the X Window System
* {{package|zaptel}} - Tools and libraries for using/configuring/monitoring Zapata telephony interfaces


== Packages for review ==
== Packages for review ==
* [https://bugzilla.redhat.com/show_bug.cgi?id=188542 HylaFAX] - is a enterprise-strength fax server supporting Class 1 and 2 fax modems on UNIX systems.
* [https://bugzilla.redhat.com/show_bug.cgi?id=525412 Mediaproxy] - far-end NAT traversal solution for SER/OpenSER
* [https://bugzilla.redhat.com/show_bug.cgi?id=454008 iax] - Implementation of Inter-Asterisk eXchange protocol
* [https://bugzilla.redhat.com/show_bug.cgi?id=454010 iaxclient] - Library for creating telephony solutions that interoperate with Asterisk
* [https://bugzilla.redhat.com/show_bug.cgi?id=457108 libss7] - SS7 protocol services to applications
* <s>[https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=189949 MySTUN] - STUN server</s>
** Initial attempt to package it was made, but review request was closed due to lack of activity
** Initial attempt to package it was made, but review request was closed due to lack of activity
* [https://bugzilla.redhat.com/show_bug.cgi?id=446847 nagios-plugins-check_sip] - A Nagios plugin to check SIP servers and devices
* [https://bugzilla.redhat.com/show_bug.cgi?id=509619 srtp] - Secure Real-Time Transport Protocol (SRTP) Library
* [https://bugzilla.redhat.com/show_bug.cgi?id=458952 SEMS] - an extensible SIP media server
* [https://bugzilla.redhat.com/show_bug.cgi?id=728302 pjproject] - Libraries written in C language for building embedded/non-embedded VoIP applications
* [https://bugzilla.redhat.com/show_bug.cgi?id=443675 sip-redirect] - Tiny IPv4 and IPv6 SIP redirect server written in Perl
* [https://bugzilla.redhat.com/show_bug.cgi?id=1030307 Yate] - Yet Another Telephony Engine
* [https://bugzilla.redhat.com/show_bug.cgi?id=446841 Sippy] - B2BUA SIP call controlling component
* [https://bugzilla.redhat.com/show_bug.cgi?id=429496 stun] - mplements the stun protocol


== Orphaned Packages Needing Maintainers ==
== Orphaned Packages Needing Maintainers ==
* None, currently
== Retired Packages ==
* {{package|twinkle}} - SIP softphone - upstream dead, bitrot - [http://lists.fedoraproject.org/pipermail/devel/2013-March/179593.html] - still present in EPEL5 and EPEL6 as of 2014-05-29


== Rejected Packages ==
== Rejected Packages ==
* [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=189949 MySTUN] - No response from reporter
* [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=177583 zaptel-kmod] - kernel modules not allowed
* [https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=177583 zaptel-kmod] - kernel modules not allowed


Line 66: Line 115:
* [[PeterLemenkov]]
* [[PeterLemenkov]]
* [[DavidWoodhouse]]
* [[DavidWoodhouse]]
* [[MatejCepl]]
* [[Marionline]]
* [[User:Pocock|Daniel Pocock]]
* [[Tuju]]


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


<del>* 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.</del>
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 ==
* [[Telepathy]]


== References ==
== References ==
* [[Packaging/Guidelines#Legal]]
* [[Packaging/Guidelines#Legal]]
* [http://rtcquickstart.org Real-Time Communications (RTC) quick start guide]
* [http://www.redhatmagazine.com/2008/07/24/open-source-telephony-a-fedora-based-voip-server-with-asterisk/ Open source telephony: a Fedora-based VoIP server with Asterisk]
* [http://www.redhatmagazine.com/2008/07/24/open-source-telephony-a-fedora-based-voip-server-with-asterisk/ Open source telephony: a Fedora-based VoIP server with Asterisk]
* [http://www.voip-info.org/wiki/view/Open+Source+VOIP+Software Open Source VOIP applications]
[[Category:Packaging SIGs]]
[[Category:Packaging SIGs]]

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