@wardmundy @jerrm @Eliad @restamp
Today I read the source code for Asterisk and PJSIP looking for how it uses ICE STUN, RTP, SRTP and DTLS, for max quality reliability and security/privacy. [1] [2] [3] [4] [5] [6] [7]
Looking for answers to this Big Question:
How do you get THE MOST reliable safe secure private call connections in all network conditions, and the least amount of user complaints and time and money wasted at the support help desk ??
Answer:virtually everywhere.
1. Enable Asterisk's RTP's (res_rtp) ICE STUN to get the audio/video media thru reliably. It uses the bundled PJSIP's ICE STUN libraries to find the best pathway for media under any network conditions.
2. Enable PJSIP ICE STUN, to let the SIP signaling find the most reliable network path to the endpoints, trunks etc
3. Enable IP6, and use it, with IP4. Mobile devices connect with IP6, some ONLY have an IP6 connection. The planet is upgrading to IP6. Asterisk PBX servers must accept connections on IP6 for maximum compatibility, speed, and lowest total cost of ownership. ICE STUN helps make whatever networking your PBX has, work smoothly and optimally.
https://blog.apnic.net/2018/02/15/bad-ipv4-address-exhaustion/
4. For security and privacy of calls, ICE STUN and SRTP DTLS and Direct Media (calls must not be terminated aka decrypted by any PBX server in the middle) are mandatory. ICE STUN is absolutely essential to make sure Direct Media finds a pathway from endpoint directly to endpoint under all network conditions / network topology layout.
[1]
http://www.pjsip.org/pjnath/docs/html/ice_demo_sample.htm
[2]
https://trac.pjsip.org/repos/wiki/IceNegotiationFailure
[3]
https://github.com/pjsip/pjproject
[4]
https://git.pjsip.org/gitpub?p=pjproject.git;a=summary
[5]
https://github.com/asterisk/asteris...61da398373b8d234/res/res_rtp_asterisk.c#L3395
[6]
https://trac.pjsip.org/repos/wiki/Getting-Started/Autoconf
[7]
https://stackoverflow.com/questions/47950966/how-to-use-ice-and-directmedia-together-in-asterisk