Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / ToS - не могу установить Expedited Forwarding

ToS - не могу установить Expedited Forwarding

1 2>
Откуда: Moscow
Сообщений: 101

ToS - не могу установить Expedited Forwarding

Asterisk 1.2.7.1, роутер CISCO-1841, канал 2MB, по которому ходит голосовой трафик АТС Avaya и данные.
Для обеспечения QoS от меня требуют, чтобы пакеты * были маркированы "ef" аналогично Avaya.
При написании в sip.conf tos=0xB8 согласно
Asterisk sip tos :
For Asterisk Deployments in DiffServ environments, tos=0xB8 will set the Diffserv EF (Expedited Forwarding) bits. 

в пакетах, посылаемых * поле Differentiated Services устанавливается в 0x00.
Установка других значений ToS вроде af31 (tos=0x68) или стандартных (lowdelay, throughput, reliability и т.д.) срабатывает нормально...
А на http://www.voip-info.org/wiki/view/DiffServ я думаю опечатка
Asterisk 1.0.9 (ie sip.conf) - EF DiffServ hexadecimal: tos = 0x8b

Кто может подсказать куда рыть?
2006-05-30 18:07

Avatara of dnz63
Сообщений: 177

Re: ToS - не могу установить Expedited Forwarding

Включи log полный и смотри там инициализацию sip канала
== SIP Listening on 0.0.0.0:5060
== Using TOS bits 184
chan_sip.c: Unable to set TOS to 184
2006-05-30 18:48

Сообщений: 1530

Re: ToS - не могу установить Expedited Forwarding

Вот и у меня пишет "Unable to set TOS to 184"...
Случаем не из-за того, что запущен не от root'а?
http://www.telecomtechnology.net - premium терминация
2006-05-30 22:24

Откуда: Moscow
Сообщений: 101

Re: ToS - не могу установить Expedited Forwarding

Разобрался - оказывается старший бит можно устанавливать только под root'ом. Запустил под root'ом - все Ок!
Еще одно решение:
#af31
iptables -A OUTPUT -t mangle -p udp -m udp --dport 5060 -j DSCP --set-dscp 0x68
#ef
iptables -A OUTPUT -t mangle -p udp -m udp --sport 10000:20000 -j DSCP --set-dscp 0x2e

P.S. По адресу http://bugs.digium.com/file_download.php?file_id=9156&type=bug
есть очень интересные строчки (!!!):
+;tos_sip=cs3 ; Sets TOS for SIP packets.
+;tos_audio=ef ; Sets TOS for RTP audio packets.
+;tos_video=af41 ; Sets TOS for RTP video packets.
2006-05-30 23:06

Сообщений: 1530

Re: ToS - не могу установить Expedited Forwarding

Хм.



# iptables -A OUTPUT -t mangle -p udp -m udp --dport 5060 -j DSCP --set-dscp 0x68
iptables v1.3.5: DSCP `104` out of range


Смотрим код:


if ((dscp > IPT_DSCP_MAX)) {
printk(KERN_WARNING "DSCP: dscp %x out of range\n", dscp);
return 0;
}


В ipt_dscp.h есть следующее:


#define IPT_DSCP_MAX 0x3f /* 00111111 */


?
http://www.telecomtechnology.net - premium терминация
2006-05-31 10:45

Откуда: Moscow
Сообщений: 101

Re: ToS - не могу установить Expedited Forwarding

2 tma
опечатка (0x68 надо писать в "tos=")
iptables -A OUTPUT -t mangle -p udp -m udp --dport 5060 -j DSCP --set-dscp 0x2a
2006-05-31 11:40

Откуда: Moscow
Сообщений: 101

Re: ToS - не могу установить Expedited Forwarding

2 tma
еще одна опечатка :-(
iptables -A OUTPUT -t mangle -p udp -m udp --dport 5060 -j DSCP --set-dscp 0x1a
2006-05-31 11:50

Сообщений: 1530

Re: ToS - не могу установить Expedited Forwarding

Т.е. для SIP
iptables -A OUTPUT -t mangle -p udp -m udp --dport 5060 -j DSCP --set-dscp 0x1a
а для RTP:
iptables -A OUTPUT -t mangle -p udp -m udp --sport 10000:20000 -j DSCP --set-dscp 0x2e
http://www.telecomtechnology.net - premium терминация
2006-05-31 12:50

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: ToS - не могу установить Expedited Forwarding

Согласно docs/ip-tos.txt из Asterisk исходников надо делать так
/sbin/iptables -A OUTPUT -t mangle -p udp -m udp --sport 4569 -j DSCP --set-dscp-class ef
/sbin/iptables -A OUTPUT -t mangle -p udp -m udp --sport 10000:20000 -j DSCP --set-dscp-class ef
/sbin/iptables -A OUTPUT -t mangle -p udp -m udp --sport 5060 -j DSCP --set-dscp-class cs3

Это только в том случае, если астериск работает не из под рута. Если запускается рутом, можно выставлять tos в .conf файлах.

P.S. Чтобы прошла iptables, нужны слудуюшие модули:

lsmod:

Module Size Used by
xt_DSCP 6272 3
xt_tcpudp 6784 3
iptable_mangle 6272 1
ip_tables 14532 1 iptable_mangle
x_tables 15364 3 xt_DSCP,xt_tcpudp,ip_tables
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2008-05-08 02:47

Avatara of IgorG
Откуда: Омск
Сообщений: 478

Re: ToS - не могу установить Expedited Forwarding

А чтобы не мудрить с iptables можно просто поставить libcap перед сборкой asterisk (1.4 и выше), тогда при запуске он "похватит" права на установку произвольных значений DiffServ и сможет самостоятельноустановить EF
OpenSUSE 11.2 / Asterisk 1.6.x / Vicidial / UniMRCP
2008-05-08 06:14

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru