[Users] need help regarding AVPOPS module

Tanzeel serfaraz tanzeelcs at yahoo.com
Tue Jul 11 14:38:46 CEST 2006


Hi users;

i am new in openser and i am trying to implement
AVPOPS module in openser specially TRUSTING IPExample:
http://www.voice-system.ro/docs/avpops/ar01s08.html#ex_trusting)

when i going to start openser after modification i got
the messege like this:

Starting OpenSER : PID file /var/run/openser.pid does
not exist -- OpenSER start failed

when i check the .conf file by wrote the command :
# openser -c -f /usr/local/etc/openser/openser.cfg
 
i got the message like this:
MESSAGE:
0(7747) WARNING: fix_socket_list: could not rev.
resolve 192.168.1.37
 0(7747) WARNING: fix_socket_list: could not rev.
resolve 192.168.1.37
Listening on
             udp: 127.0.0.1 [127.0.0.1]:5060
             udp: 192.168.1.37 [192.168.1.37]:5060
             tcp: 127.0.0.1 [127.0.0.1]:5060
             tcp: 192.168.1.37 [192.168.1.37]:5060
Aliases:
             tcp: localhost:5060
             tcp: localhost.localdomain:5060
             tcp: tanzeel:5060
             udp: localhost:5060
             udp: localhost.localdomain:5060
             udp: tanzeel:5060
 
config file ok, exiting...

MY configuration file is this:
#
# $Id: openser.cfg,v 1.5 2005/10/28 19:45:33
bogdan_iancu Exp $
#
# simple quick-start config script
#
                                                      
                                                      
               
# ----------- global configuration parameters
------------------------
                                                      
                                                      
               
debug=3            # debug level (cmd line:
-dddddddddd)
fork=yes
log_stderror=no    # (cmd line: -E)
                                                      
                                                      
               
/* Uncomment these lines to enter debugging mode
fork=no
log_stderror=yes */
                                                      
                                                      
               
                                                      
                                                      
               
check_via=no    # (cmd. line: -v)
dns=no          # (cmd. line: -r)
rev_dns=no      # (cmd. line: -R)
port=5060
children=4
fifo="/tmp/openser_fifo"
listen=192.168.1.37
#
# uncomment the following lines for TLS support
#disable_tls = 0
#listen = tls:your_IP:5061
#tls_verify = 1
#tls_require_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"
                                                      
                                                    

# ------------------ module loading
----------------------------------
                                                      
                                                      
               
# Uncomment this if you want to use SQL database
loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule
"/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
loadmodule "/usr/local/lib/openser/modules/avpops.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
                                                      
                                                      
               
loadmodule "/usr/local/lib/openser/modules/acc.so"
loadmodule
"/usr/local/lib/openser/modules/alias_db.so"
loadmodule "/usr/local/lib/openser/modules/domain.so"
                                                      
                                                      
               



                                                      
                                                      
               
# ----------------- setting module-specific parameters
---------------
                                                      
                                                      
               
# -- usrloc params --
                                                      
                                                      
               
#modparam("usrloc", "db_mode",   0)
                                                      
                                                      
               
# Uncomment this if you want to use SQL database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
                                                      
                                                      
               
# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", yes)
#
# If you set "calculate_ha1" parameter to yes (which
true in this config),
# uncomment also the following parameter)
#
modparam("auth_db", "password_column", "password")
                                                      
                                                      
               
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)


################AVPOPS Module Parameters ############
                                                      
                                                      
               
modparam("avpops", "avp_url",
"mysql://openser:openserrw@localhost/openser")
modparam("avpops", "avp_table", "usr_preferences")
                                                      
                                                      
               
                                                      
                                                      
               
# -------------------------  request routing logic
-------------------
                                                      
                                                      
               
# main routing logic
                                                      
                                                      
               
route{
                                                      
                                                      
               
        # initial sanity checks -- messages with
        # max_forwards==0, or excessively long
requests
        if (!mf_process_maxfwd_header("10")) {
                sl_send_reply("483","Too Many Hops");
                exit;
        };
                                                      
                                                      
               
        if (msg:len >=  2048 ) {
                sl_send_reply("513", "Message too
big");
                exit;
        };
                                                      
                                                      
               
                                                      
                                                      
               
# if the request pretends to belong to a local domain
if (is_from_local())
{
 #authenticate only INVITE and MESSAGES
        if (method=="INVITE" || method=="MESSAGE")
        {
                # is it a trusted IP address? - first
load the trusted IPs (avp
                # NAME 't_ips" from DB table "ips")
for the target domain (domain part
                # of RURI); then check if at least one
value of 't_ips' AVPs equals
                # the source IP of the request
                if
(!(avp_db_load("$ruri/domain","s:t_ips/ips")
                                 &&
avp_check("s:t_ips", "eq/$src_ip/gi")))
                                                      
                                                      
               
                                                      
                                                      
               
{
                                                      
                                                      
               
                                                      
                                                      
               
                                                      
                                                      
               
        # we record-route all messages -- to make sure
that
        # subsequent messages will go through our
proxy; that's
        # particularly good if upstream and downstream
entities
        # use different transport protocol
        if (!method=="REGISTER")
                record_route();
                                                      
                                                      
               
     }
   }
 }
                                                      
                                                      
               
                                                      
                                                      
               
                                                      
                                                      
               
        # subsequent messages withing a dialog should
take the
        # path determined by record-routing
if (loose_route()) {
                # mark routing logic in request
                append_hf("P-hint: rr-enforced\r\n");
                route(1);
        };
                                                      
                                                      
               
        if (!uri==myself) {
                # mark routing logic in request
                append_hf("P-hint: outbound\r\n");
                # if you have some interdomain
connections via TLS
                #if(uri=~"@tls_domain1.net") {
                #      
t_relay_to_tls("IP_domain1","port_domain1");
                #       exit;
                #} else if(uri=~"@tls_domain2.net") {
                #      
t_relay_to_tls("IP_domain2","port_domain2");
                #       exit;
                #}
                route(1);
                                                      
                                                    
};
                                                      
                                                      
               
        # if the request is for other domain use
UsrLoc
        # (in case, it does not work, use the
following command
        # with proper names and addresses in it)
        if (uri==myself) {
                                                      
                                                      
               
                if (method=="REGISTER") {
                                                      
                                                      
               
                        # Uncomment this if you want
to use digest authentication
                        if
(!www_authorize("localhost", "subscriber")) {
                               
www_challenge("localhost", "0");
                                exit;
                        };
                                                      
                                                      
               
                        save("location");
                        exit;
                };
                                                      
                                                      
               
                lookup("aliases");
                if (!uri==myself) {
                        append_hf("P-hint: outbound
alias\r\n");
                        route(1);
                };
                                                      
                                                      
               
                # native SIP destinations are handled
using our USRLOC DB
                if (!lookup("location")) {
                        sl_send_reply("404", "Not
Found");
                        exit;
                };
                append_hf("P-hint: usrloc
applied\r\n");
        };
                                                      
                                                      
                      route(1);
}
                                                      
                                                      
               
                                                      
                                                      
               
route[1] {
        # send it out now; use stateful forwarding as
it works reliably
        # even for UDP2TCP
        if (!t_relay()) {
                sl_reply_error();
        };
        exit;
}



if someone have already configure that example kindly
send it to me .

Thank for help 

Regards 






__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 




More information about the Users mailing list