Il 16/02/11 18.19, Anca Vamanu ha scritto:
Hi Carlo,
Here are my ideas about this.
One solution would be to insert into usr_preferences table a record
with the URI where the call must be forwarded for the user (you can
put the username in RURI) when the presence status is "meeting",
"holiday", etc. And delete it when changes into something else.
Now the question is where to do this. In the OpenSIPS script is very
hard - you have to make regexps to extract the status from the Publish
body, select from database the previous stored state and apply the
regexp again, very inefficient. The other solutions are an external
application or an opensips module. The external application could
query the presentity table periodically or maybe be called by a
trigger at insert ( not sure this is possible). The module can export
a function to be called before handle_publish to analyze the previous
and the current state.
Then when handling Invites - do avp_db_load for the caller and if a
record is found forward it to that URI.
Hi Anca,
thank you for your interesting point of view.
Indeed I was thinking about the development of a new presence module (or
a function) but for checking the subscriber status directly from the
XCAP server. In this way in the script (INVITE) I should do
xcap_check_status for the callee, do an avp_db_load and forward the
caller to the URI stored in usr_preferences (linked to the presence status).
This is just a proof of concept, as I need a better understanding of all
opensips presence modules.
Best regards,
Carlo Dimaggio
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users