Professional Documents
Culture Documents
PROYECTO:
Sistema de pedidos en pizzeria
INTEGRANTES:
DOCENTE ASESOR
Mauricio Surco Valenzuela
AREQUIPA PERU
JUNIO - 2017
INTRODUCCIN
El sistema operativo libre Asterisk es idneo para nuestra nuestra solucin VoIP;
aprovechando el entorno del software, donde la programacin se realiz en CentOS, el
cual es una distribucin Linux de clase empresarial derivados de fuentes libremente
ofrecidos al pblico. Es una distribucin de LINUX gratuita que est basada en la
distribucin Red Hat Enterprise Linux (RHEL).
PROBLEMTICA
La ineficiencia en responder llamadas puede ser mucho ms aun los fines donde la
demanda de la pizza suele ser mayor a los dems das de la semana
SOLUCIN
Como podemos ver la atencin al cliente debe ser importante y eficiente, el sistema de
atencin de llamadas llegar a optimizar la relacin cliente-vendedor utilizando
tecnologa VoIP, generando mayor trfico y eficiencia a la hora de atender a los
consumidores, es por ello que hay la necesidad de implementar y poner en
funcionamiento el servicio, y as poder llegar a reducir la congestin de llamadas de
manera significativa, las llamadas pasaran a un men IVR, donde existirn opciones
requeridas para atender consultas y seleccin de cada producto.
2
DIAGRAMA DE BLOQUES DE LA SOLUCIN
Llamada entrante
Men 1
Precio de habitacin
Fin de la llamada
CODIGO DOCUMENTADO
Conexin AGI
Selhab.php
#!/usr/bin/php -q
<?php
$link = mysql_connect("localhost", "root", "");
if ($link){
mysql_select_db("db_asterisk", $link);
}
$stdin = fopen('php://stdin', 'r');
$stdout= fopen('php://stdout', 'w');
function astWrite($comando){
global $stdout;
fwrite($stdout,$comando."\n");
fflush($stdout);
}
function astRead($comando){
4
global $stdin;
$input = str_replace("n","",fgets($stdin,4096));
return $input;
}
$hab_tipo=$argv[1];
$sql="select * from usuarios where id = '".$hab_tipo."'";
$result = mysql_query($sql, $link);
$row = mysql_fetch_array($result);
$precio_hab=$row['precio'];
fwrite($stdout,"SET VARIABLE PRECIO_HAB ".$precio_hab."\n");
?>
BASE DE DATOS
#mysql u root p
mysql>create database db_asterisk;
La captura de abajo muestra la creacin de la base de datos.
5
Creacin de la tabla usuarios con las siguientes caractersticas:
EXTENSIONS.CONF
6
[default]
include=>global
[global]
include=>administracion
include=>120
include=>app
include=>smenu1
include=>smenu2
exten=>s,1,Answer()
exten=>s,n,Wait(1)
exten=>s,n,Background(day-menu)
exten=>s,n,WaitExten(5)
exten=>1,1,Goto(smenu1,s,1)
exten=>2,1,Goto(smenu2,s,1)
exten=>3,1,Goto(smenu3,s,1)
exten=>#,1,Goto(s,1)
exten=>t,1,Playback(goodbye)
exten=>t,n,Hangup()
exten=>i,1,Playback(pbx-invalid)
exten=>i,n,Goto(s,1)
exten=>8888,1,Goto(s,1)
Exten=>_XXXX,1,Dial(IAX2/pbxB/${EXTEN},30)
[app]
exten=>1111,1,Answer()
exten=>1111,n,Wait(2)
exten=>1111,n,Record(day-menu.gsm)
exten=>1111,n,Wait(2)
exten=>1111,n,Playback(day-menu)
exten=>1111,n,Hangup()
exten=>2222,1,Answer()
exten=>2222,n,Wait(2)
7
exten=>2222,n,Record(day-menu1.gsm)
exten=>2222,n,Wait(2)
exten=>2222,n,Playback(day-menu1)
exten=>2222,n,Hangup()
exten=>3333,1,Answer()
exten=>3333,n,Wait(2)
exten=>3333,n,Record(day-menu2.gsm)
exten=>3333,n,Wait(2)
exten=>3333,n,Playback(day-menu2)
exten=>3333,n,Hangup()
exten=>4444,1,Answer()
exten=>4444,n,Wait(2)
exten=>4444,n,Record(ingrese_dni.gsm)
exten=>4444,n,Wait(2)
exten=>4444,n,Playback(ingrese_dni)
exten=>4444,n,Hangup()
exten=>5555,1,Answer()
exten=>5555,n,Wait(2)
exten=>5555,n,Record(ingrese_dia.gsm)
exten=>5555,n,Wait(2)
exten=>5555,n,Playback(ingrese_dia)
exten=>5555,n,Hangup()
exten=>6666,1,Answer()
exten=>6666,n,Wait(2)
exten=>6666,n,Record(ingrese_mes.gsm)
exten=>6666,n,Wait(2)
exten=>6666,n,Playback(ingrese_mes)
exten=>6666,n,Hangup()
exten=>7777,1,Answer()
exten=>7777,n,Wait(2)
8
exten=>7777,n,Record(ingrese_anio.gsm)
exten=>7777,n,Wait(2)
exten=>7777,n,Playback(ingrese_anio)
exten=>7777,n,Hangup()
exten=>9999,1,Answer()
exten=>9999,n,Wait(2)
exten=>9999,n,Record(ingrese_tipohab.gsm)
exten=>9999,n,Wait(2)
exten=>9999,n,Playback(ingrese_tipohab)
exten=>9999,n,Hangup()
exten=>1122,1,Answer()
exten=>1122,n,Wait(2)
exten=>1122,n,Record(ingrese_id.gsm)
exten=>1122,n,Wait(2)
exten=>1122,n,Playback(ingrese_id)
exten=>1122,n,Hangup()
[smenu1]
exten=>s,1,Read(IDHAB,day-menu1,1)
exten=>s,n,AGI(selhab.php, ${IDHAB})
exten=>s,n,NoOP(${PRECIO_HAB})
exten=>s,n,Festival(el precio es ${PRECIO_HAB})
exten=>s,n,Wait(1)
;exten=>s,n,Background(day-menu1)
;exten=>s,n,WaitExten(5)
;exten=>1,1,Goto(Simple)
;exten=>2,1,Goto(doble)
;exten=>3,1,Goto(triple)
;exten=>4,1,Goto(matrimonial)
;exten=>5,1,Goto(suite)
exten=>t,1,Playback(goodbye)
9
exten=>t,n,Hangup()
exten=>i,1,Playback(pbx-invalid)
exten=>i,n,Goto(s,1)
[smenu2]
exten=>s,1,Read(DNI,ingrese_dni,8)
exten=>s,2,Read(DIA,ingrese_dia,2)
exten=>s,3,Read(MES,ingrese_mes,2)
exten=>s,4,Read(ANIO,ingrese_anio,4)
exten=>s,5,Read(TIPOHAB,ingrese_tipohab,1)
;exten=>s,1,Answer()
;exten=>s,n,Wait(1)
;exten=>s,n,Background(day-menu2)
;exten=>s,n,WaitExten(5)
;exten=>1,1,Goto(administracion,100,1)
exten=>t,1,Playback(goodbye)
exten=>t,n,Hangup()
exten=>i,1,Playback(pbx-invalid)
exten=>i,n,Goto(s,1)
[smenu3]
exten=>s,1,Read(IDRES,ingrese_id,2)
exten=>s,n,AGI(eliminar_reserva.php, ${IDRES})
exten=>s,n,NoOP(${PRECIO_HAB})
exten=>s,n,Festival(el precio es ${PRECIO_HAB})
[administracion]
exten=>100,1,Dial(SIP/jefeadmin,15,Ttm)
10
[120]
exten=>120,1,Dial(SIP/120,15,Ttm)
SIP.CONF
[general]
bindport=5060
bindaddr=0.0.0.0
context=default
disallow=all
language=es
nat=no
register=>pbxA:1234@172.11.1.2/pbxB
allow=ulaw
allow=gsm
allow=alaw
[jefeadmin]
type=friend
secret=1234
host=dynamic
context=global
[120]
type=friend
secret=1234
host=dynamic
context=global
[pbxB]
type=friend
secret=1234
host=dynamic
11
context=global
IAX.CONF
[pbxB]
Type=friend
Secret=1234
Host=172.11.1.2
Context=global
ACTIVACION FESTIVAL
INTERFAZ WEB
Php fantasy
/var/www/html/fantasy
<?php
$con=mysqli_connect("localhost","root","","db_asterisk");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
12
$result = mysqli_query($con,"SELECT * FROM reservas");
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['dni'] . "</td>";
echo "<td>" . $row['dia'] . "</td>";
echo "<td>" . $row['mes'] . "</td>";
echo "<td>" . $row['anio'] . "</td>";
echo "<td>" . $row['id_hab'] . "</td>";
echo "</tr>";
}
echo "</table>";
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['nombre'] . "</td>";
echo "<td>" . $row['precio'] . "</td>";
13
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
Aqu primero vemos el estado del servicio de httpd, como se ve se encontraba inactiva
por lo que procedemos a reiniciarlo, luego para comprobar mandamos de nuevo el
comando para ver su estado encontrndose en este caso activo.
14
CONCLUSION
Podemos concluir que para la aplicacin de este proyecto con tecnologa de Voz IP se
ha utilizado la transmisin digital ya que esta asequible en costos, en el
aprovechamiento del ancho de banda, obteniendo una convergencia con las diferentes
plataformas.
15