Script para geração de chamadas no Asterisk

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

Conheça os softwares que vão
descomplicar a telefonia para provedores

Utilizamos cookies e outras tecnologias semelhantes para melhorar a sua experiência de navegação em nosso site. Nossos cookies são dirigidos para meios de comunicação e analítica avançada. Ao utilizar nossos serviços, você concorda com tal monitoramento. Para maiores informações sobre a coleta e tratamento de seus dados pessoais, consulte nossa Política de Privacidade e Proteção de Dados
online
Ao utilizar o chat, você aceita a nossa Política de Privacidade.
Avatar