Hello again,
answering to myself, the solution is not really intuitive - instead of
using |rtpengine_answer()| directly, one has to use |rtpengine_offer()|
with a |force-answer| flag. Doing so makes the |rtpengine| module set
the |command| value to |answer| when sending the request via the control
interface:
|rtpengine_offer("force-answer to-tag=$sig_local_totag", ,
$var(new_sdp_answer), $var(orig_sdp_answer));|
|append_to_reply("Contact: $var(contact)\r\n");
append_to_reply("Content-Type: application/sdp\r\n");
t_reply_with_body(200,"OK",$var(||new_sdp_answer||));
exit;|
Pavel
Dne 08.03.2026 v 14:01 Pavel Sindelka napsal(a):
Hello,
https://opensips.org/docs/modules/3.6.x/rtpengine.html#func_rtpengine_answer
doesn't mention any restrictions on use of this function, but in
reality opensips does not send anything to rtpengine if
|rtpengine_answer()| is called on a request route handling the INVITE.
Nothing in the log, no UDP exchange on the rtpengine control port,
regardless whether |rtpengine_offer()| is called earlier on that route
or not. If it is, the information exchange with rtpengine related to
|rtpengine_offer()| can be seen both in the log and on the rtpengine
control port.
The intended overall workflow is to call |rtpengine_offer()|, handle
the mangled SDP offer internally and generate the SDP answer, and get
it "mangled back" using |rtpengine_answer()| before using it as the
body of a locally generated 200 response to the INVITE. Could it be
that as of now, |rtpengine_manage()| not only "combines the
functionality ... based on message type and method ..." but the three
individual methods have actually become just aliases of
|rtpengine_manage()| for backward compatibility? Or is the actual
execution of |rtpengine_answer()| suppressed thanks to some
undocumented plausibility check?
Is there any way to enforce execution of |rtpengine_answer()| on a
request route handling the INVITE?
Thank you for advice.
Pavel
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users