Hello,
I'm doing some tests on presence functionality in openser, but it doesn't seem to work.
I'm using openser 1.3.0 (modules: presence, xcap_client, presence_xml with force_active=1) with eyebeam and xlite and with few tests I have found a lot of serious problems:
1) Query fail in mysql
Feb 6 17:05:00 SAM-IP ser[3865]: ERROR:mysql:db_mysql_submit_query: driver error: Commands out of sync; you can't run this command now
Feb 6 17:05:00 SAM-IP ser[3865]: ERROR:mysql:db_mysql_query: error while submitting query
Feb 6 17:05:00 SAM-IP ser[3865]: ERROR:presence:get_db_subs_auth: while querying watchers table
Feb 6 17:05:00 SAM-IP ser[3865]: ERROR:presence:handle_subscribe: getting subscription status from watchers table
Feb 6 17:05:00 SAM-IP ser[3865]: ERROR:mysql:db_mysql_submit_query: driver error: Commands out of sync; you can't run this command now
Feb 6 17:05:00 SAM-IP ser[3865]: ERROR:mysql:db_mysql_query: error while submitting query
Feb 6 17:05:00 SAM-IP ser[3865]: ERROR:presence:get_p_notify_body: querying presentity
and
Duplicate entry 'sip:10208@10.45.10.36-10298-10.45.10.36-presence' for key 2
2) Problem with PUBLISH (sometimes with segmentation fault):
Feb 6 16:29:17 SAM-IP ./ser[3807]: route <sip:10206@10.45.8.249> <PUBLISH> <sip:10206@10.45.8.249>
Feb 6 16:29:17 SAM-IP ./ser[3805]: ERROR:presence:update_presentity: No E_Tag match
Feb 6 16:29:17 SAM-IP kernel: ser: unhandled page fault at pc=0x40117334, lr=0x4041204c (bad address=0x47a9e6e4, code 0)
Feb 6 16:29:17 SAM-IP kernel: pc : [<40117334>] lr : [<4041204c>] Tainted: PF
Feb 6 16:29:17 SAM-IP kernel: sp : bfffe3fc ip : 404367ac fp : 000d62bc
Feb 6 16:29:17 SAM-IP kernel: r10: 404366b4 r9 : 407e2470 r8 : 0011fcb8
Feb 6 16:29:17 SAM-IP kernel: r7 : 00000000 r6 : 00000001 r5 : 0011fc60 r4 : 0000000c
Feb 6 16:29:17 SAM-IP kernel: r3 : 000d62c0 r2 : 0011fcb8 r1 : 47a9e6e4 r0 : 47a9e6e6
Feb 6 16:29:17 SAM-IP kernel: Flags: Nzcv IRQs on FIQs on Mode USER_32 Segment user
Feb 6 16:29:17 SAM-IP kernel: Control: 39FF Table: 033AC000 DAC: 00000015
3) Problem with SUBSCRIBE
Feb 5 23:52:01 SAM-IP ser[1248]: ERROR:presence:handle_subscribe: Missing or unsupported event header field value
Feb 5 23:52:01 SAM-IP ser[1248]: ERROR:presence:handle_subscribe: ^Ievent= dialog
4)
Mar 6 17:02:16 localhost ./openser[12810]: ERROR:presence:get_stored_info: record not found in hash_table
Mar 6 17:02:16 localhost ./openser[12810]: ERROR:presence:handle_subscribe: getting stored info
So I would like to know the status of the presence project.
**********************************************************************
The information in this message is confidential and may be legally
privileged. It is intended solely for the addressee. Access to this message
by anyone else is unauthorized. If you are not the intended recipient, any
disclosure, copying, or distribution of the message, or any action or
omission taken by you in reliance on it, is prohibited and may be unlawful.
Please immediately contact the sender if you have received this message inerror.
**********************************************************************
Hi All,
How we can differentiate between "user not found" and "user not exist".
what changes done in openser.cfg.
currently i m getting 404 response in both the cases "user not found"
and "user not exist"
Thanks & Regards,
Amit
Dear openser.org:
I have studied "Build SIP-based VOIP Service With RADIUS AAA Using OpenSER And FreeRadius" web pages.This documentation is valid for OpenSER v1.0.1 and FreeRadius v1.1.0.
My OS is unbuntu 6.10.The radius and openser install are successful.MySQl work well,and the radius start also,but OpenSER don't start!
The error information is:
tr<0xb7f603a0> 0(5988) ); 0(5988) } else { 0(5988) }; 0(5988) exit( 0(5988) type<0> 0(5988) ); 0(5988) exit( 0(5988) type<0> 0(5988) ); 0(5988)
Listening on
udp: 10.1.37.22 [10.1.37.22]:5060
Aliases:
udp: htl-desktop:5060
*: openser.org:*
WARNING: no fork mode
0(5988) fm_malloc_init: F_OPTIMIZE=16384, /ROUNDTO=2048
0(5988) fm_malloc_init: F_HASH_SIZE=2067, fm_block size=16548
0(5988) fm_malloc_init(0xb5a9f000, 33554432), start=0xb5a9f000
0(5988) shm_mem_init: success
0(0) core dump limits set to 4294967295
0(0) DEBUG: init_mod: mysql
0(0) mysql: MySQL client version is 5.0.24a
0(0) DEBUG: init_mod: sl_module
stateless - initializing
0(0) DEBUG: register_fifo_cmd: new command (sl_stats) registered
0(0) unixsock_register_cmd: New command (sl_stats) registered
0(0) DEBUG: MD5 calculated: 8f36450dbf9496a39daffb98efb4221a
0(0) DEBUG: init_mod: tm
0(0) TM - (size of cell=2832, sip_msg=768) initializing...
0(0) Call-ID initialization: '2ff5b7ea'
0(0) DEBUG: register_fifo_cmd: new command (t_uac_dlg) registered
0(0) DEBUG: register_fifo_cmd: new command (t_uac_cancel) registered
0(0) DEBUG: register_fifo_cmd: new command (t_hash) registered
0(0) DEBUG: register_fifo_cmd: new command (t_reply) registered
0(0) unixsock_register_cmd: New command (t_uac_dlg) registered
0(0) unixsock_register_cmd: New command (t_uac_cancel) registered
0(0) unixsock_register_cmd: New command (t_hash) registered
0(0) unixsock_register_cmd: New command (t_reply) registered
0(0) DEBUG: lock_initialize: lock initialization started
0(0) DEBUG: register_fifo_cmd: new command (t_stats) registered
0(0) unixsock_register_cmd: New command (t_stats) registered
0(0) DEBUG: MD5 calculated: 741ad5dfb14662b78989a07dc5c8b59e
0(0) DEBUG: MD5 calculated: eb9313e49dd2c8bc3fd8ed1343760911
0(0) DEBUG: init_mod: rr
0(0) rr - initializing
0(0) DEBUG: init_mod: maxfwd
0(0) Maxfwd module- initializing
0(0) DEBUG: init_mod: avpops
0(0) AVPops - initializing
0(0) DEBUG: init_mod: usrloc
0(0) usrloc - initializing
0(0) DEBUG: register_fifo_cmd: new command (ul_stats) registered
0(0) DEBUG: register_fifo_cmd: new command (ul_rm) registered
0(0) DEBUG: register_fifo_cmd: new command (ul_rm_contact) registered
0(0) DEBUG: register_fifo_cmd: new command (ul_dump) registered
0(0) DEBUG: register_fifo_cmd: new command (ul_flush) registered
0(0) DEBUG: register_fifo_cmd: new command (ul_add) registered
0(0) DEBUG: register_fifo_cmd: new command (ul_show_contact) registered
0(0) unixsock_register_cmd: New command (ul_stats) registered
0(0) unixsock_register_cmd: New command (ul_rm) registered
0(0) unixsock_register_cmd: New command (ul_rm_contact) registered
0(0) unixsock_register_cmd: New command (ul_dump) registered
0(0) unixsock_register_cmd: New command (ul_flush) registered
0(0) unixsock_register_cmd: New command (ul_add) registered
0(0) unixsock_register_cmd: New command (ul_show_contact) registered
0(0) find_mod_export: found <db_use_table> in module mysql [/usr/local/lib/openser/modules/]
0(0) find_mod_export: found <db_init> in module mysql [/usr/local/lib/openser/modules/]
0(0) find_mod_export: found <db_close> in module mysql [/usr/local/lib/openser/modules/]
0(0) find_mod_export: found <db_query> in module mysql [/usr/local/lib/openser/modules/]
0(0) find_mod_export: found <db_raw_query> in module mysql [/usr/local/lib/openser/modules/]
0(0) find_mod_export: found <db_free_result> in module mysql [/usr/local/lib/openser/modules/]
0(0) find_mod_export: found <db_insert> in module mysql [/usr/local/lib/openser/modules/]
0(0) find_mod_export: found <db_delete> in module mysql [/usr/local/lib/openser/modules/]
0(0) find_mod_export: found <db_update> in module mysql [/usr/local/lib/openser/modules/]
0(0) find_mod_export: found <db_replace> in module mysql [/usr/local/lib/openser/modules/]
0(0) DEBUG: init_mod: registrar
0(0) registrar - initializing
0(0) find_export: found <sl_send_reply> in module sl_module [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_bind_usrloc> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_register_udomain> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_get_all_ucontacts> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_insert_urecord> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_delete_urecord> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_get_urecord> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_lock_udomain> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_unlock_udomain> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_release_urecord> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_insert_ucontact> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_delete_ucontact> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_get_ucontact> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_update_ucontact> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_register_watcher> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_unregister_watcher> in module usrloc [/usr/local/lib/openser/modules/]
0(0) find_export: found <ul_register_ulcb> in module usrloc [/usr/local/lib/openser/modules/]
0(0) DEBUG: init_mod: textops
textops - initializing
0(0) DEBUG: init_mod: xlog
0(0) XLOG: initializing ...
0(0) DEBUG: init_mod: acc
0(0) ACC - initializing
0(0) find_export: found <load_tm> in module tm [/usr/local/lib/openser/modules/]
0(0) ERROR: acc: can't get code for the Sip-Src-IP attribute
0(0) init_mod(): Error while initializing module acc
ERROR: error while initializing modules
0(0) XLOG: destroy module ...
0(0) DEBUG: tm_shutdown : start
0(0) DEBUG: unlink_timer_lists : emptying DELETE list
0(0) DEBUG: tm_shutdown : emptying hash table
0(0) DEBUG: tm_shutdown : releasing timers
0(0) DEBUG: tm_shutdown : removing semaphores
0(0) DEBUG: tm_shutdown : destroying tmcb lists
0(0) DEBUG: tm_shutdown : done
0(5988) shm_mem_destroy
0(5988) destroying the shared memory lock
I wish that you can hint me and help me solving the problem!
If openser's version is 1.1.0 and it need the "presence" module, Which freeradius version will be choosed?
sincerely tlhe
Hi,
There is someone that are using SER with SKYPE, for example with SKIP2PBX or
SKYSTONE.
I would like to use SER with SkyStone but I don't Know how to configure SER
to works fine.
Can you help me?
Bye,
G. Chirico
Hello,
I see some of these errors and warnings in my log file on SER.
WARNING: warning skipped -- too big
ERROR: t_reply: cannot send a t_reply to a message for which no T-state has
been established
ERROR: warning_builder: buffer size exceeded
How can I get rid of these.
Also I had a question on
children=4
I know this has been asked before and has been answered. This is what I
found online.
*"children=4" mean that there will be 4 UDP, 4 TCP and 4 loopback
**listenters on your SER, when you start it (you can check with
"serctl ps**s" to verify).
*
Question is does this have any affect on the number of simultaneous calls or
sip users etc. Say I want to make sure my system works without any problem
for 20K user and 5000 simultaneous calls.
What can be pros and cons if I set children to 10, 50 or 100. I will
appreciate if anyone can educate me little more on this.
Thank you,
-Jai
Hi All,
I'm facing a situation for P2P call where it need to determine both
caller and callee network type,
except for both parties having direct (internet) connection (on Public
IP), the rest of combinations will implement force_rtp_proxy.
(the 4 combinations are: NAT-> NAT, NAT -> Public IP, Public IP -> NAT,
Public IP -> Public IP).
Wondering if I can use isflagset or fetch flag from remote peer (callee)
? or is there any function that allow this to be happen ?
Thanks,
David Loh
Hi All,
I am testing parallel forking so I can setup ring groups, but it seem
I cannot get OpenSER 1.3 to parallel fork contacts of the same
q-value. It always seem to use the first record found in MySQL, and
ignores all others. I have tried adding append_branch after
lookup("location") , but that did not seem to help. I've also done
ethereal captures and confirmed that it is only sending an INVITE to
the first contact in MySQL (I've tried db_mode 3 and 1). I'm know I'm
missing something, but not sure what.
I've included relevant portions of my test config below. Any help
would be greatly appreciated.
Regards,
Daryl
route {
# -----------------------------------------------------------------
# Sanity Check, NAT Check & General Routing
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
exit;
}
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
exit;
}
if (nat_uac_test("19")) {
setbflag(6);
xlog("L_INFO", "NAT CLIENT - M=$rm RURI=$ru F=$fu T=$tu IP=$si\n");
}
if (method=="INVITE" || method=="ACK" || method=="BYE") {
setflag(1);
}
if (method!="REGISTER") {
record_route();
}
if (loose_route()) {
xlog("L_INFO", "LOOSE ROUTING - M=$rm RURI=$ru F=$fu T=$tu
IP=$si ID=$ci\n");
if (!t_relay()) {
sl_reply_error();
}
exit;
}
if (method=="REGISTER") {
route(2);
exit;
} else if (method=="INVITE") {
route(3);
exit;
}
route(1);
exit;
}
route[1] {
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
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");
exit;
}
t_on_reply("1");
t_on_failure("1");
if (!t_relay()) {
sl_reply_error();
}
exit;
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# -----------------------------------------------------------------
sl_send_reply("100", "Trying");
if (!www_authorize("","subscriber")) {
www_challenge("","0");
exit;
}
consume_credentials();
if (!save("location")) {
sl_reply_error();
}
xlog("L_INFO", "REGISTER - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
}
route[3] {
# -----------------------------------------------------------------
# INVITE Message Handler
# -----------------------------------------------------------------
xlog("L_INFO", "INVITE - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
# Trusted IP
if (src_ip==xxx.xxx.xxx.xxx) {
strip(2);
xlog("L_INFO", "FROM PSTN - M=$rm RURI=$ru F=$fu T=$tu IP=$si\n");
} else {
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
exit;
}
consume_credentials();
}
if (lookup("location")) {
xlog( "L_NOTICE", "USER FOUND - M=$rm RURI=$ru F=$fu T=$tu IP=$si\n");
} else {
xlog( "L_NOTICE", "USER NOT FOUND! - M=$rm RURI=$ru F=$fu T=$tu IP=$si\n");
}
if (isbflagset(6) || !lookup("location")) {
xlog( "L_NOTICE", "RELAYING MEDIA - M=$rm RURI=$ru F=$fu T=$tu IP=$si\n");
route(4);
exit;
}
route(1);
exit;
}
route[4] {
# -----------------------------------------------------------------
# PSTN Handler
# -----------------------------------------------------------------
force_send_socket(xxx.xxx.xxx.xxx:5060);
xlog("L_NOTICE", "FORWARDING TO PSTN\n" );
ds_select_domain("1","0");
route(1);
exit;
}
a question: is it possible to specify destination uri ($du) per branch,
i.e., if i set $du a value in branch route, does it apply only to that
branch when t_relay is called?
-- juha
Hello,
I was playing wit append_branch and I run into this issue.
Here's a snippet of the code:
route[2] {
$var(uri) = $ru;
append_branch();
$ru = $var(uri) + ";transport=udp";
t_on_branch("2");
}
branch_route[2] {
xlog("L_INFO", "entering branch[$T_branch_idx] for $ru\n");
if ($T_branch_idx == 1) {
xlog("L_INFO", "dropping branch[$T_branch_idx]\n");
drop();
}
}
In the logs, I got:
entering branch[1] for sip:<user>@<IP>;transport=udp
dropping branch[1]
entering branch[1] for sip:<user>@<IP>
dropping branch[1]
ERROR:tm:t_forward_nonack: failure to add branches
Is this the expected result?
It seems that we do have two branches, since we enter twice in the
branch_route, but the $T_branch_idx doesn't seem to be updated. Or,
it is supposed to be updated?
Any hints would be appreciated.
BTW: this is with 1.3 code base.
Regards,
Ovidiu Sas
I compiled & installed ser-0.9.7. But cannot start it.
The Log is:
0(28624) loading module /usr/local/lib/ser/modules/acc.so
0(28624) ERROR: load_module: could not open module
</usr/local/lib/ser/modules/acc.so>:
/usr/local/lib/ser/modules/acc.so: undefined symbol: parse_orig_uri
0(28624) parse error (41,13-14): failed to load module
0(28624) set_mod_param_regex: No module matching acc found
| 0(28624) parse error (43,19-20): Can't set module parameter
0(28624) set_mod_param_regex: No module matching acc found
...
And in compiling log, there is a
acc.c:291: warning: implicit declaration of function 'parse_orig_uri'
it seems that I lost some devel packages.
who can tell me in which package defined "parse_orig_uri"?
My OS is CentOS 5.1 x64
Thank you very much!
Liu Wenlong
--
aRES iN aNYWhere