Hi Andrew,

first step will be to check on signalling level to see if SDP is correctly negotiated (IP and port). Than, try to get on the net to see if there is any RTP traffic between.

regards,
bogdan

Andrew Nowrot wrote:
Hi

I am new to all openser related things. I managed to install it, combine with postgres and do simple accounting, but now I am facing a slightly problem. The situation looks like this:

I have two sip phones both on public IP and both registered to openser (on public IP). I am able to ring between this two phones (so I guess that the sip signalization works OK), but I can't hear any voice. For testing purposes I disabled the firewall on openser so I am sure that all ports are "free". My openser.cfg looks like this:

#------------------- global configuration parameters ------------------------

debug=3            # debug level (cmd line: -dddddddddd)
fork=yes           # Set to no to enter debugging mode
log_stderror=no    # (cmd line: -E) Set to yes to enter debugging mode

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"

#
# 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 = "/build/buildd/openser- 1.1.0/debian/openser/etc/openser/tls/user/user-cert.pem" #tls_private_key = "/build/buildd/openser-1.1.0/debian/openser/etc/openser/tls/user/user-privkey.pem" #tls_ca_list = "/build/buildd/openser- 1.1.0/debian/openser/etc/openser/tls/user/user-calist.pem"

# ------------------ module loading ----------------------------------

loadmodule "/usr/lib/openser/modules/postgres.so"
loadmodule "/usr/lib/openser/modules/sl.so"
loadmodule "/usr/lib/openser/modules/tm.so"
loadmodule "/usr/lib/openser/modules/rr.so"
loadmodule "/usr/lib/openser/modules/maxfwd.so"
loadmodule "/usr/lib/openser/modules/usrloc.so"
loadmodule "/usr/lib/openser/modules/registrar.so"
loadmodule "/usr/lib/openser/modules/textops.so"
loadmodule "/usr/lib/openser/modules/acc.so"
loadmodule "/usr/lib/openser/modules/dbtext.so"
#loadmodule "/usr/lib/openser/modules/mediaproxy.so"
# Uncomment this if you want digest authentication
# mysql.so must be loaded !
loadmodule "/usr/lib/openser/modules/auth.so"
loadmodule "/usr/lib/openser/modules/auth_db.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", no)
#
# If you set "calculate_ha1" parameter to yes (which true in this config),
# uncomment also the following parameter)
#
#modparam("auth_db", "password_column", "password")
modparam("auth_db", "password_column", "ha1")

# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
#usrloc|auth_db|
modparam("usrloc|auth_db", "db_url", "postgres://openser:[EMAIL PROTECTED]:5432/openser")

modparam("acc", "db_url", "postgres://openser:[EMAIL PROTECTED] :5432/openser") #modparam("acc", "db_url", "postgres://openser:[EMAIL PROTECTED]:5432/openser")
#modparam("acc", "failed_transaction_flag", 1)
#modparam("acc", "report_cancels", 1)
modparam("acc", "db_flag", 1)
modparam("acc", "log_level", 1)
#modparam("acc", "log_fmt", "mfs")
#modparam("acc", "log_flag", 1 )
#modparam("acc", "log_fmt", "miocfs")



#modparam("acc", "db_flag", 1)

# -------------------------  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;
        };

        # 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=="INVITE")
        {
            # mark the INVITEs for accounting
            setflag(1);
# enforce record-routing so the BYEs will come through this server
            record_route();
        };

        #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
                if(method=="BYE") {
                    setflag(1);
                }
                t_relay();
                return;

                #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("tls:domain1.net <http://domain1.net>");
            #   exit;
            #} else if(uri=~"@tls_domain2.net") {
            #   t_relay("tls:domain2.net <http://domain2.net>");
            #   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)
        } else {

            if (method=="REGISTER") {

                #Uncomment this if you want to use digest authentication
                if (!www_authorize("XXX.XXX.XXX.XXX", "subscriber")) {
                    www_challenge("XXX.XXX.XXX.XXX ", "0");
                    exit;
                } else {
                    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 (uri=~"sip:003275566*") {
                if (!lookup("location")) {
                    sl_send_reply("444", "Not Found");
                    exit;
                }
                append_hf("P-hint: usrloc applied\r\n");
            } else {
                rewritehost("YYY.YYY.YYY.YYY");
                #t_relay();
            };
        };

        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;
}

What could cause this silence?
I was wondering maybe mediaproxy or rtpproxy could help, but there is no nat so I can find a reason why I should use them.

Could you check my conf file and point me into appropriate direction. Any kind of help would be gladly expected.

Best wishes to all.

Andrew






------------------------------------------------------------------------

_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to