I want to implement a WebRTC peer connection. I do not know how to setup an ICE server or what tool should I use. Can anyone advice me on this. Thank you very much.
Actually you don't need to write your own STUN/TURN server
There are lots of ready solutions, especially this one is really good https://github.com/coturn/coturn/.
TURN is an extension of STUN, so TURN server supports all STUN operations as well
What you need is to install turn server on some server and put your WebRTC application to it