我正在尝试在 Asterisk 中设置应用于整个上下文的通话记录。
扩展配置文件看起来像这样:
[office] exten => _068.,1,Dial(SIP/sip_trunk_1/${EXTEN}) exten => _073.,1,Dial(SIP/sip_trunk_1/${EXTEN}) exten => _099.,1,Dial(SIP/sip_trunk_1/${EXTEN})
我曾尝试做这样的事情:
[office] exten => s,1,Set(filename=${STRFTIME(${EPOCH},,%Y/%m/%d/%H_%M_%S)}) exten => s,2,MixMonitor(${filename}.wav, b) exten => _068.,1,Dial(SIP/sip_trunk_1/${EXTEN}) exten => _073.,1,Dial(SIP/sip_trunk_2/${EXTEN}) exten => _099.,1,Dial(SIP/sip_trunk_3/${EXTEN}) exten => h,1,StopMixMonitor()
但它不起作用,MixMonitor
根本无法启动。
唯一可行的方法是MixMonitor
针对每个扩展分别进行设置。
有没有办法MixMonitor
在全局范围内指定一个全局变量?因为我有很多扩展,为每个扩展指定单独的记录器会弄乱我的配置文件。
答案1
最简单的方法是稍微调整上下文。创建一个 [office-start] 上下文。然后执行以下操作:
[办公室开始]
exten => _X.,1,设置(文件名=XYZ)
扩展 => _X.,n,MixMonitor()
exten => _X.,n,转到(办公室,${exten},1)
然后将你的 SIP 对等体上的上下文设置为 office-start