I like the idea of using a module, but Jan's point on the slow queries is very true. You are trying to do something with a DB table that it was not meant to do. Here is an idea: - For all incoming calls, use avpops on a custom db table to store the caller using callee as a key (thus always writing over the previous caller) - When seeing *69, use caller as key in the db table to retrieve the last caller and set the ruri
g-)
----- Original Message ----- From: "sip" sip@arcdiv.com To: serusers@lists.iptel.org Sent: Thursday, September 29, 2005 03:22 PM Subject: [Serusers] Modules writing and overhead.
Well, I ended up muddling through the module API long enough to write a module to handle a specific scenario. Some of our UAs have *69 capability (call return here in the US of A), some don't... so I wrote a module that takes data from our ACC log (using a raw query since the regular query doesn't have the LIKE functionality) and finds out who the last user to send an invite to the currently dialing user was and connects the call accordingly.
I understand that this may be a little like trimming a mustache with a weedwacker, but the severely limited set of available database manipulation operations available through existing modules made this somewhat useful (to me, anyway).
The question really comes down to... what sort of overhead does it incur to do something like this? Granted, not everyone and his brother shall be calling *69 on an even semi-regular basis among my userbase, so it won't even process much... but should I expect the bottleneck to be (as I expect it is) the database server and its query speeds?
N.
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers