Skip to content

Repository files navigation

RubyAMI

Eventmachine based fork

Installation

gem install ruby_ami

Usage

require'ruby_ami'EM::rundoasterisk_ip='127.0.0.1'asterisk_port=5038asterisk_username=nilasterisk_password=nillogger=Logger.new(STDOUT)logger.level=Logger::INFO# asterisk connectionstream=EM.connect(# EM.connect parametersasterisk_ip,asterisk_port,RubyAMI::Stream,# AMI credentialsasterisk_username,asterisk_password,# event callback->(e){caseewhenRubyAMI::Stream::Connectedputs"connected"whenRubyAMI::Stream::Disconnectedputs"disconnected"elseputs"event received : #{e.name}: #{e.headers.inspect}"end},# optional reconnection callback->(s){EM::add_timer(1){puts"reconnecting..."s.reconnect(asterisk_ip,asterisk_port)}},# optional loggerlogger)# async actionsEM::next_tickdostream.async_send_action('Originate','Channel'=>'SIP/foo')do |response|
putsresponse.inspectendend# sync actions in threadEM::deferdoresponse=stream.send_action('Originate','Channel'=>'SIP/foo')putsresponse.inspectend# sync actions in fiberFiber.newdoresponse=stream.fiber_send_action('Originate','Channel'=>'SIP/foo')putsresponse.inspectend.resumeend

Copyright

Copyright (c) 2013 Ben Langfeld, Jay Phillips. MIT licence (see LICENSE for details).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages