Gracias por responder (como siempre, tú! jeje)<br><br> Entiendo, entonces debería ser algo así:<br><br>if (method=="INVITE") {<br> if($si=="GW1"||$si=="GW2"){<br>
xlog("L_NOTICE", "\n************** ALLOWING INCOMING CALL AS IT COMES FROM $si ************\n");<br>
}else{<br> if (!proxy_authorize("<a href="http://sip.midom.com/" target="_blank">sip.midom.com</a>","subscriber"))<br> {<br> proxy_challenge("sip.midom..com","0");
<br> exit;<br> }<br> }<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 <<a href="mailto:ibc@aliax.net">ibc@aliax.net
</a>>:<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">
> Chicos,<br>><br>> 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>"Como es normal, no quiero que nadie llame sin autenticarse".
<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>> tengo lo siguiente en mi conf:
<br><br><br></div><div class="Ih2E3d">> if (method=="INVITE") {<br>> if (!proxy_authorize("<a href="http://sip.midom.com" target="_blank">sip.midom.com</a>","subscriber"))
<br>> {<br>> proxy_challenge("sip.midom..com","0");<br>> exit;<br>> }else{<br>> if($si=="GW1"||$si=="GW2"){
<br>> xlog("L_NOTICE", "\n************** ALLOWING<br>> INCOMING CALL AS IT COMES FROM $si ************\n");<br>> }<br>> }<br></div>
>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"> if (!proxy_authorize("
<a href="http://sip.midom.com" target="_blank">sip.midom.com</a>","subscriber"))<br></div>Es decir, que si el llamante no presenta credenciales se le ofrezca un "407<br>Proxy Autehntication Required", o sea, eso se traduce en:
<br><div class="Ih2E3d"> proxy_challenge("sip.midom..com","0");<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 "else" NO se cumplirá nunca puesto que el GW1 NUNCA se podrá autenticar
<br>(en cuyo caso el "if" daría falso y se ejecutaría el "else").<br><br>- El único caso en el que se ejecutaría el "else" 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 "proxy_authorize()". 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 "trusted" 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>