You are on page 1of 15

ESPECIALIDAD:

Redes y Comunicaciones de Datos

PROYECTO:
Sistema de pedidos en pizzeria

INTEGRANTES:

Aparicio Mayta Cesar Reynaldo


Apaza Cruz Jos Miguel

DOCENTE ASESOR
Mauricio Surco Valenzuela

AREQUIPA PERU
JUNIO - 2017
INTRODUCCIN

Con el siguiente sistema se busca implementar y optimizar los pedidos y reservaciones


de pizzas en un determinado local de ventas de estos productos.

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

Muchos de los restaurantes en la ciudad de Arequipa no cuentan con un sistema


automatizado de atencin al pblico mediante llamadas, tan solo cuentan en algunos
casos con personal atendiendo las llamadas, que en ocasiones no suele ser tan eficiente
ya que esta persona puede estar desempeando otras tareas haciendo as ineficiente
la atencin al consumidor que realiza pedidos por llamadas telefnicas.

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 habitaciones Reserva de habitaciones Eliminar reserva

Men 2 Solicitar datos de la Mediante cdigo elimina


reserva reserva

Segn la opcin escogida


Se le suministrara
3 el Mensaje reserva
cdigo de la reserva eliminada

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.

CREACION DE BASE DE DATOS


Ingreso a la base de datos:
mysql>use db_asterisk;

5
Creacin de la tabla usuarios con las siguientes caractersticas:

mysql>create table usuarios(id INT NOT NULL,nombre VARCHAR(50),


precio VARCHAR(50),PRIMARY KEY (id));

Ingrese los siguientes datos:

mysql>insert into usuarios values(1,Simple,cincuenta


soles);
mysql>insert into usuarios values(2,Doble,setenta soles);
mysql>insert into usuarios values(3,Triple,ochente soles);
mysql>insert into usuarios values(4,Matrimonial,mil
docientos soles);
mysql>insert into usuarios values(5,Suite,dos mil soles);

Aqu podemos observar la tabla con los datos ingresados

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,6,AGI(hacer_reserva.php, ${DNI}, ${DIA}, ${MES}, ${ANIO}, ${TIPOHAB})


exten=>s,n,NoOp(Su id de reserva es ${IDRESERVA})
exten=>s,n,Festival(Su id de reserva es ${IDRESERVA})

;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

Activamos festival para reproducir los mensajes.

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");

echo "<table border='1'>


<tr>
<th>id</th>
<th>dni</th>
<th>dia</th>
<th>mes</th>
<th>anio</th>
<th>id_hab</th>
</tr>";

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>";

echo "<br> </br>";

$result = mysqli_query($con,"SELECT * FROM usuarios");

echo "<table border='1'>


<tr>
<th>id</th>
<th>nombre</th>
<th>precio</th>

</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.

Aqu ingresamos a la pgina de Hotel Fantasy

14
CONCLUSION

Despus de la implementacin del sistema en forma virtual (usando sophones) podemos


concluir que el proyecto se cumpli de acuerdo a las necesidades del Hotel Fantasy
ya que se realiz la propuesta de implementacin, la misma que permite crear
multicanalidad y automatizacin de procesos en base a la utilizacin de las nuevas
tecnologas.

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.

Para el diseo de este sistema automatizado de atencin de llamadas a travs de VOIP


se us el protocolo de sealizacin SIP ya que es un protocolo estandarizado por la
IEFT y ampliamente utilizado por equipos de software.

15

You might also like