In a frying pan over medium heat, toast the cinnamon, star anise, cloves, coriander, fennel and cardamom until fragrant, stirring frequently and being careful not to burn. Add to the crock pot.
In the same pan, add the ginger and onion with the cut sides down and cook until they start to become charred, about 10 minutes. Add to the crock pot.
Add the carrots and oxtails (or short ribs) to the crock pot. Pour in beef stock and an additional one cup of water. Add the soy sauce, fish sauce and sugar.
Cook on low for 8 hours.
When done, remove meat and set aside. Strain the broth through a fine mesh strainer to remove the solids. Skim fat off of the top or you can refrigerate and the fat will solidify on the top, making it very easy to remove.
Remove the meat from the bone and add the meat back to the broth. Taste the broth and add salt or more fish sauce if needed.
Cook the rice noodles according to package instructions, set aside.
To prepare each bowl of soup, add a serving of rice noodles to the bowl and add slices of the sirloin steak. Pour the hot broth over the noodles and meat, which will cook the steak slices (if you don't want to do this, just add the steak slices to the hot broth a few minutes before serving to cook it)
Serve with the additional toppings and allow each person to garnish the soup as they wish.
Notes
*You can sub short ribs for the oxtail or use a mix of both **The amount of salt you will add depends on how much is in the broth and also your tastes, so it is best to add it at the end if needed after tasting the broth. ***Usually the slices of raw steak ar added to the bowl and then the hot broth is poured over it to cook them. However if you are squeamish about that, add them to the broth a few minutes before serving to cook them (don't cook them too long or they will get tough)