(13 intermediate revisions by 5 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 == | ||
Line 16: | 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 21: | 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://sflphone.org/ SFLphone] - the open-source enterprise-class SIP/IAX2 softphone | * [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://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. | ||
* [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 | * [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. | * <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. | * [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 == | ||
Line 38: | Line 53: | ||
* {{package|ccrtp}} - Common C++ class framework for RTP/RTCP | * {{package|ccrtp}} - Common C++ class framework for RTP/RTCP | ||
* {{package|ekiga}} - A Gnome based SIP/H323 teleconferencing application | * {{package|ekiga}} - A Gnome based SIP/H323 teleconferencing application | ||
* {{package|hylafax+}} - An enterprise-strength fax server | |||
* {{package|iax}} - Implementation of Inter-Asterisk eXchange protocol | * {{package|iax}} - Implementation of Inter-Asterisk eXchange protocol | ||
* {{package|iaxclient}}- Library for creating telephony solutions that interoperate with Asterisk | * {{package|iaxclient}}- Library for creating telephony solutions that interoperate with Asterisk | ||
Line 58: | Line 74: | ||
* {{package|ortp}} - A C library implementing the RTP protocol (RFC3550) | * {{package|ortp}} - A C library implementing the RTP protocol (RFC3550) | ||
* {{package|python-sippy}} - B2BUA SIP call controlling component | * {{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|rtpproxy}} - RTP proxy server | ||
* {{package|sems}} - an extensible SIP media server | * {{package|sems}} - an extensible SIP media server | ||
Line 68: | Line 85: | ||
* {{package|spandsp}} - A DSP library for telephony | * {{package|spandsp}} - A DSP library for telephony | ||
* {{package|stun}} - implements the stun protocol | * {{package|stun}} - implements the stun protocol | ||
* {{package|xisdnload}} - An ISDN connection load average display for the X Window System | * {{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 | * {{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=525412 Mediaproxy] - far-end NAT traversal solution for SER/OpenSER | * [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 | ** 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=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=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 | * 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 == | ||
Line 99: | Line 117: | ||
* [[MatejCepl]] | * [[MatejCepl]] | ||
* [[Marionline]] | * [[Marionline]] | ||
* [[User:Pocock|Daniel Pocock]] | |||
* [[Tuju]] | |||
== General Issues == | == General Issues == | ||
Line 115: | Line 135: | ||
== 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] | * [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
- Open Source PBXasterisk
- core sounds for Asteriskasterisk-sounds-core
(former OpenPBX) - GPL-only fork of Asterisk.callweaver
- Common C++ class framework for RTP/RTCPccrtp
- A Gnome based SIP/H323 teleconferencing applicationekiga
- An enterprise-strength fax serverhylafax+
- Implementation of Inter-Asterisk eXchange protocoliax
- Library for creating telephony solutions that interoperate with Asteriskiaxclient
- Utilities for configuring an ISDN subsystem.isdn4k-utils
- Jabber and VoIP client (fork of well-known Psi)jabbin
- C++ RTP libraryjrtplib
- WAP and SMS gatewaykannel
- A library that hides the complexity of using the SIP protocol.libeXosip2
- oSIP is an implementation of SIP.libosip2
- An implementation of Primary Rate ISDNlibpri
- SS7 protocol services to applicationslibss7
- ZRTP support library for the GNU ccRTP stacklibzrtpcpp
- Linphone is an internet phone or Voice Over IP phone (VoIP).linphone
- Userspace part of Modular ISDN stackmISDN
- A Nagios plugin to check SIP servers and devicesnagios-plugins-check_sip
- Open Phone Abstraction Libraryopal
- Fork of well-knownopenser
SIP Server with interesting new featuresSER
- Open Source SIP Serveropensips
- open source, easy extensible, fully featured XCAP server with TLS security and support for multiple realms.openxcap
- A C library implementing the RTP protocol (RFC3550)ortp
- B2BUA SIP call controlling componentpython-sippy
- reSIProcate SIP stack, repro SIP proxy (with WebRTC support), reTurn ICE/STUN/TURN server, sipdialer (click to call)resiprocate
- RTP proxy serverrtpproxy
- an extensible SIP media serversems
- SIP Express Routerser
- Tiny IPv4 and IPv6 SIP redirect server written in Perlsip-redirect
- test tool and traffic generator for the SIP protocolsipp
- SIP swiss army knifesipsak
- SIP telephony server for secure phone systemssipwitch
- Sofia SIP UA Librarysofia-sip
- A DSP library for telephonyspandsp
- implements the stun protocolstun
- An ISDN connection load average display for the X Window Systemxisdnload
- Tools and libraries for using/configuring/monitoring Zapata telephony interfaceszaptel
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
- SIP softphone - upstream dead, bitrot - [1] - still present in EPEL5 and EPEL6 as of 2014-05-29twinkle
Rejected Packages
- MySTUN - No response from reporter
- zaptel-kmod - kernel modules not allowed
Packagers/Reviewers/People interested
- JeffOllie
- StevenPritchard
- AurelienBompard
- GavinHenry
- FrancoisAucamp
- PeterLemenkov
- DavidWoodhouse
- MatejCepl
- Marionline
- Daniel Pocock
- Tuju
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