El Thursday 16 August 2007 23:11:41 Jorge Guntanis escribió:
I was wondering if anyone has gotten the presence module working with openser. The reason I ask is because I've been trying to make it work for 2 weeks without any luck, and at this point, I can't figure out what I'm doing wrong.
This is my setup:
I have a debian 4.0, running openser 1.3.0-dev11-notls [svnrevision: 2:2607M] also tried with 2327 Compiled with mysql, presence, mi_xmlrpc, presence xml modules. Also have the xcap-lite server set up.
My configuration looks like this: [just the related stuff]
# -- mi_xmlrpc params --
modparam("mi_xmlrpc", "log_file", "/var/log/openser-xmlrpc.log") modparam("mi_xmlrpc", "port", 9090)
# -- presence params -- modparam("presence", "db_url", "mysql://openser:openserrw@localhost/openser") 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", 'a') modparam("presence", "expires_offset", 10) modparam("presence", "max_expires", 3600)
modparam("presence", "server_address", "sip:presense_server_ip:5065")
A note here: that "server_address" is the Contact header of the "200 OK" for your SUBSCRIBE messages and the Contact header for NOTIFY messages from server. So the first SUBSCRIBE of any user will be to your main OpenSer (who will forward it to the presence server) but the following SUBSCRIBE will be directly to uri sip:presense_server_ip:5065, is that correct?
But if I add this line into another account running eyebeam, ie: account 10000010001, it doesn't get a notify with my new status. So I have it "sort" of working, yet the notifies are not.
I think Eyebeam uses by default agent to agent presence (because XLite does it). In the presence options of Eyebeam try to put "server presence" or similar.
My Server set up is as follows: Ser Main Server <---> Openser Presence Server fwd subscribes and notifies to openser presence server using the forward(); method.
Could you capture a flow in your main openser: ngrep -P ' ' -W byline -T -t "" udp port 5060 or udp port 5065