[asterisk-dev] [Code Review] Fix up indications issues related to redirects
Russell Bryant
russell at digium.com
Mon Dec 15 11:00:34 CST 2008
> On 2008-12-15 08:26:25, Joshua Colp wrote:
> > Looks good!
>
> Steve Murphy wrote:
> Hmmm, once a shipit is attached, it's hard to add further comments...
>
> While it sounds like this is good, did you test it in the same fashion
> that the masq_park branch was tested? See my as-yet-not-submitted-
> reviewboard-issue; there are several paths into and out of parking.
> If it works in all cases, then I'd have to agree with jcolp.
> A calls B, B parks A
> A calls B, A parks B
>
> parking is done by 'feature', Park() app, etc.
>
> It may seem like useless repitition, but sometimees there's
> surprises best found early than late.
>
>
I did not test multiple methods to get into parking since this issue only affects a specific method for taking a call back out of parking. How it got there shouldn't matter, in theory. :-)
- Russell
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.digium.com/r/90/#review224
-----------------------------------------------------------
On 2008-12-15 08:12:37, Russell Bryant wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.digium.com/r/90/
> -----------------------------------------------------------
>
> (Updated 2008-12-15 08:12:37)
>
>
> Review request for Asterisk Developers.
>
>
> Summary
> -------
>
> This patch was written to resolve issue #13747.
>
> The issue that was reported was about a case where a RINGING channel got redirected to an extension to pick up a call from parking. Once the parked call got taken out of parking, it heard silence until the other side answered. Ideally, the caller that was parked would get a ringing indication. This patch fixes this case so that the caller receives ringback once it comes out of parking until the other side answers.
>
> The fixes are:
>
> 1) Make sure we remember that a channel was an outgoing channel when doing a masquerade. This prevents an erroneous ast_answer() call on the channel, which causes a bogus 200 OK to be sent in the case of SIP.
>
> 2) Add some additional comments to explain related parts of code.
>
> 3) Update the handling of the ast_channel visible_indication field. Storing values that are not stateful is pointless. Control frames that are events or commands should be ignored.
>
> 4) When a bridge first starts, check to see if the peer channel needs to be given ringing indication because the calling side is still ringing.
>
>
> This addresses bug 13747.
> http://bugs.digium.com/view.php?id=13747
>
>
> Diffs
> -----
>
> /branches/1.4/main/channel.c 164200
> /branches/1.4/res/res_features.c 164200
>
> Diff: http://reviewboard.digium.com/r/90/diff
>
>
> Testing
> -------
>
> 1) SIP/5001 calls SIP/5004
> 2) SIP/5001 transfers SIP/5004 to parking
>
> (5004 is now parked, 5001 idle)
>
> 3) Originate an outbount call to SIP/5001.
> 4) Redirect the ringing channel to the proper extension to pick up the parked call.
>
> Verified that after #4, 5001 was still ringing, and that 5004 received ringback.
>
> 5) Answer SIP/5001
>
> Verified that the callers could now talk as usual
>
>
> Thanks,
>
> Russell
>
>
More information about the asterisk-dev
mailing list