Jonathan H
2016-Nov-09 07:17 UTC
[asterisk-users] What could be stopping "Disconnect Call" feature from working (set in features.txt)
Thank you - that makes sense. I've seen something about swapping and optimizing channels on the console, but I didn't realise "optimize" meant "not do what you wanted". OK, so here's why I'm dialling anything at all: The first dial is because I MUST limit the incoming call to less than 60 minutes. The second dial, which carries the gH option, is because I want someone to be able to listen to a radio stream>From previous discussion here, it seems the only way to do that is thegH workaround above. If I'm not missing a trick here and there's no better way to do those to things, is there any way to force Asterisk to NOT "optimize" those channels? On 9 November 2016 at 00:09, Richard Mudgett <rmudgett at digium.com> wrote:> > > On Tue, Nov 8, 2016 at 5:19 PM, Jonathan H <lardconcepts at 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 at dial-test,3,L(3540000:60000)) >> same => n,Hangup() >> >> [dial-test] >> exten => s,1,NoOp() >> same => n,Dial(Local/s at 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 at dial-test;1 -- Local/s at dial-test;2 --> > Local/s at dial-dest;1 -- Local/s at dial-dest;2 > > PJSIP/caller gets the L() duration and sounds put on it. > The Local/s at dial-test;1 gets the L() duration put on it. > The Local/s at dial-test;2 gets the H dial option put on it. > > There is a bridge connecting PJSIP/caller and Local/s at dial-test;1 > There is a bridge connecting Local/s at dial-test;2 and Local/s at dial-dest;1 > > When Local/s at dial-dest;2 executes Answer it will allow Local/s at 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
Tony Mountifield
2016-Nov-09 12:32 UTC
[asterisk-users] What could be stopping "Disconnect Call" feature from working (set in features.txt)
In article <CAEebyNVUSCiCqvfySPVsgPnAPbbuBn_67TxjSk5j7Gm42+OYig at mail.gmail.com>, Jonathan H <lardconcepts at gmail.com> wrote:> Thank you - that makes sense. I've seen something about swapping and > optimizing channels on the console, but I didn't realise "optimize" > meant "not do what you wanted". > > OK, so here's why I'm dialling anything at all: > > The first dial is because I MUST limit the incoming call to less than > 60 minutes. > > The second dial, which carries the gH option, is because I want > someone to be able to listen to a radio stream > > >From previous discussion here, it seems the only way to do that is the > gH workaround above. > > If I'm not missing a trick here and there's no better way to do those > to things, is there any way to force Asterisk to NOT "optimize" those > channels?Yes, append /n to the local channel: same => n,Dial(Local/s at dial-test/n,3,L(3540000:60000)) Cheers Tony -- Tony Mountifield Work: tony at softins.co.uk - http://www.softins.co.uk Play: tony at mountifield.org - http://tony.mountifield.org
Jonathan H
2016-Nov-09 16:38 UTC
[asterisk-users] What could be stopping "Disconnect Call" feature from working (set in features.txt)
You, sir, are a genius. Thank you! I spent ages staring at https://wiki.asterisk.org/wiki/display/AST/Asterisk+14+Application_Dial but as soon as you gave than /n, everything is working again and I found https://wiki.asterisk.org/wiki/display/AST/Local+Channel+Optimization which explains more. Thank you again. On 9 November 2016 at 12:32, Tony Mountifield <tony at softins.co.uk> wrote:> In article <CAEebyNVUSCiCqvfySPVsgPnAPbbuBn_67TxjSk5j7Gm42+OYig at mail.gmail.com>, > Jonathan H <lardconcepts at gmail.com> wrote: >> Thank you - that makes sense. I've seen something about swapping and >> optimizing channels on the console, but I didn't realise "optimize" >> meant "not do what you wanted". >> >> OK, so here's why I'm dialling anything at all: >> >> The first dial is because I MUST limit the incoming call to less than >> 60 minutes. >> >> The second dial, which carries the gH option, is because I want >> someone to be able to listen to a radio stream >> >> >From previous discussion here, it seems the only way to do that is the >> gH workaround above. >> >> If I'm not missing a trick here and there's no better way to do those >> to things, is there any way to force Asterisk to NOT "optimize" those >> channels? > > Yes, append /n to the local channel: > > same => n,Dial(Local/s at dial-test/n,3,L(3540000:60000)) > > Cheers > Tony > -- > Tony Mountifield > Work: tony at softins.co.uk - http://www.softins.co.uk > Play: tony at mountifield.org - http://tony.mountifield.org > > -- > _____________________________________________________________________ > -- 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