Funções do Dialplan do Asterisk 18
Comando:
FRAME_DROP()
Sinopse:
Descarta tipos específicos de frames nas direções TX ou RX em um canal.
Descrição:
A função FRAME_DROP() permite descartar seletivamente determinados tipos de frames em uma direção específica (TX ou RX) em um canal do Asterisk. Isso é útil para controlar quais dados são enviados ou recebidos, como DTMF, voz, vídeo ou frames de controle. A direção 'TX' impede que o Asterisk envie frames para o canal, enquanto 'RX' impede que o Asterisk receba frames do canal. Chamadas subsequentes a esta função substituem as configurações anteriores, permitindo que certos frames sejam descartados temporariamente. Exemplos incluem: descartar apenas frames DTMF enviados para o canal com FRAME_DROP(TX)=DTMF_BEGIN,DTMF_END; descartar apenas frames de controle ANSWER com FRAME_DROP(TX)=ANSWER; ou descartar apenas frames DTMF recebidos com FRAME_DROP(RX)=DTMF_BEGIN,DTMF_END. Tipos de frames que podem ser descartados incluem: DTMF_BEGIN, DTMF_END, VOICE, VIDEO, CONTROL, NULL, IAX, TEXT, TEXT_DATA, IMAGE, HTML, CNG, MODEM e frames de controle específicos como RING, RINGING, ANSWER, BUSY, TAKEOFFHOOK, OFFHOOK, CONGESTION, FLASH, WINK, PROGRESS, PROCEEDING, HOLD, UNHOLD, VIDUPDATE, CONNECTED_LINE e REDIRECTING. É importante observar que ao descartar certos frames de controle, como ANSWER, pode ser necessário usar explicitamente funções como Progress() para evitar comportamentos indesejados.
Sintaxe:
exten => 1,1,Set(FRAME_DROP(TX)=DTMF_BEGIN,DTMF_END)
exten => 1,1,Set(FRAME_DROP(TX)=ANSWER)
exten => 1,1,Set(FRAME_DROP(RX)=DTMF_BEGIN,DTMF_END)
FRAME_DROP(direction)
Fonte: Asterisk Wiki