Aplicações do Dialplan do Asterisk 23
Descrição:Envia texto para o canal atual. Observe que o canal atual pode ser o originador ou o destinatário, dependendo do contexto em que este aplicativo é chamado.
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. Aviso: Mensagens de tipos diferentes de text/* não podem ser enviadas por drivers de canal que não suportam Mensagens Aprimoradas. Uma tentativa de fazer isso 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 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 e o método de transmissão de texto são completamente de acordo com a discrição 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()
SendText([text])
text
Dialplan Applications ReceiveText