Ruby 星号从应用程序中查找错误号码

Ruby 星号从应用程序中查找错误号码,ruby,asterisk,pbx,Ruby,Asterisk,Pbx,我正在使用“asterisk ari”gem构建一个stasis应用程序,该应用程序连接到asterisk服务器进行通话,该应用程序在正常通话中运行良好 但是当我从A->B从PRI线路呼叫时,B是无效手机,A只收到铃声铃声。所以A不知道B的no是无效的。在asterisk或stasis应用程序中,是否有任何方法可以检测到它是一个错误的号码/忙碌的号码,并通过自定义拨号音或直接从提供商处通知a 这是我处理两个通道事件的代码 def handle_channel_events(in_channel,

我正在使用“asterisk ari”gem构建一个stasis应用程序,该应用程序连接到asterisk服务器进行通话,该应用程序在正常通话中运行良好

但是当我从A->B从PRI线路呼叫时,B是无效手机,A只收到
铃声
铃声。所以A不知道B的no是无效的。在asterisk或stasis应用程序中,是否有任何方法可以检测到它是一个错误的号码/忙碌的号码,并通过自定义拨号音或直接从提供商处通知a

这是我处理两个通道事件的代码

def handle_channel_events(in_channel, out_channel)
  bridge = nil

  channels = [out_channel, in_channel]
  channels.each do |channel|
    channel.on :stasis_end do |e|
      AriEvent.exec_callback(:hangup, in_channel.caller.number, in_channel.dialplan.exten, in_channel) if channel == in_channel
      AriEvent.log("Channel #{e.channel.name} left Stasis.")
      AriEvent.hangup(channels, bridge)
    end
  end

  out_channel.on :stasis_start do |e|
    in_channel.answer

    AriEvent.log('****** Inside OutGoing channel ******')
    AriEvent.exec_callback(:answer, in_channel.caller.number, in_channel.dialplan.exten, in_channel)
    bridge = AriEvent.client.bridges.create(type: 'mixing')
    bridge.add_channel(channel: "#{in_channel.id},#{out_channel.id}")
    #bridge.start_moh()
  end

  out_channel.on :channel_destroyed do |e|
    begin
      puts e.cause
      puts e.cause_txt, bridge.inspect
      AriEvent.log('******  OutGoing channel destroyed ******')
      in_channel.hangup(reason: "busy")
    rescue => e
      puts e.inspect
      puts e.backtrace
    end
  end
end

是否有人面临类似问题?

请重新表述问题,使其不是“其他人有此问题?”否则,它看起来像是一个缺陷/问题,需要向创业板回购机构报告。您是否收到错误消息?如果是,请编辑问题并将其包括在内。请重新表述问题,使其不是“任何其他人有此问题?”否则,它看起来像是一个缺陷/问题,需要向创业板回购机构报告。您是否收到错误消息?如果是,请编辑问题并将其包含在那里