如我所见,我可以使用Asterisk cmd监视器录制通话,然后使用ControlPlay播放录制的文件。 并且默认的基本名称是在频道名称加上数字上构造的,因此如何播放上次通话?例如:我有 3 个呼叫、呼叫 1、呼叫 2、呼叫 3,频道是 111,那么如何获取最后一个呼叫的名称 (call3( 进行播放?
一种简单的方法是使用全局变量来存储记录的文件名。
[call]
exten => s,1,Answer()
exten => s,n,MixMonitor(${UNIQUEID}.wav)
exten => s,n,Set(GLOBAL(lastcall)=${UNIQUEID})
exten => s,n,Dial(...)
[listen]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Playback(${GLOBAL(lastcall)}.wav)
要了解有关 GLOBAL(( 函数的更多信息:
asterisk*CLI> core show function GLOBAL
-= Info about function 'GLOBAL' =-
[Synopsis]
Gets or sets the global variable specified.
[Description]
Set or get the value of a global variable specified in <varname>
[Syntax]
GLOBAL(varname)