<div dir="ltr"><div dir="ltr">On Thu, May 12, 2022 at 12:06 PM Fridrich Maximilian <<a href="mailto:M.Fridrich@commend.com">M.Fridrich@commend.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I think I have found out why the indication order on hold/unhold matters:<br>
<br>
AST_CONTROL_HOLD/UNHOLD only cares about the audio stream and does not touch<br>
the topology of any other streams. So when Asterisk receives an SDP with audio<br>
and video and both are sendonly, chan_pjsip indicates AST_CONTROL_HOLD for<br>
the audio stream and AST_CONTROL_STREAM_TOPOLOGY_REQUEST_CHANGE for the video<br>
stream.<br>
<br>
If AST_CONTROL_HOLD is indicated after<br>
AST_CONTROL_STREAM_TOPOLOGY_REQUEST_CHANGE, it still has "outdated" topology<br>
information as it only cares about the default audio stream. So after the<br>
stream topology is changed, it is "overwritten" by the outdated topology from<br>
the hold/unhold indication.<br>
<br>
To resolve the issue, the topology request change needs to check if this is<br>
also a hold/unhold. If it is, there are two option:<br>
<br>
1. Ensure that it executes after the hold/unhold indication<br>
2. Ensure that the hold/unhold indication receives the updated topology<br>
<br>
I'm stuck on implementing either of those solutions. I think the place we need<br>
to work on is in bridge_channel.c:bridge_handle_trip() before the call to<br>
stream_topology_changed(). In bridge_handle_trip() we might still have a chance<br>
to interact with the other channel(s) in the bridge.<br>
<br>
Does anyone have any idea on how to proceed?<br></blockquote><div><br></div><div>Not off the top of my head. I will try to give this some thought but I don't know if/when I'll really have any thought, it's not something that can really be answered without digging in deeply and refreshing memory on the entire view of everything.</div><div><br></div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div style="font-family:tahoma,sans-serif"><font color="#073763">Joshua C. Colp</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Asterisk Technical Lead</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Sangoma Technologies</font></div><div style="font-family:tahoma,sans-serif"><font color="#073763">Check us out at <a href="http://www.sangoma.com" target="_blank">www.sangoma.com</a> and <a href="http://www.asterisk.org" target="_blank">www.asterisk.org</a></font><br></div></div></div></div></div></div></div></div></div></div></div>