2015-09-04 75 views
7

我正在使用正常的php agi以下的星号this链接问题是我的php agi需要5秒钟才能执行。我只是想为用户设置一些等待音, agi正在处理中。在相同的链接我发现一些设置asterisk agi函数处理的等待音

set music: Enable/Disable Music on hold generator, example "SET MUSIC ON default 

,但我不知道如何使用我的意思是确切的语法和我在哪里把它。

我曾尝试加入

same => n,Set(CHANNEL(musicclass)=default) 

但力工作

任何人可以帮助我吗? 感谢

回答

2

如果使用phpagi,你有这样的事情

$agi->set_music(true,"myholdclass") 
... 
$agi->set_music(false) 

http://phpagi.sourceforge.net/phpagi2/docs/phpAGI/AGI.html#methodset_music

确定你需要首先描述/etc/asterisk/musiconhold.conf myholdclass

+0

非常感谢你的回复处理没有什么,但我不使用PHP-AGI我如我的问题中所述使用简单的agi – codegasmer

+0

我建议您使用phpagi。没有意义做自己的自行车。如果你正在使用自定义脚本,你只需要发送“SET MUSIC ON holdclass_here \ r ” – arheops

+0

我已经尝试设置类星号,但在哪里运行'SET MUSIC ON hold' – codegasmer

0

请查看Playtones命令。

讯号分配延长=> S,2,Playtones(拨)

0

我对您的问题更容易解决。

你使用Asterisk AGI,而不需要创建一个AGI脚本(我不喜欢AGI机制,我发明了一个更强大,更简单,更灵活的框架,使我可以用Asterisk曾经触摸过Dialplan或任何其他配置文件)。

对于您的问题,只需执行以下操作;

  1. 创建 '/ /斌回声' 在AGI目录中的符号链接的应用程序:

    ln -s /bin/echo /var/lib/asterisk/agi-bin/echo 
    
  2. 从你的拨号方案,通过调用exten => s,n,AGI(echo, SET MUSIC ON)

  3. 做开始保持音乐你的动作...
  4. 停止音乐搁置通过校对exten => s,n,AGI(echo, SET MUSIC OFF)
  5. 转移或做其他事情...

这是最简单的方法,无需创建AGI页面。

问候, 劳伦斯