Basically, in this case the application needs to run in 3PCC mode as that gives the application developer full responsibility of controlling SDP body for all SIP messages exchanged in a dialog.
Unfortunately, there is no access to SDP in 1PCC mode as everything is controlled at the SIP stack level below the application. Thus in order to avoid the need to different APIs to cover multiple permutations which may be encountered for handling SDP bodies, it was decided to just give full control to the application developer to handle this directly to suite their own needs.
Jeff