<!--
Kamailio Project uses GitHub Issues only for bugs in the code or feature requests. Please use this template only for bug reports.
If you have questions about using Kamailio or related to its configuration file, ask on sr-users mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
If you have questions about developing extensions to Kamailio or its existing C code, ask on sr-dev mailing list:
* http://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
Please try to fill this template as much as possible for any issue. It helps the developers to troubleshoot the issue.
If there is no content to be filled in a section, the entire section can be removed.
You can delete the comments from the template sections when filling.
You can delete next line and everything above before submitting (it is a comment).
-->
### Description
Topos don't restore the via on the correct position towards the caller.
<!--
Explain what you did, what you expected to happen, and what actually happened.
-->
### Troubleshooting
#### Reproduction
SIP/2.0 200 OK.
From: "N" <sip:+111111111@proxy1>;tag=as68c113e4.
To: <sip:0000000@proxy1>;tag=DHpXgm46a8QgQ.
Call-ID: 09e5173225bed77e5cd7247550ee5b60
CSeq: 104 BYE.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY.
Supported: path, replaces.
Content-Length: 0.
Via: SIP/2.0/UDP IP:10060;rport=10060;branch=z9hG4bK7e7ab41c.
Contact: <sip:atpsh-5c710f13-962-c@IP>.
Should be
SIP/2.0 200 OK.
Via: SIP/2.0/UDP IP:10060;rport=10060;branch=z9hG4bK7e7ab41c.
From: "N" <sip:+111111111@proxy1>;tag=as68c113e4.
To: <sip:0000000@proxy1>;tag=DHpXgm46a8QgQ.
Call-ID: 09e5173225bed77e5cd7247550ee5b60
CSeq: 104 BYE.
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY.
Supported: path, replaces.
Content-Length: 0.
Contact: <sip:atpsh-5c710f13-962-c@IP>.
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
version: kamailio 5.1.7 (x86_64/linux) 567df3
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: 567df3
compiled on 07:05:54 Feb 21 2019 with gcc 4.4.7
```
(paste your output here)
```
* **Operating System**:
<!--
Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...;
Kernel details (output of `uname -a`)
-->
```
(paste your output here)
```
--
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/1865
Hello,
According to previous my question about udsing htable module as
dependencies module in other modules (Actually i mean hiops module), i want
to have some changes in my code. Already i saved some data in cache memory
that is implemented via linked_list structure in module, i want to replace
them with htable module.
So i have to load htable module and some more extra works, all things are
straightforward. But when i have more dived into htable module (api.c,
ht_api.c files), there is no function to get the value of specific key.
there is "ht_api_get_cell_expire_f" function that it just get back the
expire time, no value of key.
Now I need a function that it return the value of key also, Could i add
this function in api.c and ht_api.c source files and commit it or not?
If there is already the function like this, let me know about it?
Let me know about it?
With Regards
--
--Mojtaba Esfandiari.S
If I enable dialog module Kamailio will fail to start with following error:
ERROR: dialog [dialog.c:498]: mod_init(): no dlg flag set!!
In the documentation this parameter is set to 4 as an example:
modparam("dialog", "dlg_flag", 4)
But no comments made as to why number 4 is used, which numbers are possible to use and most importantly - why such default value is chosen?
In any case - module should use default which does not break server's configuration.
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/372
Module: kamailio
Branch: master
Commit: 4b7e6089e32ed71897396b95fed60b2461f14434
URL: https://github.com/kamailio/kamailio/commit/4b7e6089e32ed71897396b95fed60b2…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2019-02-22T18:31:45+01:00
modules: readme files regenerated - rtp_media_server ... [skip ci]
---
Modified: src/modules/rtp_media_server/README
---
Diff: https://github.com/kamailio/kamailio/commit/4b7e6089e32ed71897396b95fed60b2…
Patch: https://github.com/kamailio/kamailio/commit/4b7e6089e32ed71897396b95fed60b2…
---
diff --git a/src/modules/rtp_media_server/README b/src/modules/rtp_media_server/README
index bc47d7311e..742264f366 100644
--- a/src/modules/rtp_media_server/README
+++ b/src/modules/rtp_media_server/README
@@ -1,4 +1,3 @@
-
rtp_media_server Module
Julien Chavanton
@@ -38,8 +37,9 @@ Julien Chavanton
4.1. rms_answer ()
4.2. rms_hangup ()
- 4.3. rms_media_stop ()
- 4.4. rms_play ()
+ 4.3. rms_session_check ()
+ 4.4. rms_sip_request ()
+ 4.5. rms_play ()
List of Examples
@@ -48,6 +48,7 @@ Julien Chavanton
1.3. usage example
1.4. usage example
1.5. usage example
+ 1.6. usage example
Chapter 1. Admin Guide
@@ -67,8 +68,9 @@ Chapter 1. Admin Guide
4.1. rms_answer ()
4.2. rms_hangup ()
- 4.3. rms_media_stop ()
- 4.4. rms_play ()
+ 4.3. rms_session_check ()
+ 4.4. rms_sip_request ()
+ 4.5. rms_play ()
1. Overview
@@ -111,6 +113,10 @@ Chapter 1. Admin Guide
* mediastreamer2 git clone git://git.linphone.org/mediastreamer2.git
Mediastreamer2 is a powerful and lightweight streaming engine
specialized for voice/video telephony applications.
+ * bcunit git clone
+ https://github.com/BelledonneCommunications/bcunit.git
+ fork of the defunct project CUnit, with several fixes and patches
+ applied. CUnit is a Unit testing framework for C.
3. Parameters
@@ -132,8 +138,9 @@ modparam("rtp_media_server", "log_file_name", "/var/log/rms/rms_ortp.log")
4.1. rms_answer ()
4.2. rms_hangup ()
- 4.3. rms_media_stop ()
- 4.4. rms_play ()
+ 4.3. rms_session_check ()
+ 4.4. rms_sip_request ()
+ 4.5. rms_play ()
4.1. rms_answer ()
@@ -166,11 +173,7 @@ route {
t_reply("503", "server error");
}
}
-
- if (is_method("BYE")){
- xnotice("BYE RECEIVED [$ci]\n");
- rms_media_stop();
- }
+ rms_sip_request();
...
4.2. rms_hangup ()
@@ -184,10 +187,27 @@ route {
rms_hangup();
...
-4.3. rms_media_stop ()
+4.3. rms_session_check ()
+
+ Returns true if the current SIP message it handled/known by the RMS
+ module, else it may be handle in any other way by Kamailio.
+
+ This function can be used from REQUEST_ROUTE, REPLY_ROUTE and
+ FAILURE_ROUTE.
+
+ Example 1.4. usage example
+...
+ if (rms_session_check()) {
+ xnotice("This session is handled by the RMS module\n");
+ rms_sip_request();
+ }
+...
+
+4.4. rms_sip_request ()
- This should be called on reception of a BYE, this will delete the RTP
- session and the media ressources. and reply "200 OK".
+ This should be called for every in-dialog SIP request, it will be
+ forwarded behaving as a B2BUA, the transaction will be suspended until
+ the second leg replies.
If the SIP session is not found "481 Call/Transaction Does Not Exist"
is returned.
@@ -195,14 +215,14 @@ route {
This function can be used from REQUEST_ROUTE, REPLY_ROUTE and
FAILURE_ROUTE.
- Example 1.4. usage example
+ Example 1.5. usage example
...
- if (is_method("BYE")){
- rms_media_stop();
+ if (rms_session_check()) {
+ rms_sip_request();
}
...
-4.4. rms_play ()
+4.5. rms_play ()
Play a wav file, a resampler is automaticaly configured to resample and
convert stereo to mono if needed.
@@ -212,7 +232,7 @@ route {
This function can be used from EVENT_ROUTE.
- Example 1.5. usage example
+ Example 1.6. usage example
...
rms_play("file.wav", "event_route_name");
...