@@ -660,24 +660,35 @@ pub(crate) async fn create_fallback_ice_servers(context: &Context) -> Result<Str
660660 // because of bandwidth costs:
661661 // <https://github.com/jselbie/stunserver/issues/50>
662662
663- // We use nine.testrun.org for a default STUN server.
664- let hostname = "nine.testrun.org" ;
663+ let hostname = "turn.delta.chat" ;
664+ // Do not use cache because there is no TLS.
665+ let load_cache = false ;
666+ let urls: Vec < String > = lookup_host_with_cache ( context, hostname, STUN_PORT , "" , load_cache)
667+ . await ?
668+ . into_iter ( )
669+ . map ( |addr| format ! ( "turn:{addr}" ) )
670+ . collect ( ) ;
671+ let turn_server = IceServer {
672+ urls,
673+ username : Some ( "public" . to_string ( ) ) ,
674+ credential : Some ( "o4tR7yG4rG2slhXqRUf9zgmHz" . to_string ( ) ) ,
675+ } ;
665676
677+ let hostname = "nine.testrun.org" ;
666678 // Do not use cache because there is no TLS.
667679 let load_cache = false ;
668680 let urls: Vec < String > = lookup_host_with_cache ( context, hostname, STUN_PORT , "" , load_cache)
669681 . await ?
670682 . into_iter ( )
671683 . map ( |addr| format ! ( "stun:{addr}" ) )
672684 . collect ( ) ;
673-
674- let ice_server = IceServer {
685+ let stun_server = IceServer {
675686 urls,
676687 username : None ,
677688 credential : None ,
678689 } ;
679690
680- let json = serde_json:: to_string ( & [ ice_server ] ) ?;
691+ let json = serde_json:: to_string ( & [ turn_server , stun_server ] ) ?;
681692 Ok ( json)
682693}
683694
0 commit comments