extensions.ael

来自「asterisk 是一个很有知名度开源软件」· AEL 代码 · 共 132 行

AEL
132
字号
macro endsess(){	NoOp(hithere);}macro nullchk(type){	NoOp(${type} is this);}macro endcall(type) {  switch(${type}) {    case out:      &nullchk(callid);      if(${testnotnull}) {        &endsess();        goto ptr1 ; // <-- goto call to valid label      }      else {ptr1: // <-- valid label        Softhangup(${CHANNEL});        break ;      }    Noop(esac) ;  }}macro endcall2(type) {  switch(${type}) {    case out:      &nullchk(callid);      if(${testnotnull}) {        &endsess();        goto ptr1 ; // <-- goto call to valid label      }	case out2:      {ptr1: // <-- valid label        Softhangup(${CHANNEL});        break ;      }    Noop(esac) ;  }}macro endcall3(type) {  switch(${type}) {    case out:      &nullchk(callid);      if(${testnotnull}) {        &endsess();        goto ptr1 ; // <-- goto call to valid label      }    Noop(esac) ;  }  if(${testnotnull}) {	goto ptr1;  }  switch(${type}) {	case out:      if(${testnotnull}) {ptr1: // <-- valid label        Softhangup(${CHANNEL});        break ;      }    Noop(esac) ;  }}macro endcall4(type) {  switch(${type}) {    case out:      &nullchk(callid);      if(${testnotnull}) {        &endsess();        goto ptr1 ; // <-- goto call to valid label      }    Noop(esac) ;  }  if(${testnotnull}) {	goto ptr1;  }  switch(${type}) {	case out:	  switch(${type})	  {		case in:      	 if(${testnotnull}) {ptr1: // <-- valid label             Softhangup(${CHANNEL});             break ;      	 }         Noop(esac) ;	  }   }}macro endcall5(type) {  switch(${type}) {    case out:      &nullchk(callid);      if(${testnotnull}) {        &endsess();        goto ptr1 ; // <-- goto call to valid label      }    case in:      &nullchk(callid);	ptr2:      if(${testnotnull}) {        &endsess();        goto ptr1 ; // <-- goto call to valid label      }    Noop(esac) ;  }  if(${testnotnull}) {	goto ptr1;  }  switch(${type}) {	case out:	  switch(${type})	  {		case in:      	 if(${testnotnull}) {ptr1: // <-- valid label             Softhangup(${CHANNEL});             break ;      	 }         Noop(esac) ;	  }   }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?