私のアスタリスクからAMIを介してリアルタイムイベントを取得しようとしているレールアプリケーションがあります。
新しい adhearsion プロジェクトを作成せずに、adhearsion ソース コードから呼び出しを開始するスクリプトを作成することに成功しました。
adhearsion の ManagerInterface クラスを拡張し、event_message_received メソッドをオーバーライドするクラスを作成しました。Rails CLI から、誰かが呼び出して Enter キーを 2、3 回押すと、イベントが発生しますが、それを取得するために介入する必要があります。
これが私のコードです:
class Astercall < Adhearsion::VoIP::Asterisk::Manager::ManagerInterface
def initialize
super(:host => "host", :username => "username", :password => "password", :events => true)
connect!
end
def self.click_call(number, exten, name)
# asterisk = connect()
originate(:channel => "SIP/#{exten}",
:context => "from-internal",
:exten => number,
:priority => "1",
:caller_id => "Calling #{name}")
end
def event_message_received(event)
if(event.kind_of? Adhearsion::VoIP::Asterisk::Manager::ManagerInterfaceEvent )
puts event.inspect
end
end
end
そのためにバックグラウンド プロセスを実行する必要がありますか。もしそうなら、どうやってそれをするつもりですか????
前もって感謝します