Hi!
I'm running ser-0.9.6, on FreeBSD 6.1-stable, database backend
is postgresql version 8.1.3.
Today I got errors in logfiles, saying:
messages.2.bz2:May 29 14:35:03 <XXX> /usr/local/sbin/ser[51448]:
ERROR:avpops:dbrow2avp: dbrow contains NULL fields
The similar problem reported in:
http://lists.iptel.org/pipermail/serusers/2005-May/019681.html
with much more detailed description of error, database contents
and config samples.
Patch is trivial, and looks more like a fix to copy'n'paste error:
in mysql/val.c function str2val states:
if (!_s) {
memset(_v, 0, sizeof(db_val_t));
VAL_TYPE(_v) = _t;
VAL_NULL(_v) = 1;
return 0;
}
VAL_NULL(_v) = 0;
and the last line mentions that 'well, that's value is not NULL'.
In postgresql/db_val.c, line 182, function str2valp, the same statement is the:
if (!_s) {
DLOG("str2valp", "got a null value");
VAL_TYPE(_v) = _t;
VAL_NULL(_v) = 1;
return 0;
}
without explicit notification that this is not-NULL value.
More than, nowhere else in this function VAL_NULL(_v) not set to 0.
So, if a value _v.val contained anyting but 0 at the function start,
resulting value will be threated as NULL despite the fact, that _s is NOT NULL.
Patch is obvious, just add VAL_NULL(_v)=0; after cited block (line 188) and
everyting will be ok.
At least for me it's ok for some hours :)
Hi ,
I tried to call from one nokia sip (E61 and other models )phone to another nokia sip phone. The call works fine. The problem comes only when I call from Phone A to Phone B and then immediately cancel the call(from Phone A). The Phone A will hangup the call as it sent CANCEL but the SER will ignore this CANCEL and still send INVITE to Phone B resulting in a ghost call situation.
I tried to capture a log of message and found that Phone A "CANCEL" message is received on SER even before any provisional response from Phone B. Therefor SER doesnot relay this CANCEL request to Phone B. I even checked RFC which clearly says that UAC should not send CANCEL untill it receives any provisional response. I talked to Nokia expert and they said the 100 Trying message from your server is considered as provisional response, therefor behaviour of client is absolutely correct.
Is there any way I can stop 100 Trying message and still run statefull SER, so that I can verify what nokia said. Any ideas suggestions are welcome.
Thanking you all in advance.
Best Regards,
Abdul Qadir
---------------------------------
Don't be flakey. Get Yahoo! Mail for Mobile and
always stay connected to friends.
Hi,
I encountered the following error:
Jun 15 08:57:21 rd ser[12680]: ERROR: slow timer too slow: overflow (7997 - 6974 = 1023)
Jun 15 08:57:24 rd last message repeated 46 times
Could you please point me what could be the reason?
Thanks in advance.
Tomasz
Dear all
I have a big problem with openxcap. I don't get it work :( As I saw on
their webpage, this mailing list can be posted for this concern as well.
I am using version 0.9.3 and acc. the installation file on
http://www.openxcap.org all current dependencies from the Debian
unstable distribution.
When I start /usr/bin/openxcap, the following error occurs in the
syslog:
Sep 25 17:01:21 openxcap openxcap[11876]: [-] Log opened.
Sep 25 17:01:21 openxcap openxcap[11876]: [-] Starting Open XCAP 0.9.3
Sep 25 17:01:27 openxcap openxcap[11876]: [-] Traceback (most recent
call last):
Sep 25 17:01:27 openxcap openxcap[11876]: [-] File
"/usr/bin/openxcap", line 56, in ?
Sep 25 17:01:27 openxcap openxcap[11876]: [-] from xcap.server
import XCAPServer
Sep 25 17:01:27 openxcap openxcap[11876]: [-] File
"/usr/lib/python2.4/site-packages/xcap/server.py", line 21, in ?
Sep 25 17:01:27 openxcap openxcap[11876]: [-] from xcap import
authentication
Sep 25 17:01:27 openxcap openxcap[11876]: [-] File
"/usr/lib/python2.4/site-packages/xcap/authentication.py", line 21, in ?
Sep 25 17:01:27 openxcap openxcap[11876]: [-] from xcap.appusage
import getApplicationForURI
Sep 25 17:01:27 openxcap openxcap[11876]: [-] File
"/usr/lib/python2.4/site-packages/xcap/appusage/__init__.py", line 466,
in ?
Sep 25 17:01:27 openxcap openxcap[11876]: [-] applications =
{'xcap-caps': XCAPCapabilitiesApplication(),
Sep 25 17:01:27 openxcap openxcap[11876]: [-] File
"/usr/lib/python2.4/site-packages/xcap/appusage/__init__.py", line 64,
in __init__
Sep 25 17:01:27 openxcap openxcap[11876]: [-] self.xml_schema =
etree.XMLSchema(xml_schema_doc)
Sep 25 17:01:27 openxcap openxcap[11876]: [-] File "xmlschema.pxi",
line 67, in etree.XMLSchema.__init__
Sep 25 17:01:27 openxcap openxcap[11876]: [-] etree.XMLSchemaParseError:
Document is not valid XML Schema
As I wrote, I followed all instructions from the openxcap webpage but
didn't find any hints how to make it work.
Any help on that would be appreciated.
Best regards
Sebastian
--
Sebastian Schumann
Diploma Student Architecture and Design Department
Slovak Telekom, a. s.
T-Com, Operations Unit
Production and Service Division
Innovations and Enterprise Solution Subunit
Address: Namestie Slobody 6, 817 62 Bratislava, Slovakia
Office: Room 449, Jarabinkova 1, 821 09 Bratislava, Slovakia
+421 2 588 13332 (tel)
+421 910 643010 (mobile)
+49 175 1925928 (mobile)
sebastian.schumann(a)t-com.sk
http://www.t-com.sk <http://www.t-com.sk/>
Guys,
thanks to your support (both Bogdan and Daniel), I found out that
there was nothing wrong with the server and t_onreply handling, but
the INVITE was taking another routing three than the one I was
checking and therefore never hit the t_on_reply section I wanted.
This being said, I consider this issue resolved.
Cheers,
Dan
Hi all,
I have OpenSER (1.2.2) acting as registrar server.
If the same user hase more than one AOR I'd like to do parallel forking
and send the INVITE to every contact I have for that user.
At the moment my configuration file looks like:
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
exit;
};
t_on_reply("1");
if (!t_relay()) {
sl_reply_error();
};
exit;
but it rely only to the AOR with the highest q value
It should be a common situation but I cannot find any doc about it.
Tnx in advance
Regards
Edoardo Serra
Hi!
I just compiled a fresh openser-1.2 (no installation - only "make all"
and running it as non-privileged user from the source directory).
Everything works fine except that I can not see L_DEBUG messages in
syslog (debug=3 causes the same output in syslog as debug=4) and I'm
stuck in finding the problem. When starting openser with -D -E -dd I see
DEBUG messages too.
thanks
Klaus
Running openser on FreeBSD-6.2 stable:
version: openser 1.2.2-tls (i386/freebsd)
When starting openser with the mi_xmlrpc module enabled this is returned:
0(56397) ERROR: load_module: could not open module
</usr/local/lib/openser/modules/mi_xmlrpc.so>:
/usr/local/lib/libxmlrpc_client.so.7: Undefined symbol "HTThroughLine"
On Monday Aug 13 2007 Bogdan-Andrei Iancu wrote:
> As xmlrpc-c generates a bunch of libs (prefix llibxmlrpcxxxxxx), try to
> add them all for module linking. See modules/mi_xmlrpc/Makefile, the
> LIBS line.
I have added them all to the modules/mi_xmlrpc/Makefile but the problem remains.
Using xmlrpc-c and libwww from recent FreeBSD ports.
Looking at libxmlrpc_clent.so.7
nm -B libxmlrpc_client.so.7 | grep HTThroughLine
returns
U HTThroughLine
If anyone can shed some light on this it would be very greatly apprecated.
regards
-kim
--
Hi,
The OpenSER is performing an SRV lookup which returns the following record info:
;; QUESTION SECTION:
;_sip._udp.aimcidfilter.com. IN SRV
;; ANSWER SECTION:
_sip._udp.aimcidfilter.com. 180 IN SRV 1 50 5061 spinner.eng.rr.com.
_sip._udp.aimcidfilter.com. 180 IN SRV 1 50 5061 bart.eng.rr.com.
_sip._udp.aimcidfilter.com. 180 IN SRV 2 50 5061 homer.eng.rr.com.
_sip._udp.aimcidfilter.com. 180 IN SRV 2 50 5061 crunch.eng.rr.com.
As you can see, the weighting for the two priority "1" endpoints is
50/50 which indicates that the load should be distributed evenly
between them. But when I run my test, it consistently sends 75% to
spinner.eng.rr.com and 25% to bart.eng.rr.com.
Any ideas?
----------- some config info.
debug=5 # debug level (cmd line: -dddddddddd)
fork=yes
log_stderror=no # (cmd line: -E)
maxbuffer=1048576
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
#reply_to_via=1
children=4
log_facility=LOG_LOCAL4
dns_use_search_list=no
dns_servers_no=2 #
user="sipproxy"
group="sipproxy"
#disable_dns_blacklist=yes # FOR TESTING ONLY
#dns_try_ipv6=no # FOR TESTING ONLY
listen=udp:65.185.232.62:5060
alias=65.185.233.104:5060
# LOAD OpenSER MODULES
mpath="/sw/lib/openser/modules/"
loadmodule "sl.so"
loadmodule "tm.so"
loadmodule "rr.so"
loadmodule "maxfwd.so"
loadmodule "usrloc.so"
loadmodule "registrar.so"
loadmodule "textops.so"
loadmodule "acc.so"
loadmodule "mi_fifo.so"
loadmodule "xlog.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)
# ------------------------- request routing logic -------------------
modparam("acc", "log_level", 2)
modparam("acc", "log_flag", 1)
modparam("acc","report_cancels", 1)
modparam("acc","failed_transaction_flag", 1)
modparam("acc","log_extra", "req_uri=$rU")
modparam("tm", "fr_timer", 5)
modparam("tm","fr_inv_timer",5)
modparam("mi_fifo", "fifo_name", "/tmp/openser_fifo")
Hi everyone,
I'm trying to build one asterisk cluster using openser
to route calls to each machine. I followed a few
(many) guides and examples on internet but they simple
didn't work very well...
I'm using the dispatcher module with openser version
1.1.0-9etch1 (running on a debian 4.0).
I have two asterisk (trixbox) machines to do load
balancing and failover. I can register in my openser
machine with my softphone (twinkle). When I place a
call to one extension that exists in both asterisks
the call goes always to the second ip in the list.
Looking in the debug messages I found the following
part:
7(7905) DEBUG:tm:t_should_relay_response: T_code=100,
new_code=407
7(7905) DEBUG:tm:t_pick_branch: picked branch 0, code
407
7(7905) ERROR:tm:t_forward_nonack: no branch for
forwarding
7(7905) ERROR:tm:w_t_relay: t_forward_nonack failed
7(7905) DEBUG:tm:relay_reply: branch=0, save=0,
relay=0
7(7905) old size: 555, new size: 474
7(7905) build_res_from_sip_res: copied size:
orig:124, new: 43, rest: 431 msg=
SIP/2.0 407 Proxy Authentication Required
in my understanding that would mean that I need a
password of some kind to relay this message to the
asterisk box. The funny part is that the call gets
completed and goes always to the same box, the second
one in the list. If I change the order of the IPs
inside my dispatcher.cfg file it starts to go to the
other asterisk, that is the 2nd in the list now. After
a lot reading in the debug messages and writing some
log messages I found out that the invite request is
always going down to the failure route. I think that
this is because of the call to t_on_failure("1");
inside my if ( method=="INVITE" ) in the main route,
that triggers when the code 407 comes from the
password reply... thats just one idea.
If there is better way to do this (load balance and
failover), please tell me, because I'm pretty new to
openser, just trying to make it work for the first
time here.
my openser.cfg has the following lines on it:
loadmodule "/usr/lib/openser/modules/dispatcher.so"
modparam("tm", "fr_timer", 5)
modparam("dispatcher", "flags", 2)
modparam("dispatcher", "list_file",
"/etc/openser/dispatcher.cfg")
if ( method=="INVITE" ) {
#dst_select( "GROUP", "HASH METHOD")
ds_select_domain("1","4");
t_on_failure("1");
sl_send_reply("100","Trying");
t_relay();
exit();
}
failure_route[1] {
if(is_method("INVITE")) {
ds_next_domain();
t_on_failure("1"); #if the next domain fails
too
t_relay();
};
}
the rest of the file I didn't mess around with it, so
its just the default settings.
Thanks for any help,
Thiago
Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr.com.br/