Asterisk 将dialplan替换为“ARI”;“动态”;入站扩展

Asterisk 将dialplan替换为“ARI”;“动态”;入站扩展,asterisk,asterisk-ari,Asterisk,Asterisk Ari,我正在试验Asterisk(v15.5)中的界面。我已经相对较好地安排和管理出站呼叫,现在我正在尝试处理入站呼叫 我在测试服务器上没有任何拨号计划;它并不需要:我只是通过ARI、频道连接,并将它们连接在一起。但是,尝试向服务器发送入站呼叫时出错 chan_sip.c:26513 handle_request_invite:从'upstreamserver'(192.168.x.x:5060)到扩展'12345'的呼叫被拒绝,因为在上下文'default'中找不到扩展 很公平-星号不知道12345

我正在试验Asterisk(v15.5)中的界面。我已经相对较好地安排和管理出站呼叫,现在我正在尝试处理入站呼叫

我在测试服务器上没有任何拨号计划;它并不需要:我只是通过ARI、频道连接,并将它们连接在一起。但是,尝试向服务器发送入站呼叫时出错

chan_sip.c:26513 handle_request_invite:从'upstreamserver'(192.168.x.x:5060)到扩展'12345'的呼叫被拒绝,因为在上下文'default'中找不到扩展

很公平-星号不知道12345分机,也不知道如何使用它。当然,我可以将其添加到extensions.conf中,将扩展置于停滞状态,让我的应用程序处理这个问题:但是,这有两个缺点:

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

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

如果您想通过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
[默认值]
ext=>,1,Noop(需要禁止此操作);使用fail2ban
extn=>h,1,挂断
[从后备箱]
ext=>,1,Stasis()
extn=>h,1,挂断
您不应该在对等方/扩展中使用默认上下文


您还可以使用dynamic realtime和fastagi来控制拨号计划。

我发现Stasis app_name参数缺失-这意味着我需要硬编码应用程序名称,根据OP,我希望使用此“动态”,以便我们可以连接多个应用程序