<div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div class="Ih2E3d"><br>
> Ahora, cuando un cliente quiere llamar a otro y hay problemas de NAT y es<br>
> necesario utilizar el rtpproxy. Lo que quiero es que los rtps no fluyan a<br>
> través del Asterisk, como en el diagrama de abajo. ¿El canreinvite resuelve<br>
> ésto? Lo pregúnto porque no estoy seguro del funcionamiento del rtpproxy,<br>
> ¿soporta éste reinvites?<br>
<br>
</div>El canreinvite es una guarrada made in Asterisk. Consiste en lo siguiente:<br>
<br>
- Recuerda que Asterisk es un B2BUA: cuando un tfno A llama a otro B ambos<br>
registrados en Asterisk lo que realmente ocurre es que A llama a Asterisk<br>
(ahí hay un diálogo) y Asterisk llama a B (otro diálogo) y hace de pasarela.<br>
<br>
- Si A y B tienen canreinvite=yes y no pones t,T,w o W en el "Dial" (luego lo<br>
comento mejor) entonces ocurre que:<br>
<br>
- A llama a Asterisk, Asterisk llama a B, B contesta y Asterisk junta el audio<br>
(que pasa a través de él). De momento A no sabe de B y viceversa, el SDP se<br>
ha negociado para pasar por Asterisk pues ambos A y B **SOLO** han hablado<br>
con Asterisk.<br>
<br>
- Pero al instante Asterisk envía un nuevo INVITE (un re-INVITE porque es un<br>
INVITE in-dialog) tanto a A como a B. En el que envía a A pone en el SDP que<br>
envíe audio a la IP de B. En el que envía a B pone que envíe el audio<br>
directamente a A.<br>
<br>
¿Lo pillas? es como establecer primero dos llamadas con dos traficos de audio<br>
que se unen en Asterisk y posteriormente reorganizar SOLO el tráfico de audio<br>
(el SIP siempre sigue pasando por Asterisk) para que el RTP sea directo.<br>
<div class="Ih2E3d"></div></blockquote><div><br>Lo entiendo, un poco chapucero... <br> <br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
<br>
> En caso de no ser necesario el rtpproxy, y asterisk está de por medio, los<br>
> rtps van a través del asterisk?<br>
<br>
</div>Ojo, lee este bug que reporté hace tiempo:<br>
<a href="http://bugs.digium.com/view.php?id=11172" target="_blank">http://bugs.digium.com/view.php?id=11172</a><br>
</blockquote></div><br>Aparece como cerrado...<br><br><br>Y entonces... no hay forma posible de hacer timeouts??? no me lo puedo creer!<br><br><br>david<br>