i sent yesterday privately an email to anca about this, but thought that perhaps a broader discussion is appropriate, because it looks to me that there is a fundamental flaw in current presence implementation.
while testing presence, i noticed that when processing subscribe requests, presence module seems to take presentity uri from to uri and not from the request uri. for example, when twinkle sends subscribe SUBSCRIBE sip:[EMAIL PROTECTED] SIP/2.0 To: "Juha Heinanen" <sip:[EMAIL PROTECTED]> openser does not find presentity with username jh/domain vm.test.fi although it does exists. also, if state of presentity changes, twinkle does not get notification of it, i guess, because in active_watchers table twinkle is listed with to_user +358442345670/to_domain test.fi and there is no field in active_watchers table that would include presentity uri sip:[EMAIL PROTECTED] that twinkle subscribed to. RFC 3265 is clear on how target of subscribe is determined: 3.1.2. Identification of Subscribed Events and Event Classes Identification of events is provided by three pieces of information: Request URI, Event Type, and (optionally) message body. it makes never (except in register request) sense by presence server or proxy to examine to header, because to header has only local meaning. for example, my proxy may accept subscribe request where r-uri and to uri are both sip:my_mailbox and then rewrite request uri to sip:[EMAIL PROTECTED] another (minor) thing that i noticed while reading presence source code is that it uses parse_uri functions to parse to header. these should be changed to more efficient parse_to_uri, which checks if the uri has already been parsed. -- juha _______________________________________________ Devel mailing list Devel@openser.org http://openser.org/cgi-bin/mailman/listinfo/devel