When the Roman relief army came on, the Barbarians tried to about face their 2 infantry divisions to go and meet them, leaving their cavalry and engines to face the city garrison.
The Samartans countered by charging with the cataphracts while covering their left with horse archers. The horse archers were smashed by a cohort, but they did their job, the cataphracts rode down 2 cohorts to split the Roman army in two.
The 2nd legion might have been almost surrounded, but it was a tough nut to crack. The cataphracts bounced off and then had to face about to hold off the 1st legion.
But the Barbarians had plenty of warbands to throw in with one to spare to help the cataphracts.
The battle featured 2 devastating cavalry charges. The Romans looked well on top when their cavalry smashed 2 warbands in a pre-emptive strike, but the legions were too far back to exploit the gap & the barbarians reformed. Then the Samartan cataphracts returned the favour, smashing thru 2 cohorts. But this split the Roman army and the barbarian infantry was close enough to exploit the resulting opportunities.
The sortie from the city was an interesting sideshow, but ultimately not decisive, the barbarians had left just enough behind to protect the camp for long enough.