Here important moment about "sips" URI supports.
That requires use of rfc56303.1.3. Using TLS with SIP Instead of SIPS
Because a SIPS URI implies that requests sent to the resource identified by it be sent over each SIP hop over TLS, SIPS URIs are not suitable for "best-effort TLS": they are only suitable for "TLS- only" requests. This is recognized in Section 26.2.2 of [RFC3261].3.2. Detection of Hop-by-Hop Security
The presence of a SIPS Request-URI does not necessarily indicate that the request was sent securely on each hop. So how does a UAS know if SIPS was used for the entire request path to secure the request end- to-end? Effectively, the UAS cannot know for sure. However, [RFC3261], Section 26.4.4, recommends how a UAS can make some checks to validate the security.Ensuring that TLS will be used for all of the request segments up to the target domain is somewhat complex. It is possible that cryptographically authenticated proxy servers along the way that are non-compliant or compromised may choose to disregard the forwarding rules associated with SIPS (and the general forwarding rules in Section 16.6). Such malicious intermediaries could, for example, retarget a request from a SIPS URI to a SIP URI in an attempt to downgrade security.To address these concerns, it is RECOMMENDED that recipients of a request whose Request-URI contains a SIP or SIPS URI inspect the To header field value to see if it contains a SIPS URI (though note that it does not constitute a breach of security if this URI has the same scheme but is not equivalent to the URI in the To header field). Although clients may choose to populate the Request-URI and To header field of a request differently, when SIPS is used this disparity could be interpreted as a possible security violation, and the request could consequently be rejected by its recipient. Recipients MAY also inspect the Via header chain in order to double-check whether or not TLS was used for the entire request path until the local administrative domain was reached. S/MIME may also be used by the originating UAC to help ensure that the original form of the To header field is carried end-to-end.IF this recommendation is applied, then you not able to establish SIPS call. Because TCP or TLS proto will be used in socket or in via headers._______________________________________________On Thu, Oct 10, 2019 at 1:46 AM Joel Serrano <joel@textplus.com> wrote:Hey David,No, I was testing using the GSLB in GCP (Google) platform, but I believe the exact same scenario would either work (or not) on AWS, as at the end the key here is taking advantage of proxy protocol and SSL offloading, and both these cloud providers have that option.I'm going to give a try using force socket, maybe that's the way to go, I'll report back what I find out.Thanks!Joel._______________________________________________On Wed, Oct 9, 2019 at 3:37 PM David Villasmil <david.villasmil.work@gmail.com> wrote:Out of curiosity, is this on AWS?--On Wed, 9 Oct 2019 at 23:33, David Villasmil <david.villasmil.work@gmail.com> wrote:It looks pretty clear to me. I think whenever kamailio “sees” that protocol specification it will switch to that. Have you tried forcing the socket? Just wondering whether that would work.--On Wed, 9 Oct 2019 at 20:33, Joel Serrano <joel@textplus.com> wrote:Hi everyone,_______________________________________________I was giving a try to setup Kamailio with a Cloud TCP load balancer in front, taking advantage of the newly added proxy protocol compatibility and my initial tests went very well.Flow: client -> (tcp) -> load balancer -> (tcp) -> Kamailio TCP socketI then did another quick test and enabled TLS, also with good results:Flow: client -> (tls) -> load balancer -> (tls) -> Kamailio TLS socketSo far so good, proxy protocol works as expected.I wanted to go one step further and see if I could somehow offload SSL operations at the load balancer level, and leave kamailio handling plain tcp.Flow: client -> (tls) -> load balancer -> (tcp) -> Kamailio TCP socketThis partially worked, and before I start digging into what I have to do to get it completely working, I'd like to know if anyone already has a similar setup, or even if Kamailio is able to handle such a scenario, the reason I'm asking is because of the headers, etc.In this last scenario, I receive in a TCP socket, a request with TLS headers all over the place..INVITE sip:14a84f2016944eb0854ef0e9b71bfa10@app.mydomain.com:60655 SIP/2.0
Via: SIP/2.0/TLS 192.168.1.16:60717;branch=z9hG4bK.KmUpamn5P;rport
From: ...
To: ...
CSeq: 21 INVITE
Call-ID: -j1QSnam9o
Max-Forwards: 70
Route: <sip:sbc-test2.mydomain.com:443;lr>
Supported: replaces, outbound
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO, UPDATE
Content-Type: application/sdp
Content-Length: 436
Contact: <sip:linphone@A.B.C.D:60717;transport=tls>;+sip.instance="<urn:uuid:fabcb441-a348-49a7-948d-72448d6840eb>"I then forward this request via UDP to subsequent proxies for further processing, on the replies, my payload information back to the client should be TLS, although sent via a TCP socket..Is this something that will not work by design? Is there any hack I can take advantage of?The goal would be for Kamailio to handle TLS headers via TCP socket, as the client expects TLS information, but the actual traffic should go in plan TCP, and the load balancer will take care of re-encrypting before replying to the client.Any ideas/suggestions/comments?I hope this email is understandable, I find it complicated to detail the exact problem, feel free to ask any questions if you don't understand anything.Thanks,Joel.
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users