0

我正在使用 C# 和 AsterNet 发送以下命令。

命令执行,但只返回命令响应的最后一行。

CommandAction cmdAction = new CommandAction ();
cmdAction.Command = "core show channels";
var response = manager.SendAction(cmdAction);

有谁知道如何从命令返回所有响应行?

4

1 回答 1

0

您应该发送 CoreShowChannelsAction 操作而不是 CommandAction。以下链接包含有关 CoreShowChannels AMI 操作的文档。

https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerAction_CoreShowChannels

这段代码应该给你一个例子。

var cmdAction = new CoreShowChannelsAction();
var response = manager.SendAction(cmdAction);

但是,响应将不包含频道列表。它只会确认操作请求已成功发送。

要获取频道列表,您必须注册 CoreShowChannel 和 CoreShowChannelsComplete 事件的回调。

据我所知,AsterNet 库不会引发这些事件。我认为您将需要分叉并将这些事件添加到库代码库中。

祝你好运。

于 2020-08-08T15:46:13.517 回答