[OpenSER-Users-ES] Problemas de Auithentication

David Villasmil david.villasmil.work at gmail.com
Mon Jan 14 19:48:32 CET 2008


Gracias por responder (como siempre, tú! jeje)

     Entiendo, entonces debería ser algo así:

if (method=="INVITE") {
     if($si=="GW1"||$si=="GW2"){
          xlog("L_NOTICE", "\n************** ALLOWING INCOMING CALL AS IT
COMES FROM $si ************\n");
     }else{
          if (!proxy_authorize("sip.midom.com","subscriber"))
          {
               proxy_challenge("sip.midom..com","0");
               exit;
          }
     }

te parece correcto??


un saludo

David

2008/1/14 Iñaki Baz Castillo <ibc at aliax.net>:

> El Lunes, 14 de Enero de 2008, David Villasmil escribió:
> > Chicos,
> >
> >      Como es normal, no quiero que nadie llame si estar registrado...
>
> No, no es normal. Asumo que lo que quieres decir es:
>
> "Como es normal, no quiero que nadie llame sin autenticarse".
>
> Recuerdo que en SIP estar registrado nada tiene que ver con ser un usuario
> subscrito (o sea, que tienes cuenta de usuario y password).
>
>
>
> >      tengo lo siguiente en mi conf:
>
>
> >           if (method=="INVITE") {
> >                if (!proxy_authorize("sip.midom.com","subscriber"))
> >                {
> >                     proxy_challenge("sip.midom..com","0");
> >                     exit;
> >                }else{
> >                     if($si=="GW1"||$si=="GW2"){
> >                          xlog("L_NOTICE", "\n************** ALLOWING
> > INCOMING CALL AS IT COMES FROM $si ************\n");
> >                     }
> >                }
> >El problema es cuando una llamada viene de GW1/GW2... que les da DECLINED
>
>
> El script es incorrecto, supongamos una llamada desde el GW1 o GW2:
>
> - Primero haces:
>    if (!proxy_authorize("sip.midom.com","subscriber"))
> Es decir, que si el llamante no presenta credenciales se le ofrezca un
> "407
> Proxy Autehntication Required", o sea, eso se traduce en:
>    proxy_challenge("sip.midom..com","0");
> La condición anterior se cumple (el GW1 no incluía credenciales en el
> INVITE)
> por lo que el proxy envía el 407 al GW1.
>
> - El GW1 recibe el 407 requeriendo que se autentique (cosa que no puede
> hacer,
> ni tampoco queremos que haga, aquí está el error).
>
> - Ese "else" NO se cumplirá nunca puesto que el GW1 NUNCA se podrá
> autenticar
> (en cuyo caso el "if" daría falso y se ejecutaría el "else").
>
> - El único caso en el que se ejecutaría el "else" es cuando llama
> cualquier
> otro usuario que sí se autentica, lo cuál no es evidentemente lo que
> quieres.
>
>
>
> El autenticar por IP se debe hacer ANTES del "proxy_authorize()". Es
> decir,
> sólo pedir autenticación si la IP no es la del GW1/GW2.
>
> Además, mira el módulo "trusted" que tiene funciones apropiadas para
> autenticación por IP.
>
> Saludos.
>
>
>
> --
> Iñaki Baz Castillo
>
> _______________________________________________
> Users-es mailing list
> Users-es at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kamailio.org/pipermail/sr-users-es/attachments/20080114/09cda5cf/attachment-0002.htm 


More information about the Users-es mailing list