[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