Script em PHP que gera uma chamada 'click-to-call' quando preenchemos um formulário na web, utilizando o asterisk.

Overview

;----------------------------------------------------------------------------------------------------------------------------;
; Scrip em PHP que gera uma chamada automática, quando preenchemos as informações do formulário na web
;----------------------------------------------------------------------------------------------------------------------------;

  • Chamada é gerada através de um servidor asterisk, utilizei o PABX ISSABEL;
  • Asterisk possui banco de dados(MYSQL) com as seguintes tabelas (clicktocall, manager)

Descrição de cada tabela!

  • Table clicktocall :

+---------+-------------+------+-----+---------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| norigem | int(4) | NO | | NULL | |
| context | varchar(45) | NO | | from-internal | |
+---------+-------------+------+-----+---------------+----------------+

  • Table manager :

+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| server | varchar(16) | NO | | NULL | |
| port | int(11) | NO | | 5038 | |
| protocol | varchar(6) | NO | | tcp | |
| username | varchar(45) | NO | | NULL | |
| password | varchar(45) | NO | | NULL | |
+----------+-------------+------+-----+---------+----------------+

Criação das tabelas acima!

  • Create Table clicktocall :

CREATE TABLE clicktocall (
id int(11) NOT NULL AUTO_INCREMENT,
norigem int(4) NOT NULL,
context varchar(45) NOT NULL DEFAULT 'from-internal',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1

  • Create Table manager :

CREATE TABLE manager (
id int(11) NOT NULL AUTO_INCREMENT,
server varchar(16) NOT NULL,
port int(11) NOT NULL DEFAULT '5038',
protocol varchar(6) NOT NULL DEFAULT 'tcp',
username varchar(45) NOT NULL,
password varchar(45) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1

  • Configuração do manager, realizada no diretório /etc/asterisk/manager.conf :

[admin]
secret = 123qwe
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
write = system,call,log,verbose,command,agent,user,config,command,dtmf,reporting,cdr,dialplan,originate
writetimeout = 5000

  • Asterisk possui dois ramais de teste para que funcione o click-to-call :

Name/username Host Dyn Forcerport Comedia ACL Port Status Description
998/998 192.168.0.19 D No No A 47464 OK (10 ms)
999/999 192.168.0.11 D No No A 53803 OK (1 ms)

O restante é feito com o script PHP e com um HTML CSS básico de um formulário.

  • Script PHP : clicktocall.php
  • Script Conexão Banco de Dados : conexaobd.php
  • Página principal HTML e CSS : index.php
  • Script manager : manager.php

Sei que clicktocall é você clicando em algo e mandando a discagem e etc, mas nesse caso fiz através de um formulário, caso necessário poderá utilizar também clicando em algo, basta alterar o código de acordo com a sua utilização.

Vlww tmj :)

You might also like...
Script PHP para preparo e envio de e-mails em massa. Projeto Treino de GIT da DIO

DIO_MailMass Script PHP para preparo e envio de e-mails em massa. Projeto Treino de GIT da DIO O referido projeto permite o envio de e-mail em massa p

Effortlessly create a PHP preload script for your Laravel project.

This package has been superseeded by Laragear/Preload. Please migrate to the new package. Laraload Effortlessly create a PHP Preload Script for your L

A Composer script to lint a Travis CI configuration file.

composer-travis-lint composer-travis-lint is a Composer script that lints a project/micro-package its Travis CI configuration aka its .travis.yml file

Shell script for Git module deployment with include/exclude filters.

Deploy multiple Git repositories in an unique folder modgit is a shell script for deploying multiple Git repositories in root folder of any project, w

CSS Exfil helper script to generate injected CSS and corresponding HTML (inspired by mike gualtieri)

The PoC-CSS Exfill Basic Keylogger First of all i was developing bot stuff and i seen attribute=value] [target=_blank] in source code of website. This

A web app for detecting backend technologies used in a web app, Based on wappalyzer node module

About Techdetector This a web fingerprinting application, it detects back end technologies of a given domain by using the node module wappalyzer. And

Jumpstart your web development journey with the HALT Stack Starter Kit, a one-command solution for creating dynamic, scalable, and clean web applications.

Welcome to the HALT Stack Starter Kit! This kit is designed to help you kickstart your web development projects using the HALT Stack, a powerful combi

A PHP framework for web artisans.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Shared code for the MaxMind Web Service PHP client APIs

Common Code for MaxMind Web Service Clients This is not intended for direct use by third parties. Rather, it is for shared code between MaxMind's vari

Owner
Leonardo Rocha
Feliz aquele que transfere o que sabe e aprende o que ensina.
Leonardo Rocha
Essa é uma aplicação RESTFul API e também uma aplicação MVC usando Blade construída com Laravel 8.

MVC - API - CRUD - REVENDA DE CARROS Essa é uma aplicação RESTFul API e também uma aplicação MVC usando Blade construída com Laravel 8. Neste projeto

matheusaltair 2 Dec 14, 2021
Sistema Imobiliário utilizando o Framework PHP Laravel

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Pedro Leandro 1 Jan 11, 2022
CRUD utilizando laravel, sendo um site para criação de eventos e festivais.

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Bruno 2 Oct 20, 2021
Projeto de uma rede social de Filmes feito durante o curso PHP: Do zero a maestria, ministrado pelo Matheus Baptisti

PJ - Moviestar Este projeto é uma rede social quase completa. O objeto de estudo aqui é a conexão de PHP + BD, PHP e a WEB, Regras de negócio complexa

João Pedro Sassi Granado 6 Jul 17, 2022
Laravel mercado pago es un paquete que te ayuda a implementar el sdk de mercado pago para php en laravel

Introducción Laravel mercado pago es un paquete que te ayuda a implementar el sdk de mercado pago para php en laravel. ?? Instalación Para instalar ut

null 7 Sep 23, 2022
Desafio prático para desenvolvedores fullstack que desejam entrar para nosso time.

Instruções para realizar os exercícios Essa avaliação é composta por três partes, que visam servir de base para análise das competências dos candidato

Dommus Tecnologia 3 Mar 3, 2022
Rede social com laravel que possui as seguintes funcionalidades: Adicionar ao amigos, Criação de Grupo, Perfil, Criação de post, Comentários entre outros... Além de possuir um design

Social Network Sobre o Projeto Fala Devs! Estou trazendo aqui uma rede social com laravel que possui as seguintes funcionalidades: Adicionar ao amigos

Raissadev 4 Aug 1, 2022
Rede Social para o mundo fitness que possibilitara as pessoas compartilharem seus treinos,dietas e posts com os amigos.

Myfit Rede Social para o mundo fitness que possibilitara as pessoas compartilharem seus treinos,dietas e posts com os amigos. Sistema de compartilhame

Alan de Medeiros Tavares 1 Dec 1, 2021
Uma lista de contatos com autenticação feita em Laravel

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Daniel Vitor Silva Moreira 1 Nov 29, 2021
Projeto de um sistema de pedidos de uma Pizzaria. Feito durante o curso "SQL - Básico ao Avançado" Dísponível na Udemy pelo instrutor Matheus Baptisti

PJ-Pizzaria Este projeto é um sistema de pedidos de uma Pizzaria. O objeto de estudo aqui é a conexão de PHP + BD, PHP e a WEB, Regras de negócio comp

João Pedro Sassi Granado 2 Nov 29, 2021