星号 - 使用MixMonitor记录呼叫以进行呼出呼叫

时间:2014-01-06 07:19:56

标签: sip voip asterisk telephony asteriskami

我有一个宏设置来记录扩展程序上的入站呼叫:

[macro-DialStartMonitor]
; Calculate the time of the call from "epoch time", format it into yyyy-mm-dd and add the PhoneExt. at the end
exten => s,1,Set(MONITOR_FILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-FROM-${CALLERID(num)}-TO-${ARG1})
        same => n,MixMonitor(${MONITOR_FILENAME}.wav,b)

exten => 1001,1,noop(Dialing ${PEX_ONE})
        same => n,Macro(DialStartMonitor,${PEX_ONE})
        same => n,Dial(SIP/${PEX_ONE},30,mTt)
        same => n,Playback(vm-nobodyavail)      ; Play "no one's available"
        same => n,Hangup()

exten => 1002,1,noop(Dialing ${PEX_TWO})
        same => n,Macro(DialStartMonitor,${PEX_TWO})
        same => n,Dial(SIP/${PEX_TWO},30,mTt)
        same => n,Playback(vm-nobodyavail)      ; Play "no one's available"
        same => n,Hangup()

因此,当我从 1002 拨打电话到 1001 时,录制内容将保存到/var/spool/asterisk/monitor,格式如下“ 20140106 -122313-FROM-1002-TO-PExten1001.wav

我需要记录源自1002的出站呼叫,因为它是自己的单独文件 - 也就是说,当从 1002 1001 进行呼叫时,有2个记录是制作,一个是1001的入站录音(这是上面的代码),一个是1002的出站录音(这就是这个问题)。

我是否必须为这两个扩展编写单独的上下文?还是有另一种方法吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

您无法在SAME频道上执行2个监听。

做你想做的事,你有2个变种

1)在hangup上创建将复制文件的脚本(推荐方式)

2)通过Local / soemexte @ somecontext / n拨号,并在somecontext中创建另一个监听器。