TURN Server | Long Term Credentials

Normalerweise werden TURN-Server MIT Authentifizierung für TURN-Anfragen und ohne Authentifizierung für STUN-Anfragen konfiguriert.

 

Der sgcWebSockets-TURN-Server unterstützt Long-Term Credentials, sodass Sie TsgcTURNServer so konfigurieren können, dass nur Anfragen mit Long-Term-Credentials-Informationen zugelassen werden.

 

Um es zu konfigurieren, greifen Sie auf die Eigenschaft TURNOptions.Authorization zu und aktivieren Sie sie.

Greifen Sie dann auf die Eigenschaft LongTermCredentials zu und aktivieren Sie sie. Standardmäßig ist dieser Autorisierungstyp bereits mit einer Realm-Zeichenkette und einem Standard-StaleNonce-Wert von 10 Minuten (= 600 Sekunden) konfiguriert.

 


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;