Duda con el codec G729 comercial en centralita Asterisk

221 views
Skip to first unread message

Miguel Alberto Sanz Pardo

unread,
Nov 28, 2014, 10:48:53 AM11/28/14
to aster...@googlegroups.com
Hola buenas tardes,

Quería plantearos una duda que me ha surgido al instalar Asterisk en una nueva centralita.

Digamos que de forma normal quiero que mis teléfonos usen el codec G729(para llamadas de voz a través de proveedores de VOIP) y en caso de hacer llamadas de datos que usen el g711(a través de un gateway FXO que está conectado a la RTB o en su defecto a través de un proveedor de VOIP)

En el gateway FXS tengo puestos como primer codec el g729 y como segundo y ultimo el g711
En el gateway FXO tengo puesto como unico codec el g711

A su vez en el sip.conf tengo algo de este estilo:

[telefonos-fxs](!)
type=friend
context=outgoing
host=dynamic
language = es
disallow=all
allow=g729
allow=alaw
qualify=yes
canreinvite=no
call-limit=1

[GXW4104]
username=GXW4104
type=friend
host=dynamic
language = es
qualify = yes
disallow=all
allow=alaw
context=default
canreinvite=no
insecure=port

Digamos que dispongo de un dialplan de este tipo, de manera que cuando hago llamadas de datos se negocia el codec y la llamada se realiza mediante ALAW:

; LLAMADA DE DATOS a través de Gateway FXO
exten => _1234.,1,NoOp()
same => n, Set(SIP_CODEC=alaw)
same => n,Dial(SIP/GXW4104/991${EXTEN:4},30,T)
same => n,Hangup()

; LLAMADA DE VOZ a través de PROVEEDOR VOIP
exten => _9876.,1,NoOp()
same => n,Dial(SIP/proveedorXXX/${EXTEN:4},30,T)
same => n,Hangup()

Pues bien, en una centralita antigua en la que tengo Asterisk 11.7.0 y tengo una licencia del codec G729 no hay ningún problema, cuando las llamadas son de voz se usa el codec G729 y cuando son de datos Asterisk renegocia codecs y se usa el G711.

Sin embargo, en la nueva centralita en la cuál tengo la última versión estable de Asterisk y en la que no tengo ninguna licencia(pero en la que sí que tengo instalado el codec G729) no es capaz de realizar la negociación, aparece este mensaje en el CLI de Asterisk(Os pongo el debug)

 Executing [987697.....@outgoing:1] NoOp("SIP/10....-0000000e", "") in new stack
    -- Executing [987697.......@outgoing:2] Set("SIP/10...-0000000e", "SIP_CODEC=alaw") in new stack
    -- Executing [987697.......@outgoing:3] Dial("SIP/10...-0000000e", "SIP/GXW4104X/991976......,30,T") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/GXW4104P1MEX/991976682118
[2014-11-28 09:12:34] WARNING[1830][C-00000007]: channel.c:6208 ast_channel_make_compatible_helper: No path to translate from SIP/GXW4104-0000000f to SIP/100....-0000000e
  == Spawn extension (outgoing, 98769......., 3) exited non-zero on 'SIP/10....-0000000e'
Scheduling destruction of SIP dialog '29416715...@BJC.BGI.H.BAD' in 6400 ms (Method: INVITE)

<--- Reliably Transmitting (NAT) to 192.168.7.103:5060 --->
SIP/2.0 603 Declined
Via: SIP/2.0/UDP 192.168.7.103:5060;branch=z9hG4bK953253971;received=192.168.7.103;rport=5060
From: "TP0...." <sip:10....@192.168.7.226>;tag=852182642
To: <sip:98769......@192.168.7.226>;tag=as2e2c3241
Call-ID: 29416715...@BJC.BGI.H.BAD
CSeq: 751 INVITE
Server: Asterisk 11
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces
Content-Length: 0


¿Alguien sabe qué está pasando y cómo solucionarlo? ¿Es necesaria una licencia de forma obligatoria para usar el codec en su versión comercial a la hora de renegociar(no de hacer un transcoding) con el codec G729 de por medio? Es cierto que en la central antigua solo he probado a hacer una llamada con una renegociación a la vez pero también es cierto que en mi sistema las llamadas de datos en principio van a ir de 1 en 1 por RTB.


NOTA:

Para instalar el codec hice algo de este estilo:

1) Lo descargué de http://downloads.digium.com/pub/telephony/codec_g729/asterisk-11.0/x86-64/
  

[ ]   codec_g729a-11.0_3.1.7-generic_64.tar.gz         16-Oct-2014 14:15           443K     

2) Lo renombre a codec_g729a.so y lo copié a /usr/lib64/asterisk/modules

3) Le dí permisos de ejecución $ chmod 755 /usr/lib64/asterisk/modules/ codec_g729a.so

4) Lo cargué


$ load codec_g729a.so
$ asterisk -rx "module load codec_g729a.so"

5) Reinicié Asterisk ( e incluso el server)

Si ejecuto
core show codecs aparece el G729
Si ejecuto
core show translation no aparece en el bloque mostrado.
Pero sin embargo sí que puedo realizar llamadas mediante G729.

Si es necesario instalar una licencia sé los pasos a seguir pero antes de comprarla me gustaría saber si la necesito realmente o no.

un saludo

Miguel Sanz

Raúl Alexis Betancor Santana

unread,
Nov 28, 2014, 10:58:01 AM11/28/14
to aster...@googlegroups.com
La has liado en el paso que has descargado el codec de Digium ... sino activas la licencia ... asterisk se negará a negociar esa llamada, aunque la intentes hacer en passthrought, ya que Asterisk negocia (llamar a lo que hace negociar es un alago), los codecs de forma independiente para cada pata de la llamada. Recuerda que Asterisk es un B2BUA y cada pata de la llamada es como una llamada independiente.

El problema real ... es que en tu caso, Asterisk intenta primero 'establecer' la llamada, como se ofrece G729 como primera opción ... y Asterisk vé que no tiene translation path hacia el force a G711 que le haces con el Set ... peta. ¡Si, hijo sí!, asterisk es ansina de mala negociando.

Soluciones:

- Activa licencias ... ó como lo que vas a terminar haciendo es G729 passthrought ... instala el codec 'libre', ya que en realidad no vas ha hacer transcoding, de esa manera la llamada se establecerá y luego verás que solo usa G711

Saludos


De: "Miguel Alberto Sanz Pardo" <miguels...@gmail.com>
Para: aster...@googlegroups.com
Enviados: Viernes, 28 de Noviembre 2014 15:48:53
Asunto: [Asterisk-ES] Duda con el codec G729 comercial en centralita Asterisk
--
Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)
Normas de la lista Asterisk-ES: http://comunidad.asterisk-es.org/index.php?title=Lista:normas-asterisk-es
---
Has recibido este mensaje porque estás suscrito al grupo "asterisk-es" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar en este grupo, envía un correo electrónico a aster...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/asterisk-es.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Miguel Alberto Sanz Pardo

unread,
Nov 28, 2014, 11:22:57 AM11/28/14
to aster...@googlegroups.com
Como de costumbre muchas gracias por tu ayuda Raul ;)


Pues entonces por lo que veo tengo esas 2 opciones:

- Compro 1 licencia aunque no la vaya a usar en teoría nunca ya que al usar G729 será mediante pass through
- Uso el codec free el cual realmente nunca se usará como tal porque se hará G729 pass through


un saludo

Miguel Sanz

Guillermo Prado Obando

unread,
Nov 28, 2014, 11:33:07 AM11/28/14
to aster...@googlegroups.com

Ansina mesmamente jeje hoy es viernes 😀

Reply all
Reply to author
Forward
0 new messages