首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Freeswitch客户端:应用程序不接收来自bLeg的事件

Freeswitch客户端:应用程序不接收来自bLeg的事件
EN

Stack Overflow用户
提问于 2017-06-30 14:39:29
回答 1查看 872关注 0票数 0

我们在Java客户端应用程序中使用了使用ESL (异步满)的Freeswitch。当入站呼叫到达时,应用程序通过filter Channel- call -UUID aLegUuid进行筛选,该入站通常被桥接到bLeg (使用park_after_bridge的桥命令)。所以我们在同一个中接收来自两条腿的事件。

据我所知,在同一个Netty中,我们可以接收来自不同腿的事件:插座

代码语言:javascript
复制
 filter plain all 
 filter plain CUSTOM conference::maintenance 
 filter Unique-ID $participantB 
 filter Unique-ID $participantA 
 filter Unique-ID $participantC 

有一种情况是,bLeg通过按DTMF,将() aLeg传输到“fifo”,然后bLeg再拨另一个号码。bLeg在这里停放(park_after_bridge)。

在解桥aLeg和bLeg之前,我们应用另一个过滤器来侦听来自A和B过滤器的事件,即唯一ID aLeg过滤器唯一ID bLeg,但我们特别接收来自B的事件。有些测试是好的,而有些则不行。

Insted,如果我们创建到FS的入站连接并应用相同的过滤器,则在桥接器之前和之后接收来自A、B的事件。

那么,为什么在网桥被破坏后,即使应用了过滤器,我们也不能在主中接收来自B的事件呢?Netty频道是如何与来自A的事件联系在一起的?

提前感谢您的帮助

EN

回答 1

Stack Overflow用户

发布于 2017-07-12 16:12:50

在其HipChat上的Freeswitch会话之后,Mike指出了解释为什么不像我所期望的那样工作的一段代码

代码语言:javascript
复制
if (send && switch_test_flag(l, LFLAG_MYEVENTS)) {
        char *uuid = switch_event_get_header(event, "unique-id");
        if (!uuid || (l->session && strcmp(uuid, switch_core_session_get_uuid(l->session)))) {
            send = 0;
        }
    }

在出站套接字连接上,只会看到调用支腿调用套接字应用程序的事件。

感谢"Matthew Vale“(@Mafoo)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44849053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档