code: func (fw *Checkpoint) Start(ctx context.Context, info map[string]string, timeout int) (bool, error) {
  	p := fw.startRadiusPacket(ctx, info, timeout)
  	client := fw.getRadiusClient(ctx)
  	// Use the background context since we don't want the lib to use our context
  	ctx2, cancel := fw.RadiusContextWithTimeout()
  	defer cancel()
  	_, err := client.Exchange(ctx2, p, fw.PfconfigHashNS+":"+fw.Port)
  	if err != nil {
  		log.LoggerWContext(ctx).Error(fmt.Sprintf("Couldn't SSO to the Checkpoint, got the following error: %s", err))
  		return false, err
  	} else {
  		return true, nil
  	}
  }
docs: // Send an SSO start to the Checkpoint firewall
  // Returns an error unless there is a valid reply from the firewall