[asterisk-dev] [Code Review] ETSI Explicit Call Transfer (ECT) support. (Asterisk portion)
    Russell Bryant 
    russell at digium.com
       
    Tue May  4 18:33:00 CDT 2010
    
    
  
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/520/#review1962
-----------------------------------------------------------
/trunk/CHANGES
<https://reviewboard.asterisk.org/r/520/#comment4194>
    Is there a better way to describe this than "tromboned calls" ?
/trunk/channels/sig_pri.c
<https://reviewboard.asterisk.org/r/520/#comment4195>
    I think there is still deadlock potential here.  What if these same operations are attempted in the opposite chanpos order?
/trunk/channels/sig_pri.c
<https://reviewboard.asterisk.org/r/520/#comment4196>
    This code already holds at least 4 locks (2 of them ast_channels), and then on this masquerade it's going to lock a 3rd ast_channel.  The deadlock potential here concerns me.
    
    Perhaps the use of channel reference counts can reduce the number of channel locks needing to be held concurrently in this function?
- Russell
On 2010-04-22 11:35:35, rmudgett wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/520/
> -----------------------------------------------------------
> 
> (Updated 2010-04-22 11:35:35)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> Added ability to send and receive ETSI Explicit Call Transfer (ECT) messages to eliminate tromboned calls.
> 
> Asterisk already supported initiating the transfer of calls to eliminate tromboned calls to libpri so there was nothing to do for the asterisk portion.
> 
> The libpri API was extended to indicate to asterisk that the far end requests the transfer of the indicated calls.
> 
> This is a two part review request.  Asterisk and libpri.  This is the asterisk portion.
> https://reviewboard.asterisk.org/r/521/ is the libpri portion.
> 
> 
> Diffs
> -----
> 
>   /trunk/CHANGES 258490 
>   /trunk/channels/chan_dahdi.c 258490 
>   /trunk/channels/sig_pri.h 258490 
>   /trunk/channels/sig_pri.c 258490 
>   /trunk/configs/chan_dahdi.conf.sample 258490 
>   /trunk/configure.ac 258490 
> 
> Diff: https://reviewboard.asterisk.org/r/520/diff
> 
> 
> Testing
> -------
> 
> A -- *1 -- *2  -- B&C
> 
> Party A is on an ISDN phone.
> 
> A calls B
> A puts B on hold
> A calls C
> A hangs up to initiate transfer
> The B and C parties are now connected to each other and the calls are only connected through *2.
> 
> A calls B
> A puts B on hold
> A calls C
> A puts C on hold to retrieve B
> A hangs up to initiate transfer
> The B and C parties are now connected to each other and the calls are only connected through *2.
> 
> Repeat the above two tests but party A uses the EctExecute message instead of disconnecting to transfer the calls.
> 
> All four tests passed.
> 
> 
> Thanks,
> 
> rmudgett
> 
>
    
    
More information about the asterisk-dev
mailing list