cómo establecer TOS?

375 views
Skip to first unread message

juanmol

unread,
Jun 29, 2009, 8:03:59 AM6/29/09
to asterisk-es
Hola, el asunto hiba a ser ¿como marcar paquetes? pero seguro que mas
de uno me responde "con un pantalon ajustado" ... lo siento, chiste
facil postvacacional.
El caso es que estoy intentando que mi asterisk establezca el TOS de
los paquetes SIp y RTP, asi que en el [general] del sip.conf:

tos_sip=cs3
tos_audio=ef

un reload y el sip show settings me muestra:

Global Settings:
----------------
(...)
IP ToS SIP: CS3
IP ToS RTP audio: EF
(...)

ahora pongo el tcpdump en la misma maquina del asterisk y desde un
softphone pruebo llamar (usando un proveedor voip) y veo que el valor
de tos es siempre 0x0.

Entonces me surge la duda ¿asterisk me esta marcando los paquetes pero
el tcpdump no lo muestra bien? ¿no los marca bien? ¿no es asi como se
mira el TOS? Evidentemente lo quiero para poder priorizar el trafico
en el ruter, segun el TOS.

Una ayudita por favor.

Paco

unread,
Jun 29, 2009, 10:55:59 AM6/29/09
to asterisk-es
On 29 jun, 14:03, juanmol <juan...@gmail.com> wrote:

> Entonces me surge la duda ¿asterisk me esta marcando los paquetes pero
> el tcpdump no lo muestra bien? ¿no los marca bien? ¿no es asi como se
> mira el TOS? Evidentemente lo quiero para poder priorizar el trafico

Para que asterisk pueda marcar los paquetes como tu quieras, debe
estar arrancado como root. Si no lo está, puedes usar iptables para
marcar los paquetes:

iptables -t mangle -A OUTPUT -p udp -m udp --sport 10000:20000 -j DSCP
--set-dscp-class ef

con esa regla marcas todos los paquetes de salida UDP del 10000 al
20000, o sea, el RTP por defecto de asterisk

Un saludo.

fabricio

unread,
Jun 29, 2009, 3:27:05 PM6/29/09
to asterisk-es
que comando de tcpdump utilizaste para capturar los paquetes?? porque
yo lo tengo de la misma manera configurado, tal ves pueda ver y
analizar

juanmol

unread,
Jun 30, 2009, 2:59:36 AM6/30/09
to asterisk-es
he probado con tcpdump -nv port 5060

juanmol

unread,
Jul 1, 2009, 8:03:01 AM7/1/09
to asterisk-es
puede ser que al marcarlos como "ef" el tcpdump lo vea como 0x0a ¿?

fjosebernal

unread,
Jul 1, 2009, 12:51:28 PM7/1/09
to asterisk-es
Yo tengo exactamente el mismo problema. Me llega el DSCP como 0x0 en
vez de cs3
Al final opté en su dia por marcarlo en el switch todo lo que salga
del 5060 desde la ip de la máquina donde está asterisk.

Yo tengo esto:

tos_sip=cs3
tos_audio=ef

En cambio si que me marca el audio en ef (0x0a).

Creo que debe haber algun problema en Asterisk o algo que estamos
haciendo mal.

Itnash

unread,
Jul 2, 2009, 3:02:17 AM7/2/09
to asterisk-es
Hola,

Yo tuve ese problema, estais ejecutando Asterisk como root? Si NO es
así el SO no os permite marcar paquetes con prioridad alta...para
poder marcar paquetes con prioridad alta desde un usuario no-root es
necesario instalar la libreria libcap-devel (yum install libcap-devel
en CentOS) y volver a compilar Asterisk (el ./configure sobre todo).

Espero que os ayude...

Saludos,

fabricio

unread,
Jul 2, 2009, 11:00:23 AM7/2/09
to asterisk-es
pues te cuento q yo estoy como root pero tampoco tengo resultados
positivos

Itnash

unread,
Jul 2, 2009, 11:17:34 AM7/2/09
to asterisk-es
Ni con la libreria?

fabricio

unread,
Jul 15, 2009, 4:26:51 PM7/15/09
to asterisk-es
p libcap-
bin -
basic utility programs for using capabilities
p libcap-
dev -
development libraries and header files for libcap2
p
libcap1
- support for getting/setting POSIX.1e capabilities
i
libcap2
- support for getting/setting POSIX.1e capabilities
p libcap2-
bin - basic
utility programs for using capabilities
p libcap2-
dev -
development libraries and header files for libcap2
p
libcapi20-3
- libraries for CAPI support
p libcapi20-
dev -
libraries for CAPI support
p libcapseo-
dev - video
codec library (development)
p
libcapseo0
- video codec library (runtime)
p libcapsinetwork-
dev - C++ network
server library, development files
p
libcapsinetwork0c2a
- C++ network server library
p libcaptcha-recaptcha-
perl - perl
implementation of the reCAPTCHA API
p libcapture-tiny-
perl - Perl module
to capture STDOUT and STDERR from Perl, XS or external programs
p libcaptury-
dev - X11/GLX
video capturing framework (development)
p
libcaptury0
- X11/GLX video capturing framework (runtime)

fjosebernal

unread,
Aug 5, 2009, 11:12:29 AM8/5/09
to asterisk-es
He probando en un Asterisk 1.6.1.2 y efectivamente instalando el
paquete de desarrollo antes de hacer el configure se queda todo como
debería.

dpkg -l | grep libcap
ii libcap2 2.11-2
support for getting/setting POSIX.1e capabilities
ii libcap2-dev 2.11-2
development libraries and header files for libcap2


Reply all
Reply to author
Forward
0 new messages