El Jueves, 12 de Febrero de 2009, toni cunyat escribió:
No tiene mucho sentido poner un RtpProxy para hablar con un Asterisk y menos aún si encima usamos su IP pública. En mi opinión ese RtpProxy sobra. Un RtpProxy tiene sentido para acompañar a un proxy, pero no a un B2BUA que encima se encarga del audio (Asterisk).
Eso es lo que pensaba, pero si en un cliente hago capturas de trafico, veo que el trafico rtp va entre el cliente(ip publica) y el callmanager (ip privada).
Eso se resuelve poniendo "nat=yes" en el peer de cliente y/o en peer del callmanager.
¿Qué significa "No quiero hacer NAT"?
Me refiero que ambas redes esten completamente aisladas, y el PC que tiene el asterisk haga a modo de bastión. Que la llamada termine en el asterisk y el asterisk establezca la llamada al callmanager. En caso de la señalización me funciona, el callmanager recibe las llamadas, pero al estar completamente aisladas las dos subredes, el trafico rtp no le llega ya que el cliente(ekiga) intenta mandarlo a la IP privada del callmanager.
"nat=yes" en el peer del Ekiga hará que Asterisk funcione en modo Comedia ("pasa" del SDP que recibe del cliente y espera a recibir audio para saber dónde mandarlo).
Ahí está el problema, el audio no va del Callmanager al Asterisk, sino del Callmanager al cliente. En el archivo sip.conf tengo: [general] externip = 147.156.1.12 localnet=10.15.0.0/16 nat=yes
Pones "externip=IP_PUBLICA", y esa IP es la que Asterisk pondrá en el SDP. ¿Es a esa IP a donde quieres que el callmanager envíe el audio?