第 305 章 SIP 组件
从 Camel 版本 2.5 开始提供
Camel 中的 sip 组件是一个通信组件,它基于 Jain SIP 实现(在 JCP 许可证下可用)。
会话初始协议(SIP)是一个 IETF 定义信号协议,广泛用于控制通过互联网协议(IP)的语音和视频调用。SIP 协议是独立于底层传输层的应用程序层协议;它可以运行在传输控制协议(TCP)、用户数据报协议(UDP)或流控制传输协议(SCTP)上。
Jain SIP 实现仅支持 TCP 和 UDP。
Camel SIP 组件 只支持 SIP Publish 和 Subscribe 功能,如 RFC3903 - Session Initiation Protocol (SIP)扩展部分所述
此 camel 组件支持制作者和消费者端点。
Camel SIP Producers (Event publishers)和 SIP Consumers (Event Subscribers)使用称为 SIP Presence Agent (有状态代理实体)的中间实体相互通信事件和状态信息。
对于基于 SIP 的通信,必须具有 监听器的 SIP Stack 必须同时实例化 SIP Producer 和 Consumer (如果使用 localhost,则使用单独的端口)。这是为了支持在通信期间在 SIP Stacks 之间交换的握手和确认支持所必需的。
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>
305.1. URI 格式
sip 端点的 URI 方案如下:
sip://johndoe@localhost:99999[?options] sips://johndoe@localhost:99999/[?options]
此组件支持 TCP 和 UDP 的制作者和消费者端点。
您可以使用以下格式在 URI 中附加查询选项 ?option=value& amp;option=value&…