在 FreePbx 上未从 Asternet.Ari 获取任何事件
Not getting Any Events From Asternet.Ari On FreePbx
我已经设置了 FreePbx,它正在运行,我可以在 pbx 中进行呼叫,也可以从 pbx 中进行呼叫。我启用了 REST API 并添加了用户和密码。我克隆了 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。当我从软 phone 或从小区 phone.
上的局域网外部呼叫时,我没有收到任何呼叫事件
好吧,您的 Asterisk Ari 正在连接,但要在其中获取任何内容,您必须创建扩展,以便您的呼叫转到 Stasis 应用程序。
请使用以下信息编辑您的 extensions.conf 文件
exten => _1XX,1,NoOp()
same => n,Stasis(HelloWorld,PJSIP/${EXTEN}, 45)
same => n,Hangup()
此脚本首先检查任何以 1 开头的传入号码将被转发到您的 ARI 脚本。 HelloWorld 是应用程序的名称,因此您已经将其包含在脚本中。现在任何来电都会在您的套接字上显示全部信息。现在您必须处理此信息以执行任何特定任务。
\
很久过去了,但也许有用。
只需将 subscribeAllEvents 参数设置为 true。
ActionClient = new AriClient(
new StasisEndpoint("voip", 8088, "root", "password"),
"HelloWorld",
true);
我已经设置了 FreePbx,它正在运行,我可以在 pbx 中进行呼叫,也可以从 pbx 中进行呼叫。我启用了 REST API 并添加了用户和密码。我克隆了 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。当我从软 phone 或从小区 phone.
上的局域网外部呼叫时,我没有收到任何呼叫事件好吧,您的 Asterisk Ari 正在连接,但要在其中获取任何内容,您必须创建扩展,以便您的呼叫转到 Stasis 应用程序。
请使用以下信息编辑您的 extensions.conf 文件
exten => _1XX,1,NoOp()
same => n,Stasis(HelloWorld,PJSIP/${EXTEN}, 45)
same => n,Hangup()
此脚本首先检查任何以 1 开头的传入号码将被转发到您的 ARI 脚本。 HelloWorld 是应用程序的名称,因此您已经将其包含在脚本中。现在任何来电都会在您的套接字上显示全部信息。现在您必须处理此信息以执行任何特定任务。 \
很久过去了,但也许有用。 只需将 subscribeAllEvents 参数设置为 true。
ActionClient = new AriClient(
new StasisEndpoint("voip", 8088, "root", "password"),
"HelloWorld",
true);