Hi,
We need to build multipart SIP messages with SDP, with rtpengine involved in the process. We currently use rtpengine_offer() then msg_apply_changes() to retrieve get the newly generated SDP in $rb and then build the multipart body. Besides the fact that this is not optimal, we experience crashes in failure routes[1].
What would help in our case, is if the rtpengine module was able to return the SDP in a pv rather than in the body. This would eliminate the need to call msg_apply_changes().
Has someone already needed this behavior? Do you think this could be useful to integrate in the rtpengine module?
Cheers.
[1] the following sequence:
t_newtran(); rtpengine_offer(); msg_apply_changes(); [adding lumps with set_body(), append_hf()] t_relay(); # if it fails: failure_route[] {t_relay();}
causes a crash, and we think this is because the t_relay() in the failure route tries to apply the lumps computed on the reparsed message (after msg_apply_changes()), on the old version of it (saved by t_newtran()), and offsets and sizes don't correspond.