conectar 3 servidores asterisk

572 views
Skip to first unread message

jhonvels

unread,
Mar 28, 2008, 10:07:53 AM3/28/08
to asterisk-es
hola amigos, se que ustedes me van a ayudar con esto.
les explico lo que quiero hacer:

quiero conectar 3 servidores asterisk ubicados en diferentes ciudades,
dentro de un mismo pais (Bolivia). quiero hacer esto para hacer un
programa de radio en red. supongo que tengo que crear una sala de
conferencias donde ingresen 3 o mas extensiones.

en el siguiente grafico les explico mas detalladamente:

http://farm3.static.flickr.com/2367/2368933740_3d02667463.jpg

en mis pruebas de laboratorio estoy tratando de conectar mis dos
asterisk, se conectan entre servidores, mis clientes iax tambien se
conectan a cada servidor (estoy usando Zoiper). pero no puedo hacer
llamadas entre ellos, supongo que algo anda mal en mi dialplan o estoy
marcando mal.

creo que hay varias formas de conectar entre asterisk no se cual me
conviene para este caso, entiendo que uno deberia ser como maestro y
los otros dos esclavos. pero en mis archivos de configuracion veo que
se conectan de igual a igual.

a continuacion paso a mostrarles mis archivos de configuracion iax y
extensions. de los 2 asterisk, espero que encuentren el error.

servidor maestro:
;iax.conf master
[general]
bindaddr = 0.0.0.0
tos = lowdelay
disallow=all
allow=gsm
allow=ulaw
register => maestro:maste...@192.168.2.252

[esclavo]
type=friend
user=esclavo
auth=plaintext
context=default
secret=slavepass
host=dynamic
disallow=all
allow=gsm
allow=ulaw
callerid='esclavo'
trunk=yes
notransfer=yes

[esclavo]
type=user
auth=plaintext
context=default
secret=slavepass
callerid='esclavo'
disallow=all
allow=gsm
allow=ulaw
trunk=yes
notransfer=yes

[2000]
type=friend
context=default
secret=123
host=dynamic

[2001]
type=friend
context=default
secret=123
host=dynamic



;extensions.conf master
[general]

[globals]
TRUNK=IAX2/maestro:maste...@192.168.2.252

[default]
;exten => _20XX,1,Dial(${TRUNK}/${EXTEN},30,r)
exten => _20XX,1,Dial(IAX2/maestro/${EXTEN},30,r)
exten => _10XX,1,Dial(IAX2/${EXTEN})


///////////////////////////////////////////////////////

servidor esclavo:
;iax.conf slave
[general]
bindaddr = 0.0.0.0
tos = lowdelay
disallow=all
allow=gsm
allow=ulaw
register => esclavo:slav...@192.168.2.253

[maestro]
type=friend
user=maestro
auth=plaintext
context=default
secret=masterpass
host=dynamic
disallow=all
allow=gsm
allow=ulaw
callerid='master'
trunk=yes
notransfer=yes

[maestro]
type=user
auth=plaintext
context=default
secret=masterpass
callerid='master'
disallow=all
allow=gsm
allow=ulaw
trunk=yes
notransfer=yes

[1000]
type=friend
host=dynamic
context=default
secret=123

[1001]
type=friend
host=dynamic
context=default
secret=123



;extensions.conf slave
[general]

[globals]
TRUNK=IAX2/esclavo:slav...@192.168.2.253

[default]
exten => _10XX,1,Dial(${TRUNK}/${EXTEN},30,r)
exten => _20XX,1,Dial(IAX2/${EXTEN})


saludos
Jhonny Velasquez

Luis Morales

unread,
Mar 29, 2008, 12:16:08 PM3/29/08
to aster...@googlegroups.com
Estimado,

Yo use esta ayuda para interconectar varisas de mis troncales.


http://www.voip-info.org/wiki/view/Asterisk@Home+Handbook+Wiki+Chapter+4
http://www.voip-info.org/wiki/index.php?page=Asterisk+IAX+channels


Saludos,

Luis Morales

--
---------------------------------------------------------------------------------
Luis Morales
Consultor de Tecnologia
Cel: +(58)416-4242091
---------------------------------------------------------------------------------
"Empieza por hacer lo necesario, luego lo que es posible... y de
pronto estarás haciendo lo imposible"

Leonardo Da'Vinci
---------------------------------------------------------------------------------

Saúl Ibarra

unread,
Mar 29, 2008, 2:36:08 PM3/29/08
to aster...@googlegroups.com
Prueba con esto:
http://wiki.asterisk-es.org/tiki-index.php?page=Enlazar+2+asterisk


--
Saúl -- "Nunca subestimes el ancho de banda de un camión lleno de disketes."
----------------------------------------------------------------
http://www.saghul.net/

dte...@gmail.com

unread,
Mar 29, 2008, 5:28:57 PM3/29/08
to asterisk-es
Hay algún motivo para no usar contraseñas en el método 2 expuesto en
el wiki? otro tema que quizás se podría comentar es el uso de codecs
espécificos para los trunks, yo con el "estrecho de banda que tengo"
mejor no usar a/ulaw

Saúl Ibarra

unread,
Mar 30, 2008, 6:50:12 AM3/30/08
to aster...@googlegroups.com
Puedes usar passwords si quieres, o inlcuso claves RSA...

Sobre el tema de codecs, en enlaces de este tipo se suele usar g729,
por su bajo consumo de ancho de banda...

2008/3/29 dte...@gmail.com <dte...@gmail.com>:

jhonvels

unread,
Apr 2, 2008, 12:21:53 PM4/2/08
to asterisk-es
hola a todos
ya he logrado conectar mis dos asterisk usando SIP y tambien IAX.
ahora quiero conectar 3 sevidores y como que me pierdo, de preferencia
quisiera en modo maestro/esclavo, en el maestro tengo que hacer una
sala de conferencias.

aqui les paso las configuraciones de mis dos servidores, Toronto y
Osaka. lo he extraido del libro TFOT 2nd, pero en el libro esta con
errores el ejemplo de IAX. esto si funciona.

lo que quiero es que me adicionar un servidor mas, espero su ayuda.

CONECTANDO 2 SERVIDORES ASTERISK CON IAX

<b>1. Toronto </b>
;iax.conf toronto
[general]
autokill=yes
register => toronto:wel...@192.168.2.252

[osaka]
type=friend
host=dynamic
trunk=yes
secret=welcome
context=osaka_incoming
deny=0.0.0.0/0.0.0.0
permit=192.168.2.252/255.255.255.255

[1001]
type=friend
host=dynamic
context=phones
secret=123


;extensions.conf iax toronto
[globals]

[general]
autofallthrough=yes

[default]

[incoming_calls]

[phones]
include => internal
include => remote

[internal]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(IAX2/${EXTEN},30)
exten => _1XXX,n,Playback(the-party-you-are-calling&is-curntly-
unavail)
exten => _1XXX,n,Hangup()

[remote]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(IAX2/osaka/${EXTEN})
exten => _2XXX,n,Hangup()

[osaka_incoming]
include => internal



<b>2. Osaka</b>
;iax.conf osaka
[general]
autokill=yes
register => osaka:wel...@192.168.2.253

[toronto]
type=friend
host=dynamic
trunk=yes
secret=welcome
context=toronto_incoming
deny=0.0.0.0/0.0.0.0
permit=192.168.2.253/255.255.255.255

[2001]
type=friend
host=dynamic
context=phones
secret=123


;extensions.conf iax osaka
[globals]

[general]
autofallthrough=yes

[default]

[incoming_calls]

[phones]
include => internal
include => remote

[internal]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(IAX2/${EXTEN},30)
exten => _2XXX,n,Playback(the-party-you-are-calling&is-curntly-
unavail)
exten => _2XXX,n,Hangup()

[remote]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(IAX2/toronto/${EXTEN})
exten => _1XXX,n,Hangup()

[toronto_incoming]
include => internal

Saúl Ibarra

unread,
Apr 3, 2008, 3:23:11 AM4/3/08
to aster...@googlegroups.com
Puedes unirlos todos con todos, en plan mesh, o usar DUNDi, o unir uno
con 2... Depende del comportamiento que desees.

jhonvels

unread,
Apr 16, 2008, 3:16:43 PM4/16/08
to asterisk-es
ya he logrado unir mis tres asterisk, todos contra todos.
ahora tengo una pregunta sobre la contraseña de la funcion register.
en los tres he puesto la misma contraseña, tanto en register como en
cada contexto, asi funciona muy bien, puedo hacer llamadas a
cualquiera.

register => chuquisaca:wel...@192.168.2.252 ;registrarse en potosi
register => chuquisaca:wel...@192.168.2.251 ;registrarse en tarija

[potosi]
type=friend
host=dynamic
trunk=yes
secret=welcome
context=llamadas_entrantes
deny=0.0.0.0/0.0.0.0
permit=192.168.2.252/255.255.255.255

[tarija]
type=friend
host=dynamic
trunk=yes
secret=welcome
context=llamadas_entrantes
deny=0.0.0.0/0.0.0.0
permit=192.168.2.251/255.255.255.255

pero cuando yo quiero que cada asterisk tenga una contraseña
diferente, o es que tiene que ser la misma para todos?, entiendo que
al ServidorA debo definirlo en el ServidorB y viceversa.
entonces he cambiado las claves, y se registran pero ya no puedo hacer
llamadas entre ellos y me sale:
-- Accepting AUTHENTICATED call from 192.168.2.240:
> requested format = gsm,
> requested prefs = (),
> actual format = ulaw,
> host prefs = (),
> priority = mine
-- Executing [2001@telefonos:1] NoOp("IAX2/1001-1", "") in new
stack
-- Executing [2001@telefonos:2] Dial("IAX2/1001-1", "IAX2/potosi/
2001") in new stack
-- Called potosi/2001
[Apr 16 15:13:25] WARNING[16839]: chan_iax2.c:7542 socket_process:
Call rejected by 192.168.2.252: No authority found
-- Hungup 'IAX2/potosi-16386'
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [2001@telefonos:3] Hangup("IAX2/1001-1", "") in new
stack
== Spawn extension (telefonos, 2001, 3) exited non-zero on
'IAX2/1001-1'
-- Hungup 'IAX2/1001-1'

que puede estar pasando?

davidp

unread,
Apr 17, 2008, 6:41:41 PM4/17/08
to asterisk-es

> [tarija]
> type=friend
> host=dynamic
> trunk=yes
> secret=welcome
> context=llamadas_entrantes
> deny=0.0.0.0/0.0.0.0
> permit=192.168.2.251/255.255.255.255
>
> pero cuando yo quiero que cada asterisk tenga una contraseña
> diferente, o es que tiene que ser la misma para todos?,


Prueba a dividir la configuración de cada servidor en dos: una para el
"type=user" y otra para el "type=peer", en lugar del type=friend

Por otra parte, en el Dial puedes poner también un Dial(IAX2/
servidorA:clave_servidorA@servidorB/extension)

Y por último, creo que la mejor opción es que en lugar de usuario y
contraseña identifiques a tus servidores mediante claves RSA.

davidp.

Reply all
Reply to author
Forward
0 new messages