[OpenSER-Users-ES] {Spam?} dudas con open ser
patricia avila sendino
patavil3 at hotmail.com
Mon Jul 21 12:13:53 CEST 2008
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 at gmail.com> To: users-es at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kamailio.org/pipermail/sr-users-es/attachments/20080721/30e01d04/attachment-0002.htm
More information about the Users-es
mailing list