[Freeswitch-users] ESL on Ruby 1.9.2
Claudio Álvarez
claudio at clickfono.com
Tue Oct 25 18:08:25 MSD 2011
Hi everyone,
I've been able to compile the ESL wrapper for Ruby 1.9.2, however, I'm
getting an abnormal behavior with a small script (100% functional with
Ruby 1.8.7) which basically opens an ESL socket connection and listens
to channel events:
The event loop looks like the following:
con = ESL::ESLconnection.new('localhost', '8021', 'ClueCon')
con.events('plain', 'CHANNEL_ANSWER CHANNEL_HANGUP_COMPLETE
CHANNEL_BRIDGE CHANNEL_EXECUTE_COMPLETE')
i = 0
EM.run do
while (con.connected)
e = con.recvEvent()
EM.defer do
if (!e.nil? && !e.getHeader("variable_medularis_uuid").nil? &&
!e.getHeader("variable_clicktocall").nil?)
on_event(e, con, i)
i = i + 1
end
end
end
The problem I'm experiencing is that the event loop seems to be reading
events from the socket out of sync. For example, when I answer a call,
nothing happens (i.e. no event is processed), however, when I hangup,
the CHANNEL_ANSWER event is read from the socket. As you can see, I'm
using EventMachine, however, I've also tried Ruby threads and I'm
getting the same behavior.
Any clues on this issue? Has anyone tried Ruby 1.9.2 successfully with ESL?
Thanks!
Best,
--
Claudio Álvarez, Ph.D.
Arquitecto de Sistemas / Systems Architect
Medularis S.p.A. - ClickFono
Tel: 56 2 934 40 74
Cel: 56 9 9079 4951
claudio at clickfono.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20111025/3fff6e3d/attachment-0001.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list