Ruby 星号从应用程序中查找错误号码
我正在使用“asterisk ari”gem构建一个stasis应用程序,该应用程序连接到asterisk服务器进行通话,该应用程序在正常通话中运行良好 但是当我从A->B从PRI线路呼叫时,B是无效手机,A只收到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,
铃声
铃声。所以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
是否有人面临类似问题?请重新表述问题,使其不是“其他人有此问题?”否则,它看起来像是一个缺陷/问题,需要向创业板回购机构报告。您是否收到错误消息?如果是,请编辑问题并将其包括在内。请重新表述问题,使其不是“任何其他人有此问题?”否则,它看起来像是一个缺陷/问题,需要向创业板回购机构报告。您是否收到错误消息?如果是,请编辑问题并将其包含在那里