[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