Hola, con la mejor de las intenciones pero quería exponer mi opinión acerca de
tener esta lista aquí (en "lists.openser.org") o bien donde estaba antes (en
Google Groups).
* Desventajas desde que está en "lists.openser.org":
- Tengo que revisar y descartar cada día unos 50 correos de spam porque no hay
antispam. Cuando estaba en Google apenas había.
- Antes con cualquier cuenta de correo (que tuviese asociada como cuenta de
Google, que no de Gmail) podía acceder vía web desde cualquier sitio,
loguearme y enviar/responder correos a la lista desde la propia web del
Google Groups. Ahora sólo lo puedo hacer a través de algún webmail si es que
lo tengo.
* Ventajas desde que está en "lists.openser.org":
- La dirección de correo de la lista mola más.
En fin, ¿qué opináis?
PD: Poneros en el lugar de alguien que no tenga/use cuenta de Gmail/Yahoo/MSN
u otros webmails, o sea, alguien que use la cuenta del curro a la cuál no
puede acceder remotamente desde casa.
Saludos.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es
Hola!
Me gustaria saber si hay alguna manera de tener la sigte configuracion.. y si la hay, Como?
Voy a plantear la situacion:
En
una casa tener una PC con un softphone con el dominio de una IP
publica. Esta IP publica apunta a un servidor de asterisk llamado PBX
A, y esta pbx apunta a varios servidores de Asterisk llamados PBX A1,
PBX A2, PBX A3, (Todo es un ejemplo).
Como yo podria hacer que este gran servidor llamado PBX A (en este tendria una base de datos o algo para contabilizar el trafico) registre
las extensiones y las subdivida en las otras 3? La idea es como
resgistrar muuchas extensiones y repartirlas en los diferentes servidores que
dependen del servidor central???
Alguien me dijo que con Openser podria.. o con dundi.. pero leyendo por ahi creo que lo que quiero se puede hacer con Openser... pero quisiera que alguien que sepa del tema me confirme que sí puedo hacer esto con openser.
Tengo un diagrama de lo que quiero, por si no me explique bien....
Si alguien puede ayudarme!!!
Gracias.
LMPJ
_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today it's FREE!
http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/
Gracias Iñaki por la respuesta y las sugerencias debajo te comento
como lo solucione.
> El Viernes, 14 de Marzo de 2008, Gustavo Mistrinelli escribió:
>
> > Pero, lo que quiero implementar es una funcionalidad extra para que el
> > usuario pueda agregar un telefono (puede ser otra extension, el movil,
> > el telefono de la casa etc.) y que cuando lo llamen suene también en
> > ese nro.
> >
> > Para esto lo que hago es utilizar la tabla usr_preferences y agregar
> > un registro que le defini type=fork.
> > Luego leo la preferencia, seteo un flag y hago un append_branch en el
> > on_branch si está seteado el flag cambio el $ruri de la llamada con el
> > valor del fork que puso el usuario y reseteo los valores.
>
> Olvídate del append_branch, es un coñazo usarlo bien para hacer parallel
> forking.
Lo hice funcionar con el append_branch (dicho de paso concuerdo en que
es medio complicado de usar)
...
avp_db_load("$ruri/username", "*");
xlog("L_INFO", "Reading User Preferences of RURI=$ruri ");
if(is_avp_set("$avp(s:fork)/s") && !isflagset(28))
{
xlog("L_INFO", "Forking to '$avp(s:fork)' found -M=$rm
RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
$ru = $avp(s:fork); # reemplazo el Request URI por el del fork
append_branch(); # genero un nuevo branch con el URI del fork
$ru = $ou; # vuelvo a poner el R URI como
estaba para que siga su curso como si nada.
};
..
>
> Hay una forma muy muy simple: añade el móvil u otra extensión directamente en
> la tabla "location" para el username y domain correspondiente.
> NOTA: Si usas "db_mode" 1 ó 2 entonces mejor añades el usuario
> vía "openserctl..." (que ataca directamente a memoria, donde busca OpenSer
> los contactos de un AoR).
>
> Ejemplo de llamada en paralelo a un móvil para "pepe(a)dominio.com":
>
> Tabla "location":
> - username: pepe
> - domain: dominio.com
> - contact: sip:666555444@pstn_gateway:5060
> - received: NULL
> - expires: (en el 2050 XD)
> - cflags: ninguno
> - methods: [1]
>
> [1]: Si usas "method_filter" en el módulo "usrloc" (¿o era el "registrar"?)
> asegúrate de añadir el método INVITE en "methods" (y de hecho no pongas el
> MESSAGE ya que el gateway no losoporta). Los códigos están aquí:
>
> http://openser.svn.sourceforge.net/viewvc/openser/trunk/parser/msg_parser.h…
>
Voy a probar lo que me dices, de momento con la solución que describi
arriba funciona a la perfección.
>
> Saludos.
>
Saludos y muchas gracias por la ayuda!
>
> --
> Iñaki Baz Castillo
--
Gustavo Mistrinelli
Hola Gente, les comento lo que estoy intentando hacer, sin éxito por
ahora, a ver si me pueden dar una mano para solucionarlo o encararlo
de otra manera.
Hasta ahora he logrado que openser haga el parallel forking con los n
contacts que tenga registrado un usuario sin problemas.
Pero, lo que quiero implementar es una funcionalidad extra para que el
usuario pueda agregar un telefono (puede ser otra extension, el movil,
el telefono de la casa etc.) y que cuando lo llamen suene también en
ese nro.
Para esto lo que hago es utilizar la tabla usr_preferences y agregar
un registro que le defini type=fork.
Luego leo la preferencia, seteo un flag y hago un append_branch en el
on_branch si está seteado el flag cambio el $ruri de la llamada con el
valor del fork que puso el usuario y reseteo los valores.
Quisiera si pueden revisar un poco la lógica y me digan si estoy yendo
por el camino correcto o se hace de otra manera.
Les paso algunas partes del script que participan en este proceso.
route[1] { # Route relay Handler
if (!t_relay()) {
sl_reply_error();
};
return;
}
route[3] # invite route
{
...
...
avp_db_load("$ruri/username", "*");
xlog("L_INFO", "Reading User Preferences of RURI=$ruri ");
if(is_avp_set("$avp(s:fork)/s") && !isflagset(28))
{
setflag(28);
xlog("L_INFO", "Forking to '$avp(s:fork)' found -
M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
t_on_branch("1");
append_branch();
};
...
route(1);
}
branch_route[1]{
if (isflagset(28)) {
resetflag(28);
xlog("L_INFO", "GooSIP: Doing Forkting to
'$avp(s:fork)' found - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
avp_pushto("$ru", "$avp(s:fork)/g");
avp_delete("$avp(s:fork)/g");
route(1);
return;
}
}
Desde ya.. gracias a todos.
--
Gustavo A. Mistrinelli
Hoola!
En algún hilo se ha comentado el tema de qué mensajes deberían ir
autenticados o no, pero como no era el tema central, he decidido abrir
este otro hilo para comentar mi pregunta/cosa:
Según he leido por aqui (creo que lo comentó Iñaki), los mensajes que
tienen que autenticarse con el proxy_authorize y tal son:
-INVITE
-REGISTER
-MESSAGE
-SUBSCRIBE
-PUBLISH
-OPTIONS
Vale, si esta es la lista, entonces yo ahora mismo tengo un
problemilla de seguridad, así que quería verificar una cosa:
Los INVITE se suelen tratar en u route aparte, así como los REGISTER.
Aunque todavía no me he metido mucho con ello, PUBLISH y SUBSCRIBE
también irían aparte, porque están relacionados con la presencia.
Entonces me quedan MESSAGE y OPTIONS. Actualmente he estado probando
los mensajes sin autenticación y por supuesto iban OK. Ahora he
añadido este bloque para manejarlos:
# -----------------------------------------------------------------
# MESSAGE handler
# -----------------------------------------------------------------
route[8]
{
xlog("L_INFO","$Cbx-- Mandando un MESSAGE --$Cxx\n");
## Es necesario autenticarse
if (!proxy_authorize("","subscriber")) {
xlog("L_INFO","$CbxSe necesita autenticacion para el MESSAGE$Cxx\n");
proxy_challenge("","0");
exit;
}
## Tienen que coincidir el nombre de usuario con el de la cabecera FROM
else if (!check_from()) {
xlog("L_INFO","$Crx*** check_from() = NO!! ***$Cxx\n");
sl_send_reply("403", "Use From=ID");
exit;
};
xlog("L_INFO","$Cbx*** MESSAGE correcto ***$Cxx\n");
consume_credentials();
# Puede que venga a nosotros pero tengamos definido un alias a fuera.
lookup("aliases") nos da la nueva URI que puede sea !=myself.
lookup("aliases");
if (!is_uri_host_local()) {
xlog("L_INFO","$CrxNot my URI after the alias lookup$Cxx\n");
## A las salientes
route(4);
exit;
};
## Miramos si existe el destino en nuestra tabla "location".
if (!lookup("location")) {
xlog("L_INFO","$Crx404 User Not Found$Cxx\n");
sl_send_reply("404", "Not Found");
exit;
};
## Si hemos llegado hasta aquí enrutamos el mensaje al destino por la
ruta por defecto.
route(1);
exit;
}
La pregunta es: podría utilizar este mismo bloque para los OPTIONS?
Entonces, llegados a este punto (sorry por la chapa) nos quedan por
tratar CANCEL, BYE, INFO, REFER, UPDATE, y PRACK?
Bien, entonces, asumiendo que tenemos esto en nuestro route principal:
if (!is_uri_host_local()) {
if (is_from_local()) {
route(4);
}
else {
sl_send_reply("403", "Forbidden");
};
exit;
}
Si un cuanlquiera nos manda algo pasaremos de ello. Entonces, para los
CANCEL y los BYE podemos hacer t_relay tranquilamente.
Los INFO solo ocurririan en loose_route no?Al igual que los UPDATE?
Ya solo nos quedan REFER, UPDATE y ese PRACK que no se yo... :P
Segun leo en el RFC3515, "REFER request MAY be placed outside the
scope of a dialog" entonces, deberia tratarlo fuera del loose_route?
Iria autenticado?
PD: Sorry por la "pesadilla mail", si aun os quedan fuerzas tras haber
llegado hasta aqui: que hacemos con el PRACK? (aunque no lo he visto
nunca...)
--
Saúl -- "Some people say why, other just say, why not."
----------------------------------------------------------------
http://www.saghul.net/
Buenas Tardes a tod@s
Estoy volviendo al cacharreo y futura auditoría de sistemas en VoIP y tengo
una serie de dudas que según vayan pasando los días espero que se reduzcan.
1º ¿Hay alguna manera de determinar que no haya 2 softphones o 2 teléfonos
que se hayan registrado con el mismo usuario?
2º ¿Cómo puedo evitar hacerme una autollamada?
3º Hay alguna manera de verificar que no me envian una cabecera modificada
cuando hago el register (SQL Injection)
un saludo y muchas gracias
--
=====================================================
Legolas_Bilbao[ID2006][GKR]
Dios creo un equipo Perfecto a los demas los lleno de extranjeros
http://www.forosindicedonkey.comhttp://usuarios.lycos.es/ligaforo/
=====================================================
Buenas Tardes:
Todavía ando con la configuración de Openser, tras trastear un poco ya
tengo la 1.3 y ahora ando mirando lo siguiente
1º como configurar Openser en el init.d , me aparece este modo, ¿existe otro?
http://www.openser.org/dokuwiki/doku.php/install:configure-initd-script
cp <openser src>/etc/openser.init /etc/init.d/openser, pero en mi
fichero descomprimido no tengo nada de openser.init :S.
2º Al arrancar el openser desde linea de comandos me sale un chorro de
caracteres que supongo que vienen por el debbuging , supongo que se
modificara en el openser.cfg yo lo tengo puesto asi
log_stderror=yes
log_facility=LOG_LOCAL0
log_name="LOG_OPENSER"
¿hay algo mal?
muchas gracias por todo
--
=====================================================
Legolas_Bilbao[ID2006][GKR]
Dios creo un equipo Perfecto a los demas los lleno de extranjeros
http://www.forosindicedonkey.comhttp://usuarios.lycos.es/ligaforo/
=====================================================
Bueno tras conseguir crearme mis usuarios y poner un xlog en la
entrada al route y en el register.
Arranco el twinkle y veo que manda el REGISTER , hasta ahi todo
correcto, ahora quiero probar que no haya mas que un usuario por AOR,
con lo cual pruebo a registrarme cone l mismo usuario que twinkle pero
usando ekiga, pero no se refleja en el log el mensaje REGISTER, este
softphone no manda un mensaje REGISTER?.
Lo que si he comprobado es lo siguiente que el AOR, funciona bien pero
no he colocado correctamente el tema de 2 usuarios activos, por que
EKIGA me ha saltado el siguiente mensaje
Hago el invite y en el status del programa , me sale lo siguiente :
Fallo la comprobación de seguridad pero lo que envia el EKIGA es un
INVITE.
Algún otro softphones para hacer pruebas,ya que el ekiga es un poco
cancer, a parte del x-lite
un saludo
--
=====================================================
Legolas_Bilbao[ID2006][GKR]
Dios creo un equipo Perfecto a los demas los lleno de extranjeros
http://www.forosindicedonkey.comhttp://usuarios.lycos.es/ligaforo/
=====================================================
Hola, una pregunta un poco "tonta":
Cuando se habla de "servidor de provisionamiento" en VoIP ¿nos referimos sólo
al provisionamiento de configuración para los dispositivos SIP o también
englobamos el interfaz de configuración de usuarios, cuentas, grupos, lógica
PBX...?
Gracias.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es