Aplicações do Dialplan do Asterisk 22
Descrição:Envia texto para o canal atual. O canal atual pode ser o originador ou o destinatário da chamada, dependendo do contexto em que esta aplicação é chamada.
As seguintes variáveis podem ser definidas:
- SENDTEXT_FROM_DISPLAYNAME - Se definida e este canal suportar mensagens aprimoradas, este valor será usado como o nome de exibição 'De'.
- SENDTEXT_TO_DISPLAYNAME - Se definida e este canal suportar mensagens aprimoradas, este valor será usado como o nome de exibição 'Para'.
- SENDTEXT_CONTENT_TYPE - Se definida e este canal suportar mensagens aprimoradas, este valor será usado como o 'Content-Type' da mensagem. Se não especificado, o padrão 'text/plain' será utilizado. Atenção: Mensagens de tipos diferentes de text/* não podem ser enviadas por drivers de canal que não suportam mensagens aprimoradas. Uma tentativa nesse sentido será ignorada e resultará na variável SENDTEXTSTATUS sendo definida como UNSUPPORTED.
- SENDTEXT_BODY - Se definida, este valor será usado como corpo da mensagem e qualquer texto fornecido como parâmetro da 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 e o método de transmissão do texto são completamente de responsabilidade do driver do canal. O chan_pjsip sempre usará mensagens SIP MESSAGE em diálogo.
Exemplos:
Exemplo: Enviar uma mensagem simples
same => n,SendText(Your Text Here)
Exemplo: Alterar o nome de exibição 'De'
same => n,Set(SENDTEXT_FROM_DISPLAYNAME=Really From Bob)
same => n,SendText(Your Text Here)
Exemplo: Enviar uma string JSON
same => n,Set(SENDTEXT_CONTENT_TYPE=text/json)
same => n,SendText({"foo":a, "bar":23})
Exemplo: Enviar uma string JSON (alternativo)
same => n,Set(SENDTEXT_CONTENT_TYPE=text/json)
same => n,Set(SENDTEXT_BODY={"foo":a, "bar":23})
same => n,SendText()
Sintaxe: SendText([text])
Parâmetro: text