Asteris on EC2.. partially solved

1 view
Skip to first unread message

Philippe Creytens

unread,
Apr 15, 2008, 3:42:40 PM4/15/08
to Adhearsion
Gents

Just to provide feedback to the people that emailed me.
Found a solution that appears to be running just fine 12,000km away on Amazon.

I had to resort to assigning an Elastic IP to the instance.

Upside: it works like a charm (but needs some more testing)
Downside: an Elastic IP costs $0.01 when not running; or more or less $7/month (if you 'reserve' it).

So I guess if you want to set up a potential pool of Asterisk servers, you will have to pay for your 'reserved' IPs, even if they are not used.
But of course,  having to pay $7/ip/month still beats having extra servers only for peak moments...

So, next challenges:

1) dynamically start/shutdown instances
2) how do we setup Adhearsion to address a pool of servers?

Suggestions, ideas or comments are welcome!

Philippe

ANANGWE Nelson

unread,
Apr 16, 2008, 3:22:23 AM4/16/08
to adhea...@googlegroups.com
Dear Philippe,
 
The link below could help with the dynamic starting and shutting down of instances haven't used it though.
 
 
Regards,
Nelson


From: adhea...@googlegroups.com [mailto:adhea...@googlegroups.com] On Behalf Of Philippe Creytens
Sent: Tuesday, April 15, 2008 10:43 PM
To: Adhearsion
Subject: Asteris on EC2.. partially solved

================= The information contained in this electronic message and any attachments are intended for specific individuals or entities, and may be confidential, proprietary or privileged. If you are not the intended recipient, please notify the sender immediately, delete this message and do not disclose, distribute or copy it to any third party or otherwise use this message. The content of this message does not necessarily reflect the official position of the International Organization for Migration (IOM) unless specifically stated. Electronic messages are not secure or error free and may contain viruses or may be delayed, and the sender is not liable for any of these occurrences.

Philippe Creytens

unread,
Apr 16, 2008, 3:46:42 AM4/16/08
to adhea...@googlegroups.com
Nelson

I already had a look at Scalr. However, no documentation (yet?) and PHP based.
I am also looking into Kato (Ruby based, uses EC2 SQS).

As there are number of tools out there, I feel pretty confident that dynamically managing a pool of Asterisk servers can be done.
Unsure however to how to deal with Adhearsion, especially towards outbound calling via Drb... Jay, suggestions??

Philippe

Tim Uckun

unread,
Apr 17, 2008, 7:31:35 PM4/17/08
to adhea...@googlegroups.com
> So, next challenges:
>
> 1) dynamically start/shutdown instances
> 2) how do we setup Adhearsion to address a pool of servers?
>
> Suggestions, ideas or comments are welcome!

It would be trivial to set up adhearsion to address a pool of server.
All you need is a load balancer. Since asterisk connects to adhearsion
over IP the load balancer can shuttle the AGI calls between the
backend servers.

Your remaining problems are...

1) How to make sure multiple servers have the same codebase.
2) How to make sure all asterisk servers have the same sounds on them.

1) is easy just use vlad or capistrano.
2) is easy just use powerfolder (http://www.powerfolder.com/)

I suppose you could use powerfolder for 1) too.

Philippe Creytens

unread,
Apr 21, 2008, 9:47:00 AM4/21/08
to adhea...@googlegroups.com
Tim

Loadbalancing on the incoming side is no issue: I could use DNS round-robin, but I need to be able to address multiple Asterisk servers on outbound traffic via Adhearsion.
AHN uses Drb and AMI and it specifically connects to the server configured in startup.rb.

Philippe

Tim Uckun

unread,
Apr 23, 2008, 12:33:03 AM4/23/08
to adhea...@googlegroups.com
>
> Loadbalancing on the incoming side is no issue: I could use DNS round-robin,
> but I need to be able to address multiple Asterisk servers on outbound
> traffic via Adhearsion.
> AHN uses Drb and AMI and it specifically connects to the server configured
> in startup.rb.


I bet you could use rinda and ring for that.

http://segment7.net/projects/ruby/drb/rinda/ringserver.html
http://evan.tiggerpalace.com/?p=39

It's a tuple space. Your application can throw things into the tuple
space and your outbound call handlers can pull things from the space
one at a time and process them.

Reply all
Reply to author
Forward
0 new messages