Hello,
recently we, a group of students, finished our project here at iptel. It
is a SIP user agent framework. Below you'll find the introduction of our
project report which is published at BerliOS [1].
"PartiSIPation is the result of a student project at the Institute for
Open Communication Systems (OKS) at the Technical University Berlin.
When we started with PartiSIPation in April 2005 there already were some
SIP clients available, but none of them was actually usable. So our main
goal was to create a SIP soft client that does not have to hide itself
from hard clients - SIP phones. Therefore it has to be able to handle
several parallel calls and accounts. But we also thought about future
applications like online games. So PartiSIPation should be easy
integrateable in other applications on different operating systems.
To reach all these goals we designed PartiSIPation as follows:
PartiSIPation is a SIP user agent which consists of two parts: a Core
written in portable C and an easily replaceable GUI. So it can be used
as a softphone as well as it can be integrated in any kind of
application. It uses external libraries for signaling and speech
transfer which are called over interfaces and adapters. An adapter
encapsulates the interface of a library and provides a simpler interface
expected by the user agent. This makes an easy library replacement
possible. Only the adapter has to be edited, no Core changes are necessary.
Because PartiSIPation comes with its own SIP state machine a GUI or
application can easily place calls by using its simple XML-RPC
API. XML-RPC is language independent which means that the GUI can base
on Java, GTK, Qt or whatever depending on the preferences of the GUI
developer or its purpose.
Every call has its own state machine, so parallel calls are no problem.
And together with the account management of PartSIPation which allows
the registration with several accounts it is possible to use this user
agent for complex situations like they are occurring in gaming.
Recently, PartiSIPation became Open Source Software and was published at
BerliOS:
http://developer.berlios.de/projects/partisipation/ ."
Best regards,
Matthias Liebig
[1] http://developer.berlios.de/docman/?group_id=5063
Ok, I tried using the FreeTDS driver for unixodbc and I got a more detailed
error message that might shine a light:
Failed to connect
The driver reported the following diagnostics whilst running
SQLDriverConnect
IM007:1:0:[unixODBC][FreeTDS][SQL Server]Could not find UID parameter
HYC00:2:0:[unixODBC][FreeTDS][SQL Server]Driver not capable
0(0) auth_db:str_fixup: Unable to open database connection
0(0) ERROR: fix_expr : fix_actions error
ERROR: error -1 while trying to fix configuration
These are my entries in /etc/odbc.ini
[SYBASE]
Driver = /usr/local/lib/libtdsodbc.so
Description = Sybase Server
Trace = Yes
Trafcefile = /tmp/odbc.log
#Servername = JDBC
Server = xx.xx.xx.xx
Port = 2000
DSN = database
Database = database
#UserID = username # I tried using both UID and UserID, had same
results
UID = username
Password = passwd
TDS_Version = 4.2
These are my entries in /etc/freetds.conf:
[SYBASE]
host = xx.xx.xx.xx
port = 2000
tds version = 4.2
_____
From: devel-bounces(a)openser.org [mailto:devel-bounces@openser.org] On Behalf
Of lenirsantiago(a)yahoo.com
Sent: Thursday, December 08, 2005 12:59 PM
To: devel(a)openser.org; users(a)openser.org
Subject: [Devel] unixODBC Database Connection Problem
Guys,
Im trying to use unixodbc.so to connect to a Sybase database using Sybase
native ODBC drivers. This is the entry that I have on:
/etc/odbc.ini:
=============
[SYBASE]
Description = Sybase ODBC Data Source
UserID = username
Password = passwd
Driver = ASE
Server = xx.xx.xx.xx
Port = 5000
Database = database
UseCursor = 1
/etc/odbcinst.ini
============
[ASE]
Description = Sybase ODBC Driver
Driver = /opt/sybase/ODBC-12_5/lib/libsybdrvodb.so
FileUsage = -1
UsageCount = 1
The database is on a remote host. I can connect from the openser server
using unixodbc's isql tool, as such:
[root@ser openser]# isql SYBASE username passwd
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
This proves that unixodbc is installed correctly and that the Sybase odbc
driver is installed and functioning properly.
However when I try to run openser (debug=4) I get the following:
0(0) fixing /usr/local/lib/openser/modules/auth_db.so www_authorize
0(0) db_init: Connection 'unixodbc://username:passwd@xx.xx.xx.xx/SYBASE'
not found in pool
Failed to connect
The driver reported the following diagnostics whilst running
SQLDriverConnect
0(0) auth_db:str_fixup: Unable to open database connection
0(0) ERROR: fix_expr : fix_actions error
ERROR: error -1 while trying to fix configuration
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(22871) shm_mem_destroy
0(22871) destroying the shared memory lock
[root@ser openser]#
This is a snippet of my openser.cfg
------------------------------START--------------------------------
debug=4
fork=no
log_stderror=yes
listen=yy.yy.yy.yy
port=5060
children=4
server_signature=no
dns=no
rev_dns=no
check_via=no
syn_branch=yes
memlog=1000
sip_warning=no
fifo_mode=0666
fifo="/tmp/openser_fifo"
fifo_db_url="unixodbc://username:passwd@xx.xx.xx.xx/SYBASE"
reply_to_via=no
loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/postgres.so"
loadmodule "/usr/local/lib/openser/modules/unixodbc.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/acc.so"
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
loadmodule "/usr/local/lib/openser/modules/auth_radius.so"
loadmodule "/usr/local/lib/openser/modules/uri.so"
loadmodule "/usr/local/lib/openser/modules/uri_radius.so"
loadmodule "/usr/local/lib/openser/modules/mediaproxy.so"
loadmodule "/usr/local/lib/openser/modules/nathelper.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
loadmodule "/usr/local/lib/openser/modules/domain.so"
loadmodule "/usr/local/lib/openser/modules/avpops.so"
loadmodule "/usr/local/lib/openser/modules/avp_radius.so"
loadmodule "/usr/local/lib/openser/modules/permissions.so"
loadmodule "/usr/local/lib/openser/modules/xlog.so"
loadmodule "/usr/local/lib/openser/modules/options.so"
#loadmodule "/usr/local/lib/openser/modules/group.so"
loadmodule "/usr/local/lib/openser/modules/speeddial.so"
loadmodule "/usr/local/lib/openser/modules/group_radius.so"
modparam("usrloc", "db_mode", 0)
modparam("usrloc", "timer_interval", 60)
modparam("usrloc", "desc_time_order", 1)
modparam("permissions", "db_mode", 1)
modparam("permissions", "trusted_table", "trusted")
modparam("permissions", "default_allow_file", "/etc/ser/permissions.allow")
modparam("permissions", "default_deny_file", "/etc/ser/permissions.deny")
modparam("usrloc|auth_db", "db_url",
"unixodbc://username:passwd@xx.xx.xx.xx/SYBASE")
---------------------------------END----------------------------------------
-
Any suggestions?
Lenir
Hello all,
I am trying to add a user to my MySql database with the command:
serctl add joeuser passwd joeuser(a)here.com <mailto:joeuser@here.com>
but I am getting an error:
error: SER/FIFO not accessible: 2
Any pointers to where to start debuging this error?
Thanks.
chee
Ok, I tried using the FreeTDS driver for unixodbc and I got a more detailed
error message that might shine a light:
Failed to connect
The driver reported the following diagnostics whilst running
SQLDriverConnect
IM007:1:0:[unixODBC][FreeTDS][SQL Server]Could not find UID parameter
HYC00:2:0:[unixODBC][FreeTDS][SQL Server]Driver not capable
0(0) auth_db:str_fixup: Unable to open database connection
0(0) ERROR: fix_expr : fix_actions error
ERROR: error -1 while trying to fix configuration
These are my entries in /etc/odbc.ini
[SYBASE]
Driver = /usr/local/lib/libtdsodbc.so
Description = Sybase Server
Trace = Yes
Trafcefile = /tmp/odbc.log
#Servername = JDBC
Server = xx.xx.xx.xx
Port = 2000
DSN = database
Database = database
#UserID = username # I tried using both UID and UserID, had same
results
UID = username
Password = passwd
TDS_Version = 4.2
These are my entries in /etc/freetds.conf:
[SYBASE]
host = xx.xx.xx.xx
port = 2000
tds version = 4.2
_____
From: devel-bounces(a)openser.org [mailto:devel-bounces@openser.org] On Behalf
Of Lenir Santiago
Sent: Thursday, December 08, 2005 11:18 AM
To: devel(a)openser.org; users(a)openser.org
Subject: [Devel] unixodbc connection problem
Guys,
Im trying to use unixodbc.so to connect to a Sybase database using Sybase
native ODBC drivers. This is the entry that I have on:
/etc/odbc.ini:
=============
[SYBASE]
Description = Sybase ODBC Data Source
UserID = username
Password = passwd
Driver = ASE
Server = xx.xx.xx.xx
Port = 5000
Database = database
UseCursor = 1
/etc/odbcinst.ini
============
[ASE]
Description = Sybase ODBC Driver
Driver = /opt/sybase/ODBC-12_5/lib/libsybdrvodb.so
FileUsage = -1
UsageCount = 1
The database is on a remote host. I can connect from the openser server
using unixodbc's isql tool, as such:
[root@ser openser]# isql SYBASE username passwd
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
This proves that unixodbc is installed correctly and that the Sybase odbc
driver is installed and functioning properly.
However when I try to run openser (debug=4) I get the following:
0(0) fixing /usr/local/lib/openser/modules/auth_db.so www_authorize
0(0) db_init: Connection 'unixodbc://username:passwd@xx.xx.xx.xx/SYBASE'
not found in pool
Failed to connect
The driver reported the following diagnostics whilst running
SQLDriverConnect
0(0) auth_db:str_fixup: Unable to open database connection
0(0) ERROR: fix_expr : fix_actions error
ERROR: error -1 while trying to fix configuration
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(22871) shm_mem_destroy
0(22871) destroying the shared memory lock
[root@ser openser]#
This is a snippet of my openser.cfg
------------------------------START--------------------------------
debug=4
fork=no
log_stderror=yes
listen=yy.yy.yy.yy
port=5060
children=4
server_signature=no
dns=no
rev_dns=no
check_via=no
syn_branch=yes
memlog=1000
sip_warning=no
fifo_mode=0666
fifo="/tmp/openser_fifo"
fifo_db_url="unixodbc://username:passwd@xx.xx.xx.xx/SYBASE"
reply_to_via=no
loadmodule "/usr/local/lib/openser/modules/mysql.so"
loadmodule "/usr/local/lib/openser/modules/postgres.so"
loadmodule "/usr/local/lib/openser/modules/unixodbc.so"
loadmodule "/usr/local/lib/openser/modules/sl.so"
loadmodule "/usr/local/lib/openser/modules/tm.so"
loadmodule "/usr/local/lib/openser/modules/rr.so"
loadmodule "/usr/local/lib/openser/modules/maxfwd.so"
loadmodule "/usr/local/lib/openser/modules/usrloc.so"
loadmodule "/usr/local/lib/openser/modules/registrar.so"
loadmodule "/usr/local/lib/openser/modules/acc.so"
loadmodule "/usr/local/lib/openser/modules/auth.so"
loadmodule "/usr/local/lib/openser/modules/auth_db.so"
loadmodule "/usr/local/lib/openser/modules/auth_radius.so"
loadmodule "/usr/local/lib/openser/modules/uri.so"
loadmodule "/usr/local/lib/openser/modules/uri_radius.so"
loadmodule "/usr/local/lib/openser/modules/mediaproxy.so"
loadmodule "/usr/local/lib/openser/modules/nathelper.so"
loadmodule "/usr/local/lib/openser/modules/textops.so"
loadmodule "/usr/local/lib/openser/modules/domain.so"
loadmodule "/usr/local/lib/openser/modules/avpops.so"
loadmodule "/usr/local/lib/openser/modules/avp_radius.so"
loadmodule "/usr/local/lib/openser/modules/permissions.so"
loadmodule "/usr/local/lib/openser/modules/xlog.so"
loadmodule "/usr/local/lib/openser/modules/options.so"
#loadmodule "/usr/local/lib/openser/modules/group.so"
loadmodule "/usr/local/lib/openser/modules/speeddial.so"
loadmodule "/usr/local/lib/openser/modules/group_radius.so"
modparam("usrloc", "db_mode", 0)
modparam("usrloc", "timer_interval", 60)
modparam("usrloc", "desc_time_order", 1)
modparam("permissions", "db_mode", 1)
modparam("permissions", "trusted_table", "trusted")
modparam("permissions", "default_allow_file", "/etc/ser/permissions.allow")
modparam("permissions", "default_deny_file", "/etc/ser/permissions.deny")
modparam("usrloc|auth_db", "db_url",
"unixodbc://username:passwd@xx.xx.xx.xx/SYBASE")
---------------------------------END----------------------------------------
-
Any suggestions?
Lenir
I have realized a serial forking with load_contacts() and
next_contacts(), but i have this problem:
When the first time arrive the invite messages the contacts are loaded
by the function load_contacts(). So when the call flow enters in the
failure_route I can load the second contact. At this point the script
reload another time the contacts. But in this way Is is impossible to
load the third contact, because the script load the preference of the
new contact.
For example:
I call 309(a)domain.it,
the script loads 309 contacts and call the fisrt: 309(a)domain.it
309 not answered,
the scrip enters in failure route,
it loads the 400(a)domain.it and call 400,
At this moment I loads the contacts of 400(a)domain.it WRONG!!!!!
In which way it is possibile to load the contacts only the firt time.
I hope that the problem is clear.
Best
Matteo
=======================================
This is my location table
============================================================
username | domain | contact | q
400 | | sip:400@192.168.9.193 | 1.00
401 | | sip:400@192.168.9.194 | 1.00
308 | | sip:308@192.168.9.181:5060 | 1.00
309 | | sip:309@192.168.9.131;transport=udp | 1.00
309 | | sip:400@192.168.9.97 | 0.80
309 | | sip:401@192.168.9.97 | 0.60
....................
....................
route{
......
......
......
if(load_contacts()){
xlog("L_ERR","LOAD CONTACTS!\n");
};
if(next_contacts()){
xlog("L_ERR","NEXT CONTACT!\n");
};
t_on_failure("1");
t_relay();
exit;
}
route[1] {
log(1,"ROUTE 1 !\n");
if (!t_relay()) {
sl_reply_error();
};
exit;
}
route[2] {
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
log(1,"ROUTE 2 !\n");
t_on_failure("1");
if (!t_relay()) {
sl_reply_error();
};
exit;
}
failure_route[1] {
log(1,"FAILURE ROUTE !\n");
if (t_check_status("408")){
if (next_contacts()) {
log(1,"NUOVO CONTATTO !\n");
route(2);
exit;
};
};
exit;
}
This is the output:
7(5504) LOAD CONTACTS!
7(5504) NEXT CONTACT!
14(5518) FAILURE ROUTE !
14(5518) NUOVO CONTATTO !
14(5518) ROUTE 2 !
6(5502) LOAD CONTACTS!
6(5502) NEXT CONTACT!
Hi,
I looked at :
http://openser.org/pub/openser/latest/src/openser-1.0.0_src.tar.gz
and the table versions look ok.
are you using different tables than "location" or "aliases" as parameter
of save() or lookup() ?
regards,
bogdan
Wilko van der Ploeg wrote:
>I use the openser-1.0.0.src.tar as downloaded on 1 nov 2005
>
>
>Wilko van der Ploeg
>
>
>-----Original Message-----
>From: Bogdan-Andrei Iancu [mailto:bogdan@voice-system.ro]
>Sent: donderdag 8 december 2005 13:43
>To: Wilko van der Ploeg
>Cc: users(a)openser.org
>Subject: Re: [Users] What's causing this error...
>
>Hi Wilko,
>
>what version are you using and what;s the date of your checkout?
>
>regards,
>bogdan
>
>Wilko van der Ploeg wrote:
>
>
>
>>After a clean installation of openser (so no 'old tables') a
>>openser.cfg script is causing the following error messages :
>>
>>Dec 8 14:09:17 sip1 /sbin/openser[2419]: register_udomain(): Invalid
>>table version (use ser_mysql.sh reinstall)
>>
>>Dec 8 14:09:17 sip1 /sbin/openser[2419]: domain_fixup(): Error while
>>registering domain
>>
>>Dec 8 14:09:17 sip1 /sbin/openser[2419]: ERROR: fix_expr : fix_actions
>>
>>
>
>
>
>>error
>>
>>It looks like there is some mismatch in table version in the
>>installtion tar.... Does anyone know what should be altered to make it
>>
>>
>
>
>
>>work ?
>>
>>Wilko
>>
>>-----------------------------------------------------------------------
>>
>>
>-
>
>
>>_______________________________________________
>>Users mailing list
>>Users(a)openser.org
>>http://openser.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>>
>
>
>