[asterisk-dev] [Code Review] 3275: res_rtp_asterisk: Fix the one way audio problems when resuming held calls with ICE

Joshua Colp reviewboard at asterisk.org
Thu Feb 27 14:26:38 CST 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3275/#review10982
-----------------------------------------------------------



/branches/11/res/res_rtp_asterisk.c
<https://reviewboard.asterisk.org/r/3275/#comment20620>

    I'd change these naming wise.
    
    proposed_remote_candidates
    active_remote_candidates



/branches/11/res/res_rtp_asterisk.c
<https://reviewboard.asterisk.org/r/3275/#comment20619>

    I think you can actually simplify this and get rid of the copy.
    
    1. Do a check of the container count - if they differ then, well, they're different.
    
    2. I'd use an ao2_callback to a function that finds the candidate in the other container. If there is no result return it from the function and check the ao2_callback. If you get a candidate back then it's different.
    
    This should simplify things, remove the clone, and cut down on your refcount leaks.



/branches/11/res/res_rtp_asterisk.c
<https://reviewboard.asterisk.org/r/3275/#comment20621>

    Instead of having special logic here why don't we always follow the pattern of putting new remote candidates into proposed and then moving them to active?


- Joshua Colp


On Feb. 27, 2014, 8:02 p.m., Jonathan Rose wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3275/
> -----------------------------------------------------------
> 
> (Updated Feb. 27, 2014, 8:02 p.m.)
> 
> 
> Review request for Asterisk Developers, Joshua Colp, Kevin Harwell, and Matt Jordan.
> 
> 
> Bugs: ASTERISK-22911
>     https://issues.asterisk.org/jira/browse/ASTERISK-22911
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> This patch provides a fix for the hold problem by doing the following:
> 
> Once an ICE session is marked as started, we start adding any new remote candidates into a separate list until we get another attempt to start the ICE session.
> Once a call to start the ice session is made, instead of immediately quitting if the session is already started, we check for a difference in the two candidates lists.  If the lists are identical, we wipe out the new list and keep the old one and just quit then going on with the current ICE session. If the lists are changed, we toss the old list and adopt the new one and restart the ICE session.
> 
> 
> Diffs
> -----
> 
>   /branches/11/res/res_rtp_asterisk.c 409132 
> 
> Diff: https://reviewboard.asterisk.org/r/3275/diff/
> 
> 
> Testing
> -------
> 
> SIPML client to Asterisk to Desk Phone
> SIPML calls desk phone
> audio test, got two way audio
> SIPML holds call
> SIPML resumes call
> audio test, got two way audio (previously this would cause one way audio from the SIPML client to the desk phone)
> 
> 
> Thanks,
> 
> Jonathan Rose
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140227/542c8e25/attachment-0001.html>


More information about the asterisk-dev mailing list