### Description
Trying to get NATS module working but Kamailio is refusing to start.
```
Sep 27 23:08:27 server kernel: kamailio[338880]: segfault at 70 ip 00007fe97b06f1cc sp 00007fff72d158f0 error 4 in libuv.so.1.0.0[7fe97b066000+1f000]
Sep 27 23:08:27 server kernel: Code: 5a 85 ff ff b8 ea ff ff ff c3 0f 1f 40 00 f3 0f 1e fa 8b 4e 30 83 f9 ff 0f 84 80 00 00 00 48 83 ec 08 85 c9 0f 88 90 00 00 00 <3b> 4f 70 73 45 f7 d2 21 56 28 48 8d 4e 18 48 89 f0 48 8b 76 18 75
Sep 27 23:08:27 server systemd[1]: Started Process Core Dump (PID 338886/UID 0).
```
#### Log Messages
In the log message I'm getting the following error:
```
INFO: nats [nats_mod.c:437]: nats_init_connection(): adding server [nats://192.168.1.1:4222] [1]
ERROR: nats [nats_mod.c:456]: nats_init_connection(): could not create nats options [System Error]
```
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
(version: kamailio 5.6.1 (x86_64/linux) 34e6dd)
```
NATS Server version:
```
nats-server: v2.9.0
```
libnats version:
```
libnats.so.3.4.0
```
* **Operating System**:
```
CentOS Stream 9
5.14.0-163.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Sep 8 13:52:29 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
```
* **Module Configuration**:
```
loadmodule "nats.so"
modparam("nats", "nats_url", "nats://192.168.1.1:4222")
```
There is no issue at the network/firewall level as by using telnet I'm able to connect to the NATS server successfully.
What is weird is that with tcpdump I can't see even attempts to connect to the NATS server.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3253
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3253(a)github.com>
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3508
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3508(a)github.com>
Hi team,
I was tested with Volte by using kamailio sip server . I want to know its supporting VoNR for 5G voice call .
For my understanding
VoNR requires kamailio IMS to use SBI interface, it's not implemented in kamailio IMS.
Please correct me if I am wrong ?
If not implemented means , any pipeline in feature.
Regards,
Sivaneshkumar K
Mobiveil INC., CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for the sole use of the intended recipient(s) and may contain proprietary confidential or privileged information or otherwise be protected by law. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify the sender and destroy all copies and the original message.
Module: kamailio
Branch: master
Commit: 7ca151a0479e4971980f4bbbc10cbd8f7deea1b6
URL: https://github.com/kamailio/kamailio/commit/7ca151a0479e4971980f4bbbc10cbd8…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2023-07-10T11:01:31+02:00
modules: readme files regenerated - msilo ... [skip ci]
---
Modified: src/modules/msilo/README
---
Diff: https://github.com/kamailio/kamailio/commit/7ca151a0479e4971980f4bbbc10cbd8…
Patch: https://github.com/kamailio/kamailio/commit/7ca151a0479e4971980f4bbbc10cbd8…
---
diff --git a/src/modules/msilo/README b/src/modules/msilo/README
index 987c9504ebd..046a57ca068 100644
--- a/src/modules/msilo/README
+++ b/src/modules/msilo/README
@@ -70,7 +70,8 @@ Juha Heinanen
4. Functions
4.1. m_store([owner])
- 4.2. m_dump([owner])
+ 4.2. m_store_addrs(owner, srcaddr, dstaddr)
+ 4.3. m_dump([owner])
5. Statistics
@@ -118,8 +119,9 @@ Juha Heinanen
1.30. Set the ���extra_hdrs_avp��� parameter
1.31. Set the ���skip_notification_flag��� parameter
1.32. m_store usage
- 1.33. m_dump usage
- 1.34. Kamailio config script - sample msilo usage
+ 1.33. m_store_addrs usage
+ 1.34. m_dump usage
+ 1.35. Kamailio config script - sample msilo usage
Chapter 1. Admin Guide
@@ -168,7 +170,8 @@ Chapter 1. Admin Guide
4. Functions
4.1. m_store([owner])
- 4.2. m_dump([owner])
+ 4.2. m_store_addrs(owner, srcaddr, dstaddr)
+ 4.3. m_dump([owner])
5. Statistics
@@ -655,7 +658,8 @@ m_store(...);
4. Functions
4.1. m_store([owner])
- 4.2. m_dump([owner])
+ 4.2. m_store_addrs(owner, srcaddr, dstaddr)
+ 4.3. m_dump([owner])
4.1. m_store([owner])
@@ -679,7 +683,28 @@ m_store();
m_store("$tu");
...
-4.2. m_dump([owner])
+4.2. m_store_addrs(owner, srcaddr, dstaddr)
+
+ Similar to m_store(), but instead of getting source user address from
+ From-URI and destination user address from To_URI, this function allows
+ to give them via parameters.
+
+ Meaning of the parameters is as follows:
+ * owner - is a string that must contain a SIP URI in whose inbox the
+ message will be stored. It can have any pseudo variable.
+ * srcaddr - is a string that must contain a SIP URI corresponding to
+ From user. It can have any pseudo variable.
+ * dstaddr - is a string that must contain a SIP URI correspinding to
+ To user. It can have any pseudo variable.
+
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
+
+ Example 1.33. m_store_addrs usage
+...
+m_store_addrs("sip:$rU@a.com", "sip:$fU@a.com", "sip:$tU@a.com");
+...
+
+4.3. m_dump([owner])
The method sends stored messages for the SIP user that has registered
to the contact address in the registration. The method should be called
@@ -693,7 +718,7 @@ m_store("$tu");
This function can be used from REQUEST_ROUTE.
- Example 1.33. m_dump usage
+ Example 1.34. m_dump usage
...
m_dump();
m_dump("$fu");
@@ -735,7 +760,7 @@ m_dump("$fu");
Next picture displays a sample usage of msilo.
- Example 1.34. Kamailio config script - sample msilo usage
+ Example 1.35. Kamailio config script - sample msilo usage
...
#
# MSILO usage example
Module: kamailio
Branch: master
Commit: 8da60f5a0a55fa2d5bb084b8215b96ec4c032161
URL: https://github.com/kamailio/kamailio/commit/8da60f5a0a55fa2d5bb084b8215b96e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2023-07-10T10:48:46+02:00
msilo: docs for m_store_addrs()
---
Modified: src/modules/msilo/doc/msilo_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/8da60f5a0a55fa2d5bb084b8215b96e…
Patch: https://github.com/kamailio/kamailio/commit/8da60f5a0a55fa2d5bb084b8215b96e…
---
diff --git a/src/modules/msilo/doc/msilo_admin.xml b/src/modules/msilo/doc/msilo_admin.xml
index abd3e45bbff..189ee5ee9e6 100644
--- a/src/modules/msilo/doc/msilo_admin.xml
+++ b/src/modules/msilo/doc/msilo_admin.xml
@@ -731,6 +731,49 @@ m_store(...);
m_store();
m_store("$tu");
...
+</programlisting>
+ </example>
+ </section>
+ <section id="msilo.f.m_store_addrs">
+ <title><function moreinfo="none">m_store_addrs(owner, srcaddr, dstaddr)</function></title>
+ <para>
+ Similar to m_store(), but instead of getting source user address from
+ From-URI and destination user address from To_URI, this function allows
+ to give them via parameters.
+ </para>
+ <para>Meaning of the parameters is as follows:</para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <emphasis>owner</emphasis> - is a string that must contain
+ a SIP URI in whose inbox the message will be stored. It can have
+ any pseudo variable.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>srcaddr</emphasis> - is a string that must contain
+ a SIP URI corresponding to From user. It can have
+ any pseudo variable.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <emphasis>dstaddr</emphasis> - is a string that must contain
+ a SIP URI correspinding to To user. It can have
+ any pseudo variable.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ This function can be used from REQUEST_ROUTE, FAILURE_ROUTE.
+ </para>
+ <example>
+ <title><function>m_store_addrs</function> usage</title>
+ <programlisting format="linespecific">
+...
+m_store_addrs("sip:$rU@a.com", "sip:$fU@a.com", "sip:$tU@a.com");
+...
</programlisting>
</example>
</section>
When used different application servers like:
1) kamailio;
2) freeswitch;
3) crm
Required correlate logs and events between all daemons.
For such purposes can be used tracing (OpenTelementry, Zipkin).
An example for Envoy tracking can look like
POST /api/v2/spans HTTP/1.1
host: zipkin
content-type: application/json
x-envoy-internal: true
x-forwarded-for: 217.12.247.98
x-envoy-expected-rq-timeout-ms: 5000
transfer-encoding: chunked
2ad
[{"tags":{"upstream_cluster":"dynamic_forward_proxy_cluster","component":"proxy","response_flags":"DC","peer.address":"127.0.0.1","http.method":"CONNECT","http.protocol":"HTTP/1.1","downstream_cluster":"-","user_agent":"curl/7.85.0","request_size":"842","guid:x-request-id":"0456e862-4cf7-9ee2-b280-e6f59965a70d","
upstream_cluster.name
":"dynamic_forward_proxy_cluster","http.status_code":"200","response_size":"3750"},"name":"
ifconfig.net:443
","annotations":[{"timestamp":1688924085239932,"value":"ss"}],"kind":"SERVER","localEndpoint":{"port":0,"ipv4":"217.12.247.98"},"timestamp":1688924084352715,"shared":true,"traceId":"67480febdcdd48dc","duration":886997,"id":"67480febdcdd48dc"}]
0
HTTP/1.1 202 Accepted
content-length: 0
server: Armeria/1.17.2
date: Sun, 9 Jul 2023 17:34:47 GMT
where json body looks like
[
{
"tags": {
"upstream_cluster": "dynamic_forward_proxy_cluster",
"component": "proxy",
"response_flags": "DC",
"peer.address": "127.0.0.1",
"http.method": "CONNECT",
"http.protocol": "HTTP/1.1",
"downstream_cluster": "-",
"user_agent": "curl/7.85.0",
"request_size": "842",
"guid:x-request-id": "0456e862-4cf7-9ee2-b280-e6f59965a70d",
"upstream_cluster.name": "dynamic_forward_proxy_cluster",
"http.status_code": "200",
"response_size": "3750"
},
"name": "ifconfig.net:443",
"annotations": [
{
"timestamp": 1688924085239932,
"value": "ss"
}
],
"kind": "SERVER",
"localEndpoint": {
"port": 0,
"ipv4": "217.12.247.98"
},
"timestamp": 1688924084352715,
"shared": true,
"traceId": "67480febdcdd48dc",
"duration": 886997,
"id": "67480febdcdd48dc"
}
]
I looking to create a task for the team developer to develop a module like
"tracing_zipkin". This module should allow trace transactions and dialogs
1. request and response timing;
2. dialog start-stop events;
3. business logic like call hold/unhold, media added//removed (video,
text, message, audio), request multipart content raw or filtered.
I will appreciate it if you share your thoughts about how JSON POST should
look.
Sergey Safarov