freeswitch-esl
Production Ready.
Freeswitch Event Socket library for Crystal language.
Installation
-
Add the dependency to your
shard.yml
:dependencies: freeswitch-esl: github: bit4bit/freeswitch-esl.cr
-
Run
shards install
Usage
see directory samples/.
Usage Inbound
require "freeswitch-esl"
conn = Freeswitch::ESL::Inbound.new("172.29.0.9", 8021, "ClueCon")
if !conn.connect(1.second)
puts "failed to login"
end
puts conn.api "uptime"
events = conn.events
spawn do
loop do
event = events.receive
puts event.headers
puts event.message
end
end
sleep
Usage Outbound
require "freeswitch-esl"
Freeswitch::ESL::Outbound.listen("127.0.0.1", 40000) do |conn, events|
# first events it's channel data
channel_data = events.receive
puts channel_data.headers
resp = conn.execute "answer"
puts resp
conn.execute "hangup"
end
Development
TODO Write development instructions here
Contributing
- Fork it (https://github.com/bit4bit/freeswitch-esl/fork)
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request
Contributors
- Jovany Leandro G.C - creator and maintainer