第 304 章 SIP 组件

可作为 Camel 版本 2.5 提供

Camel 中的 sip 组件是一个通信组件,基于 Jain SIP 实施(可在 JCP 许可证下可用)。

会话初始协议(SIP)是一种 IETF 定义的信号协议,广泛用于控制多媒体通信会话,如语音和视频调用(IP)。SIP 协议是一个独立于底层传输层的应用程序层协议,它可以在传输控制协议(TCP)、用户数据报协议(UDP)或流控制传输协议(SCTP)上运行。

Jain SIP 实施仅支持 TCP 和 UDP。

根据 RFC3903 - Session Initiation Protocol (SIP) Extension 所述,Camel SIP 组件 只支持 SIPPublish 和 Subscribe 功能。

此 camel 组件支持制作者和消费者端点。

Camel SIP Producers (Event Publishers)和 SIP Consumers (Event Subscribers)使用称为 SIP Presence Agent (有状态代理实体)将事件和状态信息相互通信。

对于基于 SIP 的通信,必须在 SIP Producer 和 Consumer (如果使用本地主机时使用单独的端口)实例化带有监听程序的 SIP 堆栈。这是为了支持在通信期间在 SIP 堆栈之间交换的握手和确认。

Maven 用户需要将以下依赖项添加到其 pom.xml 中:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-sip</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

304.1. URI 格式

sip 端点的 URI 方案如下:

sip://johndoe@localhost:99999[?options]
sips://johndoe@localhost:99999/[?options]

此组件支持 TCP 和 UDP 的生产者和消费者端点。

您可以使用以下格式在 URI 中附加查询选项 ?option=value&option=value&…​