Asterisk 无法保存名称为当前时间的录制文件

Asterisk 无法保存名称为当前时间的录制文件,asterisk,voip,audio-recording,Asterisk,Voip,Audio Recording,我正在使用星号11.9.0并尝试录制用户语音,但无法将用户录制的名称保存为当前时间,如(2014-06-19 14:40:04.wav) 我的代码 我的cli显示 Executing [4759500@record:5] Record("DAHDI/i1/8826093338-18fe", "2014-06-19 14:40:04:wav") in new stack -- <DAHDI/i1/8826093338-18fe> Playing 'beep.gsm' (lan

我正在使用星号11.9.0并尝试录制用户语音,但无法将用户录制的名称保存为当前时间,如(2014-06-19 14:40:04.wav) 我的代码

我的cli显示

 Executing [4759500@record:5] Record("DAHDI/i1/8826093338-18fe", "2014-06-19 14:40:04:wav") in new stack
    -- <DAHDI/i1/8826093338-18fe> Playing 'beep.gsm' (language 'yes')
[Jun 19 14:40:07] WARNING[19525]: file.c:1181 ast_writefile: No such format '40:04:wav'
[Jun 19 14:40:07] WARNING[19525]: app_record.c:320 record_exec: Could not create file 2014-06-19 14
    -- Executing [4759500@record:6] Wait("DAHDI/i1/8826093338-18fe", "2") in new stack
    -- Executing [4759500@record:7] Hangup("DAHDI/i1/8826093338-18fe", "") in new stack
执行[4759500@record:5]在新堆栈中记录(“DAHDI/i1/8826093338-18fe”,“2014-06-19 14:40:04:wav”)
--播放“beep.gsm”(语言“是”)
[Jun 19 14:40:07]WARNING[19525]:file.c:1181 ast_writefile:没有这样的格式'40:04:wav'
[Jun 19 14:40:07]警告[19525]:app_record.c:320 record_exec:无法创建文件2014-06-19 14
--执行[4759500@record:6]在新堆栈中等待(“DAHDI/i1/8826093338-18fe”,“2”)
--执行[4759500@record:7]新堆栈中的挂起(“DAHDI/i1/8826093338-18fe”)

我认为星号搜索“:”之后的文件格式会产生问题。是否有办法将当前时间保存为记录的文件名。提前谢谢。

您使用的文件名没有空格,否则星号解析不正确


您在wav(格式)之前也使用了逗号

您的想法是正确的。您需要将时间中的“:”替换为文件系统友好字符。你可以用两种方法中的一种;一种是使用带有SED的SHELL进程来完成这项工作。或者,您可以使用AST中的REPLACE命令

下面的代码示例未经测试。你需要阅读包含的链接并调整。我希望这对你有所帮助

[record]
exten => _X.,1,Verbose(2,----------Record-----------)
 same => n,Answer()
 same => n,set(__START=$[REPLACE(:,${CDR(start)}),-])
 same => n,Playback(hello-world)
 same => n,Wait(1)
 same => n,Record(${START}.wav)
 same => n,Wait(1)
 same => n,Hangup()
请注意,自Ast 1.2以来,将“:”分隔记录格式替换为“.”

建议阅读:


不要在wav文件之前使用逗号。如果要使用当前日期时间保存文件,请使用此变量
${STRFTIME(${EPOCH},,%d-%m-%Y%H:%m:%S)}.wav

您可以执行以下操作:

Record(${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}.wav)
Record(${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}.wav)