[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Re: Problemas Nat Asterisk en Debian atravesando 2 firewall



El día 1 de mayo de 2014, 17:48, Camaleón <noelamac@gmail.com> escribió:
> El Wed, 30 Apr 2014 16:53:39 +0200, Maykel Franco escribió:
>
>> El día 24 de abril de 2014, 15:44, Camaleón <noelamac@gmail.com>
>> escribió:
>
> (...)
>
>>>> Alguien ha tenido problemas con asterisk en debian atravesando por
>>>> varios firewall?
>>>
>>> Que la santa espiral te asista, amigo :-)
>>>
>>> Vas a tener que hilar fino, fino para ajustar los cortafuegos con el
>>> voip, yo me las veo y me las deseo con los terminales Cisco SPA5xx (hay
>>> varios terminales con varias extensiones registradas...) y eso que sólo
>>> hay un cortafuegos y un NAT de por medio.
>>>
>>> Al final tuve que llegar a un consenso: unos terminales usan servidores
>>> STUN y otros están configurados para hacer NAT traversal con reenvío de
>>> puerto.
>
>> Gracias por contestar Camaleón.
>
> (...)
>
> Ah, vale, que eras tú el del otro mensaje camuflado cual ninja >:-)
>
> (te respondí en el otro mensaje, lo siento, lo leí antes y no me di
> cuenta de que estaba deshilado)
>
> Saludos,
>
> --
> Camaleón
>
>
> --
> To UNSUBSCRIBE, email to debian-user-spanish-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
> Archive: [🔎] pan.2014.05.01.15.48.37@gmail.com">https://lists.debian.org/[🔎] pan.2014.05.01.15.48.37@gmail.com
>

Gracias por contestar, tenías razón camaleón menudo tinglado...

Esta es mi arquitectura de red:



                                       WAN
                                    _____|_____
                                   | FIREWALL1|
                                   |__________|
                           LAN  ______|______ ____________
                                                          | FIREWALL2  |
                                                          |____________|
                                                                   |
                                                             ASTERISK


Lo más sorprendente de todo es que por WAN, funciona perfectamente,
que en teoría es para lo que se suele usar STUN, para que el servidor
sepa cuál es la ip publica y puerto usado por el cliente.

El caso es que he probado a meter el servidor stun en la red lan, he
probado a meter el servidor stun entre los 2 firewall, metiendolo en
la misma red, y he probado meter el servidor stun directamente en
asterisk y nateando puertos 3478, evidentemente y sigo sin escuchar
nada. El cliente desde la LAN se registra bien en asterisk, pero
cuando hago por ejemplo una prueba de eco con *43, a los 7 seg se
corta. Y cuando llamo alguna extensión ellos si me oyen pero yo a
ellos no... Es una cosa muy rara...

De qué manera puedo ver dónde se queda el tráfico? Es decir, porque no
escucho el streaming de voz? Por qué se corta el eco?

Esto es lo que dice el log de asterisk:

Connected to Asterisk 11.8.1 currently running on localhost (pid = 1689)
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
       > [INSERT INTO cel
(eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield)
VALUES ('CHAN_START',{ts '2014-05-07 13:42:44'},'Maykel
Franco','100','','','','*43','from-internal','SIP/100-00000003','','',3,'','1399462964.3','1399462964.3','','','')]
    -- Executing [*43@from-internal:1] Answer("SIP/100-00000003", "")
in new stack
       > [INSERT INTO cel
(eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield)
VALUES ('ANSWER',{ts '2014-05-07 13:42:44'},'Maykel
Franco','100','100','','*43','*43','from-internal','SIP/100-00000003','Answer','',3,'','1399462964.3','1399462964.3','','','')]
    -- Executing [*43@from-internal:2] Wait("SIP/100-00000003", "1")
in new stack
    -- Executing [*43@from-internal:3] Playback("SIP/100-00000003",
"demo-echotest") in new stack
    -- <SIP/100-00000003> Playing 'demo-echotest.ulaw' (language 'en')
  == Spawn extension (from-internal, *43, 3) exited non-zero on
'SIP/100-00000003'
    -- Executing [h@from-internal:1] Hangup("SIP/100-00000003", "") in new stack
  == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/100-00000003'
       > [INSERT INTO cel
(eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield)
VALUES ('HANGUP',{ts '2014-05-07 13:42:50'},'Maykel
Franco','100','100','','*43','h','from-internal','SIP/100-00000003','','',3,'','1399462964.3','1399462964.3','','','')]
       > [INSERT INTO cdr
(calldate,clid,src,dst,dcontext,channel,lastapp,lastdata,duration,billsec,disposition,amaflags,uniqueid)
VALUES ({ ts '2014-05-07 13:42:44' },'"Maykel Franco"
<100>','100','*43','from-internal','SIP/100-00000003','Playback','demo-echotest',6,6,'ANSWERED',3,'1399462964.3')]
       > [INSERT INTO cel
(eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield)
VALUES ('CHAN_END',{ts '2014-05-07 13:42:50'},'Maykel
Franco','100','100','','*43','h','from-internal','SIP/100-00000003','','',3,'','1399462964.3','1399462964.3','','','')]
       > [INSERT INTO cel
(eventtype,eventtime,cid_name,cid_num,cid_ani,cid_rdnis,cid_dnid,exten,context,channame,appname,appdata,amaflags,accountcode,uniqueid,linkedid,peer,userdeftype,userfield)
VALUES ('LINKEDID_END',{ts '2014-05-07 13:42:50'},'Maykel
Franco','100','100','','*43','h','from-internal','SIP/100-00000003','','',3,'','1399462964.3','1399462964.3','','','')]


Me he configurado en el cliente el servidor stun y en teoría está
corriendo, he seguido esta guía aunque sea para centos la he
implementado en debian:

http://elastixtech.com/servidor-stun/

[root@localhost ~]# netstat -an | grep :3478
udp        0      0 10.116.6.68:3478            0.0.0.0:*
udp        0      0 10.116.6.66:3478            0.0.0.0:*

Lo que sí me dado cuenta, es que al hacer el netstat y realizar una
prueba de eco o una llamada a otra extensión, no debería aparecer la
conexión con el netstat -an | grep :3478 en ese puerto?

Saludos.


Reply to: