
macro testdial(number, timeout) {
    Dial(IAX2/vpconnect-t02/${number},${timeout},${OG_DIAL_FLAGS});
    switch (${DIALSTATUS}) {
    case CHANUNAVAIL:
        goto dial-trunk2;
        break;
    default:
        NoOp(t02 Unavailable - ${DIALSTATUS});
        return;
    }

dial-trunk2:
    Dial(IAX2/vpconnect-t01/${number},${timeout},${OG_DIAL_FLAGS});

}

macro exten-gen(name,pword)
{
	if( ${DB_EXISTS(org/${GroupID}/${name}/secret)} = 0 )
		goto other|nomatch|begin;
	if( ${DB(org/${GroupID}/${name}/secret)}foo != ${pword}foo )
		goto other|nomatch|begin;

};

context what {
        who =>
        {
                random(51) NoOp(This should appear 51% of the time);

                random( 60 )
                {
                        NoOp( This should appear 60% of the time );
                }
                else
                {
                        random(75)
                        {
                                NoOp( This should appear 30% of the time! );
                        }
                        else
                        {
                                NoOp( This should appear 10% of the time! );
                        }
                }
        }
}

context other {
	nomatch => {
		begin:
		NoOp(Hello!);
		switch(${DIALSTATUS})
		{
		case BUSY:
			NoOp(wow);
		case TORTURE:
			NoOp(woow);
		};
		NoOp(woohoo);
	};
};

context testloop {
        includes {
                other|16:00-23:59|m0n-fri|*|*;
        };

    1 => {
         for (x=0; ${x} < 3; x=${x} + 1) {
              Verbose(x is ${x} !);
		 if( ${x} = 1 )
			continue;
		 if( ${x} = 2 )
			break;
         };
         ifTime(14:00-25:00|sat-sun|*|*) {
                BackGround(Hello);
         } else
                BackGround(Sorry);
         NoOp(This is a totally useless NOOP);
    };
    2 => {
         y=10;
         while (${y} >= 0) {
              Verbose(y is ${y} !);
		if( ${y} = 1 )
			continue;
		if( ${y} = 2 )
			break;
		if( ${y} = 3 )
			return;
              y=${y}-1;
         };
    };
    regexten hint(nasty/Thingy&nasty/Thingamabob) 3 => {
        for (x=0; ${x} < 3; x=${x} + 1)
		{
            	Verbose(x is ${x} !);
		if( ${x} = 4 )
			break;
		if( ${x} = 5 )
			continue;
		if( ${x} = 6 )
			return;

        	y=10;
	        while (${y} >= 0)
			{
            			Verbose(y is ${y} !);
				if( ${y} = 4 )
					break;
				if( ${y} = 5 )
					continue;
				if( ${y} = 6 )
					return;
	   		         y=${y}-1;
			};
        };
    };
    4 => {
       	y=10;
        while (${y} >= 0)
	{
            	Verbose(y is ${y} !);
		if( ${y} = 4 )
			break;
		if( ${y} = 5 )
			continue;
		if( ${y} = 6 )
			return;
       		for (x=0; ${x} < 3; x=${x} + 1)
		{
            		Verbose(x is ${x} !);
			if( ${x} = 4 )
				break;
			if( ${x} = 5 )
				continue;
			if( ${x} = 6 )
				return;
		        for (z=0; ${z} < 17; z=${z} + 1)
			{
              			Verbose(z is ${z} !);
              			Verbose(z is ${z} !);
				if( ${z} = 4 )
					break;
				if( ${z} = 5 )
					continue;
				if( ${z} = 6 )
					return;
              			Verbose(z is ${z} !);
              			Verbose(z is ${z} !);
         		};

		};
	        y=${y}-1;
        };
    };
    5 => {
		&exten-gen(axel,brain);
    };
};
