Hagamos que México crezca..

Prefiere el consumo de lo Hecho en México

Prefiere el consumo de lo Hecho en México
BúsquedaHagamos que México crezca..
![]() Prefiere el consumo de lo Hecho en México Posts Recientes
Conversación |
Como hacer llamadas en automático usando AMI y el comando originate en Asterisk PBXMuchos amigos me han preguntado como lanzar llamadas en automático a través de Asterisk, aparte que es muy común que en diversos foros salgan este tipo de preguntas. Por ello aquí posteo un código muy simple hecho en PHP que permite marcar a un número para luego enlazarlo a un AGI, Un grupo de marcación, grupo de extensiones, IVR, etc.,
<? #Direccion IP del Servidor de Asterisk Manager $strHost = "localhost"; #Usuario dado de alta en el Asterisk Manager definido en /etc/asterisk/manager.conf o /etc/asterisk/manager_custom.conf $strUser = "cloudvoox"; #Password del usuario del Asterisk Manager definido en /etc/asterisk/manager.conf o /etc/asterisk/manager_custom.conf $strSecret = "cloudvoox"; #especificamos el contexto $strContext = "from-internal"; #indicamos el tiempo de espera de la marcación $strWaitTime = 45; #La prioridad para colocar la llamada $strPriority = 1; #maximo de reintentos $strMaxRetry = "2"; #Extensión a dónde mandaremos la llamada realizada, previamente debemos definirla extension en /etc/asterisk/extensions_custom.conf, esta puede ser un AGI, un Grupo de marcación, IVR, Extension, Cola de llamadas, etc. $number="1997"; #A partir de aquí podemos crear un ciclo que lea diversos números a marcar, por ejemplo podría ser un mysql_fetch_array que nos obtenga los numeros a marcar y sustituirlos en el número de abajo #Aqui podemos enlazar los destinatarios externos ya sean extensiones internas SIP o IAX, o también pueden ser números de la PSTN que salgamos mediante IAX2, SIP, Zaptel o DAHDI #En este caso estoy llamando a traves de voipjet al número de la ciudad de México 11689818 (+525511689818) $strChannel = "IAX2/voipjet/011525511689818"; if ($strChannel!="" ) : $errno=0 ; $errstr=0 ; $strCallerId = " WebCall<$number>"; $oSocket = fsockopen ($strHost, 5038, $errno, $errstr, 20); if (!$oSocket) { echo "$errstr ($errno)<br>\n"; } else { fputs($oSocket, "Action: login\r\n"); fputs($oSocket, "Events: off\r\n"); fputs($oSocket, "Username: $strUser\r\n"); fputs($oSocket, "Secret: $strSecret\r\n\r\n"); fputs($oSocket, "Action: originate\r\n"); fputs($oSocket, "Channel: $strChannel\r\n"); fputs($oSocket, "WaitTime: $strWaitTime\r\n"); fputs($oSocket, "CallerId: $strCallerId\r\n"); fputs($oSocket, "Exten: $number\r\n"); fputs($oSocket, "Context: $strContext\r\n"); fputs($oSocket, "Priority: $strPriority\r\n\r\n"); fputs($oSocket, "Action: Logoff\r\n\r\n"); sleep(2); fclose($oSocket); } if (!isset($_REQUEST['exten'])){ echo ""; } else { echo "$strChannel enlazando a $number." ; } else : exit() ; endif ; ?> Ahí previamente debemos tener creada la extensión 1997 en el plan de marcación de asterisk, esa extensión es a dónde vamos a mandar las llamadas contestadas, en este caso por ejemplo se puede crear en /etc/asterisk/extensions_custom.conf en caso de que se use freepbx como lo hacemos a continuación
sudo editor /etc/asterisk/extensions_custom.conf #Y agregamos lo siguiente o editamos en caso de que ya exista [from-internal-custom] include=>asterisk-calls [asterisk-calls] exten => 1997,1,Answer exten => 1997,n,SetMusicOnHold(Publicidad) exten => 1997,n,MusicOnHold() exten => 1997,n,Hangup #guardamos el archivo y reiniciamos el plan de marcación en la consola de asterisk sudo asterisk -rvvv dialplan reload Básicamente lo que hicimos en el plan de marcación es poner la música de fondo llamada publicidad, que previamente debimos haberla creada, aquí también puede ser un AGI, o marcar a un grupo de extensiones, IVR, etc. Con esto fácilmente podemos subir una lista de números a marcar, para que enseguida ejecutar el script y Asterisk les llame para luego enlazar las llamadas a la extensión 1997 dónde podemos tener cualquier aplicación como puede ser un AGI que haga una encuesta por ejemplo También podemos crear un script que genere hilos de llamadas dependiendo del número de canales de voz disponibles en nuestro conmutador de Voz sobre IP. Dejar un comentario
Fuentes XML de comentario: RSS | Atom
|
Nube de EtiquetasEventosEncuestaComentarios Recientes
|
#1 Interfaz para asterisk
Hola que tal apenas estoy conociendo como utilizar el asterisk ya lo e instalada y configurado para relizar las llamadas por el momento lo mas básico, quisiera crear una interfaz claro que ya existen varias pero quisiera realizar mi propia interfaz para practicar un poco programando mi duda es como lo ago sin usar librerías (phpagi) quisiera realizarlo en php y Ajax pero donde guardo los archivos php o como se ejecutan por ejmplo un formulario sencillo que tenga nombre del usuario y teléfono y que se agregue esa extensión y de que manera los consulto para eliminarlo actualizarlos o simplemente mostrar quien esta llamando a quien y quien esta activo y las llamadas que han realizado o recivido la verdad es que estoy perdido aun no lo entiendo y pues un ejemplo basico me ayudaria bastante lo demas ya seria programacion mia gracias espero puedan ayudarme