On Fri, 13 Jun 2008, Benjamin Jacob wrote:
> I think, you can use the 'h' extension to invoke scripts (DeadAGI to be
> more precise) on hungup channels. use something like this :
>
> exten => _X., 1, NoOp(got a call)
> exten => _X., n, Dial(<somexten>}
> ....
>
> exten => h, 1, DeadAGI(hangupScript.sh)
Just to clarify...
You don't need the "h" extension to invoke deadagi(). You need the "h"
extension to "catch" the channel hangup.
You may have several contexts in your dialplan where you want to catch a
channel hangup. If the code you want to execute in each context is the
same, you could "catch" the channel hangup and go to a common context to
finish the call. For example:
[example-1]
.
.
.
exten = h,1, verbose(1,Hangup detected)
exten = h,n, goto(finish-call,s,1)
[example-2]
.
.
.
exten = h,1, verbose(1,Hangup detected)
exten = h,n, goto(finish-call,s,1)
finish-call]
exten = s,1, verbose(1,Finishing call)
exten = s,n, deadagi(cleanup-database)
Note that deadagi() is invoked from "s," not "h."
Personally, I would use the "h" extension in finish-call so that it is
obvious that we think we are processing a hung up channel -- but it is not
a requirement.
You could clean this example up a bit with a template:
[h](!)
exten = h,1, verbose(1,Hangup detected)
exten = h,n, goto(finish-call,h,1)
[example-1](h)
.
.
.
[example-2](h)
.
.
.
finish-call]
exten = h,1, verbose(1,Finishing call)
exten = h,n, deadagi(cleanup-database)
Thanks in advance,
------------------------------------------------------------------------
Steve Edwards [EMAIL PROTECTED] Voice: +1-760-468-3867 PST
Newline Fax: +1-760-731-3000
_______________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users