1

我无法在 .call 文件中播放多个声音文件 (.wav)。我在变量中传递了很多声音文件 (SetVar: Sound=custom/1_Messages0201&custom/20c&...) 问题是字符串大小。当大小小于 240 个字符时,所有声音文件都可以正常播放。第 240 个字符之后的所有文件都被修剪,并出现错误

pbx_spool.c: Syntax error at line 10 of /var/spool/asterisk/outgoing/333.call

我正在阅读拨号字符串长度的限制

注意:在 Asterisk 1.2 之前(包括 Asterisk 1.2),拨号字符串的长度不能超过大约 240 个字符(任何超过的字符都将被截断)。这个限制在 Asterisk 1.4 中被移除了,除非你在编译选项中设置了 LOW_MEMORY。

有什么办法可以消除这个限制,或者增加拨号字符串的大小。也许任何人都可以建议我任何其他更好的主意。

星号版本:

Asterisk 11.2.1 built by root @ ip-XX-XXX-XXX-XXX on a x86_64 running Linux

拨号方案:

exten =>    123,1,AGI(monitor.php,outgoing,Outgoing_UNLIMITED,${CALLERID(num)},${EXTEN},Set(CALLERID (num)=XXXXXXXXX))
exten => 123,1,Dial(SIP/6845987568/${EXTEN:0},30,T)
exten => 123,2,Set(CDR(userfield)=${NumberDialed})
exten => 123,3,Playback(${Sound})

调用文件:

Channel: SIP/XXXXX/XXXXXX
CallerID: XXXXXXX
MaxRetries: 2
RetryTime: 15
Context: XXXXXX
Extension: 123
Priority: 1
Account: XXXXXX
SetVar:    Sound=custom/1_Messages0201&custom/20c&custom/i&custom/1om&custom/March&custom/2c&custom/hiliadi&custom/i&custom/13of&custom/godina&custom/1_Messages0202&custom/3c&custom/3c&custom/3c&custom/3c&custom/3c&custom/3c&custom/3c&custom/3c&custom/1_Messages0203&custom/200c&custom/50c&custom/i&custom/6c&custom/leva&custom/i&custom/70c&custom/i&custom/8c&custom/stotinki&custom/1_Messages0204
SetVar: NumberDialed=XXXXXXXX
4

2 回答 2

2

在调用文件触发后,您的拨号计划中也会遇到同样的问题(它也有限制)。播放应用程序并非旨在播放大量不同的文件。如果你需要这样做,你可以通过拨号方案来做到这一点。

你可以这样发送:

Setvar: file_max=2
Setvar: file1=custom/1_message
Setvar: file2=custom/2_message

之后使用 asterisk 的拨号方案逐个播放文件。例如像这样:

exten => 123,3,Set(i=0);
exten => 123,n(loop),Set(i=$[ ${i} + 1 ])
exten => 123,n,GotoIF($[ $i > ${file_max} ]?exit)
exten => 123,n,Playback(${file${i}})
exten => 123,n,Goto(loop)
exten => 123,n(exit),Noop(end)

注意,这个任务会有很多其他问题,我建议你检查开源拨号程序代码,比如 vicidial 或聘请专家。

于 2013-03-22T19:09:05.253 回答
0

我对这个问题的解决方案是设置一个“活动”调用变量,然后在数据库中定义各种“活动”。然后我在拨号计划中使用数据库查找来获取声音文件列表。我的 DBGet Ruby 脚本返回两个值;“更多文件”标志和最多十个声音文件的列表。只要“更多文件”标志为真,我循环 DBGet 并继续向客户播放文件集。

它就像一个魅力。并使通话文件更易于阅读。

于 2013-03-25T14:22:33.203 回答