On 03/02/16 15:14, Alex Balashov wrote:
[...]
Notwithstanding that, there may be other exotic cases as well where rtpengine_manage() doesn't do the right thing.
... forgot about the above remark: when I added rtpproxy_manage() I evaluated all possibilities, so while I am not excluding I overlooked something, the function is quite old by now not to have such case surfaced.
It handles properly the situations when INVITE has or not SDP, ACK has or not SDP, UPDATE has or not SDP, INVITE responses with SDP, as well as failed/cancelled initial INVITEs and the BYE requests.
Practically rtpproxy_manage() is executing the rtpproxy_offer()/_answer()/_delete() based on the request/response type and state of transaction.
If you are aware of a case not properly covered, then report it as a bug on tracker and it will be fixed, the role of rtpproxy_manage() is to simplify the config file, by doing all those different conditions in code.
Cheers, Daniel