[OpenSIPS-Users] Opensips dosnt send ACK according to the route.

Bogdan-Andrei Iancu bogdan at opensips.org
Wed May 22 03:18:33 EDT 2019


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:sipp at 10.0.2.6:5060>;tag=1
> To: sut <sip:79677777777 at 10.0.2.15:5060>;tag=4581SIPpTag015
> Call-ID: 1-24303 at 10.0.2.6
> 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:79677777777 at 10.0.2.15:5060 SIP/2.0
> Via: SIP/2.0/UDP 10.0.2.6:5060;branch=z9hG4bK-24303-1-4
> From: sipp <sip:sipp at 10.0.2.6:5060>;tag=1
> To: sut <sip:79677777777 at 10.0.2.15:5060>;tag=4581SIPpTag015
> Call-ID: 1-24303 at 10.0.2.6
> 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:sipp at 10.0.2.6:5060>;tag=1
> To: sut <sip:79677777777 at 10.0.2.15:5060>;tag=4581SIPpTag015
> Call-ID: 1-24303 at 10.0.2.6
> 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
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20190522/d7ab4791/attachment-0001.html>


More information about the Users mailing list