Heat olive oil in a large thick-walled saucepan, add all the onions and cook, stirring occasionally, until soft. Then add garlic, tomatoes and tomato paste, cook, stirring occasionally, for about 5 minutes.
Put fish bones, orange zest, herbs in a saucepan with vegetables, pour wine, salt and pepper to taste. Add enough water to cover the contents of the pot. Bring the mixture to a boil, then reduce the heat and cook the broth under a closed lid for about 30 minutes.
Strain the broth through a sieve.
Pour the strained broth into a clean saucepan and taste with salt, add salt if necessary. Add whiskey to the soup (optional). Put the saucepan over medium heat, bring to a boil, then add the pieces of fish and shrimp, and cook the fish soup with shrimp until tender, 2-3 minutes. Serve fish soup in plated bowls sprinkled with parsley.