Hello all,
I'm new in the list, so first of all I would like to say hi to all the
list and say that openSer is a fantastic product, and that the
documentation available on the internet is also fantastic. I managed to
get my openSer server working with advanced features without having to
subscribe to this list.
Well, but if I subscribed, is because something has gone bad.
Ok. The company I work for has a system for handling prepaid and
postpaid calls. And I was designed to develop a new alternative for
handling these prepaid and postpaid calls via VOIP, so I chose openSer
as the server, after googleing on the web.
One condition I had since the start is that I would have to integrate
the solution to the company's DB, and that was another reason why I
chose openSer, because of the perl module. With it I could write a
script that would do that integration for me.
So I started installing and developing the openSer server with the perl
scripts. And it worked fine! The server did all that it had to do. So I
went to the tests. First test: load test...
And it fails for many reasons. After investigating I discovered that
the debug option in the openser.cfg is very important in high load
contexts. A debug value greater than 2 or 3 will decrease greatly the
server's performance. I had to do some code cleanings in the openser.cfg
and perl scripts also.
The other and main reason is that for some unknown reason the openSer
server crashes when using perl scripts that communicate with DB in high
load contexts. For some reason the perl script receives a sig_segv
(segmentation fault) and this signal is passed to all others threads and
then the openSer server dies.
This error is that kind of error that is specially difficult to find,
because there are too many different systems involded. The path from
openSer to the DB would be:
openSer -> perl module -> perl -> perl DBI (DBD::ODBC) -> unixODBC ->
FreeTDS -> MS SQLServer
Can you guys provide me some light in fixing this problem?
Thanks in advance,
Murilo Yoshida