Not sure which approach is better, perhaps the second one (from SIP point of view, the spiral is still a single dialog!).
From a SIP point of view, it is the same dialog, but from a practical
point of view it's a different call (the second INVITE may have a different SDP). Also, if you have a single dialog, when you need to send BYEs on timeout, where will you send the BYEs? What about the existing modules that are already working on top of the existing dialog design?
Regards, Ovidiu Sas