| Neil, Start with enrollment and then move on to security and then ICE. The reasoning here is that you MUST have a configuration file to setup security and you need the security implementation to implement ICE Attach. This is because of where the a Node ID is stored. You will need to implement DNS SRV in order to implement enrollment. I used c-ares for testing and then implemented DNS SRV myself. I use C++ but surely there is DNS SRV support built into .NET? If your looking for an easy to use and highly scalable STUN/TURN server that is up to date have a look at using reTurn in the resiprocate svn repository. There is also Numb STUN/TURN server however it has been obsoleted by rfc5389 and doesn't look to be worked on anymore. As a 2nd option there is the pjnath library as part of the pjsip project. You could code a C# wrapper for pjnath and use that on your client side for the ICE transports, of course you will have to implement TLS and DTLS over these yourself as TLS in pjnath is used as it should be in the context of TURN. Having said that I implemented STUN/TURN and ICE myself to remove these dependancies but did start off using pjnath(GPL) on the client for ICE and reTurn on the server side. Now I shared a common code base between p2p code and managed server code which makes things much easier to maintain. Julian On Oct 16, 2009, at 9:14 AM, neil.young wrote:
|