Hi,
We started to migrate our Lua scripts to KEMI but we use [0]
sr.xavp.get_keys() and sr.xavp.get() functions that return an array
and a dictionary. It seems that KEMI has no support for complex data
types.
So, I think we still need a way to extend the interpreters with richer
functions that must be implemented on all flavours or create some c
abstractions to support arrays and dictionaries in KEMI.
Comments/Ideas?
Victor
[0] https://www.kamailio.org/wiki/embeddedapi/devel/lua#srxavp
Hi,
I have configured kamailio as Ims server with pcscf,icscf,scsf and hss in 4
different vms . After that I use zoiper client for testing the call flow .
Registration is successful .It goes via
UE -> Pcscf -> icscf -> scscf and returns back with 200 OK . Registration
is happening with authentication from hss .
When I make an INVITE , it goes from
UE -> PCSCF -> SCSCF -> ICSCF -> SCSF and s-cscf gives *403 - Domain not
served *to icscf and i-cscf returns to p-cscf with the same error .
I am not seeing any errors in scscf and i-cscf .
In pcscf , I am seeing an error like
*Error : <core> [core/lvalue.c] :lval_pvar_assign() : setting pvar failed *
*Error : <core> [core/lvalue.c] :*
*lval_assign():assignment failed at pos*
What should I do? Kindly advise.
I am struggling with this issue for a week.kindly do the needful.
Version - kamailio - 5.3.3
I need a normal call flow to be established between two clients.kindly help
.
alternative command to output dialogs data to file, far much faster than
dlg.list
<!-- Kamailio Pull Request Template -->
<!--
IMPORTANT:
- for detailed contributing guidelines, read:
https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md
- pull requests must be done to master branch, unless they are backports
of fixes from master branch to a stable branch
- backports to stable branches must be done with 'git cherry-pick -x ...'
- code is contributed under BSD for core and main components (tm, sl, auth, tls)
- code is contributed GPLv2 or a compatible license for the other components
- GPL code is contributed with OpenSSL licensing exception
-->
#### 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
- [x] New feature (non-breaking change which adds new functionality)
#### Checklist:
<!-- Go over all points below, and after creating the PR, tick the checkboxes that apply -->
- [x] Tested changes locally
- [x] Related to issue #2269
#### Description
This command can output 100K dialogs in less than a second.
Almost the exact same format as dlg.list, except no using arrays for `variables` and `profiles`
since they can have a mixture of values and key / value pairs.
```
{
"h_entry": 16383,
"h_id": 4428,
"ref": 2,
"call_id": "ehm839mk6HwtIXfCpluxkNlbDq8H9im2",
"from_uri": "sip:voip_perf@147.75.65.147",
"to_uri": "sip:12063722016@52.42.112.121",
"state": 4,
"start_ts": 1585863821,
"init_ts": 1585863821,
"end_ts": 0,
"timeout": 1585885421,
"lifetime": 21600,
"dflags": 1539,
"sflags": 0,
"iflags": 0,
"caller": {
"tag": "KK4KtrhQ--OjGMBNCvpXfKX-tinxQ3EK",
"contact": "sip:voip_perf@147.75.65.147:5072;transport=udp",
"cseq": "25945",
"route_set": "",
"socket": "udp:0.0.0.0:5060"
},
"callee": {
"tag": "jlf1PLBMkC3utNwg-qwdkolYbaMx0no5",
"contact": "sip:voip_perf@147.75.65.147:5060;transport=udp",
"cseq": "0",
"route_set": "",
"socket": "udp:0.0.0.0:5060"
},
"profiles": {
"outbound_call": ""
},
"variables": {
"foo": "bar"
}
}
```
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2272
-- Commit Summary --
* dialog: adding dlg.dump
-- File Changes --
M src/modules/dialog/Makefile (15)
M src/modules/dialog/dialog.c (155)
M src/modules/dialog/doc/dialog_admin.xml (18)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2272.patchhttps://github.com/kamailio/kamailio/pull/2272.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/2272
### Description
The commands available to extract dialog information `dlg.profile_list` and `dlg.list`
Are not fast enough to output a large amount of dialogs.
After doing some benchmark the time is spent in in `rpc->struct_add`, `rpc->add etc`, etc.
it appears to be slowing down linearly.
### Possible Solutions
I made a quick POC to verify what I can get if I output to file instead and I got blazing fast performance, this is good news since it means that iterating over the hash table etc. is super fast.
https://github.com/jchavanton/kamailio/commit/f28c5a6b6364d79ee35acb5be439e…
```
dialog: outputing large amount of dialogs to file
Test:
1) injecting 100K dialogs with voip_perf
2) confirmation that we have 100K+ dialogs
kamcmd dlg.profile_get_size outbound_call
100879
3) execute the quickly hacked modifications to output to /tmp/dialogs.txt
kamctl rpc dlg.profile_list outbound_call
3.1) verify how long it took
2020-03-31T22:28:18.398916476Z 12(31) : dialog [dialog.c:2174]: internal_rpc_profile_print_dlgs(): profile->lock
2020-03-31T22:28:18.554379411Z 12(31) : dialog [dialog.c:2190]: internal_rpc_profile_print_dlgs(): profile->lock release
// command took less then 20ms
3.2) verify the content of the output
wc /tmp/dialogs.txt
124355 117324 20547037 /tmp/dialogs.txt
Note about the content
// not everything is outputed in this quick hack but we can imagine that the impact will be very low.
call-id[uV.YzlhIZd1inE8SYDAlzmOLG12tYqVS]from[sip:voip_perf@147.75.65.247]to[sip:12060412757@52.42.112.21]h_entry[6207]h_id[44579]ref[2]contact[sip:voip_perf@147.75.65.247:5072;transport=udp]cseq[19528]
```
### Additional Information
I am thinking about adding commands to output to file in `json` and/or `csv`
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2269