I’m about to hook up a new office with asterisk and voip for the first time, and I’m trying to decide what kind of connection to order. We need to handle 6-8 simultaneous calls. I think that means that I could use DSL, with a 768K uplink bandwidth. However, I’m not really clear on how the bandwidth is used. Am I using 64K for the duration of each call, regardless of whether the caller is actually speaking at that moment or, since it’s packet switched, does each call actually average much less than 64K bandwidth over the life of the call because of silences? And, can I really use most of the uplink bandwidth, i.e. how close can I get before quality will degrade? I’m assuming that, at this size, there is no reason to consider a T1, right?
I did look at the bandwidth calculator on asteriskguru, but I’m not sure which codec I should be using, and it tells me nothing about “headroom”.
I’m not sure if this matters, but I was thinking of order DSL service from sonic.net or covad, and probably will use polycom IP phones internally.
first off remember that each call uses the codec bandwidth (64k for ulaw) plus overhead, so for ulaw that comes out to be around 90k. g.726 (ADPCM) might be a good choice if your provider supports it, voice quality is similar to ulaw but only takes up 32k.
So you want 8 channels, 8 * 90k = 720k. Thus a lower bitrate codec might be a better choice.
You should use something like this: ((peak phone needed bandwidth)+(peak computer needed bandwidth)) * 1.2 = your answer. In other words figure out what you’ll need and add 20%.
but most importantly, you NEED good qos (quality of service) control on your wan link, this isnt optional. QOS prioritizes voip packets before everything else, and can often mean the difference between smooth sailing and unusable chop.
a bit more on codec choice:
g.711 ulaw or alaw, 64kbit, 90k with overhead
6.726 adpcm, sounds good like ulaw, 32kbit.
gsm- around 15kbit+overhead, good sound quality but not as good as ulaw. Low cpu usage.
G.729 around 10kbit/sec+overhead, very popular codec, well supported by providers and IP phones. Relatively high CPU usage to encode or transcode (asterisk can usually just pass it through without recoding). Using g.729 requires a license from digium at $10/channel, the license is only used for encoding/decoding so asterisk can often just pass 729 data from a phone to a provider. However for checking voicemail or using an IVR, a license is needed.
iLBC- around 10-12k as i recall, free, high cpu usage. Not widely supported
Thanks for the info, Iron. A couple of follow-on questions.
Is there an index of QoS capability by ISP somewhere? I searched sonic.net’s site, for instance, and the search comes up empty. Not a good sign, I guess. BTW, the link will be dedicated to the voip. Internet use will be via a separate DSL.
Secondly, is it necessary that the phone I choose support the codec, or will asterisk allow me to translate. In other words, is it possible to use, say, 6.726 from SIP vendor via wan to asterisk, then g.711 from asterisk via LAN to phone? The polycom’s that I’m looking at support only G.711 and g.729a.
Is there an index of QoS capability by ISP somewhere? I searched sonic.net’s site, for instance, and the search comes up empty. Not a good sign, I guess. BTW, the link will be dedicated to the voip. Internet use will be via a separate DSL.[/quote]
Not wanting to answer Irons questions for him as he is more then capable of doing it, i wont mind adding in my 2cents worth.
I think when Iron was referring to QOS, he might have been reffering to the Actual DSL link, no so much the ITSP but the Internet service provider. Or mostly towards you running QOS on that link if you were mixing Data and Voice on that link, which your not, so keeping that in Mind QOS wont do you any good.
I don’t personally think this will be a problem, so far our internal testing has been as such:
Internal IP phones using uLAW to the Asterisk Box, from Asterisk Box calls being sent out over G.726 to the ITSP/Carrier.
To be honest with you, i have switch back and forwards between the CoDec’s trying to establish what loss of quality there is with 1. Transcoding and 2. Low Bandwidth usage CoDec. Yes some voice quality is lost, but to be honest with you it is negligible, the less resources being used of the system, and the less bandwidth being used also makes up for the very small quality loss on the voice side of things.
If anything i strongly recommend you stay away from using G.729 unless you have too, i have said it before and will say it again, the CoDec is over rated and does not perform anywhere as good as what some ITSP/Carriers like to push it to be.
Also having a link dedicated to just doing voice is well thought out, but have you done research as to what the DSL that is being offered? A couple of things you need to find out.
What is the contention ratio on the link, usually on Business grade services the ratio can run from 1-1 too 1-20. Obviously 1-1 is the best but if you can get it to be under 1-10 you will have a good sturdy link.
How many hops can you possibly expect from Point-A to your ITSP? The more hops you have the more likely you can get packet jitter, choppiness in the voice and possibly even echo and latency.
It is also best to do VoIP services with the DSL provider if at all possible, due to there only usually being 1-3 hops between you and their end point equipment, and also them running QoS over the link, quality can be assured to a certain level, investigate with your DSL provider if they can supply VoIP services.
There are probably more things you can do to run a full due diligence, however some of them you will work on the way, but just don’t fall into any traps, make sure you are happy and confident with any decisions you make.
Not a problem TelePhone, we are all here to answer questions.
When I refer to QOS controls, I mean a QOS priority control on your side of the DSL link. Such a device will give VoIP packets higher priority than other packets. This functionality is built into many routers and other such things.
Yes it’s quite possible to transcode between ulaw and 726 or whatever. However this is generally not recommended as it results in significantly more Asterisk CPU usage per call than if you aren’t. Dealing with ulaw and g.726 shouldn’t cause any major drain, not like g.729 encoding. However I’d still recommend phones that do support the codec you want, check out SNOM phones. SNOMs support g.726 as well as a handful of others, and they don’t suck.
If you get VoIP service from your DSL provider, which isn’t a bad idea, make sure they will support BYOD. That means Bring Your Own Device, aka they give you the SIP login info to plug into Asterisk. Often DSL or cable-based VoIP providers have a locked system, that is they give you the modem which has an ATA (analog telephony adapter) built in and force you to use the analog ports that come out of that. Such a setup is not good for use with Asterisk, you need * to be able to talk to the provider directly via SIP.