context test1
{
	s => 
		{
			goto lab1;
			if( ${testnotnull} )
			{
				lab1:
				NoOp(hello);
			}
			else
			{
				lab1:
				MoOp(goodbye);
			}
		}

	1 =>
		{
			lab1:
			NoOp(This one is OK.);
		}
}

macro endcall5(type) {
  switch(${type}) {
    case out:
      if(${testnotnull}) {
        NoOp(whoosh);
        goto ptr1 ; // <-- goto call to valid label
      }
    case in:
	ptr1:  // The First label is the valid one...
      if(${testnotnull}) {
        NoOp(wow);
        goto ptr1 ; // <-- goto call to valid label
      }
    Noop(esac) ;
  }
  if(${testnotnull}) {
	goto ptr1;
  }
  switch(${type}) {
	case out:
	  switch(${type})
	  {
		case in:
      	 if(${testnotnull}) {
ptr1: // <-- duplicate label (macros are about the equiv of an extension)
             Softhangup(${CHANNEL});
             break ;
      	 }
         Noop(esac) ;
	  }
   }
	return;
}
