304.4.2. 创建 Camel SIP Subscriber


在以下示例中,会创建一个 SIP Subscriber 来接收发送到
的 SIP 事件发布程序,用户"johndoe@localhost:5154"

  • 使用名为 Subscriber 的 SIP Stack
  • 使用名为 agent@localhost:5152 的 Presence Agent 用户注册
  • 使用名为 evtHdrName 的 registry 的事件标头。evtHdrName 包含 Event,它 se to "Event_A"
  • 使用基于 registry 的 eventId,名为 evtId
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
    return new RouteBuilder() {
        @Override
        public void configure() throws Exception {
            // Create PresenceAgent
            from("sip://agent@localhost:5152?stackName=PresenceAgent&presenceAgent=true&eventHeaderName=evtHdrName&eventId=evtid")
                .to("mock:neverland");

            // Create Sip Consumer(Event Subscriber)
            from("sip://johndoe@localhost:5154?stackName=Subscriber&toUser=agent&toHost=localhost&toPort=5152&eventHeaderName=evtHdrName&eventId=evtid")
                .to("log:ReceivedEvent?level=DEBUG")
                .to("mock:notification");

        }
    };
}
Copy to Clipboard Toggle word wrap

Camel SIP 组件附带一个 Presence Agent,用于仅用于测试和演示目的。上面提供了实例化代理的示例。

请注意,Presence Agent 设置为用户 agent@localhost:5152,并可与发布程序以及 Subscriber 通信。它有单独的 SIP stackName 与 Publisher 以及 Subscriber 不同。虽然它被设置为 Camel Consumer,但它实际上不会将任何消息发送到端点"mock:neverland"。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat