hi all,
I've started using SER 2.0 rc1 and am having a bit of problems with UA
behind NAT. I'm using Windows Messenger 5.1 as the UA. Everything
works fine when both UAs are not behind NAT. But when I place one of
the UAs behind NAT, then, here's what happens, in this order
UA Behind Nat ----------MESSAGE------>UA outside NAT..............ok
UA outside NAT-----------MESSAGE------->UA behind NAT.............OK
UA behind NAT------------MESSAGE------->UA outside
NAT.............message is stored by msilo module and sent after some
time.
The log shows: MSILO: the downstream UA doesn't support MESSAGEs
Notice that this only happens once a message from outside of NAT is
sent to UA inside NAT. I am using RTP Proxy for NAT solution which is
on the same system as SER.
Moreover, I also cannot signout using the Windows Messenger.
However, when I tested using XLite, None of the above mentioned
problems arose. Can anyone please suggest me as to where the problem
might be.
The ser.cfg that I'm using is the one from the iptel site, the one
with NAT & RTPproxy. I am also attaching the ser.cfg.
Thank you in advance.
Kumar
Hi,
I am using SER rel_2_0_0.
I am trying to set up a presence server as a simple PA.
I am using xlite UA and when UA registers and subscribes to a particular user presence Event SER doesn't sent a NOTIFY according to the 'time_interval' module parameter. It only responses with the 'immediate NOTIFY' with the closed status tuple. According to my configuration SER should sent a NOTIFY every 15 seconds and it doesn't do it at all.
I kindly ask for your feedback.
Below I attached my module configuration and messages exchanged with UA.
# -- pa params --
modparam("pa", "default_expires",300)
modparam("pa", "max_subscription_expiration", 3600)
modparam("pa", "max_publish_expiration", 3600)
modparam("pa", "use_db", 1)
modparam("pa", "use_callbacks", 1)
modparam("pa", "watcherinfo_notify", 0)
modparam("pa", "use_offline_winfo", 0)
modparam("pa", "offline_winfo_expiration", 259200)
modparam("pa", "auth", "none")
modparam("pa", "winfo_auth", "implicit")
modparam("pa", "pres_rules_file", "presence-rules.xml")
modparam("pa", "ignore_408_on_notify", 0)
modparam("pa", "timer_interval", 15)
modparam("pa", "default_priority_percentage", 0)
modparam("pa", "auth_rules_refresh_time", 300)
modparam("pa", "async_auth_queries", 1)
modparam("pa", "max_auth_requests_per_tick", 600)
#
U 2007/06/04 16:52:16.423720 192.168.0.229:7060 -> 192.168.0.165:5160
SUBSCRIBE sip:sen@voip.rd.touk.pl SIP/2.0.
Via: SIP/2.0/UDP 192.168.0.229:7060;branch=z9hG4bK-d87543-da69e92af464fa08-1--d87543-;rport.
Max-Forwards: 70.
Contact: <sip:hulk@192.168.0.229:7060>.
To: <sip:sen@voip.rd.touk.pl>.
From: "hulk(a)voip.rd.touk.pl"<sip:hulk@voip.rd.touk.pl>;tag=8e1a6d2f.
Call-ID: MGYxYTg5ZjEyYWM1NzA4NjgwOGRlODNjNTNiZmZkNmQ..
CSeq: 1 SUBSCRIBE.
Expires: 300.
Accept: multipart/related, application/rlmi+xml, application/pidf+xml.
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO.
User-Agent: X-Lite release 1006e stamp 34025.
Event: presence.
Content-Length: 0.
.
#
U 2007/06/04 16:52:16.471312 192.168.0.165:5160 -> 192.168.0.229:7060
SIP/2.0 200 OK.
Via: SIP/2.0/UDP 192.168.0.229:7060;branch=z9hG4bK-d87543-da69e92af464fa08-1--d87543-;rport=7060.
To: <sip:sen@voip.rd.touk.pl>;tag=5b4167208bb1319f0333e26fe8df2283-d4d1.
From: "hulk(a)voip.rd.touk.pl"<sip:hulk@voip.rd.touk.pl>;tag=8e1a6d2f.
Call-ID: MGYxYTg5ZjEyYWM1NzA4NjgwOGRlODNjNTNiZmZkNmQ..
CSeq: 1 SUBSCRIBE.
Expires: 300.
Contact: <sip:192.168.0.165:5160>.
Server: Sip EXpress router (2.0.0-rc2 (x86_64/linux)).
Content-Length: 0.
Warning: 392 192.168.0.165:5160 "Noisy feedback tells: pid=25995 req_src_ip=192.168.0.229 req_src_port=7060 in_uri=sip:sen@voip.rd.touk.pl out_uri=sip:sen@voip.rd.touk.pl via_cnt==1".
.
#
U 2007/06/04 16:52:16.471328 192.168.0.165:5160 -> 192.168.0.229:7060
NOTIFY sip:hulk@192.168.0.229:7060 SIP/2.0.
Via: SIP/2.0/UDP 192.168.0.165:5160;branch=z9hG4bK967b.6e9cb884.0.
To: "hulk(a)voip.rd.touk.pl"<sip:hulk@voip.rd.touk.pl>;tag=8e1a6d2f.
From: <sip:sen@voip.rd.touk.pl>;tag=5b4167208bb1319f0333e26fe8df2283-d4d1.
CSeq: 10 NOTIFY.
Call-ID: MGYxYTg5ZjEyYWM1NzA4NjgwOGRlODNjNTNiZmZkNmQ..
Content-Length: 208.
User-Agent: Sip EXpress router(2.0.0-rc2 (x86_64/linux)).
Max-Forwards: 70.
Event: presence.
Content-Type: application/pidf+xml;charset="UTF-8".
Contact: <sip:192.168.0.165:5160>.
Subscription-State: active;expires=300.
.
<?xml version="1.0" encoding="UTF-8"?>.
<presence xmlns="urn:ietf:params:xml:ns:pidf" entity="pres:sen@voip.rd.touk.pl">.
.<tuple id="none">.
..<status><basic>closed</basic></status>.
.</tuple>.
</presence>.
#
U 2007/06/04 16:52:16.572189 192.168.0.229:7060 -> 192.168.0.165:5160
SIP/2.0 200 OK.
Via: SIP/2.0/UDP 192.168.0.165:5160;branch=z9hG4bK967b.6e9cb884.0.
Contact: <sip:hulk@192.168.0.229:7060>.
To: "hulk(a)voip.rd.touk.pl"<sip:hulk@voip.rd.touk.pl>;tag=8e1a6d2f.
From: <sip:sen@voip.rd.touk.pl>;tag=5b4167208bb1319f0333e26fe8df2283-d4d1.
Call-ID: MGYxYTg5ZjEyYWM1NzA4NjgwOGRlODNjNTNiZmZkNmQ..
CSeq: 10 NOTIFY.
User-Agent: X-Lite release 1006e stamp 34025.
Content-Length: 0.
.
.
Cheers TOmasz
Hello I am new to ser. I just loaded my ser and mysql and they are up and
running.
I am using CENTOS for my operating system.
I am trying to configure the ser.cfg file and I keep getting this error.
ERROR: load_module: could not open module </usr/lib/ser/modules/mysql.so>:
/usr/lib/libmysqlclient.so.14: cannot restore segment prot after reloc:
Permission denied
Now I have libmysqlclient.so.14 loaded and mysql.so is also loaded
[root@localhost lib]# find libmysqlclient.so.14
libmysqlclient.so.14
[root@localhost lib]#
I cant seee where I could be going wrong here.
I load just fine when I dont have the loadmodule
"/usr/lib/ser/modules/mysql.so" uncomented.
This is my config file
# $Id: auth-mysql.cfg 46 2006-01-25 04:21:30Z /CN=Paul
Hazlett/emailAddress=paul(a)onsip.org $
debug=3
fork=no
log_stderror=yes
sten=192.168.0.102 # put your server IP address here
port=5060
children=4
dns=no
rev_dns=no
fifo="/tmp/ser_fifo"
fifo_db_url="mysql://ser:heslo@localhost/ser"
loadmodule "/usr/lib/ser/modules/mysql.so"
loadmodule "/usr/lib/ser/modules/sl.so"
loadmodule "/usr/lib/ser/modules/tm.so"
loadmodule "/usr/lib/ser/modules/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"
loadmodule "/usr/lib/ser/modules/uri_db.so"
loadmodule "/usr/lib/ser/modules/auth.so"
loadmodule "/usr/lib/ser/modules/auth_db.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("usrloc", "db_mode", 2)
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();
};
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
if (loose_route()) {
route(1);
break;
};
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
if (uri!=myself) {
route(1);
break;
};
if (method=="ACK") {
route(1);
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
# -----------------------------------------------------------------
if (!t_relay()) {
sl_reply_error();
};
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# ----------------------------------------------------------------
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] {
# -----------------------------------------------------------------
# INVITE Message Handler
# -----------------------------------------------------------------
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
break;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
break;
};
consume_credentials();
lookup("aliases");
if (uri!=myself) {
route(1);
break;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
break;
};
route(1);
}
I'm trying to insert a Remote-Party-ID header into my INVITE messages,
but I'm finding that when I do so, it's ending up further down in the
message than it should be. After the Content Type header in fact.
How is it decided where to insert the header, is it based on the time
that the insertion of the header happens during the processing of the
invite?
Can I specify that it be inserted before the content type header in some
way? (I didn't see this as an option..)
Playing with my dispatcher configuration (openser-1.2.1) I discovered
that ds_select_dst() crashes openser when dispatche param ds_use_default
is set to 1 and the set from where the destination is picked up contains
just one address. This appens because in dispatch.c at row 784 the code is
if(ds_use_default!=0)
hash = hash%(_ds_list[idx].nr-1);
else
hash = hash%_ds_list[idx].nr;
so if ds_use_default is set and the address set has 1 destination the %
causes a crash.
To avoid this it's enough to modifiy the if statement like:
if (ds_use_default!=0 && _ds_list[idx].nr!=1)
Just my two cents.
Regards,
Federico
--
Federico Cabiddu R&D Software Engineering
Abbeynet S.p.A. - www.abbeynet.com <http://www.abbeynet.com>
phone: +39 070 2339349
<http://www.federico_cabiddu.sitofono.it>
Hi all
I am new to SER
I am configuring SER for simple scenario with to X-Lite user agents and SER server on Ubuntu.
So , plz help me configuring ser.cfg file..
how can i reguster both user agents (soft phones ) to my SER server.
Thnks
mukesh
---------------------------------
Sick sense of humor? Visit Yahoo! TV's Comedy with an Edge to see what's on, when.
if i have
modparam("tm", "tw_append", "params:P-X=$avp(i:100);P-Y=$var(foo)")
and assign null to both $avp(i:100) and $var(foo) before t_write_unix(),
then P-Y is appended (with value 0), but P-X is not.
in my opinion, also P-Y should not be appended, i.e., script variable
value null should be treated the same way as pseudo variable null
value.
-- juha
is it somehow possible to unset a script variable?
i'm not absolutely sure, but looks like script variables can retains
their values from processing of one request to another so it is
important to be able to reset them.
-- juha
Hi to all,
i converted my config from 1.0.0 version (workng like charm) to 1.2.0
and started to test the 1.2.0 version.
I started to get out of memory message in the logs from this morning on
the test proxy i have till it involved all the threads and the proxy
stop working.
It is an openser-1.2.0-notls and is almost unloaded because it is under
simple testing. I think this is the reason it worked a lot of days
before get the problem.
I followed instructions on wiki and recomplied openser with memory debug
options.
I attach you the link to the output of logs, memory debug and some other
useful informations because i'm absolutely not able to understand where
can be the problem (i'm not a coder).
http://82.193.22.211/memory_leak.txt
The errors in the file are previous to the recompilation of openser with
memory debug option enabled. Now from the restart of the process still
no errors but i think it is for the very low load of the server.
May be you can already found some memory leak in the memory debug log.
If you can help it is very appreciated.
Thank you to all.
Bye,
Marcello