Hello,
I am planning to release v4.2.6 later this week, most likely on
Thursday, July 30.
If there is anything not reported that should be considered for this
minor release of the branch 4.2, write to sr-dev mailing list.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
Hey Guys,
I am testing the t_set_no_e2e_cancel_reason in latest stable Kamailio (and also in 4.2.x) but it does not seem to work. Trying to disable it via e2e_cancel_reason=0 works as expected.
The target would be disabling in the script copying the reason from original CANCEL to hop-by-hop one like:
```
if($hdr(Reason)=="SIP;cause=487;text=ORIGINATOR_CANCEL") t_set_no_e2e_cancel_reason(1);
```
My version:
```
# kamailio -V
version: kamailio 4.3.1 (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, F_MALLOC, DBG_F_MALLOC, 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_LISTEN 16, 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 4.7.2
```
I am at your disposal for any further troubleshooting steps.
Ta,
DanB
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/261
Scenario:
U1 (caller) ---> P1 (192.168.0.245, kamailio 4.3, loose-router) ----> P2 ----> (192.168.0.101, strict router) ----> .... ----> U2 (called)
When U2 answers the call, at P1 arrives the 200 OK with:
Record-Route: <sip:0000000011@192.168.0.101;transport=udp;pgw-call=call-28d2e>
Record-Route: <sip:192.168.0.245;lr=on>
The problem is that the ACK from U1 is forwarded from kamailio to P2, as if P2 is a loose router. P2 drops the ACK message.
>From kamailio logs I see:
`Jul 14 10:07:44 P1 /usr/sbin/kamailio[15908]: DEBUG: rr [loose.c:88]: is_preloaded(): is_preloaded: No
Jul 14 10:07:44 P1 /usr/sbin/kamailio[15908]: DEBUG: rr [loose.c:783]: after_loose(): Topmost route URI: 'sip:192.168.0.245;lr=on' is me
Jul 14 10:07:44 P1 /usr/sbin/kamailio[15908]: DEBUG: rr [loose.c:869]: after_loose(): URI to be processed: 'sip:0000000011@192.168.0.101;transport=udp;pgw-call=call-289ce'
Jul 14 10:07:44 P1 /usr/sbin/kamailio[15908]: DEBUG: rr [loose.c:878]: after_loose(): Next URI is a loose router
`
The Route HF in the ACK with the URI of the next hop does not contain ;lr .
It seems that the function is_strict fails detecting the strict router.
Below the ACK received by U1:
`#
U 172.26.130.235:44435 -> 192.168.0.245:5060
ACK sip:7240F8EF-55A4D642000CBC22-8A135700@172.16.0.21;transport=udp SIP/2.0
Via: SIP/2.0/UDP 172.26.130.235:44435;branch=z9hG4bK-d8754z-1cd3a01fa9171649-1---d8754z-
Max-Forwards: 70
Route: <sip:192.168.0.245;lr>
Route: <sip:0000000011@192.168.0.101;transport=udp;pgw-call=call-28d2e>
Contact: <sip:0000000010@172.26.130.235:44435;transport=UDP>
To: <sip:0000000011@192.168.0.245;transport=UDP>;tag=516145211
From: <sip:0000000010@192.168.0.245;transport=UDP>;tag=a56ac352
Call-ID: NGU5YmUzMGYwM2RmMzc0YTQyNDRmZWZlOWJmMTA0ZjY.
CSeq: 2 ACK
Proxy-Authorization: Digest username="0000000010",realm="192.168.0.245",nonce="VaTXblWk1kKUxIMJBdWbpRBBCP850QVR",uri="sip:0000000011@192.168.0.245;transport=UDP",response="1daf03c97b8a12e0154d463f543e5592",algorithm=MD5
User-Agent: Z 3.6.25251 r25476
Content-Length: 0
`
and this the ACK forwarded by Kamailio to P2
`#
U 192.168.0.245:5060 -> 192.168.0.101:5060
ACK sip:7240F8EF-55A4D642000CBC22-8A135700@172.16.0.21;transport=udp SIP/2.0
Via: SIP/2.0/UDP 192.168.0.245;branch=z9hG4bKa252.cc67d8b538d8ad5c01c3e75d472653ec.0
Via: SIP/2.0/UDP 172.26.130.235:44435;branch=z9hG4bK-d8754z-1cd3a01fa9171649-1---d8754z-
Max-Forwards: 69
Route: <sip:0000000011@192.168.0.101;transport=udp;pgw-call=call-28d2e>
Contact: <sip:0000000010@172.26.130.235:44435;transport=UDP>
To: <sip:0000000011@192.168.0.245;transport=UDP>;tag=516145211
From: <sip:0000000010@192.168.0.245;transport=UDP>;tag=a56ac352
Call-ID: NGU5YmUzMGYwM2RmMzc0YTQyNDRmZWZlOWJmMTA0ZjY.
CSeq: 2 ACK
Proxy-Authorization: Digest username="0000000010",realm="192.168.0.245",nonce="VaTXblWk1kKUxIMJBdWbpRBBCP850QVR",uri="sip:0000000011@192.168.0.245;transport=UDP",response="1daf03c97b8a12e0154d463f543e5592",algorithm=MD5
User-Agent: Z 3.6.25251 r25476
Content-Length: 0
`
Thanks. Regards.
Antonio
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/267
Module: kamailio
Branch: 4.2
Commit: 0396887f260ad0f60cf207a208a60b50f2233179
URL: https://github.com/kamailio/kamailio/commit/0396887f260ad0f60cf207a208a60b5…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-07-29T12:45:01+02:00
tm: regenerated the readme
---
Modified: modules/tm/README
---
Diff: https://github.com/kamailio/kamailio/commit/0396887f260ad0f60cf207a208a60b5…
Patch: https://github.com/kamailio/kamailio/commit/0396887f260ad0f60cf207a208a60b5…
---
diff --git a/modules/tm/README b/modules/tm/README
index cbf7de9..93fd564 100644
--- a/modules/tm/README
+++ b/modules/tm/README
@@ -1721,7 +1721,7 @@ failure_route[1] {
deciding if the transaction is complete. In the referred block, you can
start a new branch which is required for failover of multiple outbound
flows (RFC 5626). Note that the set of commands which are usable within
- a branch_failure route is limited to a subset of the failure_route
+ a branch_failure route is limited to a subset of the failure_rotue
commands including logging, rewriting URI and initiating new branches.
Any other commands may generate errors or result in unpredictable
behavior. Note that whenever failure_route is entered, uri is reset to
@@ -2638,6 +2638,9 @@ t_relay_to("0x01");
It overrides the e2e_cancel_reason setting (module parameter) for the
current transaction.
+ Note: the function has to be used when processing the INVITE (not when
+ processing the CANCEL).
+
See also: e2e_cancel_reason.
Example 1.86. t_set_no_e2e_cancel_reason usage
Module: kamailio
Branch: 4.2
Commit: 54b67e9e78bc1ed8430cb33e69a34c2d92634d7b
URL: https://github.com/kamailio/kamailio/commit/54b67e9e78bc1ed8430cb33e69a34c2…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2015-07-29T12:42:28+02:00
tm: added note in docs for t_set_no_e2e_cancel_reason()
- it has to be used when processing the INVITE
(cherry picked from commit e5f472ca5d8d2e16adb8b5a5a316521a618c8d9f)
(cherry picked from commit 4c7e676cdec3213c27cc689bdb5e6bbb8a9ec1ea)
---
Modified: modules/tm/doc/functions.xml
---
Diff: https://github.com/kamailio/kamailio/commit/54b67e9e78bc1ed8430cb33e69a34c2…
Patch: https://github.com/kamailio/kamailio/commit/54b67e9e78bc1ed8430cb33e69a34c2…
---
diff --git a/modules/tm/doc/functions.xml b/modules/tm/doc/functions.xml
index e2da84c..238e056 100644
--- a/modules/tm/doc/functions.xml
+++ b/modules/tm/doc/functions.xml
@@ -1665,6 +1665,10 @@ t_relay_to("0x01");
parameter) for the current transaction.
</para>
<para>
+ Note: the function has to be used when processing the INVITE
+ (not when processing the CANCEL).
+ </para>
+ <para>
See also: <varname>e2e_cancel_reason</varname>.
</para>
<example>