Hi,
I am using OpenSER since a few months, but only with basic functionality,
i.e. no Presence, Message-waiting functionality, XCAP etc. I configured the
server with MySQL on the same machine and I am able to add new users using
the openserctl script as:
/usr/local/sbin/openserctl add user password user@domain
Now, I wish to include Presence functionality to see the status of users on
client side. Thus, I loaded the module presence.so and also presence_xml.so.
I also uncommenetd other features in openser.cfg that are required for
presence funcionality:
# ----- presence params -----
modparam("presence|presence_xml", "db_url",
"mysql://user:pwd@domain/openser")
modparam("presence_xml", "force_active", 1)
modparam("presence", "server_address", "sip:ip:port")
modparam("presence", "presentity_table", "presentity")
modparam("presence", "active_watchers_table",
"active_watchers")
modparam("presence", "watchers_table", "watchers")
modparam("presence", "clean_period", 100)
modparam("presence", "to_tag_pref", 'megs')
#modparam("presence", "lock_set_size", 8)
modparam("presence", "expires_offset", 10)
modparam("presence", "max_expires", 3600)
modparam("presence", "fallback2db",1)
#------------------------------------------------------
However, now if I try to start openser using the command :
/usr/local/sbin/openser start,
I see that all modules are loaded and my connection "user:pwd@domain/openser"
is in the pool. It also displays that all modules have successfully
connected to the database. After this when I try to run:
/usr/local/lib/openser/openserctl/openserctl start
It displays:
database engine 'MYSQL' loaded
control engine 'FIFO' loaded
INFO: Starting OpenSER:
ERROR: PID file /var/run/openser.pid does not exist -- OpenSER start failed
There is no file openser.pid on the path "/var/run/". But previously, I was
able to start openser successfully.
I also tried starting openser by: /etc/init.d/openser start
But it just says:
Starting Openser: [FAILED]
Can anyone please tell me how to solve this bug. Where can I find
openser.pid file?
If not this, then please tell me if I am doing some configuration mistake.
Another thing, I see that when I am running my client, I am still able to
Register to the server and I am gettin 200OK for REGISTER message. I find it
strange!
I can see that I have all the tables required for "presence" in the openser
database, i.e. presentity, active_watchers etc.
Also, when I am using SUBSCRIBE-NOTIFY messages on client side, I get 202
Accepted from the server when the other user is online and 404 NOT FOUND
when the user is offline. But I see that all tables in 'openser' database
are empty except subscriber table in which I can easily make entries using
'openserctl' script file. I find it strange that how my server is keeping
the information of the online users when all databse tables are empty.
Ideally, it should keep an entry of availabe users in "location" table, but
that table is also empty even though I have written in openser.cfg file:
modparam("usrloc","db_mode",2)
to enable DB persistency for location entries.
Please anyone help me clear the doubts, as I need to complete the presence
module soon due to strich deadlines. I have been workin on it since 2 weeks
already! :(
Do I need to have XCAP server necessarily to implement simple presence
status using SUBSCRIBE-NOTIFY messages?
Thanks in advance,
Megs