TURN-server | Langetermijnreferenties

Doorgaans worden TURN-servers geconfigureerd MET authenticatie voor TURN-verzoeken en zonder authenticatie voor STUN-verzoeken.

 

sgcWebSockets TURN Server ondersteunt langetermijncredentials, zodat u TsgcTURNServer kunt configureren om alleen verzoeken met langetermijn-credentialinformatie toe te staan.

 

Om dit te configureren, opent u de eigenschap TURNOptions.Authorization en schakelt u deze in.

Ga vervolgens naar de eigenschap LongTermCredentials en schakel deze in. Standaard is dit type autorisatie al geconfigureerd met een Realm-tekenreeks en een standaard StaleNonce-waarde van 10 minuten (= 600 seconden).

 


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;