> -----Original Message----- > From: Michael Collins [mailto:[EMAIL PROTECTED] > Sent: Tuesday, May 30, 2006 10:28 PM > To: Asterisk Users Mailing List - Non-Commercial Discussion > Subject: RE: [Asterisk-Users] AEL #include > > > > How would goto work if all the priorities where n? > ... > > Example from one of my dial plans: > > > > exten => talk,1,ForkCDR > > exten => talk,n,Set(NUMTRIES=1) > > exten => talk,n,GotoIf($[${NUMTRIES} = 1]?first) > > exten => talk,n(repeat),Background(Initial-greeting) > > exten => talk,n(first),Wait(.1) > > exten => talk,n,Festival(${fname}) > > exten => talk,n,Festival(${lname}) > > exten => talk,n,Background(If-person1) > > exten => talk,n,GotoIf($[${NUMTRIES} < 2]?repeat) > > exten => talk,n,Set(NUMTRIES=$[${NUMTRIES}+1]) > > exten => talk,n,Goto(t,1) > > > > Doug, > > Like Kevin said, the label takes the place of the hard-numbered > priorities. In the example of my "talk" extension, I have a pair of > GotoIf() commands. This particular extension is used for an > experimental voice-broadcasting system that I'm playing with. > > As you can see, the first priority is hard-coded as '1' but each > subsequent priority is simply 'n'. It starts at 1, does the ForkCDR, > then moves on to the next priority. Since there is no '2' > priority, it > simply moves to the next 'n' priority the extension. In this case, it > just sets my NUMTRIES variable then moves to the next 'n' priority, > which is the first of the two GotoIf() commands. Notice the "first" > after the ? in the GotoIf(). Instead of putting in a > numbered priority, > I put in a label. In this case, the GotoIf() is saying, "If > this is the > first attempt, i.e. NUMTRIES equals 1, then goto the priority labeled > 'first', otherwise just move on to the next priority." If NUMTRIES is > '1' then the GotoIf sends the processing to this priority: > exten => talk,n(first),Wait(.1) > > >From there the processing continues. > > I have a feeling that if you aren't using labels and you have many > Goto()'s and GotoIf()'s then you'll LOVE labels. Once you get your > labels in place you will almost never have to renumber your > priorities.
Thanks Michael. I was not aware that labels where available. In converting though, I've already hit a limitation. There's a single name space for all labels I assume? When you have multiple loops and things of a similar nature, you have to start making you label names unique, to the point where they are no longer simple, and don't make a lot of sense anymore. _______________________________________________ --Bandwidth and Colocation provided by Easynews.com -- Asterisk-Users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
