首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HangupAction asterisk java

HangupAction asterisk java
EN

Stack Overflow用户
提问于 2015-04-20 15:47:24
回答 1查看 534关注 0票数 0

我正在尝试从前端应用程序使用asterisk pbx执行呼叫。我的后端是用java编写的,我使用的是Spring框架。目前,我可以使用以下服务发起呼叫:

代码语言:javascript
复制
@Service("callHandlingService")
public class AsteriskCallHandlingServiceImpl implements AsteriskCallHandlingService {

private ManagerConnection managerConnection;

public void initiateCall(String caller, String callee) throws IllegalStateException, IOException, AuthenticationFailedException, TimeoutException {
    ManagerConnectionFactory factory = new ManagerConnectionFactory(
            "0.0.0.0", 5038, "test", "test");
    this.managerConnection = factory.createManagerConnection();
    OriginateAction originateAction;
    ManagerResponse originateResponse;

    originateAction = new OriginateAction();
    originateAction.setChannel("SIP/" +caller);
    originateAction.setContext("default");
    originateAction.setExten(callee);
    originateAction.setPriority(new Integer(1));
    originateAction.setTimeout(new Integer(30000));

    managerConnection.login();
    originateResponse = managerConnection
            .sendAction(originateAction, 30000);
    }
}

和控制器:

代码语言:javascript
复制
@Controller
public class CallController {
@Autowired
private AsteriskCallHandlingService callHandlingService;

@Autowired
private SimpMessageSendingOperations messagingTemplate;

@MessageMapping("/originateCall/{caller}/{callee}")
public void callNumber(@DestinationVariable String caller, @DestinationVariable String callee) throws IllegalStateException, IOException, AuthenticationFailedException, TimeoutException {
    callHandlingService.initiateCall(caller, callee);
}

我的问题是如何终止主叫方和被叫方之间的连接?我有一个想法是在服务hangup(String callee)中再添加一个方法,我找不到任何示例,我希望有人能给我一个提示。非常感谢!如有任何帮助,我们不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2015-04-21 03:28:49

您需要侦听事件,这样您就可以确定为您需要的频道分配的频道名称。

在此之后,您可以通过AMI执行“核心软挂起通道XXXX”操作。

如果没有拨号方案支持,就没有简单的方法可以做到这一点。但您可以组织拨号方案,以便它在呼叫之前为您的频道名称录音。

一般来说,在不完全了解asterisk如何工作的情况下编写类似dialler的代码是非常糟糕的主意。如果你不能花时间学习,可以使用vicidial.org或其他开源的拨号内核。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29742016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档