app_python and, in some places, app_python3 handles KEMI calls with 4 and more parameters incorrectly. It uses "or" operations instead of "and" and thus it will always tries to convert the call into a "str-str-str-str" invocation.
Also it's missing a "ssii" variant for calling e.g. KSR.htable.sht_setxi()
Try to call KSR.htable.sht_setxs() or KSR.htable.sht_setxi() with app_python.
ERROR: app_python [apy_kemi.c:342]: sr_apy_kemi_exec_func_ex(): unable to retrieve str-str-str-str params 4
Clean up app_python and app_python3 by changing "or" to "and" in lines like this one:
if(ket->ptypes[0]==SR_KEMIP_STR
|| ket->ptypes[1]==SR_KEMIP_STR
|| ket->ptypes[2]==SR_KEMIP_INT
|| ket->ptypes[3]==SR_KEMIP_INT)
Further, app_python lacks a "ssii" parameter handler so using KSR.htable.sht_setxi() is not possible.
I could contribute a pull request if no core developer has time to fix it.
kamailio -v
version: kamailio 5.2.2 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144 MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 5.3.1
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.