[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