I wrote a small STUN client in Ruby . It implements the RFC3489 standard. It does not provide authentication or advanced error handling. However, it works fine. You can also set the change IP/port flag. For the implementation I used the library `bindata'. https://codeberg.org/mark22k/stun-client