Put the milk, half-and-half, salt and whatever flavors you are steeping with in a medium saucepan. Heat to a gentle simmer, remove from the heat and let steep for 30 minutes.
Whisk the sugar, vanilla and egg yolks in a medium bowl. Gradually strain in and whisk about half of the warm milk mixture into the eggs. Then, while whisking constantly, add the warmed eggs to the remaining milk mixture.
Return to the heat and cook the gelato base, stirring constantly with a wooden spoon, until thick and it coats a spoon, about 10 minutes. Transfer the mixture into a bowl set over an ice bath to stop the cooking and bring down the temperature.
Strain the mixture again through a fine strainer, pushing to extract all the liquid. Churn the gelato in a gelato/ice cream maker, following manufacturer's instructions.
Fold in desired mix-ins once the gelato has finished spinning in the machine. Transfer to a container and freeze until solid and ready to serve.