set your own mutex using astdb? It may just be atomic enough for you to get by.
Nicholas Blasgen wrote: > I've got 4 SIP phone lines with a call-limit of 2 for each. I've > written a handy macro to allow my users to dial a phone number and the > macro will figure out the next available line to use by first checking > if the GROUP() is over 2 and then checking to see if ChanIsAvail() as a > backup, and if it can't use the line for either reason it goes to the > next line. The problem is that there are enough situations that the > Macro gets called twice without much time seperation. Both macros check > the group() number, it comes back as free, they check the line > availability and it's open, and they try dialing. But because they both > started at more or less the same instant, they've both at the same stage > in the macro and sometimes (maybe 10% of the time) a macro will try > dialing on a line that's already in use. > > My question is this. Is it possible to tell Asterisk to execute part of > a macro as a block without allowing any other commands to be processed > during that time? Some way to LOCK the dialplan (as you'd do in SQL). > I want my macro to be able to execute the part of the code that checks > line status and then sets the GROUP() without allowing any other > dialplans from running during that time. Anyone know if this is a > current feature? > > -- > /Nick > > > ------------------------------------------------------------------------ > > _______________________________________________ > --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 _______________________________________________ --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