bandwidth monitoring on lan

June 23, 2011

I’ve been using PRTG to monitor bandwidth for my voice services for some time now. I’ve had a few questions on this.

0

Is Asterisk virtualization practical?

February 25, 2011

Is Asterisk virtualization practical? For me, the short answer is YES, but especially in a lab.

In the last 6 months, I’ve gone from having half a dozen of Asterisk installations running on old desktop “servers”, or ODS for short, down to one installation.

I often need to be able to simulate configurations in a way that’s isolated from my production systems, and the only way I could do it was to maintain siloed configurations in my lab. It can also get complicated explaining to the wife why your laundry room has more workstations then most small offices, and why those ODS draw so much power. I only use my lab one a month tops, but when I do, it’s for several hours non-stop. The rest of time time, I just need the machines to be available; sometimes locally and sometimes remotely.

I can hear some wondering why I needed more then one ODS or a home lab running in the first place, and depending on what you use Asterisk for, that’s a reasonable question. If you’re just running a single site PBX, you probably don’t need more then one production system and one test system. However, if you’re running a more complicated multi-site configuration, or call routing deployment, then the only way to try stuff out is within a lab.

My “staging” and system configuration requirements didn’t change at all. So how did I drop my lab and recover precious laundry space, if I still need to work with multiple systems in an interconnected configuration? Answer: EC2 and VMWare

I’ve build several ami’s which can be launched from anywhere, anytime, and with a very short lead-time. My image is always exactly the way I left it, and if I make a mistake, it just takes a few seconds to start over. My IP endpoints and trunks can be setup in minutes with a configuration import, so localized system configurations are a snap to bring back. With EC2 being on the net by default, it can also be very convienient for colaboration, either with another eningeer or your client, without having to setup VPNs, or firewall holes.

Most of this is also true for my VMWare images (minus the part about colaboration), but VMWare isn’t always the best for simulating multiple sites, unless  you’ve got a beast for a host machine. Don’t get me wrong, it’s been a life saver when working away from an internet connection, and backed up with EC2, the conbination is amazing.

There is one advantage, for me, to running my lab on VMWare every now and then, that EC2 can’t allow. I can packet sniff on my VM segment. This is really helpful when tracking down QOS flags, which internet routes just don’t respect.

So what does that one last ODS I said I have still running at home do for me? Well, Asterisk running on EC2 and WMWare is great, but not perfect. Since EC2 doesn’t have a solid ZAPtel timer, conferencing doesn’t work. I use my last ODS to host conference rooms. In my virtual labs, I have my systems register via IAX2 trunk to my home ODS, and use it’s timer and conference functions. It’s kinda slick to have everything working so well, giving you the best of both worlds.

My remaining laundry room PC also servers as a hub for all of my running labs configurations, since they all register via IAX2 back ‘home’, I have a route in to them. Not bad for a dynamic ‘on demand’ lab.

2

what does it cost?

February 21, 2009

Now that you’re thinking about using a ResVoip Asterisk EC2 machine or Voxilla in a Cloud, you must have some questions. So, what does it all cost?

The ResVoip image is not a paid ami, beyond the standard Amazon charges, but that doesn’t mean that there’s no cost. Make sure you understand what you charges will show up on your bill.

Legal: This is meant to be a guide, and is in no way intended to tell you what your maximum costs would be while using EC2. It’s your responsibility to double check all my math, but as far as I know, I got it right (all math was double checked using iBeast’s bandwidth calculator at http://www.ibeast.com/content/tools/band-calc.asp). Your actual usage will determine what you are billed. This guide only outlines the charges you’ll rack up with EC2, NOT your Voip carrier. You need to keep in mind that all time used to a carrier will be billed based on their guidelines, and are not included in these calculations.

Ok, now that we have all the fine print out of the way….

Amazon charges for EC2 services based on a few a factors.

  • How long you run your server
  • what server size (hardware, cpu, memory) you select
  • How much bandwidth you use (including how many calls you run through your system.)

My assumption is that most people are going to run their machine as a small image. If you run anything other than the small, make sure you have your calculator and checkbook ready.

Small Instance (Default) 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform

Pricing for the small image is:

  • $0.10 per hour
  • All Data Transfer In $0.10 per GB
  • First 10 TB per Month Out $0.17 per GB

So, if you’re running your PBX non-stop, you’re looking at a base cost of about $75 per month. Variable costs are going to be based on the bandwidth you use.

All calls will use bandwidth. Make sure to count the data used by your trunk to your carrier, and your route to your endpoint. I’m going to assume you’re using ulaw for the full path, with maximum data usage on the calls for the entire time.

  • Ec2 to carrier = 85k
  • Ec2 to endpoint = 85k

85kbit + 85kbit = 170kbit/sec = 21.25kB/sec = 1275kB/min = 1.24megs/min

Each minute of your call will use about 1.2 megs, by my calculation, which would be 803 minutes per gig. ½ of the data would be data in and the other ½ would be data out, so the cost would be $0.135 per every 803 minutes you use, or 5,900 minutes per $1.

I find EC2 charges to be very reasonable, and much lower than hosted “root” servers which come with contracts, bandwidth caps, and overage fees. Your needs will vary from mine, so make sure you know what you’re getting yourself in to!

0

ResVoip EC2 Build 3!

February 19, 2009

I’m really excited! There seems to be a lot of momentum and interest around Asterisk on EC2 in the last few days!

To make things clear, there’s no competition on our part in this space – our only interest is in giving back to the community. We are happy to work with anyone who might already have an EC2 image to reduce redundancy in effort.

That all being said, we are releasing our 3rd build of Asterisk on EC2 today. What’s installed?

  • Asterisk 1.4.23.1
  • g729 eval code – check your local laws
  • FreePBX 2.5.1.1
  • Webmin 1.450

You can launch this image by looking for ami-2ec62147.

There is no cost to this machine, and therefor no warranty implied or liability accepted. Please do send over any and all feedback.

While this isn’t quite ‘Trixbox on Ec2′, with your feedback and support, it could soon come close.

Enjoy

Setup Notes:

Webmin:
running on port 10000
default login is ‘admin’ / ‘resvoip’
make sure to open tcp port 10000 if you wish to use

To set the web administrator password, use the command ‘passwd-web’. The username is wwwadmin.

1. edit the /etc/asterisk/sip_general_custom.conf file and fill in your own values for the externip and localnet variables.

2. define your firewall rules to allow:
1. udp 10000-20000, 4569, 5036, 5060
2. tcp 5060
3. tcp 22, 80
3. configure your carriers and endpoints

4. define your dialplan

8

breaking out the business logic

February 3, 2009

Since the publishing of the ResVoip EC2 Asterisk image, I’ve gotten a lot of feedback from those who have used it, or want to use it for a specific application. That feedback has led to some custom AMIs. I’m interested in hearing what if anything you’ve used our image for.

One of the most interesting uses comes from a call center in Maryland. This center has a local asterisk PBX & a good amount of asterisk-business experience and understanding, but not a lot of technical experience. They host several contracts for both inbound and outbound call campaigns. Each of the campaigns uses different business logic, and after a while, they found their local pbx becoming too “custom”, and the code for one contract started to impact existing contracts. What’s the answer when you need to break business logic out of your pbx?

The decision makers at this call center decided to introduce EC2 in to their mix. Using a custom ResVoip AMI, they launched several machines, one for each of their projects. They migrated all of their custom applications and configuration to the cloud, taking with it the security constraints, logs, recordings, codec conversions, consultant and client access requirement and over hassle of each project.

With Voip trunks between their local pbx and “application” PBXs, the services provided to their customers looked unchanged, but by isolating all of the business logic in to silos in the cloud, uptime went up.

This group now has the confidence in the scalability of their open source PBX to add new projects and contracts without fear that the custom requirements of the new project may break something already in production.

We are interested in hearing about how you use Asterisk on EC2. Please use the email links or the comments.

1

Call Centers – No longer a barrier to entry

February 3, 2009

As a business owner, you’re responsible to many people. You have a responsibility to your customers to deliver the services for which you are paid to deliver. You have a responsibility to your staff to have a productive work environment. You have a responsibility to your investors to be fiscally responsible, and make a profit. Most importantly, you have a responsibility to yourself to meet your responsibilities to all the others without bearing a personal cost.

It can be scary enough for a business owner to consider using open source to provide services/major functions of their business. Without a support contract, support team, or on staff guru, how can one take such risks? What if you’re business is telephone calls? Would you trust your entire operation to open source? Well, it seems that many do, but they chances are they don’t have the same priorities as those who we just described.

In the world prior to commoditising of complex communication platforms, a call center business had many barriers to entry. Not just anyone could do it. Today, what was once a complex business my be someone’s hobby. A person with a good amount of savvy and experience with open source can build a call center system which rivals some of the majors, just for fun, and without a business model to back it. No worries, they did it on a 4 year old PC in they had laying around in their closet, so it won’t break any banks.

Now that the technology is just sitting there, idle, available to anyone who wants to invest a bit of time in to it, people who have a bright idea can put it in to action without that ancient barrier to entry.

As anyone with telecommunication experience will tell you, the technology is just a very small piece to the call center business. You can’t do anything without a connectivity partner. When you’re working inbound, you’re married to one carrier, for the most part. If you’re lucky enough to have an outbound call center, you have a lot more flexibility then others, since you can move from carrier to carrier as quickly as you can reconfigure your trunks and dialplans. Not surprisingly, many of the great new feature sites we’re seeing pop up are outbound.

VoIP carriers offer an amazing amount of flexibility without serious commitment. With a single data T1, a staff of well over 40 agents, who are obviously very dutiful about cross-referencing do-no-call lists, can run your outbound call campaigns all day long for pennies. Replace those agents with text to speech or pre-recorded prompts, and you not only don’t have a staffing cost, but your business can be 24 hours.

Does this mean that we’re more likely to be interrupted during dinner tonight to take a phone survey, or receive an automated call reminding us of our dental appointment tomorrow morning, or to get a reminder call that tonight’s Heroes is a new episode? Probably.

0

What’s behind the ResVoip Project?

February 2, 2009

The ResVoip project started in April 2005. The name is short for the Residential Voice over IP Project; a project with the goal of making residential VoIP easy-er for those who want it. The key idea is that you should need to know how all the tech and system admin works.

I’ve always been very focused on what I do. When there’s something I want to know more about, that usually means full emersion, or as close to it as possible. Asterisk was no different.

I discovered Asterisk in early 2004 while working on an independent telecom project. I was approached by a colleague of mine at CQPress who was looking for a way to automate the sending of phone calls based on a database. He was a .net developer, and had little UNIX experience, and I was a systems guy (sr engineer) with a comp-sci background. He ran is idea past me, and while I wasn’t convinced that the service he wanted to build would be useful, I thought it would be an interesting challenge.

After a few hours on the Googles, I came across Asterisk (pre version 1). Shortly after, I discovered FWD, and the Pulver store. Jump to three weeks later, and you’ll find me sitting, sleep deprived, in my living room surrounded by 8 budgetone phones and a shuttle box acting as a pbx, entering in code examples I was reading from http://voip-info.org/wiki/. In that time, I had learned how most of the config files worked and was now struggling with the low bandwidth codes, dialplan, softphone and hard phone options and carrier selections.

The other guy, who I’ll call P, the one who sparked my interest in his project initially was now also looking in to Asterisk. He had his own test lab, but was lucky enough to have someone trail blazing for him. There were a lot of phone calls where I would explain concepts to him which had taken me days to figure out on my own, and he was quickly absorbing them. We were both curious how we could apply our new found knowledge to build something practical.

While immersed in all of this, we came across a posting for Astercon Atlanta. P & I, along with a systems admin friend, also from CQPress, jumped on a plane, with bags full of phones, and laptops. We were ready to hear everything everyone in the industry was doing, go to all the seminars, and then go back to our room in the evening and experiment while everything was fresh in our mind.

We left Astercon with some new ideas, which meant taking what we learned, and further experimenting.

I had a buddy who was running a computer lab at Columbia University. I convinced him to setup a Linux box on the campus network, and let me run a PBX on it. It was a great idea, since everyone knows that the Ivy League has the best bandwidth, and being in NYC, it was close to all of the ISP interconnects as well as some of the carriers I was using.

A few dozen sipuras and few hours ssh’ed to the box in NYC (living and working in DC), all my friends and family now were enjoying dirt cheap phone calls, no monthly costs, and free calls between each other. I had purchased the domain ResVoip.com, and the project was born. Keep in mind, this is long before any unlimited calling plans on landlines or cell phones, and when calling Canada still meant international call. Using Telix’s international service, while they were still trying to figure out how to bill for it, I was able to save my friends and family tons of money. They didn’t need to know anything about how the project was working, other than how to report issues back to me. All of this is going on with little to no operating costs for me – the bandwidth is free, and the calls are just a few dollars a month, with 20 or so people motivating me to keep going. Then it happened. My buddy in NYC and I had a falling out. He decided that our friendship wasn’t working for him when we discovered that I was dating his sister. Long story short, I had to find a new host for ResVoip.

I discovered 1&1 internet root servers and everything changed. I signed a one year agreement for a $70/mo linux box, with decent bandwidth, ready to run my PBX. It took me a day or so to get my PBX up and running. A few DNS changes later, and a few hours translating my dialplan back in to the box manually, ResVoip was back online, where it lived happily for more than a year. Towards the end of that year, usage dropped, as users became frustrated having to pre-pay for minutes using paypal to VoipJet and their other carriers, as Vonage and Skype started to become popular.

Asterisk@Home was now making Asterisk achievable to those who didn’t have the background to get it up on their own. It was a great tool for automation, and finally, a central place where community developers could work together, instead of duplicating efforts. I decided that I wanted to give something back to the community myself. I wanted to find a way to simplify what I had learned, and make it available as a service. I didn’t know how to do it, or why I wanted to do it. I just knew that it would be helpful, and follow along the lines.

It was now 2006, and I had moved on from CQPress, and was now an Asterisk consultant. I had mastered it, and was now making a living off of it. I had created a version which was now being marketed by a local telecom VAR. I was helping with deployments, training technical staff & sales people, as well as doing product development. My deployments were now being shipped overseas and being used as part of US AID contracts, running embassy call centers. ResVoip was now being using to tie many of these client sites together. It was the demo line at the client sites, letting the sales reps call someone in their office to show clients how easy it was. It was the way we called in to the African PBXs (over IAX) so that we could fine tune IVRs. It was less of a personal project, but now a hub in a spoke of other Asterisk systems. It made plenty of sense for me to unload it. I enjoyed the people I worked with, so I handed the system over, under the agreement that I could still use it for personal use all I wanted – but now I wasn’t carrying the cost.

After a few months, I had almost entirely stopped using ResVoip. I had collected most of my Sipuras back from the friends and family and was winding down on my Asterisk consulting. I had started that company with P & N, launched a product, and then sold my stakes. The company had great potential, and P & N both left CQPress to run it full time. It was recently on the cover of the Chicago Sun Times. I was now back to 9-5 with a DC non-profit, managing an IT department. Asterisk was still a  hobby, but that was it.

0

Asterisk build 2

March 16, 2008

I’m taking requests for features for build 2 for Asterisk for EC2.

For starts, I’ll working to include chanskype, allowing for asterisk integration with skype.  Skype requires X11, so you’ll be able to VNC in to the session and interact with the X11 desktop manager.

I’ll be including the trixbox yum repositories by default.

Send your feedback to ec2@resvoip.com.

Nauman

0

Asterisk on EC2!

March 14, 2008

Using the instructions found on Donald Flood’s blog, I’ve complied a complete asterisk Amazon EC2 image for public use!

Donald’s instructions were easy to follow and right on, but for convienice and personal use, I decided that compling an image would make launching multiple systems easier.

Using the instructions found on Donald Flood’s blog, I’ve complied a complete asterisk Amazon EC2 image for public use!

Donald’s instructions were easy to follow and right on, but for convienice and personal use, I decided that compling an image would make launching multiple systems easier.

Just launch AMI-8f08ede6 for a pre-complied Asterisk 1.4.8 system, running sample config.

If you’re new to EC2, beyond figuring out how to launch the instance, you’ll need to take a few additional steps to have a usable system.

  1. edit the /etc/sip.conf file and fill in your own values for the externip and localnet variables.
  2. define your firewall rules to allow:
    1. udp 10000-20000, 4569, 5036, 5060
    2. tcp 5060
    3. tcp 22, 80
  3. configure your carriers and endpoints
  4. define your dialplan

Webmin is installed, so if you’d like to use it, launch it by running /etc/webmin/start, and make sure you open tcp port 10000.

There are known problems with this AMI – and they are somewhat serious, depending on what you plan on doing with your EC2 instance. The primary, is that there are no Zaptel drivers installed, therefor no timeing source is included. This means no queues or conferences. I haven’t go much beyond sending calls to the demo context, so I can’t speak for the relability of this installation.  Finally, there’s no GUI. If you find any other problems, please do let me know. If you branch any other AMI off of this one, also, please do let us know!

Unfortunatly, if you’re looking for a TrixBox-like system, this isn’t it yet. I offer no support, nor do I accept any liability for problems which my arise from your use of this AMI.
ENJOY!

Credit due to http://www.donaldflood.com/2007/07/21/installing-asterisk-on-amazon-ec2/

1