Sip 基于FreeSWITCH的语音邮件检测

Sip 基于FreeSWITCH的语音邮件检测,sip,amd,freeswitch,subscribe,voicemail,Sip,Amd,Freeswitch,Subscribe,Voicemail,我正在开发一个类似预测拨号器的应用程序,在这个应用程序中,我应该检测电话是否被语音邮件接听 我使用以下方法: 服务器:我正在使用FreeSWITCH v1.6.11。我构建并配置了AVMD模块 客户端:我正在使用通过WSS连接到Freeswitch的sipml5 其想法是,当Freeswitch检测到一声蜂鸣音时,它将触发一个名为AVMD_event_beep的事件 在下面的日志中,我正在使用连接到FreeSWITCH套接字的telnet客户端。我通过套接字订阅了该活动,结果如下: event

我正在开发一个类似预测拨号器的应用程序,在这个应用程序中,我应该检测电话是否被语音邮件接听

我使用以下方法:

服务器:我正在使用FreeSWITCH v1.6.11。我构建并配置了AVMD模块

客户端:我正在使用通过WSS连接到Freeswitch的sipml5

其想法是,当Freeswitch检测到一声蜂鸣音时,它将触发一个名为AVMD_event_beep的事件

在下面的日志中,我正在使用连接到FreeSWITCH套接字的telnet客户端。我通过套接字订阅了该活动,结果如下:

event plain CUSTOM avmd::beep Content-Type: command/reply Reply-Text: +OK event listener enabled plain Content-Length: 737 Content-Type: text/event-plain Event-Subclass: avmd%3A%3Abeep Event-Name: CUSTOM Core-UUID: 1c8e8e58-8b46-11e6-99c3-238295cb19cb FreeSWITCH-Hostname: debian FreeSWITCH-Switchname: debian FreeSWITCH-IPv4: 176.58.104.114 FreeSWITCH-IPv6: 2a01%3A7e00%3A%3Af03c%3A91ff%3Afeae%3Ad2d6 Event-Date-Local: 2016-10-05%2022%3A47%3A21 Event-Date-GMT: Wed,%2005%20Oct%202016%2022%3A47%3A21%20GMT Event-Date-Timestamp: 1475707641468562 Event-Calling-File: mod_avmd.c Event-Calling-Function: avmd_fire_event Event-Calling-Line-Number: 437 Event-Sequence: 2420 Unique-ID: a894fffc-8b4d-11e6-9aa3-238295cb19cb Call-command: avmd Beep-Status: DETECTED Frequency: 1001.084123 Frequency-variance: 0.000203 Amplitude: 12541.343475 Amplitude-variance: 33583.241944 Detection-time: 7320038
好的,我解决了。因为没有一个直接的方法可以做到这一点。我必须创建一个出站esl守护进程,如果事件被触发,Freeswitch将向其发布数据。在拨号计划中,我告诉Freeswitch打开与守护进程的连接

现在,我从该守护进程向freeswitch打开一个新的入站套接字,并使用esl中的sendEvent()发送一个自定义通知事件。最后,Freeswitch将向客户端发送notify数据包


希望这对某人有所帮助。

对于预测拨号器,您通常不会在拨号器之外发出这些事件的信号。拨号器将有许多目的地号码,并自行处理呼叫建立。只有在呼叫建立并确认另一端有人时,代理才会与该呼叫桥接。

您是否有示例配置说明如何实现此功能?