hello
if I utilize rtpproxy.
I show it my configuration :
1- rtpproxy -l ip-private/ip-public
2- ser.cfg
# Sections marked with !! Nathelper contain modifications for nathelper # # NOTE !! This config is EXPERIMENTAL ! # # ----------- 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/ser_fifo" listen=200.61.161.132 alias="sip.boxip.com.ar"
# ------------------ module loading ---------------------------------- # Uncomment this if you want to use SQL database #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/textops.so" # Uncomment this if you want digest authentication # mysql.so must be loaded ! #loadmodule "/usr/local/lib/ser/modules/auth.so" #loadmodule "/usr/local/lib/ser/modules/auth_db.so" # !! Nathelper loadmodule "/usr/local/lib/ser/modules/nathelper.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) # !! Nathelper modparam("registrar", "nat_flag", 6) modparam("nathelper", "natping_interval", 30) # Ping interval 30 s modparam("nathelper", "ping_nated_only", 1) # Ping only clients behind NAT
# ------------------------- 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"); break; }; if (msg:len >= max_len ) { sl_send_reply("513", "Message too big"); break; };
if (nat_uac_test("3")) {
if (method == "REGISTER" || ! search("^Record-Route:")) { log("LOG: Someone trying to register from private IP, rewriting\n"); fix_nated_contact(); # Rewrite contact with source IP of signalling if (method == "INVITE") { fix_nated_sdp("1"); # Add direction=active to SDP }; force_rport(); # Add rport parameter to topmost Via setflag(6); # Mark as NATed }; };
if (!method=="REGISTER") record_route();
if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; };
if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); break; }; if (uri==myself) {
if (method=="REGISTER") { # Uncomment this if you want to use digest authentication # if (!www_authorize("iptel.org", "subscriber")) { # www_challenge("iptel.org", "0"); # break; # }; log(1,"registo 1"); save("location"); break; };
lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; };
# native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1); }
route[1] { # !! Nathelper if (uri=~"[@:](192.168.|10.|172.(1[6-9]|2[0-9]|3[0-1]).)" && !search("^Route:")){ sl_send_reply("479", "We don't forward to private IP addresses"); break; };
if (isflagset(6)) { force_rtp_proxy(); };
t_on_reply("1");
if (!t_relay()) { sl_reply_error(); }; }
# !! Nathelper onreply_route[1] { # NATed transaction ? if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") { fix_nated_contact(); force_rtp_proxy(); } else if (nat_uac_test("1")) { fix_nated_contact(); }; }
3- my log
May 4 16:46:36 chitara rtpproxy[5767]: rtpproxy started. May 4 16:46:40 chitara rtpproxy[5767]: error: received invalid command 'V' May 4 16:46:40 chitara ser[5770]: ERROR: send_rtpp_command: can't read reply from a RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: can't get version of the RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: support for RTP proxyhas been disabled May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is initially 65535 May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is finally 131070 May 4 16:46:40 chitara ser[5775]: INFO: fifo process starting: 5775 May 4 16:46:40 chitara ser[5775]: SER: open_uac_fifo: fifo server up at /tmp/ser_fifo... May 4 16:46:40 chitara ser[5775]: WARNING: no fifo_db_url given - fifo DB commands disabled! May 4 16:48:05 chitara ser[5771]: registo 1 May 4 16:48:05 chitara ser[5773]: registo 1 May 4 16:48:10 chitara ser[5771]: registo 1 May 4 16:48:10 chitara ser[5774]: registo 1 May 4 16:48:34 chitara ser[5774]: registo 1 May 4 16:48:35 chitara ser[5771]: registo 1 May 4 16:48:39 chitara ser[5774]: ERROR: force_rtp_proxy: support for RTP proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: force_rtp_proxy: support for RTP proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: on_reply processing failed May 4 16:48:42 chitara ser[5771]: ERROR: force_rtp_proxy: support for RTP proxy is disabled
thanks
Saludos!
Sergio
Probably you are mixing versions of ser and rtpproxy which are incompatible.
Use rtpproxy release v20040105 for stable ser (rel_0_8_12) or use unstable rtpproxy for unstable ser.
regards, klaus
Sergio Gerardo Festa wrote:
hello
if I utilize rtpproxy.
I show it my configuration :
1- rtpproxy -l ip-private/ip-public
2- ser.cfg
# Sections marked with !! Nathelper contain modifications for nathelper # # NOTE !! This config is EXPERIMENTAL ! # # ----------- 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/ser_fifo" listen=200.61.161.132 alias="sip.boxip.com.ar"
# ------------------ module loading ---------------------------------- # Uncomment this if you want to use SQL database #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/textops.so" # Uncomment this if you want digest authentication # mysql.so must be loaded ! #loadmodule "/usr/local/lib/ser/modules/auth.so" #loadmodule "/usr/local/lib/ser/modules/auth_db.so" # !! Nathelper loadmodule "/usr/local/lib/ser/modules/nathelper.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) # !! Nathelper modparam("registrar", "nat_flag", 6) modparam("nathelper", "natping_interval", 30) # Ping interval 30 s modparam("nathelper", "ping_nated_only", 1) # Ping only clients behind NAT
# ------------------------- 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"); break; }; if (msg:len >= max_len ) { sl_send_reply("513", "Message too big"); break; }; if (nat_uac_test("3")) { if (method == "REGISTER" || ! search("^Record-Route:")) { log("LOG: Someone trying to register from private IP,
rewriting\n"); fix_nated_contact(); # Rewrite contact with source IP of signalling if (method == "INVITE") { fix_nated_sdp("1"); # Add direction=active to SDP }; force_rport(); # Add rport parameter to topmost Via setflag(6); # Mark as NATed }; };
if (!method=="REGISTER") record_route(); if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; }; if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); break; }; if (uri==myself) { if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication # if (!www_authorize("iptel.org", "subscriber")) { # www_challenge("iptel.org", "0"); # break; # }; log(1,"registo 1"); save("location"); break; };
lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; }; # native SIP destinations are handled using our USRLOC DB if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1);
}
route[1] { # !! Nathelper if (uri=~"[@:](192.168.|10.|172.(1[6-9]|2[0-9]|3[0-1]).)" && !search("^Route:")){ sl_send_reply("479", "We don't forward to private IP addresses"); break; };
if (isflagset(6)) { force_rtp_proxy(); }; t_on_reply("1"); if (!t_relay()) { sl_reply_error(); };
}
# !! Nathelper onreply_route[1] { # NATed transaction ? if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") { fix_nated_contact(); force_rtp_proxy(); } else if (nat_uac_test("1")) { fix_nated_contact(); }; }
3- my log
May 4 16:46:36 chitara rtpproxy[5767]: rtpproxy started. May 4 16:46:40 chitara rtpproxy[5767]: error: received invalid command 'V' May 4 16:46:40 chitara ser[5770]: ERROR: send_rtpp_command: can't read reply from a RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: can't get version of the RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: support for RTP proxyhas been disabled May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is initially 65535 May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is finally 131070 May 4 16:46:40 chitara ser[5775]: INFO: fifo process starting: 5775 May 4 16:46:40 chitara ser[5775]: SER: open_uac_fifo: fifo server up at /tmp/ser_fifo... May 4 16:46:40 chitara ser[5775]: WARNING: no fifo_db_url given - fifo DB commands disabled! May 4 16:48:05 chitara ser[5771]: registo 1 May 4 16:48:05 chitara ser[5773]: registo 1 May 4 16:48:10 chitara ser[5771]: registo 1 May 4 16:48:10 chitara ser[5774]: registo 1 May 4 16:48:34 chitara ser[5774]: registo 1 May 4 16:48:35 chitara ser[5771]: registo 1 May 4 16:48:39 chitara ser[5774]: ERROR: force_rtp_proxy: support for RTP proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: force_rtp_proxy: support for RTP proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: on_reply processing failed May 4 16:48:42 chitara ser[5771]: ERROR: force_rtp_proxy: support for RTP proxy is disabled
thanks
Saludos!
Sergio
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Thanks by its answer.
¿Ud knows because when I compile the sip_router of cvs obtain the following error?
I have installed rh 9
make ....... cfg.y:1663: entrada no válida: `\r' cfg.y:1664: $$ de `else' no tiene tipo declarado cfg.y:1664: entrada no válida: `\r' cfg.y:1665: entrada no válida: `;' cfg.y:1665: entrada no válida: `\r' cfg.y:1666: entrada no válida: `\r' cfg.y:1667: entrada no válida: `\r' make: *** [cfg.tab.c] Error 1
Thanks
----- Original Message ----- From: "Klaus Darilion" klaus.mailinglists@pernau.at To: "Sergio Gerardo Festa" festa@interactuarsh.com.ar Cc: serusers@lists.iptel.org Sent: Thursday, May 06, 2004 3:09 PM Subject: Re: [Serusers] problems to use to SER/ NAT
Probably you are mixing versions of ser and rtpproxy which are
incompatible.
Use rtpproxy release v20040105 for stable ser (rel_0_8_12) or use unstable rtpproxy for unstable ser.
regards, klaus
Sergio Gerardo Festa wrote:
hello
if I utilize rtpproxy.
I show it my configuration :
1- rtpproxy -l ip-private/ip-public
2- ser.cfg
# Sections marked with !! Nathelper contain modifications for nathelper # # NOTE !! This config is EXPERIMENTAL ! # # ----------- 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/ser_fifo" listen=200.61.161.132 alias="sip.boxip.com.ar"
# ------------------ module loading ---------------------------------- # Uncomment this if you want to use SQL database #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/textops.so" # Uncomment this if you want digest authentication # mysql.so must be loaded ! #loadmodule "/usr/local/lib/ser/modules/auth.so" #loadmodule "/usr/local/lib/ser/modules/auth_db.so" # !! Nathelper loadmodule "/usr/local/lib/ser/modules/nathelper.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) # !! Nathelper modparam("registrar", "nat_flag", 6) modparam("nathelper", "natping_interval", 30) # Ping interval 30 s modparam("nathelper", "ping_nated_only", 1) # Ping only clients behind
NAT
# ------------------------- 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"); break; }; if (msg:len >= max_len ) { sl_send_reply("513", "Message too big"); break; }; if (nat_uac_test("3")) { if (method == "REGISTER" || ! search("^Record-Route:"))
{
log("LOG: Someone trying to register from private
IP,
rewriting\n"); fix_nated_contact(); # Rewrite contact with source
IP of
signalling if (method == "INVITE") { fix_nated_sdp("1"); # Add direction=active to
SDP
}; force_rport(); # Add rport parameter to topmost Via setflag(6); # Mark as NATed }; }; if (!method=="REGISTER") record_route(); if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; }; if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); break; }; if (uri==myself) { if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication # if (!www_authorize("iptel.org", "subscriber")) { # www_challenge("iptel.org", "0"); # break; # }; log(1,"registo 1"); save("location"); break; };
lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; }; # native SIP destinations are handled using our USRLOC
DB
if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1);
}
route[1] { # !! Nathelper if (uri=~"[@:](192.168.|10.|172.(1[6-9]|2[0-9]|3[0-1]).)"
&&
!search("^Route:")){ sl_send_reply("479", "We don't forward to private IP addresses"); break; };
if (isflagset(6)) { force_rtp_proxy(); }; t_on_reply("1"); if (!t_relay()) { sl_reply_error(); };
}
# !! Nathelper onreply_route[1] { # NATed transaction ? if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") { fix_nated_contact(); force_rtp_proxy(); } else if (nat_uac_test("1")) { fix_nated_contact(); }; }
3- my log
May 4 16:46:36 chitara rtpproxy[5767]: rtpproxy started. May 4 16:46:40 chitara rtpproxy[5767]: error: received invalid command
'V'
May 4 16:46:40 chitara ser[5770]: ERROR: send_rtpp_command: can't read reply from a RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: can't get version
of
the RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: support for RTP proxyhas been disabled May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is
initially
65535 May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is finally 131070 May 4 16:46:40 chitara ser[5775]: INFO: fifo process starting: 5775 May 4 16:46:40 chitara ser[5775]: SER: open_uac_fifo: fifo server up at /tmp/ser_fifo... May 4 16:46:40 chitara ser[5775]: WARNING: no fifo_db_url given - fifo
DB
commands disabled! May 4 16:48:05 chitara ser[5771]: registo 1 May 4 16:48:05 chitara ser[5773]: registo 1 May 4 16:48:10 chitara ser[5771]: registo 1 May 4 16:48:10 chitara ser[5774]: registo 1 May 4 16:48:34 chitara ser[5774]: registo 1 May 4 16:48:35 chitara ser[5771]: registo 1 May 4 16:48:39 chitara ser[5774]: ERROR: force_rtp_proxy: support for
RTP
proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: force_rtp_proxy: support for
RTP
proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: on_reply processing failed May 4 16:48:42 chitara ser[5771]: ERROR: force_rtp_proxy: support for
RTP
proxy is disabled
thanks
Saludos!
Sergio
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
sorry, I can't understand your error messages. I would be nice to switch your system to english so that we understand the error messages :)
klaus
Sergio Gerardo Festa wrote:
Thanks by its answer.
¿Ud knows because when I compile the sip_router of cvs obtain the following error?
I have installed rh 9
make ....... cfg.y:1663: entrada no válida: `\r' cfg.y:1664: $$ de `else' no tiene tipo declarado cfg.y:1664: entrada no válida: `\r' cfg.y:1665: entrada no válida: `;' cfg.y:1665: entrada no válida: `\r' cfg.y:1666: entrada no válida: `\r' cfg.y:1667: entrada no válida: `\r' make: *** [cfg.tab.c] Error 1
Thanks
----- Original Message ----- From: "Klaus Darilion" klaus.mailinglists@pernau.at To: "Sergio Gerardo Festa" festa@interactuarsh.com.ar Cc: serusers@lists.iptel.org Sent: Thursday, May 06, 2004 3:09 PM Subject: Re: [Serusers] problems to use to SER/ NAT
Probably you are mixing versions of ser and rtpproxy which are
incompatible.
Use rtpproxy release v20040105 for stable ser (rel_0_8_12) or use unstable rtpproxy for unstable ser.
regards, klaus
Sergio Gerardo Festa wrote:
hello
if I utilize rtpproxy.
I show it my configuration :
1- rtpproxy -l ip-private/ip-public
2- ser.cfg
# Sections marked with !! Nathelper contain modifications for nathelper # # NOTE !! This config is EXPERIMENTAL ! # # ----------- 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/ser_fifo" listen=200.61.161.132 alias="sip.boxip.com.ar"
# ------------------ module loading ---------------------------------- # Uncomment this if you want to use SQL database #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/textops.so" # Uncomment this if you want digest authentication # mysql.so must be loaded ! #loadmodule "/usr/local/lib/ser/modules/auth.so" #loadmodule "/usr/local/lib/ser/modules/auth_db.so" # !! Nathelper loadmodule "/usr/local/lib/ser/modules/nathelper.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) # !! Nathelper modparam("registrar", "nat_flag", 6) modparam("nathelper", "natping_interval", 30) # Ping interval 30 s modparam("nathelper", "ping_nated_only", 1) # Ping only clients behind
NAT
# ------------------------- 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"); break; }; if (msg:len >= max_len ) { sl_send_reply("513", "Message too big"); break; }; if (nat_uac_test("3")) { if (method == "REGISTER" || ! search("^Record-Route:"))
{
log("LOG: Someone trying to register from private
IP,
rewriting\n"); fix_nated_contact(); # Rewrite contact with source
IP of
signalling if (method == "INVITE") { fix_nated_sdp("1"); # Add direction=active to
SDP
}; force_rport(); # Add rport parameter to topmost Via setflag(6); # Mark as NATed }; }; if (!method=="REGISTER") record_route(); if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; }; if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); break; }; if (uri==myself) { if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication # if (!www_authorize("iptel.org", "subscriber")) { # www_challenge("iptel.org", "0"); # break; # }; log(1,"registo 1"); save("location"); break; };
lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; }; # native SIP destinations are handled using our USRLOC
DB
if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1);
}
route[1] { # !! Nathelper if (uri=~"[@:](192.168.|10.|172.(1[6-9]|2[0-9]|3[0-1]).)"
&&
!search("^Route:")){ sl_send_reply("479", "We don't forward to private IP addresses"); break; };
if (isflagset(6)) { force_rtp_proxy(); }; t_on_reply("1"); if (!t_relay()) { sl_reply_error(); };
}
# !! Nathelper onreply_route[1] { # NATed transaction ? if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") { fix_nated_contact(); force_rtp_proxy(); } else if (nat_uac_test("1")) { fix_nated_contact(); }; }
3- my log
May 4 16:46:36 chitara rtpproxy[5767]: rtpproxy started. May 4 16:46:40 chitara rtpproxy[5767]: error: received invalid command
'V'
May 4 16:46:40 chitara ser[5770]: ERROR: send_rtpp_command: can't read reply from a RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: can't get version
of
the RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: support for RTP proxyhas been disabled May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is
initially
65535 May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is finally 131070 May 4 16:46:40 chitara ser[5775]: INFO: fifo process starting: 5775 May 4 16:46:40 chitara ser[5775]: SER: open_uac_fifo: fifo server up at /tmp/ser_fifo... May 4 16:46:40 chitara ser[5775]: WARNING: no fifo_db_url given - fifo
DB
commands disabled! May 4 16:48:05 chitara ser[5771]: registo 1 May 4 16:48:05 chitara ser[5773]: registo 1 May 4 16:48:10 chitara ser[5771]: registo 1 May 4 16:48:10 chitara ser[5774]: registo 1 May 4 16:48:34 chitara ser[5774]: registo 1 May 4 16:48:35 chitara ser[5771]: registo 1 May 4 16:48:39 chitara ser[5774]: ERROR: force_rtp_proxy: support for
RTP
proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: force_rtp_proxy: support for
RTP
proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: on_reply processing failed May 4 16:48:42 chitara ser[5771]: ERROR: force_rtp_proxy: support for
RTP
proxy is disabled
thanks
Saludos!
Sergio
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Hello Klaus
I send error in ingles :
make
Makefile.rules:77: action.d: No such file or directory Makefile.rules:77: crc.d: No such file or directory Makefile.rules:77: daemonize.d: No such file or directory Makefile.rules:77: data_lump.d: No such file or directory Makefile.rules:77: data_lump_rpl.d: No such file or directory Makefile.rules:77: dprint.d: No such file or directory Makefile.rules:77: dset.d: No such file or directory Makefile.rules:77: error.d: No such file or directory Makefile.rules:77: fifo_server.d: No such file or directory Makefile.rules:77: flags.d: No such file or directory Makefile.rules:77: forward.d: No such file or directory Makefile.rules:77: hash_func.d: No such file or directory Makefile.rules:77: ip_addr.d: No such file or directory Makefile.rules:77: main.d: No such file or directory Makefile.rules:77: md5.d: No such file or directory Makefile.rules:77: md5utils.d: No such file or directory Makefile.rules:77: modparam.d: No such file or directory Makefile.rules:77: msg_translator.d: No such file or directory Makefile.rules:77: pass_fd.d: No such file or directory Makefile.rules:77: proxy.d: No such file or directory Makefile.rules:77: qvalue.d: No such file or directory Makefile.rules:77: re.d: No such file or directory Makefile.rules:77: receive.d: No such file or directory Makefile.rules:77: resolve.d: No such file or directory Makefile.rules:77: route.d: No such file or directory Makefile.rules:77: route_struct.d: No such file or directory Makefile.rules:77: script_cb.d: No such file or directory Makefile.rules:77: socket_info.d: No such file or directory Makefile.rules:77: sr_module.d: No such file or directory Makefile.rules:77: stats.d: No such file or directory Makefile.rules:77: tcp_main.d: No such file or directory Makefile.rules:77: tcp_read.d: No such file or directory Makefile.rules:77: timer.d: No such file or directory Makefile.rules:77: tsend.d: No such file or directory Makefile.rules:77: udp_server.d: No such file or directory Makefile.rules:77: unixsock_server.d: No such file or directory Makefile.rules:77: usr_avp.d: No such file or directory Makefile.rules:77: mem/f_malloc.d: No such file or directory Makefile.rules:77: mem/mem.d: No such file or directory Makefile.rules:77: mem/memtest.d: No such file or directory Makefile.rules:77: mem/q_malloc.d: No such file or directory Makefile.rules:77: mem/shm_mem.d: No such file or directory Makefile.rules:77: mem/vq_malloc.d: No such file or directory Makefile.rules:77: parser/hf.d: No such file or directory Makefile.rules:77: parser/msg_parser.d: No such file or directory Makefile.rules:77: parser/parse_content.d: No such file or directory Makefile.rules:77: parser/parse_cseq.d: No such file or directory Makefile.rules:77: parser/parse_disposition.d: No such file or directory Makefile.rules:77: parser/parse_diversion.d: No such file or directory Makefile.rules:77: parser/parse_event.d: No such file or directory Makefile.rules:77: parser/parse_expires.d: No such file or directory Makefile.rules:77: parser/parse_fline.d: No such file or directory Makefile.rules:77: parser/parse_from.d: No such file or directory Makefile.rules:77: parser/parse_hname2.d: No such file or directory Makefile.rules:77: parser/parse_hostport.d: No such file or directory Makefile.rules:77: parser/parse_nameaddr.d: No such file or directory Makefile.rules:77: parser/parse_param.d: No such file or directory Makefile.rules:77: parser/parser_f.d: No such file or directory Makefile.rules:77: parser/parse_rpid.d: No such file or directory Makefile.rules:77: parser/parse_rr.d: No such file or directory Makefile.rules:77: parser/parse_to.d: No such file or directory Makefile.rules:77: parser/parse_uri.d: No such file or directory Makefile.rules:77: parser/parse_via.d: No such file or directory Makefile.rules:77: parser/digest/digest.d: No such file or directory Makefile.rules:77: parser/digest/digest_parser.d: No such file or directory Makefile.rules:77: parser/digest/param_parser.d: No such file or directory Makefile.rules:77: parser/contact/contact.d: No such file or directory Makefile.rules:77: parser/contact/parse_contact.d: No such file or directory Makefile.rules:77: db/db.d: No such file or directory Makefile.rules:77: db/db_fifo.d: No such file or directory Makefile.rules:77: lex.yy.d: No such file or directory Makefile.rules:77: cfg.tab.d: No such file or directory bison -d -b cfg cfg.y cfg.y:28: unknown character: `\r' cfg.y:28: Skipping to next % cfg.y:118: unknown character: `\r' cfg.y:118: Skipping to next % cfg.y:129: unknown character: `\r' cfg.y:129: Skipping to next % ' is invalid in %token cfg.y:135: Skipping to next % ' is invalid in %token cfg.y:136: Skipping to next % ' is invalid in %token ...... cfg.y:1652: invalid input: `\r' cfg.y:1653: invalid input: `}' cfg.y:1653: ill-formed rule: initial symbol not followed by colon cfg.y:1654: $$ of `else' has no declared type cfg.y:1659: invalid $ value cfg.y:1659: $3 of `else' has no declared type cfg.y:1660: invalid $ value cfg.y:1660: $5 of `else' has no declared type cfg.y:1662: invalid input: `\r' cfg.y:1663: invalid input: `}' cfg.y:1663: invalid input: `\r' cfg.y:1664: $$ of `else' has no declared type cfg.y:1664: invalid input: `\r' cfg.y:1665: invalid input: `;' cfg.y:1665: invalid input: `\r' cfg.y:1666: invalid input: `\r' cfg.y:1667: invalid input: `\r' make: *** [cfg.tab.c] Error 1
thanks
----- Original Message ----- From: "Klaus Darilion" klaus.mailinglists@pernau.at To: "Sergio Gerardo Festa" festa@interactuarsh.com.ar Cc: serusers@lists.iptel.org Sent: Thursday, May 06, 2004 3:43 PM Subject: Re: [Serusers] problems to use to SER/ NAT
sorry, I can't understand your error messages. I would be nice to switch your system to english so that we understand the error messages :)
klaus
Sergio Gerardo Festa wrote:
Thanks by its answer.
¿Ud knows because when I compile the sip_router of cvs obtain the
following
error?
I have installed rh 9
make ....... cfg.y:1663: entrada no válida: `\r' cfg.y:1664: $$ de `else' no tiene tipo declarado cfg.y:1664: entrada no válida: `\r' cfg.y:1665: entrada no válida: `;' cfg.y:1665: entrada no válida: `\r' cfg.y:1666: entrada no válida: `\r' cfg.y:1667: entrada no válida: `\r' make: *** [cfg.tab.c] Error 1
Thanks
----- Original Message ----- From: "Klaus Darilion" klaus.mailinglists@pernau.at To: "Sergio Gerardo Festa" festa@interactuarsh.com.ar Cc: serusers@lists.iptel.org Sent: Thursday, May 06, 2004 3:09 PM Subject: Re: [Serusers] problems to use to SER/ NAT
Probably you are mixing versions of ser and rtpproxy which are
incompatible.
Use rtpproxy release v20040105 for stable ser (rel_0_8_12) or use unstable rtpproxy for unstable ser.
regards, klaus
Sergio Gerardo Festa wrote:
hello
if I utilize rtpproxy.
I show it my configuration :
1- rtpproxy -l ip-private/ip-public
2- ser.cfg
# Sections marked with !! Nathelper contain modifications for nathelper # # NOTE !! This config is EXPERIMENTAL ! # # ----------- 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/ser_fifo" listen=200.61.161.132 alias="sip.boxip.com.ar"
# ------------------ module loading ---------------------------------- # Uncomment this if you want to use SQL database #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/textops.so" # Uncomment this if you want digest authentication # mysql.so must be loaded ! #loadmodule "/usr/local/lib/ser/modules/auth.so" #loadmodule "/usr/local/lib/ser/modules/auth_db.so" # !! Nathelper loadmodule "/usr/local/lib/ser/modules/nathelper.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) # !! Nathelper modparam("registrar", "nat_flag", 6) modparam("nathelper", "natping_interval", 30) # Ping interval 30 s modparam("nathelper", "ping_nated_only", 1) # Ping only clients
behind
NAT
# ------------------------- 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"); break; }; if (msg:len >= max_len ) { sl_send_reply("513", "Message too big"); break; }; if (nat_uac_test("3")) { if (method == "REGISTER" || ! search("^Record-Route:"))
{
log("LOG: Someone trying to register from private
IP,
rewriting\n"); fix_nated_contact(); # Rewrite contact with source
IP of
signalling if (method == "INVITE") { fix_nated_sdp("1"); # Add direction=active to
SDP
}; force_rport(); # Add rport parameter to topmost Via setflag(6); # Mark as NATed }; }; if (!method=="REGISTER") record_route(); if (loose_route()) { # mark routing logic in request append_hf("P-hint: rr-enforced\r\n"); route(1); break; }; if (!uri==myself) { # mark routing logic in request append_hf("P-hint: outbound\r\n"); route(1); break; }; if (uri==myself) { if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication # if (!www_authorize("iptel.org", "subscriber"))
{
# www_challenge("iptel.org", "0"); # break; # }; log(1,"registo 1"); save("location"); break; };
lookup("aliases"); if (!uri==myself) { append_hf("P-hint: outbound alias\r\n"); route(1); break; }; # native SIP destinations are handled using our USRLOC
DB
if (!lookup("location")) { sl_send_reply("404", "Not Found"); break; }; }; append_hf("P-hint: usrloc applied\r\n"); route(1);
}
route[1] { # !! Nathelper if (uri=~"[@:](192.168.|10.|172.(1[6-9]|2[0-9]|3[0-1]).)"
&&
!search("^Route:")){ sl_send_reply("479", "We don't forward to private IP addresses"); break; };
if (isflagset(6)) { force_rtp_proxy(); }; t_on_reply("1"); if (!t_relay()) { sl_reply_error(); };
}
# !! Nathelper onreply_route[1] { # NATed transaction ? if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") { fix_nated_contact(); force_rtp_proxy(); } else if (nat_uac_test("1")) { fix_nated_contact(); }; }
3- my log
May 4 16:46:36 chitara rtpproxy[5767]: rtpproxy started. May 4 16:46:40 chitara rtpproxy[5767]: error: received invalid command
'V'
May 4 16:46:40 chitara ser[5770]: ERROR: send_rtpp_command: can't read reply from a RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: can't get
version
of
the RTP proxy May 4 16:46:40 chitara ser[5770]: WARNING: nathelper: support for RTP proxyhas been disabled May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is
initially
65535 May 4 16:46:40 chitara ser[5770]: INFO: udp_init: SO_RCVBUF is finally 131070 May 4 16:46:40 chitara ser[5775]: INFO: fifo process starting: 5775 May 4 16:46:40 chitara ser[5775]: SER: open_uac_fifo: fifo server up
at
/tmp/ser_fifo... May 4 16:46:40 chitara ser[5775]: WARNING: no fifo_db_url given - fifo
DB
commands disabled! May 4 16:48:05 chitara ser[5771]: registo 1 May 4 16:48:05 chitara ser[5773]: registo 1 May 4 16:48:10 chitara ser[5771]: registo 1 May 4 16:48:10 chitara ser[5774]: registo 1 May 4 16:48:34 chitara ser[5774]: registo 1 May 4 16:48:35 chitara ser[5771]: registo 1 May 4 16:48:39 chitara ser[5774]: ERROR: force_rtp_proxy: support for
RTP
proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: force_rtp_proxy: support for
RTP
proxy is disabled May 4 16:48:42 chitara ser[5774]: ERROR: on_reply processing failed May 4 16:48:42 chitara ser[5771]: ERROR: force_rtp_proxy: support for
RTP
proxy is disabled
thanks
Saludos!
Sergio
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers