> On May 20, 2014, 8:47 a.m., Matt Jordan wrote:
> > /branches/12/include/asterisk/bridge.h, line 911
> > <https://reviewboard.asterisk.org/r/3485/diff/6/?file=58657#file58657line911>
> >
> > Don't use a bit field; it's overkill and you're really just going to
> > waste space in the struct anyway.
> >
> > Also: how is this "raised"? How does it get used? Right now this is
> > passed to my callback - when is this zero and when is it non-zero? Do I set
> > it, or does something else set it?
struct transfer_channel_data {
void *data; /*! Data to be used by the transfer_channel_cb */
int ready; /*! Initially 0, This will be set to 1 by either the
transfer
* code or by transfer code hooks (e.g. parking) when the
* transfer is completed and any remaining actions have
taken
* place (e.g. parking announcements). It will never be
reset
* to 0. This is used for deferring progress for channel
* drivers that support deferred progress. */
};
- Jonathan
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3485/#review11924
-----------------------------------------------------------
On May 19, 2014, 1:25 p.m., Jonathan Rose wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3485/
> -----------------------------------------------------------
>
> (Updated May 19, 2014, 1:25 p.m.)
>
>
> Review request for Asterisk Developers, Matt Jordan and Mark Michelson.
>
>
> Repository: Asterisk
>
>
> Description
> -------
>
> If a PJSIP endpoint attempts to blind transfer to a parking extension, there
> is an override to the normal transfer logic that can make things act a little
> weird. We noticed that this would leave various phones hanging on transfer
> screens without progressing. When the transfer was considered successful,
> PJSIP deferred the actual action of sending the 200 notify and the actual
> trigger for that happening never occurs when the transfer is to a parking
> extension.
>
> In order to handle this, the bridge function that handles blind transfers now
> returns a different value if a call was parked and if the channel driver
> needs to react differently in this case, it can. In the case of PJSIP, we
> respond to transfers to park by immediately sending the notify with 200 OK
> sip frag instead of deferring the action.
>
>
> Diffs
> -----
>
> /branches/12/res/res_pjsip_refer.c 413303
> /branches/12/res/parking/parking_bridge_features.c 413303
> /branches/12/res/parking/parking_applications.c 413303
> /branches/12/main/parking.c 413303
> /branches/12/main/bridge_basic.c 413303
> /branches/12/main/bridge.c 413303
> /branches/12/include/asterisk/parking.h 413303
> /branches/12/include/asterisk/bridge.h 413303
> /branches/12/channels/sig_analog.c 413303
> /branches/12/channels/chan_sip.c 413303
> /branches/12/channels/chan_mgcp.c 413303
> /branches/12/channels/chan_dahdi.c 413303
>
> Diff: https://reviewboard.asterisk.org/r/3485/diff/
>
>
> Testing
> -------
>
> Before patch:
> * Blind transfer on Polycom SPIP: Phone is on the blind transfer screen until
> it either manually hangs up or 60 seconds pass and Asterisk terminates the
> session.
>
> After the patch:
> * Blind transfer on Polycom SPIP: Phone immediately leaves the blind transfer
> screen and goes back to idle mode.
>
>
> Thanks,
>
> Jonathan Rose
>
>
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev