The Transport Layer Security (TLS) protocol is a security protocol able to protect the communication for web, e-mail, and many other systems. TLS is negotiated hop by hop, so it is possible to have TLS-UDP-TLS connections. This protocol provides you with privacy and data integrity between two applications. This occurs by authentication, encryption, and integrity protection protocols. The detailed explanation of TLS is beyond the scope of this book. You can search for detailed information in RFC 5246 (https://tools.ietf.org/html/rfc5246). Here, we will focus on how to apply TLS to your scripts and give you an example on how to implement it in popular softphones. Refer to your client device's manufacturer for details on how to use TLS in a particular IP phone or ATA.
To enable TLS, we will have to follow these steps:
Compile OpenSIPS with the
proto_tls
module.Add the appropriate statements to the configuration script.
Create the certificate authority keys in...