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

时间:2017-06-30 14:39:30

标签: java netty freeswitch

我们让Freeswitch使用ESL(异步完整)和Java客户端应用程序。 当入站呼叫到达时,应用程序通过过滤Channel-Call-UUID aLegUuid 进行过滤,此入站通常桥接到bLeg(带有park_after_bridge的桥接命令)。 所以我们在同一个 Netty Channel Handler 中从两条腿接收事件。

据我所知,在同一个 Netty频道处理程序中,我们可以接收来自不同路段的事件:https://freeswitch.org/confluence/display/FREESWITCH/mod_event_socket

 filter plain all 
 filter plain CUSTOM conference::maintenance 
 filter Unique-ID $participantB 
 filter Unique-ID $participantA 
 filter Unique-ID $participantC 

有一种情况,bLeg通过按下DTMF,将(转移XML默认值)aLeg转移到'fifo with MOH',然后bLeg拨打另一个号码。 bpm此时停在停车场(park_after_bridge)。

在取消播放aLeg和bLeg之前,我们应用另一个过滤器来监听A和B中的事件过滤器Unique-ID aLeg 过滤器Unique-ID bLeg ,但我们会从B esporadically。有些测试很好,有些则没有。

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

那么,即使应用了过滤器,为什么我们不会在桥接器断开后从主 Netty Channel Handler 中的B接收事件? Netty频道如何仅限于A?

中的事件

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

在Freeswitch关于其HipChat的会议之后,Mike Jerris指出piece of code解释了为什么这不符合我的预期:

p
  

您将只看到在出站套接字连接上调用套接字应用程序的呼叫支路的事件

感谢" Matthew Vale(@Mafoo)"以及