There is no opportunity to join the fight unless you first break out of the siege. Breaking out is a forced "simulation" where you lose a good deal of your troops. Then you even have to traverse in the campaign map for a bit to join the battle. Sallying out lets you take your garrison in the fight as well but you will face the whole besiegeing army without allies even though the besieging army is supposed to be fighting my allied relief army at the same time. Also, sallying out is just a normal field battle instead of actually sallying out of the town gates. None of this makes any sense.