0

我正在 Asterisk (v15.5) 中试验ARI接口。我已经设法相对较好地拨打和管理外拨电话,现在我正在尝试处理呼入电话。

我的测试服务器上没有任何拨号方案可言;不需要它:我只是通过 ARI、Originate频道连接,并将它们桥接在一起。但是,尝试向服务器发送入站呼叫会给我一个错误

chan_sip.c:26513 handle_request_invite:从“upstreamserver”(192.168.xx:5060)到扩展“12345”的呼叫被拒绝,因为在上下文“默认”中找不到扩展。

很公平 - Asterisk 不知道扩展 12345 或如何处理它。当然,我可以将它添加到 extensions.conf 中,将扩展放入 stasis 并让我的应用程序处理它:但是,这有两个缺点:

  • 我们可能有数百个呼入号码,我们需要保持拨号方案是最新的
  • 我们希望有多个 ARI 应用程序连接到服务器:似乎我们需要为每个扩展指定一个特定的应用程序名称

理想情况下,我想使用 ARI 以编程方式告诉 Asterisk:嘿 Asterisk,我是 ARI 应用程序,如果有任何呼叫分机 12345,请告诉我,我会为您处理这些。目前有没有办法做到这一点,还是回到编辑拨号计划并手动将其指向我的应用程序?

4

1 回答 1

0

如果你想通过 ARI 控制一切,你应该做这样的事情

[default]
exten => _.,1,Noop(need ban this <${CHANNEL(recvip)}>);use fail2ban
exten => h,1,Hangup
[from-trunk]
exten => _.,1,Stasis()
exten => h,1,Hangup

您不应在对等/扩展中使用默认上下文

您还可以使用动态实时和 fastagi 来控制拨号计划。

于 2018-08-28T04:57:09.480 回答