in openser, module functions may return more than true or false - there is the return code variable "$?" or "$retcode" which may be tested. usrloc may return -1 for not found at all and -2 for found but not matching method:
   ....
   lookup(location);
   switch($?) {
      case -1:
         sl_send_reply(404);
         break;
      case -2:
         sl_send_reply(405);
         break;
   }
   t_relay();
   .....

regards,
bogdan

Juha Heinanen wrote:

Bogdan-Andrei Iancu writes:

> now that we have supported methods support into usrloc, I'm wondering > what will be the mechanism to use this info. You mention something about > a external apps inspecting the DB (for c2d, for ex.)...

that was just one application before we can also use method information
for contact selection.

> I'm looking for a way to make it usable from script: what about making > lookup() to do filtering of contacts based of supported methods: > if I do lookup for a MESSAGE and this method is not supported by a > registered contact, this contact should not be returned by the
> lookup().

yes, but there are some complications.  if i do lookup for a particular
method and that method is not supported by any contact, but contact(s)
supporting other methods do exist, then script should return 405 instead
of 480.  this means that binary result from lookup (0 or -1) is not
anymore enough.

> this behaviour may be control via module param (turned on or off) or via > a second param to lookup().

yes.

-- juha


_______________________________________________
Devel mailing list
[email protected]
http://openser.org/cgi-bin/mailman/listinfo/devel

Reply via email to