xkaraman left a comment (kamailio/kamailio#4426)
Hey @wedhornsipgate,
I have implement these extra KEMI functions in
https://github.com/xkaraman/kamailio/tree/htable_kemi. You can have a look and
try it your self and give any feedback.
Here is how i am using it with KEMI Python engine
``` python
KSR.htable.sht_setxs("ipban", "pattern1", "value",50)
KSR.htable.sht_setxs("ipban", "pattern2", "value1",50)
KSR.htable.sht_setxs("ipban", "nopatter23", "value52",50)
KSR.htable.sht_setxs("ipban", "abcd2", "empty1",50)
# KSR.htable.sht_print()
exact="pattern1"
count_exact = KSR.htable.shtcn_match("ipban", exact, 0)
KSR.info("Exact match count for pattern [%s]: %d\n" % (exact,
count_exact))
count_exact = KSR.htable.shtcn_exact("ipban", exact)
KSR.info("Exact match count (exact) for pattern [%s]: %d\n" % (exact,
count_exact))
startwith="pattern"
count_startwith = KSR.htable.shtcn_match("ipban", startwith, 1)
KSR.info("Startwith match count for pattern [%s]: %d\n" % (startwith,
count_startwith))
count_startwith = KSR.htable.shtcn_prefix("ipban", startwith)
KSR.info("Startwith match count (prefix) for pattern [%s]: %d\n" %
(startwith, count_startwith))
endwith="2"
count_endwith = KSR.htable.shtcn_match("ipban", endwith, 2)
KSR.info("Endwith match count for pattern [%s]: %d\n" % (endwith,
count_endwith))
count_endwith = KSR.htable.shtcn_suffix("ipban", endwith)
KSR.info("Endwith match count (suffix) for pattern [%s]: %d\n" %
(endwith, count_endwith))
regex="^pat.*2$"
count_regex = KSR.htable.shtcn_match("ipban", regex, 3)
KSR.info("Regex match count for pattern [%s]: %d\n" % (regex,
count_regex))
count_regex = KSR.htable.shtcn_regex("ipban", regex)
KSR.info("Regex match count (regex) for pattern [%s]: %d\n" % (regex,
count_regex))
```
and the respective output logs:
``` python
Nov 5 11:00:18 app01 sbin/kamailio[3338583]: INFO: {1 2426 REGISTER
u30SqMAHWR} <core> [core/kemi.c:109]: sr_kemi_core_info(): ===== request - from
kamailio python script
Nov 5 11:00:18 app01 sbin/kamailio[3338583]: INFO: {1 2426 REGISTER
u30SqMAHWR} <core> [core/kemi.c:109]: sr_kemi_core_info(): Exact match count
for pattern [pattern1]: 1
Nov 5 11:00:18 app01 sbin/kamailio[3338583]: INFO: {1 2426 REGISTER
u30SqMAHWR} <core> [core/kemi.c:109]: sr_kemi_core_info(): Exact match count
(exact) for pattern [pattern1]: 1
Nov 5 11:00:18 app01 sbin/kamailio[3338583]: INFO: {1 2426 REGISTER
u30SqMAHWR} <core> [core/kemi.c:109]: sr_kemi_core_info(): Startwith match
count for pattern [pattern]: 2
Nov 5 11:00:18 app01 sbin/kamailio[3338583]: INFO: {1 2426 REGISTER
u30SqMAHWR} <core> [core/kemi.c:109]: sr_kemi_core_info(): Startwith match
count (prefix) for pattern [pattern]: 2
Nov 5 11:00:18 app01 sbin/kamailio[3338583]: INFO: {1 2426 REGISTER
u30SqMAHWR} <core> [core/kemi.c:109]: sr_kemi_core_info(): Endwith match count
for pattern [2]: 2
Nov 5 11:00:18 app01 sbin/kamailio[3338583]: INFO: {1 2426 REGISTER
u30SqMAHWR} <core> [core/kemi.c:109]: sr_kemi_core_info(): Endwith match count
(suffix) for pattern [2]: 2
Nov 5 11:00:18 app01 sbin/kamailio[3338583]: INFO: {1 2426 REGISTER
u30SqMAHWR} <core> [core/kemi.c:109]: sr_kemi_core_info(): Regex match count
for pattern [^pat.*2$]: 1
Nov 5 11:00:18 app01 sbin/kamailio[3338583]: INFO: {1 2426 REGISTER
u30SqMAHWR} <core> [core/kemi.c:109]: sr_kemi_core_info(): Regex match count
(regex) for pattern [^pat.*2$]: 1
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4426#issuecomment-3490573129
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4426/[email protected]>_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the
sender!