Hi, pua_usrloc has an issue with SIP device that publish their state, since the PUBLISH is generated twice:
1) With the REGISTER by pua_usrloc module. 2) With the PUBLISH sent by the device.
If for example the user sets "Online" - "Away" status and after that the device refreshes the REGISTER, then its state will just be "Online" (the state pua_usrloc generates).
In order to avoid this issue it could be nice to query a BD table looking for the "User-Agent" and just exec "pua_set_publish()" if the device doesn't support presence PUBLISH.
The query could be done by regular expressions in order to allow different versions of same device, all of them supporting presence.
A doubt I have is: Would be easier store user-agents of devices supporting presence? or not supporting presence? which one list will be shorter?
Because it, I'd like to start a page in the wiki containing all the devices "User-Agent" (with regular expression) supporting (or not) presence PUBLISH, and a small script to generate the table after copy&paste the whole list from the web.
What do you think about it?
Regards.