From Fedora Project Wiki

 
(62 intermediate revisions by 12 users not shown)
Line 2: Line 2:


== Mission ==
== Mission ==
To package as many Voice over IP applications as possible for Fedora.<BR>
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.
To that end, members of this SIG will assist in packaging VoIP applications and make reviewing VoIP-related packages our priority.<BR>


== 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 ==
* gnugk - H.323 gatekeeper - http://www.gnugk.org/
* This may require importing Open<code></code>H323 from the old Fedora package into Fedora Package Collection because Fedora dropped Open<code></code>H323 once Gnome<code></code>Meeting/Ekiga switched to Opal.
* minisip - SIP softphone - http://www.minisip.org/
* twinkle - SIP softphone - http://www.xs4all.nl/~mfnboer/twinkle/index.html
* Asterisk-Addons
* Asterisk-Addons
* Asterisk-Sounds
* Asterisk-Sounds
* Open<code></code>SER - Fork of well-known SER SIP Server with interesting new features - http://openser.org
* [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.
* rtpproxy - RTP proxy server - http://ftp.iptel.org/pub/rtpproxy/
* [http://cdrtool.ag-projects.com/ CDRTool] - A set of utilities for working with call detail records
* SEMS - SIP express media server - http://www.iptel.org/sems
* [http://www.voiceroute.org/ Druid] - an open source web-based unified communications platform (based on Asterisk)
* Mediaproxy - far-end NAT traversal solution for SER/OpenSER - http://mediaproxy.ag-projects.com/
* [http://www.freeswitch.org/ FreeSWITCH] - an open source telephony platform.
* CDRTool - A set of utilities for working with call detail records - http://cdrtool.ag-projects.com/
* [http://www.gnugk.org/ gnugk] - H.323 gatekeeper
* SIPp - test tool and traffic generator for the SIP protocol - http://sipp.sourceforge.net/
** This may require importing OpenH323 from the old Fedora package into Fedora Package Collection because Fedora dropped OpenH323 once GnomeMeeting/Ekiga switched to Opal.
* Openwengo - SIP softphone with lot of advanced features - http://openwengo.com/
* [http://sourceforge.net/projects/kphone/ kphone] interesting SIP-phone project for KDE that never had enough activity.
* This softphone uses a lot of other libraries (as optional and as a required) and there are not allowed for inclusion in FE among them.
* [http://msrprelay.org/ MSRPRelay] - it helps in NAT traversal of media sessions between endpoints located behind NAT.
* OpenSIPStack - implementation of the Session Initiation Protocol - http://www.opensipstack.org/
* [http://chatserver.ag-projects.com/ SIP chatserver] - an open source conference bridge that supports MSRP chat sessions.
* OpenSBC - hybrid SIP proxy and B2BUA - http://www.opensourcesip.org/opensbc.php
* [http://www.minisip.org/ minisip] - SIP softphone
* Yxa - transaction stateful SIP stack and a set of SIP server applications - http://www.stacken.kth.se/project/yxa/
* [http://www.opensourcesip.org:8080/clearspacex/community/opensbc OpenSBC] - hybrid SIP proxy and B2BUA
* Jabbin - Jabber and VoIP client (fork of well-known Psi) - http://www.jabbin.com/int/
* [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.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://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.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 Being Packaged ==
== Applications/Libraries already packaged ==
* OpenPBX - "The truly open source PBX" -- http://www.openpbx.org/
* {{package|asterisk}} - Open Source PBX
* GPL-only fork of Asterisk, now in Extras-devel.
* {{package|asterisk-sounds-core}} - core sounds for Asterisk
* Asterisk - Open Source PBX
* {{package|callweaver}} (former OpenPBX) - GPL-only fork of Asterisk.
* Packages for review:
* {{package|ccrtp}} - Common C++ class framework for RTP/RTCP
* spandsp - (now built) https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=171597
* {{package|ekiga}} - A Gnome based SIP/H323 teleconferencing application
* zaptel-kmod - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=177583
* {{package|hylafax+}} - An enterprise-strength fax server
* zaptel - (now built) https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=177584
* {{package|iax}} - Implementation of Inter-Asterisk eXchange protocol
* libpri - (now built) https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=177603
* {{package|iaxclient}}- Library for creating telephony solutions that interoperate with Asterisk
* asterisk - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=178922
* {{package|isdn4k-utils}} - Utilities for configuring an ISDN subsystem.
* Final acceptance of these packages will depend on kernel module support in the FE build system.
* {{package|jabbin}}- Jabber and VoIP client (fork of well-known Psi)
* SER - SIP Express Router
* {{package|jrtplib}} - C++ RTP library
* https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=180345
* {{package|kannel}} - WAP and SMS gateway
* jthread/jrtplib - C++ RTP library
* {{package|libeXosip2}} - A library that hides the complexity of using the SIP protocol.
* Will be useful for future packages
* {{package|libosip2}} - oSIP is an implementation of SIP.
* jthread - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=177247
* {{package|libpri}} - An implementation of Primary Rate ISDN
* jrtplib - https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=177249
* {{package|libss7}} - SS7 protocol services to applications
* sipsak - SIP swiss army knife
* {{package|libzrtpcpp}} - ZRTP support library for the GNU ccRTP stack
* https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=206872
* {{package|linphone}} - Linphone is an internet phone or Voice Over IP phone (VoIP).  
* SIPp - SIP test tool / traffic generator
* {{package|mISDN}} - Userspace part of Modular ISDN stack
* https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=214893
* {{package|nagios-plugins-check_sip}} - A Nagios plugin to check SIP servers and devices
* rtpproxy - RTP proxy server
* {{package|opal}} - Open Phone Abstraction Library
* https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=216912
* {{package|openser}} - Fork of well-known {{package|ser|SER}} SIP Server with interesting new features
* MySTUN - STUN server ('''stalled review?''')
* {{package|opensips}} - Open Source SIP Server
* https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=189949
* {{package|openxcap}}  - open source, easy extensible, fully featured XCAP server with TLS security and support for multiple realms.
* sofia-sip - Sofia SIP UA Library
* {{package|ortp}} - A C library implementing the RTP protocol (RFC3550)
* https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=218744
* {{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 ==
* [https://bugzilla.redhat.com/show_bug.cgi?id=525412 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
* [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=728302 pjproject] - Libraries written in C language for building embedded/non-embedded VoIP applications
* [https://bugzilla.redhat.com/show_bug.cgi?id=1030307 Yate] - Yet Another Telephony Engine


== 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 ==
* [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


== Packagers/Reviewers/People interested ==
== Packagers/Reviewers/People interested ==
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 ==
* http://fedoraproject.org/wiki/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.voip-info.org/wiki/view/Open+Source+VOIP+Software Open Source VOIP applications]
 
[[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

  • Package-x-generic-16.pngasterisk - Open Source PBX
  • Package-x-generic-16.pngasterisk-sounds-core - core sounds for Asterisk
  • Package-x-generic-16.pngcallweaver (former OpenPBX) - GPL-only fork of Asterisk.
  • Package-x-generic-16.pngccrtp - Common C++ class framework for RTP/RTCP
  • Package-x-generic-16.pngekiga - A Gnome based SIP/H323 teleconferencing application
  • Package-x-generic-16.pnghylafax+ - An enterprise-strength fax server
  • Package-x-generic-16.pngiax - Implementation of Inter-Asterisk eXchange protocol
  • Package-x-generic-16.pngiaxclient- Library for creating telephony solutions that interoperate with Asterisk
  • Package-x-generic-16.pngisdn4k-utils - Utilities for configuring an ISDN subsystem.
  • Package-x-generic-16.pngjabbin- Jabber and VoIP client (fork of well-known Psi)
  • Package-x-generic-16.pngjrtplib - C++ RTP library
  • Package-x-generic-16.pngkannel - WAP and SMS gateway
  • Package-x-generic-16.pnglibeXosip2 - A library that hides the complexity of using the SIP protocol.
  • Package-x-generic-16.pnglibosip2 - oSIP is an implementation of SIP.
  • Package-x-generic-16.pnglibpri - An implementation of Primary Rate ISDN
  • Package-x-generic-16.pnglibss7 - SS7 protocol services to applications
  • Package-x-generic-16.pnglibzrtpcpp - ZRTP support library for the GNU ccRTP stack
  • Package-x-generic-16.pnglinphone - Linphone is an internet phone or Voice Over IP phone (VoIP).
  • Package-x-generic-16.pngmISDN - Userspace part of Modular ISDN stack
  • Package-x-generic-16.pngnagios-plugins-check_sip - A Nagios plugin to check SIP servers and devices
  • Package-x-generic-16.pngopal - Open Phone Abstraction Library
  • Package-x-generic-16.pngopenser - Fork of well-known Package-x-generic-16.pngSER SIP Server with interesting new features
  • Package-x-generic-16.pngopensips - Open Source SIP Server
  • Package-x-generic-16.pngopenxcap - open source, easy extensible, fully featured XCAP server with TLS security and support for multiple realms.
  • Package-x-generic-16.pngortp - A C library implementing the RTP protocol (RFC3550)
  • Package-x-generic-16.pngpython-sippy - B2BUA SIP call controlling component
  • Package-x-generic-16.pngresiprocate - reSIProcate SIP stack, repro SIP proxy (with WebRTC support), reTurn ICE/STUN/TURN server, sipdialer (click to call)
  • Package-x-generic-16.pngrtpproxy - RTP proxy server
  • Package-x-generic-16.pngsems - an extensible SIP media server
  • Package-x-generic-16.pngser - SIP Express Router
  • Package-x-generic-16.pngsip-redirect - Tiny IPv4 and IPv6 SIP redirect server written in Perl
  • Package-x-generic-16.pngsipp - test tool and traffic generator for the SIP protocol
  • Package-x-generic-16.pngsipsak - SIP swiss army knife
  • Package-x-generic-16.pngsipwitch - SIP telephony server for secure phone systems
  • Package-x-generic-16.pngsofia-sip - Sofia SIP UA Library
  • Package-x-generic-16.pngspandsp - A DSP library for telephony
  • Package-x-generic-16.pngstun - implements the stun protocol
  • Package-x-generic-16.pngxisdnload - An ISDN connection load average display for the X Window System
  • Package-x-generic-16.pngzaptel - 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

  • Package-x-generic-16.pngtwinkle - 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