[Asterisk-ES] IAX2 trunk busy

722 views
Skip to first unread message

Manolo Quijano

unread,
Oct 16, 2013, 1:32:59 PM10/16/13
to aster...@googlegroups.com
Hola

    Bueno tras solucionar el registro tenía aun el problema de que al realizar la llamada el audio solo iba en 1 sentido, así que he cambiado la configuración para hacer la conexión entre las 2 centralitas de Asterisk vía IAX2

   El registro es bueno pero cuando intento realizar una llamada de una a otra siempre me sale que el canal está ocupado

 -- Accepting AUTHENTICATED call from 79.157.55.6:
       > requested format = alaw,
       > requested prefs = (),
       > actual format = alaw,
       > host prefs = (alaw|ulaw|gsm),
       > priority = mine
    -- Executing [42001@lam:1] NoOp("IAX2/PCHorus-389", "") in new stack
    -- Executing [42001@lam:2] Dial("IAX2/PCHorus-389", "IAX2/PBXManolo/2001,20") in new stack
    -- Called IAX2/PBXManolo/2001
    -- Hungup 'IAX2/PBXManolo-998'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Auto fallthrough, channel 'IAX2/PCHorus-389' status is 'CHANUNAVAIL'
    -- Hungup 'IAX2/PCHorus-389'

La otra centralita ni siquiera muestra señales de intentar iniciar la llamada cuando se redirigue a ella. 

la configuración del iax.conf es:


[general]

requirecalltoken=no
maxcallnumbers=16382
calltokenoptional=0.0.0.0/0.0.0.0

bindport=4569          
bindaddr=0.0.0.0  

delayreject=yes
srvlookup=yes
bandwidth=low

disallow = all
allow = alaw:20
allow = ulaw:20
allow = gsm:20

jitterbuffer=no
forcejitterbuffer=no

register => PBXManolo:123...@XXXXXXXXX.com

autokill=yes

; TRUNK

[PBXManolo]
type=friend
secret=123456
host=XXXXXX.com
dtmfmode=rfc2833
canreinvite=no
insecure=port,invite
context=casa
nat=port_foce,comedia
requirecalltoken=no


En el extension.conf

[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no

[casa]
exten => _4XXXX,1,NoOp()
exten => _4XXXX,n,Dial(IAX2/PBXManolo/${EXTEN:1},20)
exten => _4XXXX,n,HangUp()

;***
Configuración del servidor que está recibiendo la llamada

iax.conf

[general]

bindport=4569 
bindaddr=0.0.0.0 

delayreject=yes
srvlookup=yes
language=en
bandwidth=low
disallow = all
allow = ulaw:20
allow = alaw:20
allow = gsm:20
jitterbuffer=no
forcejitterbuffer=no
autokill=yes


[PBXManolo]
type=peer
secret=123456
defaultuser=PBXManolo
host=dynamic
dtmfmode=rfc2833
canreinvite=no
insecure=port,invite
context=incaming
trunk=yes


extension.conf
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no


[incaming]
exten => 2001,1,Dial(SIP/TelephonePrueba,20)
same  => n,Hangup()


;***
¿alguna sugerencia?

Gracias,
Manolo









--

Fernando Villares

unread,
Oct 16, 2013, 2:40:52 PM10/16/13
to aster...@googlegroups.com
error de sintaxis aca nat=port_foce,comedia


--
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 correos electrónicos, envía un correo electrónico a asterisk-es...@googlegroups.com.
Para publicar una entrada 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 obtener más opciones, visita https://groups.google.com/groups/opt_out.

Manolo Quijano

unread,
Oct 16, 2013, 3:25:10 PM10/16/13
to aster...@googlegroups.com
Corregido y esto sigue igual

h no messages waiting
    -- Accepting AUTHENTICATED call from 79.157.55.6:
       > requested format = alaw,
       > requested prefs = (),
       > actual format = alaw,
       > host prefs = (alaw|ulaw|gsm),
       > priority = mine
    -- Executing [42001@lam:1] NoOp("IAX2/PCHorus-64", "") in new stack
    -- Executing [42001@lam:2] Dial("IAX2/PCHorus-64", "IAX2/PBXManolo/2001,20")in new stack
    -- Called IAX2/PBXManolo/2001
    -- Hungup 'IAX2/PBXManolo-641'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [42001@lam:3] Hangup("IAX2/PCHorus-64", "") in new stack
  == Spawn extension (lam, 42001, 3) exited non-zero on 'IAX2/PCHorus-64'
    -- Hungup 'IAX2/PCHorus-64'

debian-server*CLI> iax2 show peer PBXManolo


  * Name       : PBXManolo
  Description  :
  Secret       : <Set>
  Context      : lam
  Parking lot  :
  Mailbox      :
  Dynamic      : No
  Callnum limit: 0
  Calltoken req: No
  Trunk        : No
  Encryption   : No
  Callerid     : "" <>
  Expire       : -1
  ACL          : No
  Addr->IP     : 84.XXX.XXXX.XXXX Port 4569
  Defaddr->IP  : 0.0.0.0 Port 0
  Username     :
  Codecs       : (gsm|ulaw|alaw)
  Codec Order  : (alaw|ulaw|gsm)
  Status       : Unmonitored
  Qualify      : every 60000ms when OK, every 10000ms when UNREACHABLE (sample smoothing Off)

algún dato más que os pueda aportar para ver que está pasando?

Saludos, 
Manolo



Fernando Villares

unread,
Oct 16, 2013, 3:32:46 PM10/16/13
to aster...@googlegroups.com
y XXXXX.com es una ip fija y la sabes al registrarte siempre porque ahi pones 1 ip fija y 1 dinamica...la dinamica siempre necesita registrarse...


2013/10/16 Manolo Quijano <manolo....@gmail.com>

Manolo Quijano

unread,
Oct 16, 2013, 3:45:36 PM10/16/13
to aster...@googlegroups.com
es una url que se debe de resolver (la del server) no se si a eso lo llamais ip fija, ya que el server tiene IP dinamica ( mejordicho semiestatica como sabemos)

pero para el caso que de siempre me sale el canal como ocupado... ¿puede influir en algo?


2013/10/16 Fernando Villares <fvil...@gmail.com>

Manolo Quijano

unread,
Oct 20, 2013, 3:52:28 PM10/20/13
to aster...@googlegroups.com
Hola chic@s,

      Sigo investigado este tema para la conexión de los 2 asterisk. 

      Con una Raspberry que me han dejado he montado otro Asterisk (1.8) y lo he conectado a mi otra centralita de mi casa (11.5.0)

       He conseguido hacer una llamada pero me ha llamado la atención de que he tenido que poner el contexto del Asterisk que recibe la llamada en el Asterisk que la realizada:


Configuración del extension.conf del Asterisk que recibe la llamada
; Telefono de pruebas
exten => 100,1,Dial(IAX2/RaspBerry,20)
exten => 100,n,HangUp()

; Redirección al texterior
exten => _4XXXX,1,NoOP()
exten => _4XXXX,n,Dial(IAX2/PBXManolo/${EXTEN:1}@administrador,20,tr)
exten => _4XXXX,n,HangUp()

Si quito el @administrador  me salta un error de que el Asterisk que recibe la llamada no dispone de context/extension.

Esto implica que el administrador de ese asterisk no solo me de los datos del Trunk sino del contexto u contextos a los que yo puedo llamar.
¿Esto es así?  No me parece muy lógico.

Saludos, 
Manolo Q.

Manolo Quijano

unread,
Oct 28, 2013, 7:06:08 PM10/28/13
to aster...@googlegroups.com
Hola a todos, creo que he dado con el problema pero no se porque se da ni actualmente como resolverlo.

Escenario   TODO EN LAN

Zoiper (SIP) <---> Asterisk <--- (IAX2 Trunk) ----> Asterisk  <---> Zoiper (IAX2)

Aunque en un momento dado llegó a funcionar, llevo ya varios días dando vueltas y probando lo que veo por la red ya que estoy convencido es un problema de configuración.

He depurado la conexión del trunk y he visto lo siguiente

   -- Executing [41000@administrador:1] Dial("SIP/TelephoneWin7-00000003", "IAX2/PobrePi/1000") in new stack
Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: NEW
   Timestamp: 00010ms  SCall: 16953  DCall: 00000 [192.168.1.20:4569]
   VERSION         : 2
    -- Called IAX2/PobrePi/1000
   CALLED NUMBER   : 1000
   CODEC_PREFS     : (alaw|ulaw|gsm)
   CALLING NUMBER  : TelephoneWin7
   CALLING PRESNTN : 0
   CALLING TYPEOFN : 0
   CALLING TRANSIT : 0
   CALLING NAME    : Manolo
   LANGUAGE        : en
   FORMAT          : 8
   FORMAT2         : alaw
   CAPABILITY      : 14
   CAPABILITY2     : Unknown
   ADSICPE         : 2
   DATE TIME       : 2013-10-28  23:32:44

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: CTOKEN
   Timestamp: 00010ms  SCall: 00001  DCall: 16953 [192.168.1.20:4569]
   CALLTOKEN       : 51 bytes

Tx-Frame Retry[000] -- OSeqno: 000 ISeqno: 000 Type: IAX     Subclass: NEW
   Timestamp: 00012ms  SCall: 16953  DCall: 00000 [192.168.1.20:4569]
   VERSION         : 2
   CALLED NUMBER   : 1000
   CODEC_PREFS     : (alaw|ulaw|gsm)
   CALLING NUMBER  : TelephoneWin7
   CALLING PRESNTN : 0
   CALLING TYPEOFN : 0
   CALLING TRANSIT : 0
   CALLING NAME    : Manolo
   LANGUAGE        : en
   FORMAT          : 8
   FORMAT2         : alaw
   CAPABILITY      : 14
   CAPABILITY2     : Unknown
   ADSICPE         : 2
   DATE TIME       : 2013-10-28  23:32:44
   CALLTOKEN       : 51 bytes

Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: ACK
   Timestamp: 00012ms  SCall: 02264  DCall: 16953 [192.168.1.20:4569]
Rx-Frame Retry[ No] -- OSeqno: 000 ISeqno: 001 Type: IAX     Subclass: AUTHREQ
   Timestamp: 00010ms  SCall: 02264  DCall: 16953 [192.168.1.20:4569]
   AUTHMETHODS     : 3
   CHALLENGE       : \x37\x33\x37\x35\x36\x39\x38\x35\x37
   USERNAME        : RaspBerry

Tx-Frame Retry[000] -- OSeqno: 001 ISeqno: 001 Type: IAX     Subclass: AUTHREP
   Timestamp: 00016ms  SCall: 16953  DCall: 02264 [192.168.1.20:4569]
   MD5 RESULT      : 8a79d7a32f5ca66abcb962d1790604cf

Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: ACK
   Timestamp: 00016ms  SCall: 02264  DCall: 16953 [192.168.1.20:4569]
Rx-Frame Retry[ No] -- OSeqno: 001 ISeqno: 002 Type: IAX     Subclass: REJECT
   Timestamp: 01012ms  SCall: 02264  DCall: 16953 [192.168.1.20:4569]
   CAUSE           : No authority found
   CAUSE CODE      : 50

Tx-Frame Retry[-01] -- OSeqno: 002 ISeqno: 002 Type: IAX     Subclass: ACK
   Timestamp: 01012ms  SCall: 16953  DCall: 02264 [192.168.1.20:4569]
    -- Hungup 'IAX2/PobrePi-16953'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [41000@administrador:2] Hangup("SIP/TelephoneWin7-00000003", "") in new stack
  == Spawn extension (administrador, 41000, 2) exited non-zero on 'SIP/TelephoneWin7-00000003'


Curiosamente los trunks se muestran como registrados en ambos servidores:

Host                  dnsmgr  Username    Perceived             Refresh  State
192.168.1.20:4569     N       PBXManolo   192.168.1.69:4569          60  Registered
1 IAX2 registrations.


Host                  dnsmgr  Username    Perceived             Refresh  State
192.168.1.69:4569     N       PobrePi     192.168.1.20:4569          60  Registered
1 IAX2 registrations.


Los Peers también aparecen correctamente

El trunk

PobrePi/PobrePi  192.168.1.20    (D)  255.255.255.255  4569 (T)  (E) OK (1 ms)

El telefono Sip
TelephoneWin7/TelephoneWi 192.168.1.2                              D   a             5060     OK (5 ms)   

Y el otro servidor

Name/Username    Host                 Mask             Port          Status      Description
RaspBerry        192.168.1.129   (D)  255.255.255.255  4569          OK (202 ms)
PBXManolo/PBXMa  192.168.1.69    (D)  255.255.255.255  4569 (T)  (E) OK (1 ms)


Si se está registrando correctamente, las extensiones también están bien registradas. ¿Alguna idea de por qué da un error de autentificación cuando se intenta iniciar una llamada?

El registro de los Trunk está asi:

; Registrando trunks


;Trunk
[PBXManolo]
username=PBXManolo
type=friend
host=dynamic
trunk=true
secret=123456
context=casa
qualify=yes
encryption=aes128
auth=md5
requirecalltoken=no

El Otro servidor


[PobrePi]
username=PobrePi
type=friend
host=dynamic
trunk=yes
secret=123456
context=casa
qualify=yes
encryption=aes128
auth=md5
requirecalltoken=no

Y en los DialPlan tengo 

;Trunk
exten => _4XXXX,1,Dial(IAX2/PobrePi/${EXTEN:1})
exten => _4XXXX,n,HangUp()

y esto
exten => _4XXXX,1,NoOp()
exten => _4XXXX,n,Dial(IAX2/PBXManolo/${EXTEN:1})
exten => _4XXXX,n,HangUp()


El error se da en ambas direcciones


Gracias,
Manolo Q.

Fernando Villares

unread,
Oct 29, 2013, 11:17:58 AM10/29/13
to aster...@googlegroups.com
trunk en true y luego trunk en yes es un error OJO

Manolo Quijano

unread,
Oct 29, 2013, 3:54:37 PM10/29/13
to aster...@googlegroups.com
Hola Fernando gracias por indicar ese error, no era el único, ya por fín lo he conseguido hacer funcionar me faltaba configurar el user.

Os pongo un poco mi configuración por si a alguno le pasa lo mismo que la verdad para los recién iniciados como yo es un poco lio.

Y si alguien ve algo que se pueda optimiar o alclarar algún concepto por favor que no se lo calle.

1º Decir que aunque estoy trabajando en LAN y por tanto con IP estática entre los servidores he querido usar el método register sobre todo para al hacer las  pruebas ya en WAN simplemente cambiar la dirección por su url ya que los servidores los tengo en semiestatica. 

Servidor A: iax.conf

[general]
bindport=4569
bindaddress=0.0.0.0

delayreject=yes
srvlookup=yes

language=en
bandwidth=low


jitterbuffer=no
forcejitterbuffer=no

autokill=yes
maxregexpire=1800

; Registrando trunks



;Trunk
[PBXManolo]
username=PBXManolo
type=peer
host=dynamic
trunk=yes
secret=123456
context=casa
qualify=yes
encryption=aes128
auth=md5

requirecalltoken=no
transfer=no
canreinvite=no

disallow=all
allow=alaw

[PobrePi]
username=PobrePi
type=user
host=dynamic
trunk=yes
secret=123456
context=casa
disallow=all
allow=alaw

requirecalltoken=no
transfer=no             ;<= Importante, sino nos podemos quedar sin audio
                                ; en alguna dirección 
canreinvite=no

;Relamente pensaba que no era necesario en el servidor A definir el usuario ;indicado en el register, pero lo usar  autentificación y no lo tenía definido por
; eso entre otras cosas fallaba.


Dial plan  extensions.conf

[general]

static=yes
writeprotect=no
autofallthrought=yes
clearglobalvars=no

exten => _4XXXX,1,NoOp()
exten => _4XXXX,n,Dial(IAX2/PBXManolo/${EXTEN:1})
exten => _4XXXX,n,HangUp()


SERVIDOR B iax.conf
[general]

maxregexpire=1800

bindport=4569 
bindaddr=0.0.0.0    
delayreject=yes
srvlookup=yes
language=en
bandwidth=low
jitterbuffer=no
forcejitterbuffer=no


[PBXManolo]
type=friend
secret=123456
host=dynamic
trunk=yes
context=casa
disallow=all
allow=alaw
requirecalltoken=no
transfer=no
canreinvite=no

[PobrePi]
username=PobrePi
type=friend
host=dynamic
trunk=yes
secret=123456
context=casa
qualify=yes
encryption=aes128
auth=md5

requirecalltoken=no
transfer=no
canreinvite=no

disallow=all
allow=alaw


El Dial Plan extensions.conf
[general]
static=yes
writeprotect=no
autofallthrough=yes
clearglobalvars=no

[casa]
;Trunk
exten => _4XXXX,1,Dial(IAX2/PobrePi/${EXTEN:1})
exten => _4XXXX,n,HangUp()


Con esta configuración he conseguido conectar 2 centralistas Asterisk por IAX2 Un PC y una RaspBerry usando clientes IAX2 y SIP y la verdad que muy bien.








Reply all
Reply to author
Forward
0 new messages