Al final el openser.cfg me ha quedado así, vosotros pensais que está bien??
 

####### Global Parameters #########
debug=3
log_stderror=yes
#log_facility=LOG_LOCAL0
fork=no
children=4
dns=no
rev_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 path
mpath="/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 UAs
modparam("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 llamada
modparam("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@gmail.com
> To: users-es@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@lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/users-es



¡Atrévete con Abecedario, el juego del momento! Invita a tus contactos de Messenger y demuéstrales lo que sabes demuéstrales lo que sabes