Dê uma olhada na opção "M" para o comando Discar. A macro que você acionou faz a pesquisa necessária para determinar as informações do operador e, em seguida, executa o comando do sistema na macro.
Leitura adicional:
Estou tentando configurar o asterisco para executar o comando shell para chamadas recebidas - mas somente quando a chamada for aceita. Eu consegui configurar o extensions.conf para que o comando seja executado quando a nova chamada chegar.
exten => 999999999,1,NoOp("----------mygroup---------------")
exten => 999999999,2,System(echo "1:${EXTEN} - ${DATETIME} - ${CALLERID} - ${CHANNEL}" >> /var/log/asterisk/calls)
exten => 999999999,3,Dial(SIP/7001,20)
É possível alterá-lo para que o comando seja executado quando o operador conectado a uma extensão SIP atender a chamada. Eu preciso saber o ID do operador ativo e o número do chamador para executar o comando.
Dê uma olhada na opção "M" para o comando Discar. A macro que você acionou faz a pesquisa necessária para determinar as informações do operador e, em seguida, executa o comando do sistema na macro.
Leitura adicional: