Hi
I am still having this problem when I cancel calls made to every user who is in voicemail group, if not, 487 is generated in acc, please see the references in: http://lists.iptel.org/pipermail/serusers/2004-September/011218.htmlç
thanks
Rafael
PS: cfg:
# ----------- 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
debug=9
fork=yes
log_stderror=yes
#*/
listen=xxx
listen=xxx
port=5060
# hostname matching an alias will satisfy the condition uri==myself".
alias=xxx
alias=xxx
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
children=4
fifo="/tmp/ser_fifo"
# ------------------ module loading ----------------------------------
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/group.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
loadmodule "/usr/local/lib/ser/modules/uri_db.so"
loadmodule "/usr/local/lib/ser/modules/acc.so"
# digest authentication
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
modparam("usrloc", "db_mode", 2)
# storing passwords in our database in plain text:
# modparam("auth_db", "calculate_ha1", yes)
# modparam("auth_db", "password_column", "password")
# For Rad Accounting
modparam("acc","radius_config","/usr/local/etc/radiusclient/radiusclient.conf")
modparam("acc", "service_type", 15)
modparam("acc", "radius_flag", 1)
modparam("acc", "radius_missed_flag", 3)
modparam("acc", "report_ack", 0) # 1 reporta dos starts en acc
# modparam("acc", "failed_transactions", 1)
modparam("tm", "fr_timer", 20 )
modparam("tm", "fr_inv_timer", 30 )
modparam("tm", "wt_timer", 20 )
modparam("rr", "enable_full_lr", 1)
modparam("group", "db_url", "mysql://ser:heslo@localhost/ser") # mysql in cvs head vs
#modparam("uri", "db_url", "sql://ser:heslo@localhost/ser") ## in ser0814
modparam("uri_db", "db_url", "mysql://ser:heslo@localhost/ser") # in cvs head version
# --------------------- request routing logic -------------------
route {
log(1, "-------------------------------------------\n");
log(1, "entering main loop\n");
# 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;
};
# 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
# record-route INVITES to make sure BYEs will visit our server too
if (method=="INVITE") record_route();
# loose-route processing
if (loose_route()) {
t_relay();
break;
};
# set for accounting:
if (method=="INVITE") {
log(1, "INVITE MESSAGE RECEIVED - START ACC\n");
setflag(1); /* set for accounting (the same value as in log_flag!) */
};
if (method=="BYE") {
log (1, "BYE - STOP ACCOUNTING\n");
setflag(1);
};
if (method=="CANCEL") {
log (1, "CANCEL - STOP ACCOUNTING\n");
setflag(1);
};
if (!uri==myself) {
t_relay();
break;
};
setflag(3); # radius missed flag
if (method == "REGISTER") {
log(1, "ANALYZING REGISTER REQUEST\n");
# to use digest authentication
if (!www_authorize("call.millicom.com", "subscriber")) {
www_challenge("call.millicom.com", "0");
break;
};
if (!save("location")) {
sl_reply_error();
};
break;
};
lookup("aliases");
# does the user wish redirection on no availability? (i.e., is he
# in the voicemail group?) -- determine it now and store it in
# flag 4, before we rewrite the flag using UsrLoc
if (is_user_in("Request-URI", "voicemail")) {
setflag(4);
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
# handle user which was not found
route(4);
break;
};
# if user is on-line and is in voicemail group, enable redirection
if (method == "INVITE" && isflagset(4)) {
t_on_failure("1");
};
t_relay();
}
# ------------- handling of unavailable user ------------------
route[4] {
# non-Voip -- just send "off-line"
if (!(method=="INVITE" || method=="ACK" || method=="CANCEL" || method=="BYE")) {
sl_send_reply("404", "Not Found");
acc_rad_request("404 Not Found");
break;
};
# not voicemail subscriber
if (!isflagset(4)) {
sl_send_reply("404", "Not Found and no voicemail turned on");
acc_rad_request("404 Not Found");
break;
};
# forward to voicemail now
rewritehostport("call.millicom.com.pe:5090");
t_relay_to_udp("call.millicom.com.pe", "5090");
}
# if forwarding downstream did not succeed, try voicemail running
# at bat.iptel.org:5090
failure_route[1]{
if (t_check_status("408|486|487")){
revert_uri ();
rewritehostport ("call.millicom.com.pe:5090");
append_branch();
t_relay();
break;
}
}
/*
failure_route[1] {
revert_uri();
rewritehostport("call.millicom.com.pe:5090");
append_branch();
t_relay_to_udp("call.millicom.com.pe", "5090");
}
*/
---------------------------------
Do You Yahoo!?
Todo lo que quieres saber de Estados Unidos, América Latina y el resto del Mundo.
Visíta Yahoo! Noticias.
Looking for an info on setup ssh tunnel to connect my client that on corporate network with double firewall (restricted and nat) to sip server with open access (no firewalls).
I'll appreciate your help.
EB
I've complied and installed ser from the berlios cvs head branch.
When I enabled the mysql.so module ser will not start. The logs have the
following message:
Sep 20 10:28:42 sip01 ser: ser startup succeeded
Sep 20 10:28:42 sip01 /usr/local/sbin/ser[22731]: Maxfwd module- initializing
Sep 20 10:28:42 sip01 /usr/local/sbin/ser[22731]: bind_dbmod: Module sql does
not export db_use_table function
Sep 20 10:28:42 sip01 /usr/local/sbin/ser[22731]: ERROR: mod_init(): Can't bind
database module
Sep 20 10:28:42 sip01 /usr/local/sbin/ser[22731]: init_mod(): Error while
initializing module usrloc
I've looked at the mysql.so source and it does export the db_use_table
function.
Can anyone suggest a fix?
Regards,
Paul
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com
Dear sirs,
Originally, we use the module nathelper for NAT traversal. But it seems that it doesn't work so well.
And now we turn to help for the module mediaproxy.
We now have the mediaproxy run on our redhat linux9 and users can login in as usual.
But they can't communicate with each other.
I always get the 408 error.
When I enter the debug mode. I got "8103" is not found in usrloc where "8103" is one of my legal user.
The following is my config file:
# fifo - FIFO special file path name
fifo="/tmp/ser_fifo"
# server_signature - should locally generated messages include server's
# signature ? By default yes, it is good for trouble shooting.
server_signature=yes
# reply_to_via - A hint to reply modules whether they sould send reply to IP
# advertised in Via. Turned off by default, which means that replies are sent
# to IP address from which requests came.
reply_to_via=no
# user | uid - uid to be used by the server. 99 = nobody.
uid="root"
# group | gid - gid to be used by the server. 99 = nobody
gid="root"
# mhome -- enable calculation of outbound interface; useful on
# multihome servers.
mhomed=0
# ------------------ 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"
loadmodule "/usr/local/lib/ser/modules/domain.so"
#loadmodule "/usr/local/lib/ser/modules/nathelper.so"
loadmodule "/usr/local/lib/ser/modules/acc.so"
loadmodule "/usr/local/lib/ser/modules/exec.so"
loadmodule "/usr/local/lib/ser/modules/group.so"
loadmodule "/usr/local/lib/ser/modules/print.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
loadmodule "/usr/local/lib/ser/modules/mediaproxy.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"
# ----------------- setting module-specific parameters ---------------
# -- tm parameters
modparam("tm", "fr_timer", 12)
modparam("tm", "fr_inv_timer", 24)
# -- accounting parameters
modparam("acc", "log_missed_flag", 3)
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to minimize write back window -default is 60
# seconds
modparam("usrloc", "timer_interval", 10)
# Uncomment this if you want database location
modparam("usrloc", "db_url", "mysql://ser:heslo@localhost/ser")
# -- 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")
# Uncomment if you use database location
#modparam("auth_db", "db_url", "mysql://ser:heslo@localhost/ser")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1)
modparam("registrar","nat_flag", 6)
#modparam("nathelper","natping_interval", 30)
#modparam("nathelper","ping_nated_only", 1)
modparam("mediaproxy", "mediaproxy_socket", "/var/run/proxydispatcher.sock")
modparam("mediaproxy", "sip_asymmetrics", "/usr/local/etc/ser/sip-asymmetrics-clients")
modparam("mediaproxy", "rtp_asymmetrics", "/usr/local/etc/ser/rtp-asymmetrics-clients")
modparam("mediaproxy", "natping_interval", 20)
# ------------------------- 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")) {
# Allow RR-ed requests, as these may indicate that
# a NAT-enabled proxy takes care of it; unless it is
# a REGISTER
if (method == "REGISTER" || ! search("^Record-Route:")) {
log("LOG: Someone trying to register from private IP, rewriting\n");
# This will work only for user agents that support symmetric
# communication. We tested quite many of them and majority is
# smart enough to be symmetric. In some phones it takes a configuration
# option. With Cisco 7960, it is called NAT_Enable=Yes, with kphone it is
# called "symmetric media" and "symmetric signalling".
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
};
};
};*/
# 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=="REGISTER") record_route();
# loose-route processing
if (loose_route()) {
append_hf("P-hint: rr-enforced\r\n");
route(1);
break;
};
if(!uri==myself)
{
append_hf("P-hint: outbound\r\n");
route(1);
break;
};
# 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)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
#if (!www_authorize("routeronline.com.cn", "subscriber")) {
# www_challenge("routeronline.com.cn", "0");
# break;
#};
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]
{
#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 client or server know to be behind a NAT, enable relay
/*if (isflagset(6)) {
force_rtp_proxy();
};*/
# NAT processing of replies; apply to all transactions (for example,
# re-INVITEs from public to private UA are hard to identify as
# NATed at the moment of request processing); look at replies
#t_on_reply("1");
# forward to current uri now; use stateful forwarding; that
# works reliably even if we forward from TCP to UDP
/*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();
# otherwise, is it a transaction behind a NAT and we did not
# know at time of request processing ? (RFC1918 contacts)
} else if (nat_uac_test("1")) {
fix_nated_contact();
};
}*/
hello all:
I installed sip-jabber gateway,IP of sip server is 192.168.0.227,sip client is message 4.6.And IP of jabber server is 192.168.0.210,sip client is psi.Both of servers have no DNS . I have some question:
1: sip<->jabber communication is right.and sip <->jabber<->icq is right. but sip<->jabber<->msn communication is wrong.
2:in jabber server ,when I have aim-transport,but when my ser.cfg is
if ((search("To:.*@icq\.192\.168\.0\.210"))
|| (search("To:.*@192\.168\.0\.210"))
|| (search("To:.*@msn\.192\.168\.0\.210"))
|| (search("To:.*@aim\.192.\168\.0\.210"))
the sip server is run ,the error is:
ERROR: textops : bad re To:.*@aim\.192.\168\.0\.210
0(0) ERROR: fix_expr : fix_actions error
ERROR: error fffffffd while trying to fix configuration
0(0) XJAB: Unloading module ...
0(0) XJAB:xj_wlist_free: freeing 'xj_wlist' memory ...
0(0) XJAB: Unloaded ...
Regards,
sunny
zhangsezhen(a)sict.ac.cn
2004-09-20
Hi,
I'm just unable to compile the cpl-c module.
The following error occurs:
In file included from cpl_run.c:981:
cpl_proxy.h: In function `failed_reply':
cpl_proxy.h:167: error: structure has no member named `t_get_fake_req'
cpl_proxy.h: In function `run_proxy':
cpl_proxy.h:486: error: structure has no member named `register_req_cb'
cpl_proxy.h:492: error: structure has no member named `register_req_cb'
make: *** [cpl_run.o] Error 1
Is there a solution? The CVS Version doesn't work as well.
Jan Jankowski
hi,
you can rename (in the config.php) the dir <html_root>/users into
<html_root>/user_interface which should exist.
regards
thomas
-----Ursprungliche Nachricht-----
Von: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org]Im
Auftrag von Java Rockx
Gesendet: Montag, 20. September 2004 06:08
An: serusers(a)lists.iptel.org
Betreff: Re: [Serusers] serweb for ser-0.8.14
Hi All.
I found serweb_2004-07-27 bundled in the ser-0.8-14 distro under the
contribs
directory. This version of serweb however is missing some important
files such
as <html_root>/users which is used my the admin interface.
Can anyone tell me what version of ser works with the serweb head CVS
code?
Also, can any tell me where to find a complete working serweb for
ser-0.8.14?
Regards,
Paul
--- Java Rockx <javarockx(a)yahoo.com> wrote:
> Hello All.
>
> I'm using ser-0.8.14 and all is working well. I am also using MySQL
for
> persistent storage.
>
> I'm trying to install serweb. I checked out the head branch from the
Berlios
> CVS repository and it installed fine. The problem is that this version
of
> serweb is looking for MySQL tables that do not exist.
>
> For example, in the http://serweb/admin/ application it tries to query
tables
> admin_privileges and usr_preferences_types. The ser_mysql.sh script
that is
> included with ser-0.8.14 does not create these tables.
>
> Can someone please advise where to get a copy of serweb that will work
with
> ser-0.8.14?
>
> Cheers,
> Paul
>
>
>
> _______________________________
> Do you Yahoo!?
> Declare Yourself - Register online to vote today!
> http://vote.yahoo.com
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
Hello All.
I'm using ser-0.8.14 and all is working well. I am also using MySQL for
persistent storage.
I'm trying to install serweb. I checked out the head branch from the Berlios
CVS repository and it installed fine. The problem is that this version of
serweb is looking for MySQL tables that do not exist.
For example, in the http://serweb/admin/ application it tries to query tables
admin_privileges and usr_preferences_types. The ser_mysql.sh script that is
included with ser-0.8.14 does not create these tables.
Can someone please advise where to get a copy of serweb that will work with
ser-0.8.14?
Cheers,
Paul
_______________________________
Do you Yahoo!?
Declare Yourself - Register online to vote today!
http://vote.yahoo.com