i have 2 servers in 2 locations and i am using VPN to connect these 2 FreePBX server 12 with Asterisk 11.
i have IAX trunk between both and every thing work fine . and due to the slow connection between the 2 branches i used ilbc only for the IAX . but none of my endpoint phone in both branches support ilbc .
so my question is . do i have to have ilbc on these 2 phones . or is the traffic between these 2 servers will be IAX and from each server to each phone will be normal codec?
what is the codec and call flow in this design ?
is it (phone ) G711 —> IAX ( server ) ---- IAX (server ) <----- G711 (phone )
or somthing else
It’s as you expect. Asterisk is doing transcoding from ulaw to ilbc over the iax trunk.
You can see this by doing ‘core show channels’ and then picking an IAX channel that’s going between the machines, and going ‘core show channel IAX/…whatever’ and you’ll see the codec in use.
However, I would like to point out, I find it extremely unlikely that it’ll make that much of a difference in bandwidth. You’ll actually have better audio quality and be more tolerant of dropped packets if you switch to G722.
Hi Rob - that’s an interesting “pearl of wisdom”. Can you explain briefly why that would be? Since the majority of our endpoints are wifi handheld devices (on the move), I’m interested in anything that would minimise in-call dropouts.
Thanks xrobau . but for sure ILBC will consume less bandwidth plus G722 will take traffic as the G711 . yes HD audio . but still i limited to bandwidth
G722 is quite tolerant of dropped packets - much more so than G711. This is something you can play with yourself, by the way, in software.
If your handset has the IP Address 192.168.99.88:
iptables -A OUTPUT -d 192.168.99.88 -m statistic --mode random --probability 0.1 -j DROP
If you run that on your FreePBX machine, that’ll drop 10% of all traffic heading 192.168.99.88 so you can hear the changes yourself. Note that 10% is a lot of traffic to drop. More real-world is 1%, which would be
To remove it, replace the -A (add) with -D (delete).
Thanks Rob - I’ll give G722 a try.
Built-in simulation of a bad network - that’s very cool
If you wanted to be even MORE accurate, you should drop packets both ways, which would be this:
iptables -A OUTPUT -d 192.168.99.88 -m statistic --mode random --probability 0.005 -j DROP
iptables -A INPUT -s 192.168.99.88 -m statistic --mode random --probability 0.005 -j DROP
That emulates a network that’s dropping 1% of packets in both directions. (Note the -s[ource] and -d[est] differences there, too)
Even cooler - and you’ve given me a great way to wind up my brother… “no, I can hear you fine - must be your ludicrously expensive iPhone”