Funções do Dialplan do Asterisk 23
Descrição:A função
FRAME_DROP() permite descartar frames específicos em uma direção (TX ou RX) em um canal. Isso é útil para controlar quais tipos de dados são enviados ou recebidos, como DTMF, voz, vídeo ou frames de controle.
Exemplos:exten => 1,1,Set(FRAME_DROP(TX)=DTMF_BEGIN,DTMF_END) – Descarta apenas frames DTMF enviados para este canal.
exten => 1,1,Set(FRAME_DROP(TX)=ANSWER) – Descarta apenas frames de controle ANSWER enviados para este canal.
exten => 1,1,Set(FRAME_DROP(RX)=DTMF_BEGIN,DTMF_END) – Descarta apenas frames DTMF recebidos neste canal.
Sintaxe: FRAME_DROP(direction)direction – Lista de tipos de frames a serem descartados para a direção especificada. A direção pode ser
'TX' (transmissão) ou
'RX' (recepção). A direção
'TX' impede que o Asterisk envie frames para o canal, e
'RX' impede que o Asterisk receba frames do canal. Chamadas subsequentes a esta função substituirão as configurações anteriores, permitindo, por exemplo, que certos frames sejam descartados apenas temporariamente.
Tipos de frames que podem ser descartados:DTMF_BEGINDTMF_ENDVOICEVIDEOCONTROLNULLIAXTEXTTEXT_DATAIMAGEHTMLCNGMODEM
Frames de controle adicionais que podem ser descartados:RINGRINGINGANSWERBUSYTAKEOFFHOOKOFFHOOKCONGESTIONFLASHWINKPROGRESSPROCEEDINGHOLDUNHOLDVIDUPDATECONNECTED_LINEREDIRECTING
É importante observar que o uso desta função pode exigir ações adicionais. Por exemplo, se você descartar frames de controle ANSWER, deve usar explicitamente a função
Progress() na chamada para evitar comportamentos indesejados.