[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