我已经设置了FreePbx,它正在工作,我可以对pbx和pbx进行调用。我启用了REST,并添加了一个用户和密码。我克隆了Asternet.Ari https://github.com/skrusty/AsterNET.ARI。
程序运行,我得到连接的事件:
// Create a new Ari Connection
ActionClient = new AriClient(
new StasisEndpoint("192.168.1.14", 8088, "userId", "password"),
"HelloWorld");
// Hook into required events
ActionClient.OnStasisStartEvent += c_OnStasisStartEvent;
ActionClient.OnChannelDtmfReceivedEvent += ActionClientOnChannelDtmfReceivedEvent;
ActionClient.OnConnectionStateChanged += ActionClientOnConnectionStateChanged;
ActionClient.OnChannelCallerIdEvent += ActionClient_OnChannelCallerIdEvent;
ActionClient.Connect();
........
private static void ActionClientOnConnectionStateChanged(object sender)
{
Console.WriteLine("Connection state is now {0}", ActionClient.Connected);
}ActionClient是连接的。然后我打电话给分机,但什么也没发生。我没有任何其他事件。当调用任何分机时,事件是否会引发火灾?不确定我是否正确地设置了pbx。当我从软电话或从外部Lan用手机打电话时,我不会收到任何呼叫事件。
发布于 2020-01-21 13:38:10
很长时间过去了,但也许还有用。只需将subscribeAllEvents参数设置为true即可。
ActionClient = new AriClient(
new StasisEndpoint("voip", 8088, "root", "password"),
"HelloWorld",
true);发布于 2019-02-10 07:17:20
您的星号Ari正在连接,但是要在其中获得任何内容,您必须创建分机,以便您的调用转到Stasis应用程序。
请用以下信息编辑您的extensions.conf文件
exten => _1XX,1,NoOp()
same => n,Stasis(HelloWorld,PJSIP/${EXTEN}, 45)
same => n,Hangup()此脚本首先检查以1开头的任何传入号码,将颁发给您的ARI脚本。HelloWorld是应用程序的名称,所以您可以在脚本中使用它。现在,任何调用都会显示您的套接字上的全部信息。现在您必须将这些信息处理到任何特定的任务中。\
https://stackoverflow.com/questions/53886515
复制相似问题