Funções do Dialplan do Asterisk 20
Comando:
PRESENCE_STATE()
Sinopse:
Obter ou definir um estado de presença.
Descrição:
A função PRESENCE_STATE() pode ser usada para recuperar a presença de qualquer provedor de presença. Por exemplo:
NoOp(SIP/mypeer tem presença ${PRESENCE_STATE(SIP/mypeer,value)})
NoOp(Conferência número 1234 tem mensagem de presença ${PRESENCE_STATE(MeetMe:1234,message)})
A função PRESENCE_STATE() também pode ser usada para definir estados de presença personalizados a partir do dialplan. O prefixo 'CustomPresence:' deve ser utilizado. Por exemplo:
Set(PRESENCE_STATE(CustomPresence:lamp1)=away,temporary,Out to lunch)
Set(PRESENCE_STATE(CustomPresence:lamp2)=dnd,,Trying to get work done)
Set(PRESENCE_STATE(CustomPresence:lamp3)=xa,T24gdmFjYXRpb24=,,e})
Set(BASE64_LAMP3_PRESENCE=${PRESENCE_STATE(CustomPresence:lamp3,subtype,e)})
Você pode assinar o status de um estado de presença personalizado usando uma dica (hint) no dialplan:
exten => 1234,hint,,CustomPresence:lamp1
Os valores possíveis para ambos os usos desta função são:
not_set | unavailable | available | away | xa | chat | dnd
PRESENCE_STATE(provider,field[,options])
provider - O provedor da presença, como 'CustomPresence'
field - Qual campo das informações de estado de presença é desejado.
value - A presença atual, como 'away'
subtype - Informações adicionais sobre a presença atual
message - Uma mensagem personalizada que pode indicar detalhes adicionais sobre a presença
options
e - Na gravação - Use esta opção quando o subtype e message fornecidos estiverem codificados em Base64. Os valores serão armazenados codificados dentro do Asterisk, mas todos os consumidores do estado de presença (por exemplo, o pacote de eventos SIP presence) receberão valores decodificados. Na leitura - Recupera mensagem/subtype não codificados na forma codificada em Base64.
Sintaxe:
PRESENCE_STATE(provider,field[,options])
Fonte: Asterisk Wiki