gpt4 book ai didi

Java中Asterisk如何拨号

转载 作者:行者123 更新时间:2023-11-30 07:13:07 25 4
gpt4 key购买 nike

我想调用一个号码并播放我计算机中的音频文件。

之前已经设置了一个Asterisk服务器。使用下面的代码,我设法调用一个号码,分机播放音频(“这是一个测试调用”)并挂断。我知道扩展程序会这样做,因为当我更改它时音频会发生变化。

如果我更改extensions.conf中的数据,也许我可以播放任何我想要的音频。但我实习的公司不允许我查看或更改 Asterisk 的文件。所以我必须用java来做。

长话短说,如何在java中调用号码并播放我想要的音频然后挂断。我在网上搜索了好几天,但找不到任何东西。请帮助我:(

public void run() throws IOException, AuthenticationFailedException,
TimeoutException
{
OriginateAction originateAction;
ManagerResponse originateResponse;

originateAction = new OriginateAction();
originateAction.setChannel(number);
originateAction.setContext(context);
originateAction.setExten(extension);
originateAction.setPriority(Integer.parseInt(priority));
originateAction.setTimeout(new Integer(30000));

managerConnection.login(); // connect to Asterisk and log in
originateResponse = managerConnection.sendAction(originateAction, 30000);// send the originate action and wait for a maximum of 30 seconds for Asterisk to send a reply
System.out.println(originateResponse.getResponse()); // print out whether the originate succeeded or not
managerConnection.logoff(); // and finally log off and disconnect

}

最佳答案

看看this

您可以使用 exec("Playback","your file") 来播放文件

public class ExampleCallIn extends BaseAgiScript {
public void service(AgiRequest request, AgiChannel channel) throws AgiException {
answer();
exec("Playback", "tt-monkeys");
hangup();
}
}

exec 命令可以使用 Asterisk 服务器定义的任何应用程序,例如 Dial 或 Originate

关于Java中Asterisk如何拨号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38852756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com