Aplicações do Dialplan do Asterisk 20
Comando:
SendText()
Sinopse:
Enviar uma Mensagem de Texto em um Canal.
Descrição:
Envia texto para o canal atual. O canal atual pode ser o chamador ou o chamado, dependendo do contexto em que esta aplicação é chamada.
As seguintes variáveis podem ser definidas:
SENDTEXT_FROM_DISPLAYNAME - Se definida e o canal suportar mensagens aprimoradas, este valor será usado como o nome de exibição 'De'.
SENDTEXT_TO_DISPLAYNAME - Se definida e o canal suportar mensagens aprimoradas, este valor será usado como o nome de exibição 'Para'.
SENDTEXT_CONTENT_TYPE - Se definida e o canal suportar mensagens aprimoradas, este valor será usado como o tipo de conteúdo da mensagem. Se não especificado, o padrão será 'text/plain'. Atenção: Mensagens de tipos diferentes de text/* não podem ser enviadas através de drivers de canal que não suportam Mensagens Aprimoradas. Uma tentativa de fazê-lo será ignorada e resultará na variável SENDTEXTSTATUS sendo definida como UNSUPPORTED.
SENDTEXT_BODY - Se definida, este valor será usado como o corpo da mensagem e qualquer texto fornecido como um parâmetro de função será ignorado.
O resultado da transmissão será armazenado nas seguintes variáveis:
SENDTEXTTYPE
NONE - Nenhuma mensagem enviada.
BASIC - Corpo da mensagem enviado sem atributos porque o driver do canal não suporta mensagens aprimoradas.
ENHANCED - A mensagem foi enviada usando mensagens aprimoradas.
SENDTEXTSTATUS
SUCCESS - Transmissão bem-sucedida.
FAILURE - Transmissão falhou.
UNSUPPORTED - Transmissão de texto não suportada pelo canal.
Observação: A codificação de texto e o método de transmissão ficam totalmente a critério do driver do canal. chan_pjsip sempre usará mensagens SIP MESSAGE dentro da sessão. chan_sip usará T.140 via RTP se um tipo de mídia de texto foi negociado e mensagens SIP MESSAGE dentro da sessão caso contrário.
Sintaxe:
same => n,SendText(Your Text Here)
same => n,Set(SENDTEXT_FROM_DISPLAYNAME=Really From Bob)
same => n,SendText(Your Text Here)
same => n,Set(SENDTEXT_CONTENT_TYPE=text/json)
same => n,SendText({"foo":a, "bar":23})
same => n,Set(SENDTEXT_CONTENT_TYPE=text/json)
same => n,Set(SENDTEXT_BODY={"foo":a, "bar":23})
same => n,SendText()
SendText([text])
Fonte: Asterisk Wiki