Hi Oleg,

If your OpenSIPS does interface switching (UDP <> SCTP), there should be two RR headers in the outbound INVITE / 200 OK - one RR describing the UDP interface, the second one describing the SCTP interface.

I see you have only one RR header :(. SO, do you disable the "enable_double_rr" param in rr module ? or do you use the record_route_preset() function ?

Regards,

Bogdan-Andrei Iancu

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

On 04/25/2019 08:21 PM, Олег Подгуйко via Users wrote:
Hello!

I am using opensips as a proxy for load balansing. It listens two ports. Logically from one side it is SCTP port 5070 and from another side is UDP port 5060. UAC from UDP side sends INVITE via UDP protocol. OpenSips accepts it, checks it, gets the next sip address from dispatcher module for this request, and sends INVITE via SCTP protocol to the next SIP address. All are fine. From SCTP side I get 100, 180 and finaly 200. All messages was got via SCTP protocol. 200 consists record-route header


SIP/2.0 200 OK
Via: SIP/2.0/SCTP 10.0.2.15:5070;branch=z9hG4bKccbc.5617e394.0, SIP/2.0/UDP 10.0.2.6:5060;branch=z9hG4bK-24303-1-0
From: sipp <sip:[email protected]:5060>;tag=1
To: sut <sip:[email protected]:5060>;tag=4581SIPpTag015
Call-ID: [email protected]
CSeq: 1 INVITE
Record-Route:<sip:10.0.2.4:5070;lr;transport=sctp>
Contact: <sip:10.0.2.4:5070>
Content-Length: 0

Opensips sends 200 responce to the UDP side.

In fine opensips get ACK from UDP side which has ROUTE header

ACK sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 10.0.2.6:5060;branch=z9hG4bK-24303-1-4
From: sipp <sip:[email protected]:5060>;tag=1
To: sut <sip:[email protected]:5060>;tag=4581SIPpTag015
Call-ID: [email protected]
CSeq: 1 ACK
Route: <sip:10.0.2.4:5070;lr;transport=sctp>
Max-Forwards: 70
Subject: Performance Test
Content-Length: 0



Furthet the most interesting. This is a log

апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:uri:has_totag: totag found апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:core:parse_headers: flags=200 апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:rr:is_preloaded: No апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:core:grep_sock_info: checking if host==us: 9==9 && [10.0.2.15] == [10.0.2.15] апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:core:grep_sock_info: checking if port 5060 matches port 5060 апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:core:grep_sock_info: checking if host==us: 9==9 && [10.0.2.15] == [10.0.2.15] апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:core:grep_sock_info: checking if port 5060 matches port 5060 апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:rr:after_strict: Next hop: 'sip:10.0.2.4:5070;lr;transport=sctp' is loose router апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:core:parse_headers: flags=ffffffffffffffff апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:core:get_hdr_field: content_length=0 апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:core:get_hdr_field: found end of header апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:rr:after_strict: The last route URI: 'sip:10.0.2.4:5070;lr;transport=sctp' апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:rr:run_rr_callbacks: callback id 1 entered with <lr;transport=sctp> апр 25 12:14:18 OpenSips.server /usr/sbin/opensips[1213]: DBG:dialog:dlg_onroute: Route param 'did' not found

Opensips tryes to send this ACK to the SCTP side using UDP protocol!!! source port it uses 5060 and remote port 5070 Of course, such an ACK does not reach the addressee. And the call does not complete successfully.

ACK sip:10.0.2.4:5070;lr;transport=sctp SIP/2.0
Via: SIP/2.0/UDP 10.0.2.15:5060;branch=z9hG4bKccbc.5617e394.2
Via: SIP/2.0/UDP 10.0.2.6:5060;branch=z9hG4bK-24303-1-4
From: sipp <sip:[email protected]:5060>;tag=1
To: sut <sip:[email protected]:5060>;tag=4581SIPpTag015
Call-ID: [email protected]
CSeq: 1 ACK
Max-Forwards: 69
Subject: Performance Test
Content-Length: 0

 Why opensips do not send via SCTP protocol? What I do wrong?







--
Oleg Podguyko


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to