#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [x] Commit message has the format required by CONTRIBUTING guide - [x] Commits are split per component (core, individual modules, libs, utils, ...) - [x] Each component has a single commit (if not, squash them into one commit) - [x] No commits to README files for modules (changes must be done to docbook files in `doc/` subfolder, the README file is autogenerated)
#### Type Of Change - [ ] Small bug fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [x] Tested changes locally - [x] Related to https://lists.kamailio.org/pipermail/sr-dev/2020-April/056481.html
#### Description Added ARRAY and DICT data types and implement support in app_lua
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2284
-- Commit Summary --
* core: KEMI suport for ARRAY and DICT * app_lua: add support for ARRAY and DICT types
-- File Changes --
M src/core/kemi.c (28) M src/core/kemi.h (17) M src/modules/app_lua/app_lua_api.c (88)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2284.patch https://github.com/kamailio/kamailio/pull/2284.diff
``` 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1004]: sr_kemi_lua_exec_func_ex(): param[0] for: info is str: *** ksr_test get_keys***
1(1730) INFO: LUA {INVITE}: <core> [core/kemi.c:104]: sr_kemi_core_info(): *** ksr_test get_keys*** 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1004]: sr_kemi_lua_exec_func_ex(): param[0] for: xavp_get_keys is str: test 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1004]: sr_kemi_lua_exec_func_ex(): param[0] for: info is str: test=>{"adios","hola"}
1(1730) INFO: LUA {INVITE}: <core> [core/kemi.c:104]: sr_kemi_core_info(): test=>{"adios","hola"} 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1004]: sr_kemi_lua_exec_func_ex(): param[0] for: info is str: *** ksr_test xavp_getd ***
1(1730) INFO: LUA {INVITE}: <core> [core/kemi.c:104]: sr_kemi_core_info(): *** ksr_test xavp_getd *** 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1004]: sr_kemi_lua_exec_func_ex(): param[0] for: xavp_getd is str: test 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:848]: sr_kemi_lua_push_dict(): index:adios 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:848]: sr_kemi_lua_push_dict(): index:hola 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:848]: sr_kemi_lua_push_dict(): index:hola 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1004]: sr_kemi_lua_exec_func_ex(): param[0] for: info is str: test=>{{adios={2,1},hola={2,1}},{hola={2,1}}}
1(1730) INFO: LUA {INVITE}: <core> [core/kemi.c:104]: sr_kemi_core_info(): test=>{{adios={2,1},hola={2,1}},{hola={2,1}}} 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1004]: sr_kemi_lua_exec_func_ex(): param[0] for: info is str: *** ksr_test xavp_getd_p1***
1(1730) INFO: LUA {INVITE}: <core> [core/kemi.c:104]: sr_kemi_core_info(): *** ksr_test xavp_getd_p1*** 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1004]: sr_kemi_lua_exec_func_ex(): param[0] for: xavp_getd_p1 is str: test 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1008]: sr_kemi_lua_exec_func_ex(): param[1] for: xavp_getd_p1 is int: 0 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:848]: sr_kemi_lua_push_dict(): index:adios 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:848]: sr_kemi_lua_push_dict(): index:hola 1(1730) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1004]: sr_kemi_lua_exec_func_ex(): param[0] for: info is str: test=>{adios={2,1},hola={2,1}}
1(1730) INFO: LUA {INVITE}: <core> [core/kemi.c:104]: sr_kemi_core_info(): test=>{adios={2,1},hola={2,1}} ```
Thanks! Looks ok, it can be merged.
Merged #2284 into master.