Problemas con Trunk IAX entre dos Asterisk

1,733 views
Skip to first unread message

David Escañuela Alonso

unread,
Dec 15, 2009, 11:42:16 AM12/15/09
to asterisk-es
Buenas a todos,
queria probar el funcionamieto de un Trunk IAX entre dos centralitas
que tengo montadas, a pesar de que ambas detectan el contexto de trunk
creado en el fichero iax.conf, de que en cada central he registrado
una extension IAX a la que se llamaran de uno a otro y biceversa, al
realizar la llamada me aparece un error .

La configuracion es la siguiente:

----------------
PORTATIL
----------------

extensions.conf

exten => 300,1,Dial(IAX2/300,30,Ttrm)
exten => 300,n,Hangup
exten => 3001,1,VoiceMailMain(300)

exten => 77,1,Dial(IAX2/centralyet/400,90,tr)
exten => 77,n,Hangup


iax.conf


[general]

bindport=4569
bindaddr=0.0.0.0
srvlookup=yes
accountcode=lss0101
delayreject=yes
language=es
disallow=all
allow=gsm
allow=ulaw
allow=alaw

register => centralyet:123...@192.168.1.xxx

[300]
type=friend
host=dynamic
secret=1234
auth=md5,plain
context=default;
qualify=yes
callerid = "300"
autokill=yes

[portatil]
type=friend
host=dynamic
secret=123456
trunk=yes
context=default
deny=0.0.0.0/0.0.0.0
permit=192.168.1.xxx/255.255.255.0
disallow=all
allow=alaw
allow=ulaw


localhost*CLI> iax2 show peerS
Name/Username Host Mask Port
Status
portatil 192.168.1.xxx (D) 255.255.255.255 4569
Unmonitored
300 192.168.1.zzz (D) 255.255.255.255 4569
OK (4 ms)
2 iax2 peers [1 online, 0 offline, 1 unmonitored]
----------------------
CENTRALYET
----------------------

extensions.conf

exten => 400,1,Dial(IAX2/400,30,Ttm)
exten => 400,n,Hangup

exten => 77,1,Dial(IAX2/portatil/300,90,tr)
exten => 77,n,Hangup

iax.conf

bindport=4569
bindaddr=0.0.0.0
srvlookup=yes
accountcode=lss0101
delayreject=yes
language=es
disallow=all
allow=gsm
allow=ulaw
allow=alaw

register => portatil:123...@192.168.1.yyy

[400]
type=friend
host=dynamic
secret=1234
auth=md5,plain
context=acceso
qualify=yes
callerid = "400"
autokill=yes
requirecalltoken=no

[centralyet]
type=friend
host=dynamic
secret=123456
trunk=yes
context=acceso
deny=0.0.0.0/0.0.0.0
permit=192.168.1.yyy/255.255.255.0
disallow=all
allow=alaw
allow=ulaw

localhost*CLI> iax2 show peers
Name/Username Host Mask Port
Status
centralyet 192.168.1.yyy (D) 255.255.255.255 4569 (T)
Unmonitored
400 192.168.1.zzz (D) 255.255.255.255 4569
OK (5 ms)
2 iax2 peers [1 online, 0 offline, 1 unmonitored]


Al realizar una llamada desde la extension IAX 300 de portatil a la
extension 77 de portatil :

-- Executing [77@default:1] Dial("IAX2/300-6371", "IAX2/centralyet/400|
90|tr") in new stack
[Dec 15 13:24:59] WARNING[5294]: chan_iax2.c:3216 create_addr: No such
host: centralyet
[Dec 15 13:24:59] WARNING[5294]: app_dial.c:1275 dial_exec_full:
Unable to create channel of type 'IAX2' (cause 20 - Unknown)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [77@default:2] Hangup("IAX2/300-6371", "") in new
stack
== Spawn extension (default, 77, 2) exited non-zero on
'IAX2/300-6371'
-- Hungup 'IAX2/300-6371'

Al realizar una llamada desde la extension 400 de centralyet a la
extension 79 de centralyet:

-- Executing [79@acceso:1] Dial("IAX2/400-1095", "IAX2/portatil/
300|90|tr") in new stack
[Dec 16 04:59:28] WARNING[9157]: chan_iax2.c:3904 create_addr: No such
host: portatil
[Dec 16 04:59:28] WARNING[9157]: app_dial.c:1275 dial_exec_full:
Unable to create channel of type 'IAX2' (cause 20 - Unknown)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [79@acceso:2] Hangup("IAX2/400-1095", "") in new
stack
== Spawn extension (acceso, 79, 2) exited non-zero on
'IAX2/400-1095'
-- Hungup 'IAX2/400-1095'

Si alguien puede echarme una mano lo agradeceria .
Saludos

Raúl Alexis Betancor Santana

unread,
Dec 15, 2009, 11:48:33 AM12/15/09
to aster...@googlegroups.com
On Tuesday 15 December 2009 16:42:16 David Escañuela Alonso wrote:
> Buenas a todos,

[...]

> Si alguien puede echarme una mano lo agradeceria .

Te has confundido, en portatil no tienes definido el peer centraylnet y
viceversa.

Además, no hace falta que te "registres" de una iax a la otra, a no ser que
sean peers con ip's dinámicas.


--
Raúl Alexis Betancor Santana
Dimensión Virtual

bakko

unread,
Dec 15, 2009, 12:06:19 PM12/15/09
to aster...@googlegroups.com
Controla bien los contextos.... parece que el problema est� ahi.

Chao

David Escañuela Alonso

unread,
Dec 15, 2009, 12:13:19 PM12/15/09
to aster...@googlegroups.com
OK,eso no sabia,  te refieres a que para hacer un Dial(IAX2/portatil/300,90,tr) (a traves de un trunk) no hace falta hacerlo desde una extension IAX, verdad?

Tendre eso en cuenta.

Por otra parte no he entendido tu  respuesta: "Te has confundido, en portatil no tienes definido el peer centraylnet y viceversa."
Lo que he hecho es registrar digamos la salida (en centralyet --> portatil y viceversa).
Y luego defino en cada servidor el trunk, en centralyet eso trunk y en portatil ese trunk.

No es asi?


--
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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Para anular la suscripción: asterisk-es...@googlegroups.com

Ramses II

unread,
Dec 15, 2009, 12:20:26 PM12/15/09
to aster...@googlegroups.com

Que el peer “centralyet” no lo tienes definido en el Portátil, por lo tanto, y como te dice el mensaje, no puedes usarlo porque no está definido…

 

 

Saludos,

 

Ramses

 


Richard Alvarez

unread,
Dec 15, 2009, 2:58:17 PM12/15/09
to aster...@googlegroups.com
Hay una forma mas facil de unir por iax 2 asterisk

En google busca unir 2 asterisk con iax y te sale muchas opciones

Berzoc

unread,
Dec 16, 2009, 1:23:47 AM12/16/09
to aster...@googlegroups.com

invierte los valores del name de las troncales ([ xxxx])

y agregan en tus dos troncales los campos username , no valla ser q tengas mas troncales definidas al otro lado
 

.. el primer metodo de autenticacion en iax es el username

Saludos

Berzoc

David Escañuela Alonso

unread,
Dec 18, 2009, 7:25:14 AM12/18/09
to asterisk-es
Buenas de nuevo,
comprendi lo que me dijisteis y empece de nuevo, ahora la
configuración es la siguiente:

SERVIDORYET
-----------

iax.conf


[general]

bindport=4569
bindaddr=0.0.0.0
srvlookup=yes
accountcode=lss0101
delayreject=yes
language=es
disallow=all
allow=gsm
allow=ulaw
allow=alaw

[portatil]
type=friend
username=centralyet
auth=plaintext
context=acceso
peercontext=default
secret=123
host=192.168.1.207
callerid='portatil'
trunk=yes


extensions.conf

exten => 100,1,Dial(IAX2/portatil/${EXTEN},90,tr)
exten => 100,n,Hangup

PORTATIL
---------

iax.conf

[general]

bindport=4569
bindaddr=0.0.0.0
srvlookup=yes
accountcode=lss0101
delayreject=yes
language=es
disallow=all
allow=gsm
allow=ulaw
allow=alaw

[centralyet]
type=friend
username=portatil
auth=plaintext
context=default
peercontext=acceso
secret=123
host=192.168.1.200
callerid='centralyet'
trunk=yes

extensions.conf

exten => 2003,1,Dial(IAX2/centralyet/${EXTEN},90,tr)
exten => 2003,n,Hangup

La prueba de llamada del servidor al portatil a sido satisfactoria:

-- Executing [100@acceso:1] Dial("SIP/2003-09363d60", "IAX2/portatil/
100|90|tr") in new stack
-- Called portatil/100
-- Call accepted by 192.168.1.207 (format gsm)
-- Format for call is gsm
-- IAX2/portatil-17261 is making progress passing it to SIP/
2003-09363d60
-- Hungup 'IAX2/portatil-17261'

Sin embargo la prueba de llamada del portatil al servidor no:


-- Executing [2003@default:1] Dial("SIP/100-08428b20", "IAX2/
centralyet/2003|90|tr") in new stack
-- Called centralyet/2003
[Dec 18 13:10:28] WARNING[11070]: chan_iax2.c:8120 socket_process:
Call rejected by 192.168.1.200: <Unknown>
-- Hungup 'IAX2/centralyet-15996'


== Everyone is busy/congested at this time (1:0/0/1)

-- Executing [2003@default:2] Hangup("SIP/100-08428b20", "") in
new stack
== Spawn extension (default, 2003, 2) exited non-zero on 'SIP/
100-08428b20'

Da tono como si estuviese llamando pero no suena el telefono en el
servidor.
La llamada se cuelga al intentar acceder por esto he comporbado que el
firewall esta desactivado y que el selinux también.

También he comprobado que en ambos lados el registro es correcto:

SERVIDOR
--------

localhost*CLI> IAX2 SHOW PEERS


Name/Username Host Mask Port
Status

portatil/centra 192.168.1.207 (S) 255.255.255.255 4569 (T)
Unmonitored
1 iax2 peers [0 online, 0 offline, 1 unmonitored]


PORTATIL
--------

localhost*CLI> iax2 show peers
Name/Username Host Mask Port
Status

centralyet/port 192.168.1.200 (S) 255.255.255.255 4569
Unmonitored
1 iax2 peers [0 online, 0 offline, 1 unmonitored]

Espero vuestra ayuda, gracias.

Un saludo


On 16 dic, 07:23, Berzoc <ber...@gmail.com> wrote:
> invierte los valores del name de las troncales ([ xxxx])
>
> y agregan en tus dos troncales los campos username , no valla ser q tengas
> mas troncales definidas al otro lado
>
> .. el primer metodo de autenticacion en iax es el username
>
> Saludos
>
> Berzoc
>

> El 15 de diciembre de 2009 14:58, Richard Alvarez <rich...@gmail.com>escribió:
>
> > Hay una forma mas facil de unir por iax 2 asterisk
>
> > En google busca unir 2 asterisk con iax y te sale muchas opciones
>

> > El 15 de diciembre de 2009 14:20, Ramses II <ramses.sevi...@gmail.com>escribió:
>
> >   Que el peer “centralyet” no lo tienes definido en el Portátil, por lo
> >> tanto, y como te dice el mensaje, no puedes usarlo porque no está definido…
>
> >> Saludos,
>
> >> Ramses
>

> >>  ------------------------------
>
> >> *De:* aster...@googlegroups.com [mailto:aster...@googlegroups.com]
> >> *En nombre de *David Escañuela Alonso
> >> *Enviado el:* martes, 15 de diciembre de 2009 18:13
> >> *Para:* aster...@googlegroups.com
> >> *Asunto:* Re: [Asterisk-ES] Problemas con Trunk IAX entre dos Asterisk


>
> >> OK,eso no sabia,  te refieres a que para hacer un
> >> Dial(IAX2/portatil/300,90,tr) (a traves de un trunk) no hace falta hacerlo
> >> desde una extension IAX, verdad?
>
> >> Tendre eso en cuenta.
>
> >> Por otra parte no he entendido tu  respuesta: "Te has confundido, en
> >> portatil no tienes definido el peer centraylnet y viceversa."
> >> Lo que he hecho es registrar digamos la salida (en centralyet --> portatil
> >> y viceversa).
> >> Y luego defino en cada servidor el trunk, en centralyet eso trunk y en
> >> portatil ese trunk.
>
> >> No es asi?
>
> >> El 15 de diciembre de 2009 17:48, Raúl Alexis Betancor Santana <

> >> r...@dimension-virtual.com> escribió:


>
> >> On Tuesday 15 December 2009 16:42:16 David Escañuela Alonso wrote:
> >> > Buenas a todos,
>
> >> [...]
>
> >> > Si alguien puede echarme una mano lo agradeceria .
>
> >> Te has confundido, en portatil no tienes definido el peer centraylnet y
> >> viceversa.
>
> >> Además, no hace falta que te "registres" de una iax a la otra, a no ser
> >> que
> >> sean peers con ip's dinámicas.
>
> >> --
> >> Raúl Alexis Betancor Santana
> >> Dimensión Virtual
>
> >> --
> >> 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-asteris...


> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> - Para anular la suscripción: asterisk-es...@googlegroups.com
>
> >> --
> >> 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-asteris...


> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> - Para anular la suscripción: asterisk-es...@googlegroups.com
>
> >> --
> >> 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-asteris...


> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> - Para anular la suscripción: asterisk-es...@googlegroups.com
>
> >  --
> > 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-asteris...

Richard Alvarez

unread,
Dec 21, 2009, 10:19:19 AM12/21/09
to aster...@googlegroups.com
Verifica tu contexto para la llamada entrantes en tu server por el trunk portatil


Este email pertenece a la lista de Asterisk-ES (http://www.asterisk-es.org)


~~~~~ Normas de la lista Asterisk-ES: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

David Escañuela Alonso

unread,
Dec 22, 2009, 7:27:40 AM12/22/09
to aster...@googlegroups.com
No creo que el problema sea por eso.
Al llamar del servidor al portatil, no hay problema.
Cuando es al contrario ,la llamada es rechazada por algo que no la admite:

 ERROR[2910]: chan_iax2.c:4251 handle_call_token: Call rejected, CallToken Support required. If unexpected, resolve by placing address 192.168.1.207 in the calltokenignore list or setting user portatil requirecalltoken=no

Necesito resolver esto cuanto antes,por favor ayuda.

Richard Alvarez

unread,
Dec 22, 2009, 8:04:09 AM12/22/09
to aster...@googlegroups.com

Richard Alvarez

unread,
Dec 22, 2009, 8:07:22 AM12/22/09
to aster...@googlegroups.com

bakko

unread,
Dec 22, 2009, 10:50:40 AM12/22/09
to aster...@googlegroups.com
En el servidor portatil tienes una version de asterisk con el protocolo IAX2 no actualizado. Lo que tienes que hacer es modificar la configuracion de esta manera:
 
[portatil]
type=friend
username=centralyet
auth=plaintext
context=acceso
peercontext=default
secret=123
host=192.168.1.207
callerid='portatil'
trunk=yes
requirecalltoken=no
Añadiendo la ultima linea.
 
 

David Escañuela Alonso

unread,
Dec 22, 2009, 11:05:06 AM12/22/09
to aster...@googlegroups.com
Gracias a los dos, por la ayuda, las ultimas pruebas que habia hecho, puse esa linea pero en el otro trunk, y seguia fallando. Ahora funciona.

Realmente tengo dos dudas como curiosidad.

Primero "bakko", me has puesto :

                 tienes una version de asterisk con el protocolo IAX2 no actualizado
.

Los dos servidores tienen la misma versión, por tanto el error que daba deberia de dar en ambos lados, pero solo daba en uno, ¿xq?

Segundo, mirando en uno de los link que me puso Richard Alvarez ponia que otra opcion al requirecalltoken=no es :

                    calltokenoptional= 192.168.1.0/255.255.255.0

Esta opcion no m arreglo el problema....

También esta la opcion requirecalltoken=auto,   ¿que indica en este caso?

--

bakko

unread,
Dec 22, 2009, 11:13:36 AM12/22/09
to aster...@googlegroups.com
mira este documento que explica la función de calltoken en el protocolo IAX2:
 
 
La verdad me parece raro que teniendo la misma versión en los dos servidores el problema aparezca solo en uno.
 
Chao
 

David Escañuela Alonso

unread,
Dec 22, 2009, 11:17:33 AM12/22/09
to aster...@googlegroups.com
Ok le hecho un vistazo:

las versiones de Asterisk si son un poco diferentes ,acabo de ver:

Una es 1.4.26.1 y la otra es 1.4.26.2, yo instale la 1.4.26.1 y en uno se actualizo ,sera por eso.
Un saludo.

--
Reply all
Reply to author
Forward
0 new messages