On Tue, Jul 18, 2017 at 6:49 PM, John Kiniston <johnkinis...@gmail.com> wrote:
> I'm messing around with pre-dialer handlers today and running into a wall. > > Dial has the U option where I can execute a Gosub when the channels bridge > and there I can set the variable GOSUB_RESULT to BUSY to make Dial act like > the channel I called was Busy. > > I want to do something similar with a Pre-Dial handler but don't see a way > I can Set a variable or return a value that will cause Dial to act like the > channel I called was Busy? > > Use case: > Endpoint 100 calls Extension 101 > > Extension 101 has a Pre-Dial Handler that checks how many calls Endpoint > 101 has in progress and if it's greater than X returns a Busy. > > Dial acts like it got a Busy back from the Endpoint, Sets DIALSTATUS and > continues through it's dial-plan. > > I've tried using the BUSY() Application inside my Pre-Dial handler. > I've tried sending BUSY back as a Value with Return() to be picked up in > GOSUB_RETVAL > I've tried setting DIALSTATUS to BUSY. > > Am I trying to use the wrong tool for the Job here? > Why don't you do the how many calls the endpoint has check before Dial()? You can use the LOCK/UNLOCK functions as shown in [1] on the calling channel pre-dial routine to prevent reentrancy issues while doing the check. The called channel pre-dial routine is only to setup the channels you have decided to dial. > > Related, Why can we have multiple Hangup handlers but not Pre-Dial > handlers? > * There is only one dial to execute the called channel pre-dial handler while there are many opportunities to specify hangup handlers. * How do you think you could associate different pre-dial handlers to different called channels? Richard [1] http://blogs.asterisk.org/2017/03/29/dialplan-handler-routines-allow-customization/
-- _____________________________________________________________________ -- 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