在FreePbx上没有从Asternet.Ari获取任何事件



我已经设置了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);
    }

操作客户端已连接。然后我打电话给一个分机,但没有任何反应。我没有收到任何其他事件。调用任何扩展时是否应触发事件?不确定我是否正确设置了 pbx。当我从软电话或从手机外部局域网呼入时,我没有收到任何呼叫事件。

很久过去了,但也许还有用。只需将订阅所有事件参数设置为 true。

        ActionClient = new AriClient(
            new StasisEndpoint("voip", 8088, "root", "password"),
            "HelloWorld",
            true);

好吧,你的Asterisk Ari正在连接,但要在其中获取任何东西,你必须创建扩展,以便你的调用转到Stasis应用程序。

请使用以下信息编辑您的扩展名.conf文件

exten => _1XX,1,NoOp()
same => n,Stasis(HelloWorld,PJSIP/${EXTEN}, 45)
same => n,Hangup()

此脚本首先检查任何以 1 开头的传入号码都将被原谅到您的 ARI 脚本中。HelloWorld是应用程序的名称,因此您可以在脚本中阅读它。现在任何来电都会在您的套接字上显示整个信息。现在,您必须将此信息处理到任何特定任务。\

相关内容

  • 没有找到相关文章

最新更新