第 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&…