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
Autor: Ronaldo Sacco