I've found that there was a similar problem to mine here: http://www.nabble.com/openser-as-proxy-relay-t4384188.html. Here is my openser.cfg:

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

debug=3            # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no    # (cmd line: -E)
children=4
sip_warning=yes
log_facility=LOG_LOCAL7
disable_dns_blacklist=true

dns=no
rev_dns=no


port=5060

#set module path
mpath="/usr/local/lib/openser/modules/"

loadmodule "mysql.so"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "auth.so"
loadmodule "auth_db.so"
loadmodule "uri.so"
loadmodule "uri_db.so"
loadmodule "nathelper.so"
loadmodule "textops.so"
loadmodule "mi_fifo.so"

#modparam("auth_db|uri_db|usrloc", "db_url", "mysql://ser:[EMAIL PROTECTED]/ser")
#modparam("auth_db", "calculate_ha1", 1)
#modparam("auth_db", "password_column", "password")

modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1) modparam("nathelper", "rtpproxy_sock", "unix:/var/run/rtpproxy.sock")

modparam("usrloc", "db_mode", 0)

modparam("usrloc", "nat_bflag", 6)

modparam("rr", "enable_full_lr", 1)

modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")

route {

   # -----------------------------------------------------------------
   # Sanity Check Section
   # -----------------------------------------------------------------
   if (!mf_process_maxfwd_header("10")) {
       sl_send_reply("483", "Too Many Hops");
       exit;
   };

   if (msg:len > max_len) {
       sl_send_reply("513", "Message Overflow");
       exit;
   };

   # -----------------------------------------------------------------
   # Record Route Section
   # -----------------------------------------------------------------
   if (method!="REGISTER") {
       record_route();
   };

   if (method=="BYE" || method=="CANCEL") {
       unforce_rtp_proxy();
   }

   # -----------------------------------------------------------------
   # Loose Route Section
   # -----------------------------------------------------------------
   if (loose_route()) {

       if ((method=="INVITE" || method=="REFER") && !has_totag()) {
           sl_send_reply("403", "Forbidden");
           exit;
       };

       if (method=="INVITE") {

           if (nat_uac_test("19")) {
               setflag(6);
               force_rport();
               fix_nated_contact();
           };
           force_rtp_proxy("l");
       };
       route(1);
       exit;
   };

   # -----------------------------------------------------------------
   # Call Type Processing Section
   # -----------------------------------------------------------------
   if (uri!=myself) {
       route(4);
       route(1);
       exit;
   };

   if (method=="ACK") {
       route(1);
       exit;
   } else if (method=="CANCEL") {
       route(1);
       exit;
   } else if (method=="INVITE") {
       route(3);
       exit;
   } else  if (method=="REGISTER") {
       route(2);
       exit;
   };

   lookup("aliases");
   if (uri!=myself) {
       route(4);
       route(1);
       exit;
   };

   if (!lookup("location")) {
       sl_send_reply("404", "User Not Found");
       exit;
   };

   route(1);
}

route[1] {

   # -----------------------------------------------------------------
   # Default Message Handler
   # -----------------------------------------------------------------

   t_on_reply("1");

   if (!t_relay()) {
       if (method=="INVITE" && isflagset(6)) {
           unforce_rtp_proxy();
       };
       sl_reply_error();
   };
}

route[2] {

   # -----------------------------------------------------------------
   # REGISTER Message Handler
   # ----------------------------------------------------------------

   if (!search("^Contact:[ ]*\*") && nat_uac_test("19")) {
       setflag(6);
       fix_nated_contact();
       force_rport();
   };

   sl_send_reply("100", "Trying");
   route(1);

   if (!save("location")) {
       sl_reply_error();
   };
}

route[3] {

   # -----------------------------------------------------------------
   # INVITE Message Handler
   # -----------------------------------------------------------------
   if (nat_uac_test("19")) {
       setflag(6);
   }

   lookup("aliases");
   if (uri!=myself) {
       route(4);
       route(1);
       exit;
   };

   if (!lookup("location")) {
       sl_send_reply("404", "User Not Found");
       exit;
   };

   route(4);
   route(1);
}

route[4] {

   # -----------------------------------------------------------------
   # NAT Traversal Section
   # -----------------------------------------------------------------

   if (isflagset(6)) {
       force_rport();
       fix_nated_contact();
       force_rtp_proxy();
   }
}

onreply_route[1] {

   if (isflagset(6) && status=~"(180)|(183)|2[0-9][0-9]") {
       if (!search("^Content-Length:[ ]*0")) {
           force_rtp_proxy();
       };
   };

   if (nat_uac_test("1")) {
       fix_nated_contact();
   };
}

Hello,

I'm trying to make outbound proxy for my network using OpenSER. Currently I've configured OpenSER as sip registrar/rtpproxy and it works fine even with NAT traversal. The problem is that I don't how shuould I reconfigure my config to make it work as outbound proxy. I've tried many changes with no results. The first problem is how to correctly handle the register method. My config is based on: http://siprouter.onsip.org/doc/gettingstarted/ch08s02.html

Can anyone help me?

Best regards,
Dawid Jaroslawski

_______________________________________________
Users mailing list
Users@openser.org
http://openser.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
Users@openser.org
http://openser.org/cgi-bin/mailman/listinfo/users

Reply via email to