In a large bowl, combine the pork shoulder, veal, and fatback. Grind the meat mixture using a meat grinder with a medium or coarse grind plate.
For a finer texture, grind the meat mixture twice.
In a separate bowl, combine the crushed ice, milk, and breadcrumbs. Let it sit for a few minutes to allow the breadcrumbs to absorb the liquid.
Add the soaked breadcrumbs mixture to the ground meat.
Stir in the chopped onion, minced garlic, salt, black pepper, nutmeg, marjoram, caraway seeds (if using), and paprika. Mix thoroughly until all ingredients are well combined.
Rinse the sausage casings under cold water and soak them in water for 30 minutes. Then, rinse them again and keep them in a bowl of clean water until ready to use.
Rinse the sausage stuffer attachment and slide it onto the grinder or stuffing machine.
Slide one end of the casing onto the stuffer and tie a knot at the other end.
Carefully stuff the casing with the sausage mixture, being careful not to overfill. Twist the sausages into 6-inch links and tie off the open end. Prick any air bubbles with a needle or pin.
To cook the bratwurst, heat a grill or skillet over medium heat. Cook the sausages, turning occasionally, for about 15-20 minutes or until fully cooked and nicely browned. The internal temperature should reach 160°F (71°C).
Enjoy your meal!