13.10. Real-Time Communications software

Debian provides a wide range of Real-Time Communications (RTC) client software. The setup of RTC servers is discussed in 第 11.8 节 “Real-Time Communication Services”. In SIP terminology, a client application or device is also referred to as a user agent.

Each client application varies in functionality. Some applications are more convenient for intensive chat users while other applications are more stable for webcam users. It may be necessary to test several applications to identify those which are most satisfactory. A user may finally decide that they need more than one application, for example, an XMPP application for messaging with customers and an IRC application for collaboration with some online communities.

To maximize the ability of users to communicate with the wider world, it is recommended to configure both SIP and XMPP clients or a single client that supports both protocols.

The default GNOME desktop includes the Empathy communications client. Empathy can support both SIP and XMPP. It supports instant messaging (IM), voice and video. The KDE desktop provides KDE Telepathy, a communications client based on the same underlying Telepathy APIs used by the GNOME Empathy client.

Popular alternatives to Empathy/Telepathy include Ekiga, Jitsi, Linphone, Psi and Ring (formerly known as SFLphone).

Some of these applications can also interact with mobile users using apps such as Lumicall on Android.

http://lumicall.org

The Real-Time Communications Quick Start Guide has a chapter dedicated to client software.

http://rtcquickstart.org/guide/multi/useragents.html

TIP Look for clients supporting ICE and TURN

Some RTC clients have significant problems sending voice and video through firewalls and NAT networks. Users may receive ghost calls (their phone rings but they don’t hear the other person) or they may not be able to call at all.

The ICE and TURN protocols were developed to resolve these issues. Operating a TURN server with public IP addresses in each site and using client software that supports both ICE and TURN gives the best user experience.

If the client software is only intended for instant messaging, there is no requirement for ICE or TURN support.

Debian Developers operate a community SIP service at rtc.debian.org. The community maintains a wiki with documentation about setting up many of the client applications packaged in Debian. The wiki articles and screenshots are a useful resource for anybody setting up a similar service on their own domain.

https://wiki.debian.org/UnifiedCommunications/DebianDevelopers/UserGuide

选择 互联网聊天室(IRC)

除了 SIP 和 XMPP 之外,也可以考虑 IRC。这种系统以频道集中,频道名以井号 #开始。每个频道通常讨论一个特定的话题,任意数量的人都可以加入一个讨论频道(但是如果有需求,用户也可以进行一对一的私聊)。IRC 协议已经比较老了,并且不支持端到端的消息加密;仍然可以在用户和服务器之间通过 SSL 隧道内部加密 IRC 协议。

IRC 客户端稍微有点复杂,在公司环境中它们所能提供许多限制特性。例如,如果正常讨论被扰乱,频道“操作者”可以将用户踢出去,甚至永久封账户。

由于 IRC 协议比较老,很多客户端都能支持大量的用户组;例子包括 XChat 和 Smuxi(基于 GTK+的图形界面),Irssi(文本模式),Erc(与 Emacs集成)等等。

快速浏览 Ekiga 视频会议

Ekiga(前身 GnomeMeeting)是 Linux 系统上主流的视频会议软件。它既稳定又不乏功能性,并且在局域网中非常好用;如果防火墙缺乏对 H323 和 SIP 电话会议协议的支持,那么在广域网中配置该服务就比较复杂。

如果只有一个 Ekiga 客户端在防火墙后面运行,配置就比较直接,只需将几个端口转发到指定的主机:TCP 端口 1720 (侦听接入连接),TCP 端口 5060(用于 SIP),TCP 端口 30000 到 30010 (用于控制和开启连接),UDP 端口 5000 到 5100(用于音频和视频数据传输及注册 H323 代理)。

当有几个 Ekiga 客户端在防火墙后运行,复杂性大大增加了。必须设置一个 H323 代理(例如 gnugk 软件包),它的配置可不简单。