星号和PHP-音乐暂停?

星号和PHP-音乐暂停?,php,asterisk,Php,Asterisk,我使用PHP和Asterisk允许客户通过我们的网站发起呼叫。我们希望在第一个分机启动时播放一个已经录制好的音频文件。我的问题:这是可以在PHP端配置的东西,还是应该在Asterisk中配置?如果是,在哪里?我在PHP中找不到指定路径或文件名的操作 下面是我的PHP脚本的一部分,用于启动调用 $socket = fsockopen($host, 5038, $errnum, $errstr, $timeout) or die("Connection failed"); fputs($so

我使用PHP和Asterisk允许客户通过我们的网站发起呼叫。我们希望在第一个分机启动时播放一个已经录制好的音频文件。我的问题:这是可以在PHP端配置的东西,还是应该在Asterisk中配置?如果是,在哪里?我在PHP中找不到指定路径或文件名的操作

下面是我的PHP脚本的一部分,用于启动调用

$socket = fsockopen($host, 5038, $errnum, $errstr, $timeout) or die("Connection failed");
    fputs($socket, "Action: login\r\n");
    fputs($socket, "Events: off\r\n");
    fputs($socket, "Username: $username\r\n");
    fputs($socket, "Secret: $password\r\n\r\n");
    fputs($socket, "Action: originate\r\n");
    fputs($socket, "Channel: $strChannel\r\n");
    fputs($socket, "WaitTime: $timeout\r\n");
    fputs($socket, "CallerId: $callId\r\n");
    fputs($socket, "Exten: $number\r\n");
    fputs($socket, "Context: $strContext\r\n");
    fputs($socket, "Priority: $strPriority\r\n\r\n");
    fputs($socket, "Action: Logoff\r\n\r\n");
编辑

我知道musiconhold.conf文件,但我正在寻找一种在这里执行它的方法,如果可能的话

您显示的代码只是创建呼叫,它不显示任何拨号计划,因此无法正确回答您的问题

最简单的方法是为第二个通道上的拨号命令提供m(musicclass)参数

更复杂的方法可以使用更多拨号计划技巧或应答宏(M参数)


既然你们并没有展示任何星号相关的知识,那个么好主意就是先读一本关于星号如何工作的书。我可以推荐奥雷利的“星号电话的未来”。

谢谢。我是一个PHP开发人员,已经加入了这个项目,所以听起来我需要阅读这本书。不幸的是,只有所有者可以访问拨号计划配置文件,这就是为什么我希望通过创建呼叫来实现它。您可以使用“Application:Dial”和“Data:Local/$number\@$strContext/n,,m”代替ext&context其他表单,但请注意,这样会弄乱CDR。不管怎样,没有星号专业知识的拨号应用程序会导致非常有缺陷的系统。例如,如果您同时放置了许多通道,或者没有可用的通道,它可能会挂起。