Gracias por responder (como siempre, tú! jeje)<br><br>&nbsp;&nbsp;&nbsp;&nbsp; Entiendo, entonces debería ser algo así:<br><br>if (method==&quot;INVITE&quot;) {<br>&nbsp;&nbsp;&nbsp;&nbsp; if($si==&quot;GW1&quot;||$si==&quot;GW2&quot;){<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xlog(&quot;L_NOTICE&quot;, &quot;\n************** ALLOWING INCOMING CALL AS IT COMES FROM $si ************\n&quot;);<br>
&nbsp;&nbsp; &nbsp; }else{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!proxy_authorize(&quot;<a href="http://sip.midom.com/" target="_blank">sip.midom.com</a>&quot;,&quot;subscriber&quot;))<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; {<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proxy_challenge(&quot;sip.midom..com&quot;,&quot;0&quot;);
<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp; }<br><br>te parece correcto??<br><br><br>un saludo<br><br>David<br><br><div class="gmail_quote">2008/1/14 Iñaki Baz Castillo &lt;<a href="mailto:ibc@aliax.net">ibc@aliax.net
</a>&gt;:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">El Lunes, 14 de Enero de 2008, David Villasmil escribió:<br><div class="Ih2E3d">
&gt; Chicos,<br>&gt;<br>&gt; &nbsp; &nbsp; &nbsp;Como es normal, no quiero que nadie llame si estar registrado...<br><br></div>No, no es normal. Asumo que lo que quieres decir es:<br><br>&quot;Como es normal, no quiero que nadie llame sin autenticarse&quot;.
<br><br>Recuerdo que en SIP estar registrado nada tiene que ver con ser un usuario<br>subscrito (o sea, que tienes cuenta de usuario y password).<br><div class="Ih2E3d"><br><br><br>&gt; &nbsp; &nbsp; &nbsp;tengo lo siguiente en mi conf:
<br><br><br></div><div class="Ih2E3d">&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (method==&quot;INVITE&quot;) {<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if (!proxy_authorize(&quot;<a href="http://sip.midom.com" target="_blank">sip.midom.com</a>&quot;,&quot;subscriber&quot;))
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;{<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; proxy_challenge(&quot;sip.midom..com&quot;,&quot;0&quot;);<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit;<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}else{<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if($si==&quot;GW1&quot;||$si==&quot;GW2&quot;){
<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xlog(&quot;L_NOTICE&quot;, &quot;\n************** ALLOWING<br>&gt; INCOMING CALL AS IT COMES FROM $si ************\n&quot;);<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }<br>&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br></div>
&gt;El problema es cuando una llamada viene de GW1/GW2... que les da DECLINED<br><br><br>El script es incorrecto, supongamos una llamada desde el GW1 o GW2:<br><br>- Primero haces:<br><div class="Ih2E3d"> &nbsp; &nbsp;if (!proxy_authorize(&quot;
<a href="http://sip.midom.com" target="_blank">sip.midom.com</a>&quot;,&quot;subscriber&quot;))<br></div>Es decir, que si el llamante no presenta credenciales se le ofrezca un &quot;407<br>Proxy Autehntication Required&quot;, o sea, eso se traduce en:
<br><div class="Ih2E3d"> &nbsp; &nbsp;proxy_challenge(&quot;sip.midom..com&quot;,&quot;0&quot;);<br></div>La condición anterior se cumple (el GW1 no incluía credenciales en el INVITE)<br>por lo que el proxy envía el 407 al GW1.<br>
<br>- El GW1 recibe el 407 requeriendo que se autentique (cosa que no puede hacer,<br>ni tampoco queremos que haga, aquí está el error).<br><br>- Ese &quot;else&quot; NO se cumplirá nunca puesto que el GW1 NUNCA se podrá autenticar
<br>(en cuyo caso el &quot;if&quot; daría falso y se ejecutaría el &quot;else&quot;).<br><br>- El único caso en el que se ejecutaría el &quot;else&quot; es cuando llama cualquier<br>otro usuario que sí se autentica, lo cuál no es evidentemente lo que quieres.
<br><br><br><br>El autenticar por IP se debe hacer ANTES del &quot;proxy_authorize()&quot;. Es decir,<br>sólo pedir autenticación si la IP no es la del GW1/GW2.<br><br>Además, mira el módulo &quot;trusted&quot; que tiene funciones apropiadas para
<br>autenticación por IP.<br><br>Saludos.<br><font color="#888888"><br><br><br>--<br>Iñaki Baz Castillo<br><br>_______________________________________________<br>Users-es mailing list<br><a href="mailto:Users-es@lists.openser.org">
Users-es@lists.openser.org</a><br><a href="http://lists.openser.org/cgi-bin/mailman/listinfo/users-es" target="_blank">http://lists.openser.org/cgi-bin/mailman/listinfo/users-es</a><br></font></blockquote></div><br>