- Conhecimento
- Ronaldo Sacco
Script para geração de chamadas no Asterisk
Sem muitas delongas, compartilho aqui um script em PHP para geração de chamadas simultâneas, também conhecido como CPS (calls per second) para o asterisk.
O objetivo deste script é realizar teste de stress no Asterisk, podendo ser definido quantas chamadas simultâneas e quantas chamadas no total você deseja gerar.
O script gerará chamadas para uma outra central, como por exemplo, 2 asterisk. Conecte ambos via SIP e crie um contexto para recebimento de chamadas.
Basicamente, no código, altere as variáveis no início do arquivo. Destaco duas delas:
$CPS = Quantidade de chamadas geradas por SEGUNDO
$QTD = Quantidade de segundos deverá rodar
Total de chamadas geradas = $CPS * $QTD
/dev/null");
for($j=0;$j<$CPS;$j++){
//gera um arquivo aleatorio
$FILE_NAME=$FILE_PWD.rand(0,10000000000).rand(0,10000).".call";
//Montagem do arquivo
file_put_contents($FILE_NAME,"Channel: $CHANNEL\n");
file_put_contents($FILE_NAME,"Context: $CONTEXT\n",FILE_APPEND);
file_put_contents($FILE_NAME,"Extension: $EXTENSION\n",FILE_APPEND);
file_put_contents($FILE_NAME,"CallerID: $CALLERID\n",FILE_APPEND);
file_put_contents($FILE_NAME,"MaxRetries: $MAXRETRIES\n",FILE_APPEND);
file_put_contents($FILE_NAME,"RetryTime: $RETRYTIME\n",FILE_APPEND);
echo "Arquivo gerado: $FILE_NAME\n";
}
//Realizando as ligacoes
exec("mv $FILE_PWD*.call /var/spool/asterisk/outgoing");
//calls PER SECOND.. sleep 1s antes da proxima rodada
if($i+1!=$QTD)
sleep(1);
}
?>
Para executá-lo, basta salvar o código em um arquivo e executar com o comando:
php nome_arquivo.php