配置 Liberty 实时通信
配置实时通信功能部件包括更新 server.xml 文件。
关于此任务
要配置 Liberty 服务器以运行支持实时通信的应用程序,必须设置 rtcomm-1.0 功能部件。还可启用一些其他配置和选项以与使用实时通信的应用程序配合工作。
过程
- 要启用 rtcomm-1.0 功能部件,请在 server.xml 文件的 featureManager 元素内添加以下元素声明:
<featureManager> <feature>rtcomm-1.0</feature> </featureManager>
如果要修改缺省设置,那么您需要将 Rtcomm 功能部件添加至 Liberty 服务器配置。为此,可使用 WDT 工具或将以下配置行手动添加至 server.xml 文件:
缺省设置包含:<rtcomm/>
- Rtcomm MQTT 代理程序连接详细信息:(主机:localhost,端口:1883)
- Rtcomm 根主题路径:/rtcomm/
- 已禁用 SSL
注: 为使缺省设置生效,MQTT 代理程序需要与 Liberty 服务器安装在同一机器上并启用。如果要更改 MQTT 代理程序的缺省设置,那么您需要使用以下代码来编辑 server.xml 文件:<rtcomm messageServerHost="<brokerhostname>" messageServerPort="<brokerportname>" />
- 配置 Rtcomm 主题路径。rtcommTopicPath 将与其他 Rtcomm 主题名称配合使用。此主题路径提供独有名称空间以避免与使用相同消息代理程序的其他开发者冲突。要设置此路径,请将以下配置行添加至 server.xml 文件:
<rtcomm rtcommTopicPath="/rtcomm/"/>
初始化时,必须将您配置的名称和路径以及消息代理程序地址传递至 rtcomm 客户机库。此服务器创建主题名称并将其附加至主题路径。
注: 每当将多个 Liberty 服务器配置为使用同一 MQTT 代理程序时,rtcommTopicPath 必须是每个 Liberty 服务器独有的,否则无法预测行为。 - 可配置附加在 rtcommTopicPath 之前的共享预订路径。使用共享预订时,消息代理程序需要此路径。要设置此路径,请将以下配置行添加至 server.xml 文件:
<rtcomm sharedSubscriptionPath="$SharedSubscription/rtcomm/">
使用呼叫队列时,必须配置共享预订。呼叫队列依赖于共享预订在所有队列侦听器间分发消息。例如,如果多个咨询台代理程序都在侦听单个队列,那么将使用共享预订将呼叫分发至代理程序(一次分发至一个代理程序)。
注: 共享预订支持在 MQTT 代理程序中并非标准。先前配置显示如何正确设置 rtcomm-1.0 功能部件以与 IBM® MessageSight 配合使用。请参阅代理的有关配置共享预订的产品文档。 - 可选:使用 Rtcomm 功能部件时配置更多选项。
- 使用 Rtcomm 功能部件配置后端服务
Rtcomm 功能部件支持包含以下各项的一些后端服务:
- 交互连接建立 (ICE) 服务器配置:指定协商对等媒体会话时发送至 Rtcomm WebRTC 客户机的 URL 及 Rtcomm WebRTC 客户机使用的 URL。
- 呼叫队列支持:可配置 Rtcomm 以支持共享呼叫队列,并允许用户创建共享呼叫队列,许多代理程序可在其中预订特定呼叫队列并响应客户呼叫。例如,可致电特定产品的客户支持人员。许多代理程序可预订队列,但对于每次呼叫,只会选择一个代理程序进行响应。
- Rtcomm 网关:添加将会话启动协议 (SIP) 与 Rtcomm WebRTC 端点连接的功能以交换音频和视频流。有关配置 Rtcomm 网关的更多详细信息,请参阅配置 Rtcomm 网关。
- 备用端点路由:指定用户想要通过备用端点路由新会话。
- 交互连接建立 (ICE) 服务器配置
ICE 是一种方法,在涉及因特网应用程序(例如,因特网语音协议 (VoIP)、对等通信、视频、即时消息传递和其他交互媒体)中的 NAT(网络地址转换程序)的计算机联网中使用。在这类应用程序中,NAT 遍历是一个重要组件,用于在涉及专用网络安装上的主机(通过位于防火墙后)上进行通信。
节点控制器提供 ICE 服务器配置作为一种方法,以向 Rtcomm 客户机节点通知它们在设置与另一客户机的对等会话时可使用的 ICE 服务器。WebRTC 严重依赖 ICE 服务器遍历防火墙,在生产部署中,包括对 ICE 的支持以确保连接端点的最高可能性很关键。
ICE 服务器配置是通过服务查询请求访问的,此请求发布至与 Rtcomm 功能部件相关联的连接器主题名称。有关 Rtcomm 服务查询的更多信息,请参阅协议详细信息,即 GitHub lib.rtcomm.clientjs。
要配置各种类型的 ICE 服务器,将以下属性添加至 server.xml 文件中的 rtcomm 配置行:
<rtcomm> <iceServerURL>stun:example1.hostname.com:8880</iceServerURL> <iceServerURL>stun:example2.hostname.com:8881</iceServerURL> </rtcomm>
- 第三方呼叫控制
可发现所有协议详细信息,这些详细信息定义与 GitHub 存储库中的第三方呼叫控制相关的消息格式。 lib.rtcomm.node-red 和 lib.rtcomm.node 的相关开放式源代码组件用来与这些服务交互。
- 呼叫队列支持
呼叫队列提供循环法样式交互,许多用户可预订队列,并且另一用户可调用该队列。只有一个已预订用户才会接收该呼叫。此功能部件是通过按步骤 2 中先前所示定义队列和启用共享预订来启用的。
为配置呼叫队列,请配置附加在 rtcommTopicPath 之前的共享预订路径。使用共享预订时,消息代理程序需要此路径。通过将以下配置行添加至 server.xml 文件,可定义受支持的 callQueues:<rtcomm sharedSubscriptionPath="$SharedSubscription/rtcomm/"> <callQueue description="refrigerator" callQueueID="callQueueID2" timeout="500s"></callQueue> </rtcomm>
用户可根据需要创建任意数目的独有呼叫队列。配置后,代理将预订共享预订路径加 Rtcomm 主题路径加主题名称 ("$SharedSubscription/rtcomm//rtcomm/callQueue") 以从服务器接收调用请求。
以下配置项对每个队列可用:
- 配置预订:指定此呼叫队列实例的文字描述。此文字描述在服务查询响应中返回,可用于让客户机更好地了解此队列的相关信息。
- 配置 callQueueID:与呼叫队列主题名称相关联的端点标识,此标识充当呼叫者在特定队列中呼叫的目标端点标识。
- 配置超时:终止在此队列中等待的呼叫之前等待的秒数。
- 备用端点路由
- 指定用户想要通过备用端点路由新会话。通过使用此选项,可预订 alternateEndpointRouting 主题名称(例如,/rtcomm/alternateEndpointRouting)并可将新会话路由至相应端点。要启用此功能部件,请将以下配置行添加至
server.xml 文件:
<rtcomm alternateEndpointRoutingEnabled="true"/>
- Rtcomm 的 SSL 配置
- 确保此环境配置为在 Rtcomm 功能部件与 MQTT 代理程序之间使用 SSL。
- SSL reference 是用于连接至启用 SSL 的 MQTT 代理程序的 SSL 配置的标识。
注: 为便于 Rtcomm 功能部件使用 SSL,必须启用 SSL 功能部件。要启用 SSL 功能部件,请将以下配置添加至 server.xml 文件。<rtcomm sslEnabled="true" sslRef="mySSLConfig" />
有关 sslRef 配置属性的更多详细信息,请参阅 Liberty:SSL 配置属性。

文件名:twlp_config_rtcomm.html