Hi again,
As you know from the other thread, most pua_xmpp problems have been solved. They were caused by a wrong routing script.
Now with RLS, I have almost fixed the problem about contacts presence status not being notified to the user subscribed to the list they belong. It was much the same issue: notifies from contacts in the list were not handled by RLS module, but by pua_xmpp one.
However, only one first notify is sent to the user subscribed to the list, carrying contacts presence information at that point. Subsequent changes in their presence status are no notified to that user. Though the notifies generated by these changes are handled by the RLS module nothing else happens, and nothing is sent to the list watcher.
What can be this due to? The table rls_watchers is empty, may it tell you something.
Regards, Pablo
-----Mensaje original----- De: Pablo Guijarro Enríquez [mailto:pge@moviquity.com] Enviado el: lunes, 21 de abril de 2008 16:52 Para: 'Anca Vamanu' CC: 'users@lists.openser.org' Asunto: RE: [OpenSER-Users] Log errors when processing a contact list with RLSmodule
Hi Anca,
I fixed rls_presentity table and changed openser.cfg so that it works according the behaviour you described. Now the database error does not appear anymore, but changes in the presence status of group members are still not notified to the user subscribed to that group.
Also, I keep having those strange notifies towards directions belonging to the xmpp domain, and some tables (active_watchers, pua) keep growing with tens of similar entries that maybe should overwrite previous ones. Attached you can see the part of the log that is repeated when resending those notifies over and over, with some errors in it.
I attach my openser.cfg too. Please, give it a look and tell me if there is still something wrong in it that could explain all this.
I had problems getting presence modules from svn. First I updated just the presence module and built all modules again, but when I started openser there were some names in presence module it could not resolve or something like that. To avoid incompatibility problems I downloaded and compiled everything from svn. I also created openser schema again with the new scripts, but some errors appear when handling subscribe methods, you can see them attached too. It starts with the following one:
Apr 21 11:22:07 comm ./openser[30276]: ERROR:db_mysql:db_mysql_submit_query: driver error on query: Unknown column 'str_doc_col' in 'field list'
Thanks and regards, Pablo
-----Mensaje original----- De: Anca Vamanu [mailto:anca@voice-system.ro] Enviado el: viernes, 18 de abril de 2008 16:45 Para: Pablo Guijarro Enríquez CC: users@lists.openser.org Asunto: Re: [OpenSER-Users] Log errors when processing a contact list with RLSmodule
Hi Pablo,
There was a copy paste mistake in rls_presentity table script that wrongly set update column as unique. I have fixed that . Moreover, while testing xmpp presence gateway myself, I found a bug in presence. It affected notifications for presence.winfo sent immediately after receiving a Subscribe for presence.winfo and when the fallback2db parameter was not set. It was quite a old bug, also found in 1.3 branch. Thank you for these two. So, please update to the svn version of the presence modules, or apply the small patch. As for the retransmissions of the Notify please make sure that 'pua_xmpp_notify' is called on it. As an important note, the Notifies for winfo that are for the pua_xmpp module do not have the 'xmpp-gw' domain in the R-URI, but the servers address. And, I have noticed that you use RLS also. RLS should not handle Notifies for presence.winfo, but only for presence. And even more, it should not handle those triggered and expected by pua_xmpp.
Thanks and regards, Anca Vamanu
Pablo Guijarro Enríquez wrote:
Sorry, I attached a wrong log file, this is the good one.
Regards, Pablo
-----Mensaje original----- De: Pablo Guijarro Enríquez [mailto:pge@moviquity.com] Enviado el: jueves, 17 de abril de 2008 18:59 Para: 'Anca Vamanu' CC: 'users@lists.openser.org' Asunto: RE: [OpenSER-Users] Log errors when processing a contact list with RLSmodule
Hello,
As you supposed, it was the mistake taken from openser 1.3.0 config file. Now a first notify request gets to the SIP client. It carries the contact list, but no presence information, though they are online and have
published
it. The message received is:
NOTIFY sip:354354@10.95.68.229;transport=UDP SIP/2.0 Via: SIP/2.0/UDP 10.95.43.31;branch=z9hG4bK0686.86ae4926.0 To: sip:354354@openser.domain;tag=4ivc499k75hc7g2k5aeo From: sip:group.354354.contacts@openser.domain;tag=10.1841.1208448754.13 CSeq: 1 NOTIFY Call-ID: 1sf29lPkoIemh2GtzJAuBMhyvfxO_l Content-Length: 504 User-Agent: OpenSER (1.3.1-notls (i386/linux)) Max-Forwards: 70 Event: presence Contact: sip:10.95.43.31 Subscription-State: active;expires=3600 Require: eventlist Content-Type: "multipart/related;type="application/rlmi+xml";start=
<1208448754.sip:group.354354.contacts@openser.domain.388800503>;boundary=eU3
JIKPQGrAduyGcfXiT4gZS
--eU3JIKPQGrAduyGcfXiT4gZS Content-Transfer-Encoding: binary Content-ID:
<1208448754.sip:group.354354.contacts@openser.domain.388800503>
Content-Type: application/rlmi+xml;charset="UTF-8r"
<?xml version="1.0"?>
<list uri="sip:group.354354.contacts@openser.domain" xmlns="urn:ietf:params:xml:ns:rlmi" version="1" fullState="true">
<resource uri="sip:354354@openser.domain"/> <resource uri="sip:800094@openser.domain"/> <resource uri="sip:800129@openser.domain"/> </list>
--eU3JIKPQGrAduyGcfXiT4gZS--
Subsequent changes in their presence status are not notified to the client that is subscribed to the group either.
Log file shows some errors that may have to do with that issue. Sample attached shows one of those presence status changes, made by one of the contacts, and a periodic process for sending notifies or something like that.
In other posts, I have read about some of the errors that appear, and they were supposed to have been fixed in openser 1.3.1. However, it seems they are still there:
Apr 17 18:13:25 comm ./openser[1839]: ERROR:mysql:db_mysql_submit_query: driver error: Duplicate entry '1' for key 3 Apr 17 18:13:25 comm ./openser[1839]: ERROR:mysql:db_mysql_insert: error while submitting query Apr 17 18:13:25 comm ./openser[1839]: ERROR:rls:rls_handle_notify: in sql insert
Of course, that's true, there are two entries in rls_presentity table,
both
with the same id. I don't know why...
Thanks again for your support,
Pablo
-----Mensaje original----- De: Anca Vamanu [mailto:anca@voice-system.ro] Enviado el: jueves, 17 de abril de 2008 11:18 Para: Pablo Guijarro Enríquez CC: users@lists.openser.org Asunto: Re: [OpenSER-Users] Log errors when processing a contact list with RLSmodule
Hi,
Here you have the same problem in your configuration file, you should accept in dialog SUBSCRIBE and NOTIFY requests that are directed to the proxy. I think that the example config file from 1.3.0 might have this mistake. It was fixed but probably after the release. You should look at the config from 1.3.1.
regards, Anca
Pablo Guijarro Enríquez wrote:
Hi Anca,
Oops, you are right, sorry :p Now errors have disappeared, but there is something wrong. The notify messages sent as a result of the subscribe
ones
generated by the rls module for each of the contacts in the list are rejected with 404 responses. For example:
SUBSCRIBE sip:800129@comm.hi.inet SIP/2.0 Via: SIP/2.0/UDP 10.95.43.31;branch=z9hG4bK16cd.9a07a1d1.0 To: sip:800129@comm.hi.inet From: sip:354354@comm.hi.inet;tag=533cb9e91f4b999cf76861cbb9ed54ed-1a1a CSeq: 10 SUBSCRIBE Call-ID: 42e7a6e1-31560@10.95.43.31 Content-Length: 0 User-Agent: OpenSER (1.3.1-notls (i386/linux)) Max-Forwards: 70 Event: presence Contact: sip:10.95.43.31 Expires: 3610 Max-Forwards: 70 Support: eventlist
NOTIFY sip:10.95.43.31 SIP/2.0 Via: SIP/2.0/UDP 10.95.43.31;branch=z9hG4bK975a.bb2427c3.0 To: sip:354354@comm.hi.inet;tag=533cb9e91f4b999cf76861cbb9ed54ed-1a1a From: sip:800129@comm.hi.inet;tag=10.31561.1208325872.1 CSeq: 1 NOTIFY Call-ID: 42e7a6e1-31560@10.95.43.31 Content-Length: 0 User-Agent: OpenSER (1.3.1-notls (i386/linux)) Max-Forwards: 70 Event: presence Contact: sip:10.95.43.31 Subscription-State: active;expires=3600
SIP/2.0 404 Not here Via: SIP/2.0/UDP 10.95.43.31;branch=z9hG4bK975a.bb2427c3.0 To: sip:354354@comm.hi.inet;tag=533cb9e91f4b999cf76861cbb9ed54ed-1a1a From: sip:800129@comm.hi.inet;tag=10.31561.1208325872.1 CSeq: 1 NOTIFY Call-ID: 42e7a6e1-31560@10.95.43.31 Server: OpenSER (1.3.1-notls (i386/linux)) Content-Length: 0
What could be the reason for this to happen? It seems that openser does
not
want to handle that message or something... I have tried setting an alias for 10.95.43.31 in openser configuration file, but that did not work
either.
Log file is huge, so I cannot attach this whole part, just the end of it. Feel free to ask whatever data you may want to ckeck.
Regards, Pablo
-----Mensaje original----- De: Anca Vamanu [mailto:anca@voice-system.ro] Enviado el: viernes, 11 de abril de 2008 15:41 Para: Pablo Guijarro Enríquez CC: users@lists.openser.org Asunto: Re: [OpenSER-Users] Log errors when processing a contact list
with
RLS module
Hi Pablo,
It is exactly the same error you mentioned with pua_xmpp :). RLS also depends on pua and since you have changed it .. You need to run a 'make proper' in the rls module directory and then compile it again.
regards, Anca
Pablo Guijarro Enríquez wrote:
Hi,
I am running openser v1.3.1 and I cannot get the RLS module to work properly when handling a contact list already retrieved from database. Some errors related with the pua module appear in the log when the server seems to be trying to generate the subscribe requests for each of the contacts in the list (see attached, lines 60 to 62).
Apr 10 13:02:23 comm ./openser[20184]: ERROR:pua:subs_build_hdr: getting event from list
Apr 10 13:02:23 comm ./openser[20184]: ERROR:pua:send_subscribe: while building extra headers
Apr 10 13:02:23 comm ./openser[20184]: ERROR:rls:process_list_and_exec: infunction given as a parameter
Those requests are never sent. What could this be due to?
Thanks!
Pablo
Users mailing list Users@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/users