Al final el openser.cfg me ha quedado así, vosotros pensais que está bien??
####### Global Parameters #########
debug=3log_stderror=yes#log_facility=LOG_LOCAL0
fork=nochildren=4dns=norev_dns=no
/* uncomment the following lines to enable debugging */#debug=6#fork=no#log_stderror=yes
/* uncomment the next line to disable TCP (default on) */#disable_tcp=yes
/* uncomment the next line to enable the auto temporary blacklisting of not available
destinations (default disabled) */#disable_dns_blacklist=no
/* uncomment the next line to enable IPv6 lookup after IPv4 dns lookup failures (default
disabled) */#dns_try_ipv6=yes
/* uncomment the next line to disable the auto discovery of local aliases based on
revers DNS on IPs (default on) */#auto_aliases=no
/* uncomment the following lines to enable TLS support (default off) */#disable_tls =
no#listen = tls:your_IP:5061#tls_verify_server = 1#tls_verify_client =
1#tls_require_client_certificate = 0#tls_method = TLSv1#tls_certificate =
"/usr/local/etc/openser/tls/user/user-cert.pem"#tls_private_key =
"/usr/local/etc/openser/tls/user/user-privkey.pem"#tls_ca_list =
"/usr/local/etc/openser/tls/user/user-calist.pem"
port=5060
/* uncomment and configure the following line if you want openser to bind on a specific
interface/port/proto (default bind on all available) */listen=udp:192.168.1.2:5060
####### Modules Section ########
#set module pathmpath="/usr/local/lib/openser/modules/"
/* uncomment next line for MySQL DB support */loadmodule "mysql.so"loadmodule
"sl.so"loadmodule "tm.so"loadmodule "rr.so"loadmodule
"maxfwd.so"loadmodule "usrloc.so"loadmodule
"registrar.so"loadmodule "textops.so"loadmodule
"mi_fifo.so"loadmodule "uri_db.so"loadmodule
"uri.so"loadmodule "xlog.so"#loadmodule "acc.so"/* uncomment
next lines for MySQL based authentication support NOTE: a DB (like mysql) module must be
also loaded */loadmodule "auth.so"loadmodule "auth_db.so"/* uncomment
next line for aliases support NOTE: a DB (like mysql) module must be also loaded
*/#loadmodule "alias_db.so"/* uncomment next line for multi-domain support
NOTE: a DB (like mysql) module must be also loaded NOTE: be sure and enable multi-domain
support in all used modules (see "multi-module params" section )
*/loadmodule "domain.so"/* uncomment the next two lines for presence server
support NOTE: a DB (like mysql) module must be also loaded */#loadmodule
"presence.so"#loadmodule "presence_xml.so"
# ----------------- setting module-specific parameters ---------------
# ----- mi_fifo params -----modparam("mi_fifo", "fifo_name",
"/tmp/openser_fifo")
# ----- rr params -----# add value to ;lr param to cope with most of the
UAsmodparam("rr", "enable_full_lr", 1)# do not append from tag to the
RR (no need for this script)#modparam("rr", "append_fromtag", 0)
# ----- rr params -----#modparam("registrar", "method_filtering", 1)/*
uncomment the next line to disable parallel forking via location */#
modparam("registrar", "append_branches", 0)/* uncomment the next line
not to allow more than 10 contacts per AOR */#modparam("registrar",
"max_contacts", 10)
# ----- uri_db params -----/* by default we disable the DB support in the module as we do
not need it in this configuration */modparam("uri_db",
"use_uri_table", 0)modparam("uri_db", "db_url",
"mysql://openser:openserrw@localhost/openser")
# ----- acc params -----/* what sepcial events should be accounted ?
*/#modparam("acc", "early_media", 1)#modparam("acc",
"report_ack", 1)#modparam("acc", "report_cancels", 1)/* by
default ww do not adjust the direct of the sequential requests. if you enable this
parameter, be sure the enable "append_fromtag" in "rr" module
*/#modparam("acc", "detect_direction", 0)/* account triggers (flags)
*/#modparam("acc", "failed_transaction_flag",
3)#modparam("acc", "log_flag", 1)#modparam("acc",
"log_missed_flag", 2)/* uncomment the following lines to enable DB accounting
also */#modparam("acc", "db_flag", 1)#modparam("acc",
"db_missed_flag", 2)
# ----- usrloc params -----#modparam("usrloc", "db_mode", 0)/*
uncomment the following lines if you want to enable DB persistency for location entries
*/modparam("usrloc", "db_mode", 2)modparam("usrloc",
"db_url", "mysql://openser:openserrw@localhost/openser")
# ----- auth_db params -----/* uncomment the following lines if you want to enable the DB
based authentication */modparam("auth_db", "calculate_ha1",
yes)modparam("auth_db", "password_column",
"ha1")modparam("auth_db", "db_url",
"mysql://openser:openserrw@localhost/openser")#modparam("auth_db",
"load_credentials", "")modparam("auth_db",
"password_column", "ha1b")
# ----- alias_db params -----/* uncomment the following lines if you want to enable the DB
based aliases */#modparam("alias_db", "db_url",#
"mysql://openser:openserrw@localhost/openser")
# ----- domain params -----/* uncomment the following lines to enable multi-domain
detection support */modparam("domain", "db_url",
"mysql://openser:openserrw@localhost/openser")modparam("domain",
"db_mode", 1) # Use caching
## Tiempo para la llamadamodparam("tm","fr_inv_timer", 45)
# ----- multi-module params -----/* uncomment the following line if you want to enable
multi-domain support in the modules (dafault off)
*/#modparam("alias_db|auth_db|usrloc|uri_db", "use_domain", 1)
# ----- presence params -----/* uncomment the following lines if you want to enable
presence */#modparam("presence|presence_xml", "db_url",#
"mysql://openser:openserrw@localhost/openser")#modparam("presence_xml",
"force_active", 1)#modparam("presence", "server_address",
"sip:192.168.1.2:5060")
####### Routing Logic ########
# main request routing logic
route{
## LOG del mensaje recibido xlog("L_INFO", "\n\n$Cbg[ $mi --
$rm -- $ua ($si:$sp) -- FROM: $fu -- TO: $tU -- ]$Cxx\n);
## Comprobamos que el mensaje no sea demasiado largo ni halla superado
max_forwards
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
xlog("L_ERROR", "\n\n$CwrToo Many Hops$Cxx\n"); exit;
}; if(msg:len>max_len){ sl_send_reply("513",
"Message Overflow"); xlog("L_ERROR",
"\n\n$CwrMessage Overflow$Cxx\n"); exit; }
## RECORD ROUTE SECTION ## Nos ponemos en medio, poniendo una cabecera
Record-Route, para que los mensajes pasen por ## nosotros. Pero si es REGISTER no
se debe hacer.
if(method!="REGISTER"){ record_route(); };
## LOOSE ROUTE SECTION ## Los mensajes pertenecientes a un mismo
dialogo deben tomar el camino indicado por Record-Route
If (loose_route()){ xlog("L_INFO", "\n\n *** Estamos
en loose-route ***\n\n"); route(1); exit; };
## CALL TYPE PROCESSING SECTION ## Mensajes con destino distinto de
nuestro servidor, hacemos relay, pero . ## Ruta de salientes
if (!is_uri_host_local()){ if (is_from_local()) {
route(4); } else {
sl_send_reply("403", "Forbidden"); };
exit; };
## Mensajes con destino nuestro servidor (por ejemplo llamadas a usuarios
registrado aqui. ## Tenemos que tratar explicitamente el ACK
if (method=="ACK") { xlog("L_INFO",
"$Cbx--- Procesando un ACK *not whitin a dialog*$Cxx\n");
route(1); exit; }
## CANCEL messages can be safely processed with a simple call to t_relay()
## because SER will automatically match the CANCEL message to the original ##
INVITE message (stateful) ## Para el CANCEL, con la ruta por defecto vale.
else if (method=="CANCEL") { route(1);
exit; }
## Los REGISTER los tratamos a parte (en la ruta 2) else if
(method=="REGISTER"){ route(2); exit; }
## Los INVITEs a la ruta 3 (autenticacion, ...) else if
(method=="INVITE"){ route(3); exit; }
## Resto de casos (OPTIONS, REFER, BYE...) else { # 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 aqui enrutamos el mensaje al destino por
## la ruta por defecto. route(1); exit; };};
#-------------------------------------------------------------------------# DEFAULT
MESSAGE HANDLER#-------------------------------------------------------------------------
route[1]{ ## Indicamos que las respuestas que se originen aqui vayan a la ruta
## onreply_route[1], asi sabemos lo que pasa t_on_reply("1");
if (!t_relay()) { sl_reply_error(); };
xlog("L_INFO","$CbxMessage is reloayed; now exiting$Cxx\n");
exit;}
#------------------------------------------------------------------------# REGISTER
MESSAGE HANDLER#------------------------------------------------------------------------
route[2]{ sl_send_reply("100", "Trying"); if
(!www_autorize("", "subscriber")) {
xlog("L_INFO", "$CbxSe necesita autenticacion para el
REGISTER$Cxx\n"); www_challange("","0");
exit; } else if (!check_to()){ ## Validate the supplied
to: header against the previously ## validated digest credentials. If they
do not match then we must ## reject the REGISTER
xlog("L_INFO","$Crx*** check_to()=NO!! ***$Cxx\n");
sl_send_reply("401","Unauthorized"); exit; };
xlog("L_INFO","$Cbx*** REGISTER correcto ***$Cxx\n");
## Eliminamos las cabeceras relativas a la autenticacion, porque ya no son
## necesarias y no vamos a ir mandandolas por ahi... consume_credentials();
## Informo si es un UNREGISTER (rfc3261 -- 10.2.2) if
($hdr(contact)=~";expires=0") || ($hdr(expires)=="0"){
xlog("L_INFO","$Cbx*** UNREGISTER ***$Cxx\n"); }
## Guardamos la localizacion en la tabla "location". if
(!save("location")) { sl_reply_error(); };}
#--------------------------------------------------------------------------# INVITE
MESSAGE
HANDLER#--------------------------------------------------------------------------
route[3]{ ## Es necesario autenticarse para poder llamar if
(!proxy_authorize("","subscriber")){
xlog("L_INFO","$cBXSe necesita autenticacion para el INVITE$Cxx\n");
exit; }
## Tienen que coincidir el nombre de usuario con el de la cabecera FROM
else if (!check_from()){ xlog("L_INFO", "$Crx***
check_form()=NO!! ***\n"); sl_send_reply("403", "Use
From=Id"); exit; };
xlog("L_INFO","$Cbx*** INVITE 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()){ ## A las
salientes route(4); exit; };
if(!lookup("location")){
xlog("L_INFO","$Crx404 User Not Found$Cxx\n");
sl_send_reply("404","User Not Found"); exit; };
rewritehost(10.95.44.29);
## El usuario se ha autenticado y a quien llama existe en "location"
asÃue lo rutamos. route(1);}
#--------------------------------------------------------------------------------------#
OUTGOING#--------------------------------------------------------------------------------------
route[4]{ xlog("L_INFO","Cbx*** Llamada saliente ***$Cxx\n");
route(1); exit;}
#---------------------------------------------------------------------------------------#
ONREPLY_ROUTE[1] -- Para ver las respuestas a los
INVITE.#---------------------------------------------------------------------------------------
## Si un usuario hace un INVITE las respuestas del llamado (Trying, Ringing, OK ...) pasan
por aqui
onreply_route[1]{ xlog("L_INFO","\n\n$Cbc[Respuesta][ $rs ($rr)
desde $si:$sp -- Peticion:($rm) ] $Cxx\n");}Por otro lado, suponiendo que esté bien.
Como hago para comunicar openser con el EyeBeam, alguien sabe como hacerlo??
Muchisimas gracias por todo.
Y siento ser tan preguntona! pero es que todo esto me parece complicadisimo!
Date: Thu, 17 Jul 2008 14:56:32 +0200> From:
saghul(a)gmail.com> To: users-es(a)lists.openser.org> Subject: Re: [OpenSER-Users-ES]
{Spam?} dudas con open ser> > > Lo siento pero es que ando perdidísima!! no
entiendo nada!> > He estado mirando los enlaces que me pones pero la verdad es que
tampoco me> > aclaran mucho las cosas, admás no estoy muy bien de inglés, no hay>
> informacion útil en castellano?> >> > No esta en castellano, pero el
libro "Building Telephony Systems with> OpenSER" esta muy bien, tiene muchos
ejemplos, y es un buen comienzo.> > > -- > Saúl -- "Nunca subestimes el
ancho de banda de un camión lleno de disketes.">
---------------------------------------------------------------->
http://www.saghul.net/> > _______________________________________________>
Users-es mailing list> Users-es(a)lists.openser.org>
http://lists.openser.org/cgi-bin/mailman/listinfo/users-es
_________________________________________________________________
Hazte tu propia televisión a la carta. Música, noticias, estrenos, cine, humor y viajes en
MSN Vídeo
http://video.msn.com/?mkt=es-es