On Tue, Nov 8, 2016 at 5:19 PM, Jonathan H <lardconce...@gmail.com> wrote:
> Asterisk 14.1 > > Here's a bit of test dialplan, which works as expected and simulates > exactly what I'm doing at the top of my large dialplan... > > [dial-pre-test] > exten => s,1,NoOp() > same => n,Set(LIMIT_PLAYAUDIO_CALLER=yes) > same => n,Set(LIMIT_WARNING_FILE=time_limit_reached) > same => n,Dial(Local/s@dial-test,3,L(3540000:60000)) > same => n,Hangup() > > [dial-test] > exten => s,1,NoOp() > same => n,Dial(Local/s@dial-dest,,gH) > same => n,Playback(goodbye) > same => n,Hangup() > > [dial-dest] > exten => s,1,Answer() > same => n,MusicOnHold() > same => n,Hangup() > > See what I'm doing here? I'm using a little fiddle to allow the caller > to stop listening to music on hold. And it works..... the gH means > that the caller can hang up the remote end. Great! > > BUT.... I have a large dialplan, and something, somehow, somewhere, is > messing with "Disconnect Call". > > Because once through, nothing, not even star, does anything. It's like > the receiving end (dial-dest in the example above) has become deaf! > > I've turned on debug and verbose to level 9, and there's nothing. It > connects, starts music on hold, and then just ignores everything. > > Anything else I can add to the dialplan to see what might be causing > this? (I've also tried dumpchan, too). > > It USED to work, and some point in the last week, it stopped working. > (But the test dialplan above works). Mind boggled! > > Just to double check, yes, it's all set OK > > features show > Builtin Feature Default Current > --------------- ------- ------- > Pickup *8 *8 > Blind Transfer # # > Attended Transfer > One Touch Monitor > Disconnect Call * * > > Beware of local channel optimization. You are putting state on local channels that can optimize out. When the local channels optimize out they take the state with them. In the dialplan above you are creating the channel chain below. PJSIP/caller --> Local/s@dial-test;1 -- Local/s@dial-test;2 --> Local/s@dial-dest;1 -- Local/s@dial-dest;2 PJSIP/caller gets the L() duration and sounds put on it. The Local/s@dial-test;1 gets the L() duration put on it. The Local/s@dial-test;2 gets the H dial option put on it. There is a bridge connecting PJSIP/caller and Local/s@dial-test;1 There is a bridge connecting Local/s@dial-test;2 and Local/s@dial-dest;1 When Local/s@dial-dest;2 executes Answer it will allow Local/s@dial-test;1 and ;2 to optimize out because both ends are in a bridge. Thus the H dial option will disappear from the channel chain. Richard
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- Check out the new Asterisk community forum at: https://community.asterisk.org/ New to Asterisk? Start here: https://wiki.asterisk.org/wiki/display/AST/Getting+Started asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users