Funções do Dialplan do Asterisk 18
Descrição:A função
PRESENCE_STATE() pode ser utilizada para obter informações de presença de qualquer provedor de presença. Por exemplo:
NoOp(SIP/mypeer has presence ${PRESENCE_STATE(SIP/mypeer,value)})NoOp(Conference number 1234 has presence message ${PRESENCE_STATE(MeetMe:1234,message)})
Esta função também pode ser usada para definir um estado de presença personalizado 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 se inscrever no 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 | dndSintaxe: PRESENCE_STATE(provider,field[,options])provider - O provedor de presença, como 'CustomPresence'.field - Qual campo da informação de estado de presença é desejado.value - O estado de presença atual, como 'away'.subtype - Informações adicionais sobre o estado de presença atual.message - Uma mensagem personalizada que pode indicar detalhes adicionais sobre a presença.options e - Em escrita (Write) - Use esta opção quando o subtype e a 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 de presença SIP) receberão valores decodificados. Em leitura (Read) - Recupera a mensagem/subtype não codificada em formato codificado em Base64.