Hi,

The 100 is never relayed, it is a hop by hop reply. So that is ok. On the 180, indeed, the TM/transaction module fails to match the reply to any transaction - have you actually inspected the VIA/Cseq/Callid to see if the do match ? Maybe the incoming 180 is indeed broken.

Regards,

Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  http://www.opensips-solutions.com
OpenSIPS Summit 2018
  http://www.opensips.org/events/Summit-2018Amsterdam

On 04/12/2018 08:21 PM, SamyGo wrote:
Hi,
Seems like I'm stuck with a very basic situation. I've 2 OpenSIPS boxes and 2 Users registered on each Proxy. Caller is on UDP, Destination is on TCP. Call made from A to B will not have its 1XX and 2XX relayed back to the originating Proxy: see this sngrep flow.



So, naturally OpenSIPS-B triggers 408 Timeout.

So iptables is off and I can see 180 Ringing and subsequent replies showing up in OpenSIPS logs like this:
</img>

 DBG:core:tcp_read_req: tcp_read_req end
 DBG:core:tcp_read_req: Using the global ( per process ) buff
 DBG:core:tcp_handle_req: content-length= 0
DBG:core:tcp_handle_req: Nothing more to read on TCP conn 0x7f93987cc9b8, currently in state 0
 DBG:core:parse_msg: SIP Reply  (status):
 DBG:core:parse_msg:  version: <SIP/2.0>
 DBG:core:parse_msg:  status:  <180>
 DBG:core:parse_msg:  reason:  <Ringing>
 DBG:core:parse_headers: flags=2
 DBG:core:get_hdr_field: cseq <CSeq>: <2> <INVITE>
DBG:core:parse_via_param: found param type 234, <received> = <18.11.20.74>; state=6 DBG:core:parse_via_param: found param type 232, <branch> = <z9hG4bK56988cb3-e13c-e811-961a-c45444377777>; state=6 DBG:core:parse_via_param: found param type 235, <rport> = <5060>; state=16
 DBG:core:parse_via: end of header reached, state=5
 DBG:core:parse_headers: via found, flags=2
 DBG:core:parse_headers: this is the first via
 DBG:core:receive_msg: After parse_msg...
 DBG:core:forward_reply: found module nathelper, passing reply to it
 DBG:core:parse_headers: flags=4
 DBG:core:parse_to_param: tag=40adb5b3-e13c-e811-86eb-c4544411cd9b
 DBG:core:_parse_to: end of header reached, state=29
DBG:core:_parse_to: display={}, ruri={sip:5...@myvoiptest.net <mailto:sip%3a5...@myvoiptest.net>} DBG:core:get_hdr_field: <To> [70]; uri=[sip:5...@myvoiptest.net <http://myvoiptest.net> ] DBG:core:get_hdr_field: to body [<sip:5...@myvoiptest.net <http://myvoiptest.net> >]
 DBG:core:get_hdr_field: content_length=0
 DBG:core:get_hdr_field: found end of header
 DBG:core:forward_reply: found module tm, passing reply to it
 DBG:tm:t_check: start=0xffffffffffffffff
 DBG:core:parse_headers: flags=22
 DBG:core:parse_headers: flags=8
 DBG:tm:t_reply_matching: failure to match a transaction
 DBG:tm:t_check: end=(nil)
 DBG:core:destroy_avp_list: destroying list (nil)



For successful relaying the last few lines show a matched transaction. I suspected CSEQ and Via headers and going through the traces+logs meanwhile looking for some guidance as what params to look for.


OpenSIPS is latest devel:
version: opensips 2.4.0-dev (x86_64/linux)
flags: STATS: On, SHM_EXTRA_STATS, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, QM_MALLOC, DBG_MALLOC, FAST_LOCK-ADAPTIVE_WAIT ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535
poll method support: poll, epoll, sigio_rt, select.
git revision: 0ff609d
main.c compiled on 19:11:13 Apr 11 2018 with gcc 5.4.0

P.S: Same config works for other calls as well.

Regards,
Sammy


_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to