asterisk at phreaknet.org
2022-Jan-06 13:26 UTC
[asterisk-users] Get context with hangup handler
I'm not sure what other implications this might have, but does something like this work for you? You would need to apply the following patch[1]. Manually trying to save the last context/exten/etc. in the dialplan itself is guaranteed to be an ugly solution. Let Asterisk do it for you. [f1] exten => s,1,NoOp(${CONTEXT}) same => n,NoOp(${CONTEXT} / ${LASTCONTEXT}) same => n,Goto(f2,s,1) [f2] exten => s,1,NoOp(${CONTEXT} / ${LASTCONTEXT}) same => n,NoOp(${CONTEXT} / ${LASTCONTEXT}) same => n,Hangup() pbxdev*CLI> channel originate Local/s at f1 application Wait 30 [Jan 6 08:19:30] -- Called s at f1 [Jan 6 08:19:30] -- Executing [s at f1:1] NoOp("Local/s at f1-00000002;2", "f1") in new stack [Jan 6 08:19:30] -- Executing [s at f1:2] NoOp("Local/s at f1-00000002;2", "f1 / ") in new stack [Jan 6 08:19:30] -- Executing [s at f1:3] Goto("Local/s at f1-00000002;2", "f2,s,1") in new stack [Jan 6 08:19:30] -- Goto (f2,s,1) [Jan 6 08:19:30] -- Executing [s at f2:1] NoOp("Local/s at f1-00000002;2", "f2 / f1") in new stack [Jan 6 08:19:30] -- Executing [s at f2:2] NoOp("Local/s at f1-00000002;2", "f2 / f1") in new stack [Jan 6 08:19:30] -- Executing [s at f2:3] Hangup("Local/s at f1-00000002;2", "") in new stack [Jan 6 08:19:30] == Spawn extension (f2, s, 3) exited non-zero on 'Local/s at f1-00000002;2' [1] https://code.phreaknet.org/asterisk/lastcontext.diff On 1/5/2022 10:22 PM, Dovid Bender wrote:> Steve, > > I thought of this but that would mean I would need to add this to the > beginning of every context which I can do, but I was trying to avoid. > > > On Wed, Jan 5, 2022 at 10:06 PM Steve Edwards > <asterisk.org at sedwards.com> wrote: > > On Wed, 5 Jan 2022, Steve Edwards wrote: > > > same = n, set(LAST-CONTEXT=${context} > > Double damn. I munged the case on ${CONTEXT}. I give up for today :) > > -- > Thanks in advance, > ------------------------------------------------------------------------- > Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST > https://www.linkedin.com/in/steve-edwards-4244281 > > -- > _____________________________________________________________________ > -- 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 > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20220106/702e1290/attachment.html>
It seems like this would work and I appreciate the code but I doubt it would make it into the main branch. I think I am stuck with setting it in the context. On Thu, Jan 6, 2022 at 8:26 AM <asterisk at phreaknet.org> wrote:> I'm not sure what other implications this might have, but does something > like this work for you? You would need to apply the following patch[1]. > > Manually trying to save the last context/exten/etc. in the dialplan itself > is guaranteed to be an ugly solution. Let Asterisk do it for you. > > [f1] > exten => s,1,NoOp(${CONTEXT}) > same => n,NoOp(${CONTEXT} / ${LASTCONTEXT}) > same => n,Goto(f2,s,1) > [f2] > exten => s,1,NoOp(${CONTEXT} / ${LASTCONTEXT}) > same => n,NoOp(${CONTEXT} / ${LASTCONTEXT}) > same => n,Hangup() > > pbxdev*CLI> channel originate Local/s at f1 application Wait 30 > [Jan 6 08:19:30] -- Called s at f1 > [Jan 6 08:19:30] -- Executing [s at f1:1] NoOp("Local/s at f1-00000002;2", > "f1") in new stack > [Jan 6 08:19:30] -- Executing [s at f1:2] NoOp("Local/s at f1-00000002;2", > "f1 / ") in new stack > [Jan 6 08:19:30] -- Executing [s at f1:3] Goto("Local/s at f1-00000002;2", > "f2,s,1") in new stack > [Jan 6 08:19:30] -- Goto (f2,s,1) > [Jan 6 08:19:30] -- Executing [s at f2:1] NoOp("Local/s at f1-00000002;2", > "f2 / f1") in new stack > [Jan 6 08:19:30] -- Executing [s at f2:2] NoOp("Local/s at f1-00000002;2", > "f2 / f1") in new stack > [Jan 6 08:19:30] -- Executing [s at f2:3] Hangup("Local/s at f1-00000002;2", > "") in new stack > [Jan 6 08:19:30] == Spawn extension (f2, s, 3) exited non-zero on > 'Local/s at f1-00000002;2' > > [1] https://code.phreaknet.org/asterisk/lastcontext.diff > On 1/5/2022 10:22 PM, Dovid Bender wrote: > > Steve, > > I thought of this but that would mean I would need to add this to the > beginning of every context which I can do, but I was trying to avoid. > > > On Wed, Jan 5, 2022 at 10:06 PM Steve Edwards <asterisk.org at sedwards.com> > wrote: > >> On Wed, 5 Jan 2022, Steve Edwards wrote: >> >> > same = n, set(LAST-CONTEXT=${context} >> >> Double damn. I munged the case on ${CONTEXT}. I give up for today :) >> >> -- >> Thanks in advance, >> ------------------------------------------------------------------------- >> Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST >> https://www.linkedin.com/in/steve-edwards-4244281 >> >> -- >> _____________________________________________________________________ >> -- 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 > > >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20220109/386d25a8/attachment.html>