chawki hammoud wrote:
When I used ulaw, the sending speed rate was at 9.3
Kbs and people can hear me fine. The receiving speed
rate was oscillating around 5kbs and 9.3 kbs where at
9.3 kbs the quality of the call is good. If I changed
the codec to a less bandwidth codec like gsm, the
sending speed is 3.1 kbs and people can hear me fine
and the receiving call alternates around 1 kbs and 3.1
kbs where at 3.1 kbs i can hear people fine. In both
codecs I experienced breaking up sounds when the rate
goes beyond 9.3 and 3.1.

It looks to me like packet loss rather than bandwidth only. I.E. if you get to max bandwidth you will see lost packets. However routers further down the line can also cause packet loss (at times of high load).


5/9.3 * 100 = 53.763440860215053763440860215054
1/3.1 * 100 = 32.258064516129032258064516129032

So, you are probably getting a max of 53% packet loss with Ulaw and 32% with GSM.

I would guess that you have something in the region of 25% packet loss at a remote router and 10-25% loss on the local connection depending on load.

In order to try and confirm this, see if small packets get loss.

I.E. if you sent something that was trying to use 1 kps do you still get 25% packet loss?

The other option (if you have access to the egress point - router etc) is to enable QOS on outgoing data so that you shape the traffic. Basically the idea of this is as follows:

You have multiple bins:

[ 1 ][ 2 ][ 3 ][ 4 ]  (for arguments sake)

The idea is that the traffic shaper will check bin 1 and if there is something in it, send it. If not check bin 2 and send etc etc until you reach the last bin.

So you can see that if you were to put VoIP traffic into bin 1 and say downloads into bin 4, and SSH into bin 2 etc then whenever there is VoIP traffic it will get sent first.

So, how do you decide what goes into each bin?

Well, deciding on what goes into each bin can be done in multiple ways. For example you can do it based on IP (src/dest), port (src/dest), tcp/udp, TOS flag etc.

A TOS flag is a small number that is included in every packet. TOS stands for Type Of Service. Basically you can mark packets as having different types of requirements. I.E. lowdelay, maxreliability etc.

You can set the TOS flags for traffic in Asterisk.

So, the bins actually come from tc or similar, but the easiest way is to use a script like wondershaper ( http://lartc.org/wondershaper/ ).

Basically if you use wondershaper you can just edit the file to decide how your traffic gets managed.

Let us know how you go.

--
Cheers,

Matt Riddell
_______________________________________________

http://www.sineapps.com/news.php (Daily Asterisk News - html)
http://www.sineapps.com/rssfeed.php (Daily Asterisk News - rss)
_______________________________________________
Asterisk-Users mailing list
[email protected]
http://lists.digium.com/mailman/listinfo/asterisk-users
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to