[Serusers] RTPProxy "pulling my hairs"

Ali Zaidi aligzaidi at gmail.com
Wed Sep 14 02:48:17 CEST 2005


Hi,
 I have trouble with RTPPRoxy.
I downloaded a everything.GettingStarted.tar.gz package from Onsip, 
hello-world.3.04.cfg and auth-mysql.3.05.cfg work but when i use 
nat-rtpproxy.3.04.cfg i get following errors.
 [root at localhost root]# /etc/init.d/rtpproxy start
[root at localhost root]# /etc/init.d/ser restart
Stopping ser: [FAILED]
Starting ser: [ OK ]
[root at localhost root]# serctl ul show
Dumping all contacts may take long: are you sure you want to proceed? [Y|N] 
y
Error opening ser's FIFO /tmp/ser_fifo
Make sure you have line fifo=/tmp/ser_fifo in your config
[root at localhost root]#
  By the way i don't see rtpproxy.sock under \var\run\
 Questions:
 If i use rtpptoxy, how we start it? i do "/etc/init.d/rtpproxy start" then 
it doesn't show if that is started or not unless i run "ps -A"
Can we put SER into DMZ and do port forwarding OR SER must have Puplic IP?
If we can put SER on DMZ then what other ports need to be open beside 5060?
  
# ===============================================

debug=3
fork=yes
log_stderror=no

listen=x.x.x.x # put your server IP address here That is MY WAN IP.
port=5060
children=4

dns=no
rev_dns=no

fifo="/tmp/ser_fifo"
fifo_db_url="mysql://ser:heslo@localhost/ser"

loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/uri_db.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"

modparam("auth_db|uri_db|usrloc", "db_url", "mysql://ser:heslo@localhost/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", 2)

modparam("registrar", "nat_flag", 6)

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

route {

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

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

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

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

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

if (has_totag() && (method=="INVITE" || method=="ACK")) {
if (nat_uac_test("19")) {
setflag(6);
force_rport();
fix_nated_contact();
};
force_rtp_proxy("l");
};
route(1);
break;
};

# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------

if (uri!=myself) {
route(1);
break;
};

if (uri==myself) {

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

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

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

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_register();
force_rport();
};

sl_send_reply("100", "Trying");

if (!www_authorize("","subscriber")) {
www_challenge("","0");
break;
};

if (!check_to()) {
sl_send_reply("401", "Unauthorized");
break;
};

consume_credentials();

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

route[3] {

# -----------------------------------------------------------------
# CANCEL and INVITE Message Handler
# -----------------------------------------------------------------

if (nat_uac_test("19")) {
setflag(6);
}

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

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

if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
break;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
break;
};

consume_credentials();

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

t_on_reply("1");

if (!t_relay()) {
if(isflagset(6)) {
unforce_rtp_proxy();
}
sl_reply_error();
};
}

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();
};
}
 
 Thanks,
  Ali G.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20050913/c225ee1c/attachment.htm>


More information about the sr-users mailing list