Servidor TURN | Credenciales a largo plazo

Normalmente, los Servidores TURN se configuran CON Autenticación para las solicitudes TURN y sin Autenticación para las solicitudes STUN.

 

El servidor TURN de sgcWebSockets admite credenciales de largo plazo, por lo que puede configurar TsgcTURNServer para que solo permita solicitudes con información de credenciales de largo plazo.

 

Para configurarlo, acceda a la propiedad TURNOptions.Authorization y actívela.

A continuación, acceda a la propiedad LongTermCredentials y actívela. De forma predeterminada, este tipo de autorización ya está configurado con una cadena Realm y un valor StaleNonce predeterminado de 10 minutos (= 600 segundos).

 


oTURN := TsgcTURNServer.Create(nil);
oTURN.Port := 3478;
oTURN.STUNOptions.Authentication.Enabled := False;
oTURN.TURNOptions.Authentication.Enabled := True;
oTURN.TURNOptions.Authentication.LongTermCredentials.Enabled := True;
oTURN.TURNOptions.Authentication.LongTermCredentials.Realm := 'sgcWebSockets';
oTURN.TURNOptions.Authentication.LongTermCredentials.StaleNonce := 600;
oTURN.Active := True;

procedure OnSTUNRequestAuthorization(Sender: TObject; const aRequest: TsgcSTUN_Message; 
  const aUsername, aRealm: string; var Password: string);
begin
  if (aUsername = 'my-user') and (aRealm = 'sgcWebSockets') then
    Password := 'my-password';
end;