Hi Ozan,
you have a syntax error in script, at line 60:
if (!uri == myself) && method == "INVITE") {
^^^
Best regards,
Marian
Ozan Blotter wrote:
Conditions as follows :
* SER runs on a Public IP
* SER works without auth & database modules,
* Nearly all user behind NAT (but routers configured to do port
forwarding for TCP/UDP 5060) to help SER in some cases,
* Users numbers in format of 833XXXXXXX 834XXXXXXX and they should call
each P2P-SIP-Calls (if not behind NAT),
* If a user need to call PSTN end point (SIP Gateway located at
212.154.32.154) the call traffic should flow over SER to SIP Gateway via
T1 connection already located between that systems so SER handles all
voice traffic by help of RTP Proxy.
* UA's registers on SER (Zyxel Prestige 2000, Zyxel Prestige 200W, Cisco
ATA186 etc.)
Problem is users cannot call each other (if i comment lines for
nathelper they can call)
It's clear i think, and below is my ser.cfg, what do i need extra or
erase. (It was successful without nathelper module and added dial plan)
I get this error :
root@sipproxy/usr/local/etc/ser
<mailto:root@sipproxy/usr/local/etc/ser>> ser 127.0.0.1 -n 1 -ddddddd -D -E
0(4419) read 23490987 from /dev/random
0(4419) seeding PRNG with 1133443665
0(4419) test random number 1528986547
0(4419) shm_mem_init: success
0(4419) DEBUG: register_fifo_cmd: new command (print) registered
0(4419) DEBUG: register_fifo_cmd: new command (uptime) registered
0(4419) DEBUG: register_fifo_cmd: new command (version) registered
0(4419) DEBUG: register_fifo_cmd: new command (pwd) registered
0(4419) DEBUG: register_fifo_cmd: new command (arg) registered
0(4419) DEBUG: register_fifo_cmd: new command (which) registered
0(4419) DEBUG: register_fifo_cmd: new command (ps) registered
0(4419) DEBUG: register_fifo_cmd: new command (kill) registered
0(4419) parse error (60,46-47): parse error
0(4419) parse error (60,46-47): bad command
0(4419) parse error (60,46-47): bad command
0(4419) parse error (60,48-49): bad command
0(4419) parse error (65,6-7): parse error
0(4419) parse error (65,6-7):
ERROR: bad config file (6 errors)
root@sipproxy/usr/local/etc/ser <mailto:root@sipproxy/usr/local/etc/ser>>
<<< ser.cfg. starts here <<<
#
# /usr/local/etc/ser/ser.cfg 2005/04/03 12:00:00 by Ozan Blotter $
#
# simple quick-start config script with nathelper/rtpproxy
# for IPv4/IPv6 gatewaying
#
# ----------- global configuration parameters ------------------------
debug=3 # debug level
#fork=yes
#log_stderror=no #
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
port=5060
children=2 # count of ser processes per interface
fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
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"
#Nathelper for RTPproxy
loadmodule "/usr/local/lib/ser/modules/nathelper.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
modparam("usrloc", "db_mode", 0)
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
modparam ("nathelper", "rtpproxy_sock",
"/var/run/rtpproxy.sock")
# ------------------------- 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;
};
# route invitation request to other domains
if (!uri == myself) && method == "INVITE") {
record_route();
if (!t_relay())
sl_reply_error();
break;
};
if (method == "REGISTER") {
if (af == inet) {
save ("location_inet4");
} else if (af ==inet6) {
save ("location_inet6");
} else {
sl_send_reply("403", "Call Cannot Be Served Here");
};
break;
};
if (method == "INVITE") {
if (lookup("location_inet4")) {
# Comment Out Three Lines Below If You Want
# RTP for IPv4>IPv4 Calls To Go Directly
# Between UAs
if (af == inet)
if (force_rtp_proxy("FAII"))
t_on_reply("1");
# Proxy Session From An Internal IPv4
# Phone To An External IPv6 Address
if (af == inet6)
if (force_rtp_proxy("FAIE"))
t_on_reply("1");
} else if (lookup("location_inet6")) {
# Proxy Session From An External IPv6
# Phone To An Internal IPv4 Address
if (af == inet)
if (force_rtp_proxy(FAEI"))
t_on_reply("1");
# Comment Out Three Lines Below If You Want
# RTP for IPv6>IPv6 Calls To Go Directly
# Between UAs
if (af == inet6)
if (force_rtp_proxy("FAEE"))
t_on_reply("1");
} else {
sl_send_reply("403", "Call Cannot Be Served Here");
break;
};
};
if (method == "BYE" || method == "CANCEL")
unforce_rtp_proxy();
#Do Strict Routing If Pre-Loaded Route Headers Present
if (loose_route()) {
t_relay();
break;
};
if (method == "INVITE")
record_route();
if (!t_relay())
sl_reply_error();
}
onreply_route[1] {
if (!(status=~"183" || status=~"200"))
break;
force_rtp_proxy("FA");
}
>> ser.cfg. ends here >>>
------------------------------------------------------------------------
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers