[OpenSIPS-Users] Database Searching
Liviu Chircu
liviu at opensips.org
Wed Aug 28 08:52:46 EDT 2019
Hi all,
If reloading the table whenever you update your banned UA list isn't a
problem, then the optimal
answer is the dialplan module and its dp_translate [1] function in order
to test against your UA list.
It works with in-memory data so it is super fast.
Best regards,
[1]:
https://opensips.org/html/docs/modules/3.1.x/dialplan.html#func_dp_translate
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 28.08.2019 15:41, Mark Farmer wrote:
> Thanks for the reply, certainly a few options to consider :)
>
> To be more specific, the table contains $ua identifiers:
>
> MariaDB [tt]> select * from user_agent;
> +----+------------------+
> | id | ua |
> +----+------------------+
> | 1 | sipcli |
> | 2 | sipvicious |
> | 3 | sip-scan |
> | 4 | sipsak |
> | 5 | sundayddr |
> | 6 | friendly-scanner |
> | 7 | iWar |
> | 8 | CSipSimple |
> | 9 | SIVuS |
> | 10 | Gulp |
> | 11 | sipv |
> | 12 | smap |
> | 13 | friendly-request |
> | 14 | VaxIPUserAgent |
> | 15 | VaxSIPUserAgent |
> | 16 | siparmyknife |
> | 17 | Test Agent |
> +----+------------------+
>
> What I'd like to do is something like:
>
> if($ua ~=(search_ua_column_for_match) {
> exit;
> }
>
> I should add that I'm using OpenSIPS 3.0
>
>
>
> On Wed, 28 Aug 2019 at 13:31, Alexey Kazantsev via Users
> <users at lists.opensips.org <mailto:users at lists.opensips.org>> wrote:
>
> Hi Mark,
>
> I haven't understood well enough what data do you store in the table.
>
> Something designed by OpenSIPS developers? E.g. 'subscribers' table.
> Or some custom data which you use in your script say via AVPs?
>
> If it's possible to store it as key-value pairs, I'd recommend you
> using
> local cache [1], [2], [3]
>
> [1]
> https://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc4
> [2]
> https://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc5
> [3]
> https://www.opensips.org/Documentation/Script-CoreFunctions-3-0#toc6
> [4] https://opensips.org/html/docs/modules/3.0.x/cachedb_redis.html
> [5] https://opensips.org/html/docs/modules/3.0.x/cachedb_sql.html
> [6] https://opensips.org/html/docs/modules/3.0.x/exec.html
>
> Depending on your OpenSIPS architecture it can be more optimal to
> use Redis [4],
> for example in case of OpenSIPS cluster.
>
> You may use CACHEDB_SQL [5] (I never used it).
> You may execute some script with the EXEC [6] function.
>
> If your table is tiny and your system architecture allows it,
> you may store data not in MariaDB but in SQLite.
>
> So, as you see, many things depend on the overall size of your system,
> and it's not so easy to give some certain advice without knowing
> its architecture and load level.
>
>
>
> -----------------------------------------------
> BR, Alexey
> http://alexeyka.zantsev.com/
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org <mailto:Users at lists.opensips.org>
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
>
> --
> Mark Farmer
> farmorg at gmail.com <mailto:farmorg at gmail.com>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20190828/1f652139/attachment.html>
More information about the Users
mailing list