24. July 2008 July 2008

Fedora lanza su servicio de VoIP basada en Asterisk Fedora launches VoIP service based on Asterisk

Fedora , el grupo de desarrollo Open de RedHat, ha anunciado el lanzamiento de Fedora Talk , un servicio gratuito para aquellos usuarios registrados de Fedora y que permitirá realizar llamadas entre usuarios mediante SIP, así como poder recibir llamadas desde teléfonos (EEUU y UK) para contactar con los usuarios conectados. Fedora, the development group Open RedHat, has announced the launch of Fedora Talk, a free service for those subscribers Fedora and allowing for calls between users through SIP, as well as able to receive calls from phones (USA and UK) contact with users connected.

Este servicio está basado íntegramente en Asterisk como indica su página web y esperan crecer y poder ofrecer servicios adicionales. This service is based entirely on Asterisk as indicated by its website and expect to grow and be able to offer additional services.

El futuro está abierto a interpretaciones The future is open to interpretation :)

Enlace: http://talk.fedoraproject.org/index Link: http://talk.fedoraproject.org/index

23. July 2008 July 2008

Asterisk 1.4.21.2 y 1.2.30 Released! Asterisk 1.4.21.2 and 1.2.30 Released!

Empezamos el día con una nueva versión de Asterisk: acaba de ser lanzada 2 nuevas versiones de Asterisk, debido a 2 bugs encontrados en el IAX que han sido gestionados como vulnerabilidades como podeis ver en: AST-2008-010 y AST-2008-011 . We started the day with a new version of Asterisk: just launched 2 new versions of Asterisk, because 2 bugs found in the IAX that have been managed as vulnerabilities as you can see at: AST-2008-010 and AST-2008-011 .

Las nuevas versiones las encontrareis en: The new versions in the find:
http://downloads.digium.com/pub/asterisk/ http://downloads.digium.com/pub/asterisk/

22. July 2008 July 2008

Cómo configurar el envío de emails desde Asterisk Setting sending emails from Asterisk

Es una pregunta bastante común y pese a que su respuesta es la misma, voy intentar dejarlo tan claro como sea posible. It is a question quite common and although his answer is the same, I try to leave it as clear as possible.

Asterisk es una aplicación, como cualquier otra que corra bajo Linux, y por lo tanto sigue una norma que siguen todas las aplicaciones en Linux: Asterisk NO ENVIA EMAILS, si no que se comunica con el servidor SMTP que tengamos instalado en nuestro sistema local y es este el que envía el email. Asterisk is an application, like any other that run on Linux, and thus continues to follow a rule that all applications on Linux: Asterisk NOT send emails, if not that communicates with the SMTP server that we have installed in our local system and this is sending the email. Incluso si queremos utilizar un servidor remoto con una cuenta, el procedimiento sigue siendo el mismo. Even if we use a remote server with an account, the procedure remains the same.

Por este motivo, y por que todas las aplicaciones en linux funcionan prácticamente igual (apache, pureftpd, syslog, etc…) suelen darle los emails que quieren enviar a una aplicación bastante conocida: SendMail. For this reason, and that all applications on Linux operating virtually unchanged (apache, pureftpd, syslog, etc…) tend to give those who want to send emails to an application quite familiar: SendMail.

SendMail es un servidor de envío de emails (SMTP) y fue uno de los primeros y más avanzados servidores de este tipo, pero su poca fiabilidad (demasiados bugs para los administradores de redes) unido a su complejidad si queríamos configurar un servidor serio, hizo que apareciesen otros servidores SMTP más ligeros, simples y rápidos que Sendmail. SendMail a server sending emails (smtp) and was one of the earliest and most advanced servers such, but its unreliability (too many bugs for network administrators) coupled with its complexity if we wanted to configure a server seriously, he other SMTP servers that appear lighter, simpler and faster than Sendmail.

No obstante, todos los sistemas continúan intentando enviar emails dejándolos a Sendmail y es por esto por lo que los nuevos y más sencillos servidores SMTP utilizan un truco para hacerse pasar por Sendmail y poder “suplantarlo”, esto es, crean un enlace simbólico en el sistema con el nombre “sendmail”, de manera que cuando una aplicación intenta acceder a “sendmail”, realmente quien contesta es esta aplicación. However, all systems continue trying to submit Sendmail leaving them emails and that's why so the new simpler and SMTP servers use a trick to pretend to be able Sendmail and "impersonation", ie create a symbolic link in system under the name "sendmail" so that when an application tries to access "sendmail", who actually answered is this implementation. :)

Como ya he comentado, casi todas las aplicaciones que tienen la necesidad o la opción de enviar emails utilizan el servidor SMTP local, esto ha hecho que muchas distribuciones, para facilitar la configuración y envío de emails, instalen por defecto algunos sustitutos de sendmail como por ejemplo exim o postfix son las más conocidas. As I said, almost all applications that have the need or the option of sending emails using local SMTP server, this has meant that many distributions, to facilitate the configuration and sending emails, installed by default some substitutes for sendmail exim example or postfix are the best known.

El principal problema de utilizar el servidor SMTP local es el proveedor: Debido al aumento de correos SPAM, los proveedores y los servidores de correo que van a recepcionar tu email comprobarán si realmente el servidor del que procede el email es realmente un servidor “oficial” o bien un servidor que se dedica a enviar SPAM, y como el servidor local no es realmente un servidor en toda regla (no tiene registros MX en el DNS de algún dominio, tiene una dirección IP dinámica, o ha sido utilizado por otro spamer) es por lo que se aconseja encarecidamente utilizar una cuenta de algún servidor de emails ya verificado y seguro. The main problem with using SMTP server is the local provider: Due to increased postal SPAM, suppliers and mail servers that will recepcionar your email actually verify whether the server from which the email is actually a server "official" or a server that is dedicated to sending SPAM, and as the local server is not really a full-fledged server (no MX records in the DNS in any domain, has a dynamic IP address, or has been used by other spam) it is therefore strongly advised to use an account of some server emails already verified and secure.

Posiblemente, tras la instalación de nuestra distribución preferida, podremos enviar emails con el comando: Possibly, after installing our preferred distribution, we can send emails with the command:

echo “Prueba de email” |mail -s “Prueba de email” miUsuario@miDominio.com echo "Proof of email" | mail-s "Proof of email" miUsuario@miDominio.com

Pero cuando hayamos enviado varios de este tipo y empecemos a confiarnos, veremos como nuestro cliente de correo empezará a considerarlo spam, o puede que ni llegue. But when we sent more of this type and begin to rely, as we will see our mail client will start to consider spam, or may not arrive. Es entonces cuando tendremos que configurar nuestro servidor SMTP local para que envíe los emails mediante una cuenta autentificada. This is when we will have to configure our local SMTP server to send emails through an account authenticated.

Para el ejemplo de configuración voy a hacerlo con Exim (el servidor que viene por defecto con Debian), quizá sea uno de los más sencillos de configurar y de manejar, aunque personalmente siempre he preferido Qmail por ser mucho más seguro, no obstante, como nuestro objetivo no es configurar un servidor de correos en toda regla, vamos a hacerlo con Exim (versión 4) que es la que trae Debian (y Ubuntu) de serie. For example configuration'm going to do with Exim (the default server that comes with Debian), is perhaps one of the simplest to configure and manage, although personally I have always preferred Qmail to be much safer, however, as our goal is not to set up a mail server in any rule, we're going to do with Exim (Version 4) which is what brings Debian (and Ubuntu) series.

Lo primero que tenemos que hacer es asegurarnos que lo tenemos instalado: The first thing we have to do is make sure that what we have installed:

apt-get install exim4 exim4-config aptitude install exim4 exim4-config

Una vez que lo hayamos instalado, aparecerá una pantalla de configuración. Once we have installed, you'll see a configuration screen. Si no aparece, podremos acceder a ella en cualquier momento ejecutando el comando: If not, we can access it at any time by running:

dpkg-reconfigure exim4-config dpkg-reconfigure exim4-config

¿Sencillo verdad? Simple Is not it? :)

Será entonces cuando nos pregunte por distintas opciones de configuración: It is then when we ask for different settings:

- ¿Quiere utilizar archivos separados para la configuración? -- Do you want to use separate files for configuration?
Respondemos SI Answer yes

- ¿De qué forma queremos configurar nuestro servidor? -- How do we configure our server?
Respondemosenviar por SMARTHOST, y recibir por SMTP o Fetchmail” We respond "by smarthost send and receive SMTP or Fetchmail"

- Escriba el nombre del sistema: -- Enter the name of the system:
Respondemos con nuestro dominio: miDominio.com We respond with our domain: miDominio.com

- Escriba la dirección IP desde donde va a atender las conexiones al SMTP: -- Enter the IP address from where they will meet the SMTP connections:
Respondemos: 127.0.0.1 We respond: 127.0.0.1

- Escriba otros servidores destino que el SMTP será aceptado: -- Write other SMTP servers that destination will be accepted:
Aquí no respondemos nada, lo dejamos en blanco. Here we do not respond anything, we leave it blank.

- Sistemas a los que reenviar emails ? -- Systems to which forward emails?
No piques, esto también hay que dejarlo en blanco. Not pique, this must also be blank. : P

- Escribe el sistema que gestionará el correo saliente de este sistema: -- Write the system that will manage the outgoing mail from this scheme:
(Aquí escribimos nuestro servidor SMTP remoto, por ejemplo…) (Here we write our remote SMTP server, for example…)
smtp.miDominio.com smtp.miDominio.com

Si queremos utilizar una cuenta de gmail, el servidor SMTP de gmail hay que especificarlo junto con el puerto que va a utilizar, y sería esto: smtp.gmail.com::587 (ojo que lleva dos simbolos de dos puntos antes del puerto) If we use an account gmail, SMTP server must be gmail specify together with the port to be used, and it would be this: smtp.gmail.com: 587 (eye that carries two symbols of two points before the port)

- ¿Quiere ocultar el nombre local del sistema local del email saliente? -- Do you want to hide the local name of the local system outgoing email?
Pues NO. Well NO.

- Quiere cachear las peticiones DNS para ahorrar ancho de banda? -- Want caching DNS requests to save ancho de banda?
Pues NO. Well NO.

Bien, hasta ahora tenemos algunos parámetros básicos configurados, pero no hemos indicado el usuario ni la contraseña con el que queremos autentificarnos para enviar emails. Well, so far we have some basic parameters set, but we have not indicated the user or password with which we want to authenticate send emails. Si probásemos a enviar emails, seguramente nuestro servidor remoto recibiría un email de un tal root@localhost y nos lo rechazaría. If you try to send emails, surely our remote server would receive such an email from a root @ localhost and what we reject. :)

Vamos a configurar los datos importantes: We will set up important data:

1º. 1. - Editamos el archivo /etc/exim4/passwd.client y escribimos algo como esto: -- Edit your / etc/exim4/passwd.client and write something like this:

smtp.miDominio.com:usuario:contraseña smtp.miDominio.com: user: password

En el caso de que queramos utilizar la cuenta de email, deberíamos poner algo como esto: In case you want to use the email account, we should put something like this:

gmail-smtp.l.google.com: usuario@gmail.com :contraseña gmail-smtp.l.google.com: usuario@gmail.com: password
*.google.com: usuario@gmail.com :contraseña *. google.com: usuario@gmail.com: password
smtp.gmail.com: usuario@gmail.com :contraseña smtp.gmail.com: usuario@gmail.com: password

De esta manera, sea cual sea el nombre del servidor SMTP que utilicemos en gmail, le enviaremos los parámetros correctos y nos aceptará el envío. Thus, whatever the name of the SMTP server that we use in gmail, we'll send you the correct parameters and we accept the shipment.

2º.- Protegemos el archivo para que nadie tenga acceso a leer nuestros datos: 2 .- protect the file so that nobody has access to our data read:

chown root:Debian-exim /etc/exim4/passwd.client chown root: Debian-exim / etc/exim4/passwd.client

3º.- Si estamos configurando nuestra cuenta de Gmail, hay que indicarle (otra vez) que el envío debe hacerlo por el puerto 587 en lugar del estandar (el 25), por lo que tendremos que editar el archivo: 3 .- If we are setting our Gmail account, you must tell (again) that it must do by sending port 587 instead of the standard (25), we'll edit that file:

/etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost / etc/exim4/conf.d/transport/30_exim4-config_remote_smtp_smarthost

y justo debajo de la línea que dice algo como: ( hosts_try_auth… ) añadir lo siguiente: and just below the line that says something like: (hosts_try_auth…) add the following:
port=587 Port = 587

4º.- Por último, vamos a configurar nuestra identificación saliente: 4 .- Finally, let's configure our outgoing identification:

echo “ root@localhost: usuario@miDominio.com” >> /etc/exim4/email-addresses echo "root @ localhost: usuario@miDominio.com">> / etc/exim4/email-addresses

Y listo, lo último que nos queda es recargar la configuración: And ready, the last thing we have left is to recharge the setting:

ejecutamos: update-exim4.conf (es un comando running: update-exim4.conf (is a command :)

Y probamos a enviar un email como hemos hecho antes… And tried to send an email as we have done before…

echo “Prueba de email” |mail -s “Prueba de email” miUsuario@miDominio.com echo "Proof of email" | mail-s "Proof of email" miUsuario@miDominio.com

y veremos cómo nos llega con el usuario y dominio correcto. and see how it comes with the user domain and correct. : D

Bueno, parece más complicado de lo que realmente es. Well, it seems more complicated than it really is. Una vez que se ha configurado unos cuantos sistemas con esta técnica, se hace todo diréctamente y sin tener que recordar los pasitos. Once you have configured a few systems with this technique, everything is done directly and without having to remember the pasitos.

Una vez tengamos esto hecho y podamos enviar emails con nuestra cuenta oficial, entonces podremos recibir los emails que hayamos configurado en el buzón de voz de Asterisk, o incluso nuestras alertas de arranque de asterisk o incluso enviar faxes mediante Hylafax,… Once we have this done and we can send emails to our official account, then we can receive emails that we have set in the voicemail Asterisk, or even our alerts boot asterisk or even send faxes through Hylafax,…

Más información: More information:
http://www.exim.org/ http://www.exim.org/
http://wiki.debian.org/GmailAndExim4 http://wiki.debian.org/GmailAndExim4
http://wiki.debian.org/PkgExim4 http://wiki.debian.org/PkgExim4

18. July 2008 July 2008

Como ejecutar aplicaciones durante una llamada As run applications during a call

En la lista de Asterisk-ES a veces se comenta una utilidad que parece que no mucha gente conoce llamada “dynamic features”. In the list of Asterisk-ES is sometimes a utility says it seems that not many people know so-called "dynamic features." Oficialmente esta característica forma parte del conjunto de “recursos” que componen Asterisk y que, como su nombre indica, son añadidos dinámicos, lo que realmente significan, recursos que pueden ser accedidos dinámicamente durante una llamada. Officially this feature is part of the set of "resources" that make up Asterisk and, as its name suggests, are added dynamic, what it really means, resources that can be accessed dynamically during a call.

Estos añadidos son por ejemplo, las transferencias, el parking de llamadas y el mapa de aplicaciones ( applicationmap ), entre otros, y se definen en el archivo features.conf donde vamos a encontrar opciones y una serie de parámetros junto con un código de tecla que debemos pulsar para poder utilizarlos. These additions are for example, transfers, parking and map calls for applications (applicationmap), among others, and defined in the file features.conf where we will find a number of options and parameters along with a code key we should press for use.

Como ejemplo de estos añadidos encontramos los básicos como: As an example of these additions are the basic as:

  • blindxfer (transferencia ciega) blindxfer (blind transfer)
  • atxfer (transferencia atendida) atxfer (transfer served)
  • automon (grabación bajo demanda) automon (recording on demand)
  • pickupexten (captura de llamadas que suenan en los terminales del “grupo”) pickupexten (call capture that sound on the terminals of "group")
  • automixmon (grabación bajo demanda y posterior mezcla de las locuciones) automixmon (recording on demand and subsequent mixture of the sweepers)

Hay una parte muy interesante llamada applicationmap que consiste en una serie de combinaciones que podemos modificar para ejecutar aplicaciones básicas de dialplan, durante una conversación . There is a very interesting call applicationmap which consists of a series of combinations that we can modify to run basic dialplan, during a conversation.

Por ejemplo: testfeature => #9,peer,Playback,tt-monkeys For example: testfeature => # 9, peer, Playback, tt-monkeys

Este comando permitirá que cuando el llamante como el llamado durante una conversación, pulse las teclas # y 9, se reproduzca la locución tt-monkeys , algo muy gracioso, pero muy interesante en ciertos momentos. This command will enable when the caller as the call during a conversation, press # and 9, were playing the sweeper tt-monkeys, something very funny but very interesting at times.

Existe una limitación para este tipo de comandos, y es que no es recomendable utilizarlo para ejecutar aplicaciones relacionadas con el dialplan directo, es decir: Macro, Goto, Background, WaitExten y algunas de este tipo, pero en cambio sí que se puede ejecutar un “AGI(aplicacion.agi)” There is a limitation for this type of command, and it is not advisable to use it to run applications directly related dialplan, ie: Macro, Goto, Background, WaitExten and some of this type, but instead that it can run a "AGI (aplicacion.agi)" : P

Para evitar el uso accidental de este tipo de comandos on-line , se hace necesario habilitar dicho comando mediante una variable llamada DYNAMIC_FEATURES justo antes de hacer la llamada: Set(DYNAMIC_FEATURES=testfeature) To prevent accidental use of such commands online, it becomes necessary to enable the command through a variable called DYNAMIC_FEATURES just before making the call: Set (DYNAMIC_FEATURES = testfeature)

En Asterisk 1.6, nos encontramos algunas novedades bastante interesantes, como: In Asterisk 1.6, we find some pretty interesting developments, including:

  • atxferdropcall (permite no perder la llamada en caso de que la transferencia no se realice corréctamente, en cuyo caso volvería a sonar en el usuario que inició la transferencia) atxferdropcall (lets not lose the call if the transfer is not done properly, in which case again sounded in the user who initiated the transfer)
  • atxfernoanswertimeout (permite cambiar el timeout que una llamada transferida esté a la espera antes de volver a la extensión que inició la transferencia) atxfernoanswertimeout (lets you change the timeout that a call is transferred to waiting before returning to the extent that initiated the transfer)
  • Grupos para habilitar varios applicationmaps sin necesidad de definirlos todos: Groups to enable several applicationmaps without defining them all:
    Set(DYNAMIC_FEATURES=grupo) Set (DYNAMIC_FEATURES = group)

    donde: where:
    [grupo] [group]
    testfeature=>#9 testfeature => # 9

Grandes cosas se pueden llegar a hacer utilizando estas ventajas de Asterisk que son poco conocidas pero muy, muy útiles si se conocen. Great things are likely to make use of those advantages Asterisk that are little known but very, very helpful if known.

Que lo disfruteis. Let them enjoy it. : D

Novedades en el Chan_SIP3 New developments in Chan_SIP3

Olle Johansson en la lista Asterisk-Dev ha anunciado varias modificaciones que está programando para la nueva versión del chan_sip (chan_sip3 codename Pinneapple). Olle Johansson on the list Asterisk-Dev has announced several changes being planned for the new version of chan_sip (chan_sip3 codename Pinneapple).

La más curiosa de estas modificaciones es sin duda la batalla contra el usuario (recordemos la campaña -kill the user-) y que parece ser que está tomando forma. The most curious of these changes is undoubtedly the battle against the user (remember the campaign-kill the user) and that it appears that is taking shape.
Olle no únicamente está decidido a “matar al usuario” si no también a los amigos (friend) ya los pares (peer) y está programando un cambio radical y mucho más sencillo de aprender. Olle is not only determined to "kill the user" but also to friends (Friend) and peers (peer) and is planning a radical change and much easier to learn.

De esta manera existirían 3 tipos de usuarios en SIP: Thus there are 3 types of users in SIP:

  • phones : que definirán a los terminales, softphones, y básicamente lo que actualmente conocemos como friends . phones: that will define the terminals, softphones, and basically what we now know as friends.
  • trunk : que definirán los enlaces a proveedores SIP, es decir, lo que conocemos como peer . trunk: to define the SIP links to suppliers, namely what we know as peer.
  • services : que serán una mezcla entre trunk y phones permitiendo a Asterisk registrarse como un usuario SIP (un teléfono) en otro sistema y así poder hacer y recibir llamadas. services: to be a mix between trunk and allowing phones to register as a user Asterisk SIP (phone) in another system so we can make and receive calls.

La pregunta del millón: ¿para qué este cambio de nombres? The question of the one million: Why this change of names? Básicamente para simplificar la comprensión, y además facilitar la programación para continuar el desarrollo sin tanta “morralla”. Basically to simplify understanding, and further facilitate the programming to continue development without much "trash fish".

Este parche no será por el momento añadido a Asterisk 1.6.0 porque necesita ser testeado en condiciones, pero nos da una visión de por dónde van los tiros. This patch will not be for the time being added to Asterisk 1.6.0 because it needs to be tested in conditions but gives us a vision of where to go shooting.

15. July 2008 July 2008

Listado de las 74 aplicaciones de VoIP más conocidas List of the 74 best-known VoIP applications

Aquí teneis un listado de las 74 aplicaciones de VoIP licenciadas como de código abierto más conocidas. Here is a list of 74 applications VoIP licensed as open source best known.

Seguro que la mayoría las conocemos, pero puede que alguna no sepamos de su existencia hasta haberla visto en este listado. Surely the most familiar, but some may not know of its existence until having seen this list.

¿Cual no conocías? What did not know? : D

http://www.voipnow.org/2007/04/74_open_source_.html http://www.voipnow.org/2007/04/74_open_source_.html

2º concurso de Digium a las empresas innovadoras 2 nd contest Digium to innovative companies

El pasado verano, Digium organizó un concurso donde se buscaba a las empresas más innovadoras en determinados campos ( ya hablé de este concurso entonces ) y quienes fueron los ganadores . Last summer, Digium organized a contest where he was looking for the most innovative companies in certain fields (and I spoke about this contest then) and who were the winners.

Pues bien, tras ver la gran acogida, Digium ha anunciado el segundo concurso a la innovación donde, al igual que el año pasado, se premiará a los mejores de las siguientes categorías: Well, after seeing the great reception, Digium has announced the second contest of innovation where, like last year, will be awarded to the best of the following categories:

  • Premio Pionero ( Pioneer Award ): A la implementación más innovadora. Pioneer Award (Pioneer Award): In implementing more innovative.
  • Premio Gran Empresa ( Big Biz Asterisk ): a la implementación basada en Asterisk más grande. Grand Prize Company (Big Biz Asterisk): based deployment Asterisk largest.
  • Premio ROI ( Return of Inversion ): Solución más rápida en reembolsar su inversión. Prize ROI (Return of Investment): Solution faster to repay their investment.
  • Premio Negocio externo ( Inside Out Award ): Al mejor utilización de Asterisk en un negocio fuera del ámbito de las telecomunicaciones. Business Award external (Inside Out Award): Best use of Asterisk in a business outside the field of telecommunications.

Los ganadores serán anunciados del 22 al 25 de septiembre en la Astricon 2008 en Glendale (Arizona) The winners will be announced from 22 to 25 September at Astricon 2008 in Glendale (Arizona)

El plazo límite para participar es hasta el día 1 de agosto, así que ya saben… a ver si nos animamos. The deadline for participation is up to the day on August 1, so you know… to see if we encourage. :)

Más información: http://www.digium.com/en/company/awards/innovation.php More information: http://www.digium.com/en/company/awards/innovation.php

Asterisk y los hoteles: la combinación perfecta Asterisk and hotels: the perfect combination

Uno de los primeros lugares donde pensé que una aplicación como Asterisk sería mucho más que útil es en los hoteles y viendo que en el último hotel al que fuí tenía una siemens de más de 10 años me lo terminó de confirmar ya que están perdiendo una oportunidad de oro. One of the first places where I thought that an application such as Asterisk would be much more useful is that in hotels and seeing that in the last hotel that had siemens I was more than 10 years as I finished and confirm that they are losing an opportunity gold.

Si uno piensa en cómo funciona cualquier hotel, se da cuenta que el número de llamadas es bastante bajo en comparación con el número de teléfonos existentes (por lo general, uno por habitación más los de uso interno) por lo que el número de enlaces y líneas a la PSTN suele ser bajo, consecuentemente el coste de mantenimiento por línea es bastante bajo. If one thinks of how any hotel, she realizes that the number of calls is fairly low compared with the number of existing phones (usually one per room plus for internal use) as the number of links and PSTN lines to the usually low, thus keeping the cost per line is quite low.

Según el tipo de hotel y el tipo de clientela que suela tener, muchas llamadas serán al extranjero (los países de origen de los clientes) por lo que, en este caso, la VoIP juega un papel ventajoso frente a llamadas a través de la línea convencional permitiéndonos utilizar cuentas SIP con unas tarifas realmente bajas a países y ahorrándole al hotel una cantidad considerable de dinero en llamadas. Depending on the type of hotel and type of customer you normally have, many calls will be abroad (the home countries of customers) so that, in this case, VoIP plays a role advantageous compared to calls across the line allowing us to use conventional SIP accounts with some really low fares to countries and saving the hotel a considerable amount of money on calls.

Pero hasta ahí, las ventajas de utilizar VoIP en un hotel, se mejoran considerablemente cuando además se utiliza un sistema Asterisk para elaborar servicios básicos o avanzados: But even there, the advantages of using VoIP in a hotel, is considerably improve further when using an Asterisk system to develop advanced or basic services:

Servicio despertador: Hoy día todos los hoteles tienen un ordenador que avisa al recepcionista o incluso que llama a la habitación. Wake up call: Today, all hotels have a computer that alerts the receptionist or even calling for the room. En algunos casos, la televisión se enciende si el cliente es lo suficientemente avispado como para aprender a programar la alarma en la televisión, pero que te llame un Asterisk automáticamente y te diga la temperatura en la calle, si llueve o hace sol, el horario del desayuno, o cualquier otra cosa… In some cases, the television is turned on if the customer is sufficiently wasps to learn how to program the alarm on television, but you call a Asterisk automatically and tell you the temperature in the street, whether it rains or is sunny, hours breakfast, or anything else… :)

Servicios extras: Un menú IVR para pedir alguna toalla, solicitar el código para acceder a internet o el desayuno en la cama (que ganas de vacaciones)… Services Extras: An IVR menu to ask any towel, applying the code to access the Internet or breakfast in bed (who want to leave)…

Información sobre la ciudad: Todo lo que desea saber de la ciudad donde se encuentra el hotel, restaurantes, autobuses o estaciones de metro cercanas, últimos eventos culturales, museos, noticias locales, rutas turísticas, etc… Information about the city: All you want to know the city where the hotel, restaurants, buses or subway stations nearby, recent cultural events, museums, local news, tourist routes, etc…

y seguro que cualquiera que piense se le ocurren más servicios que podría ser interesante para un hotel. and certainly anyone who thinks it occur more services that could be interesting for a hotel.

En resumen, pronto veremos cómo los hoteles empiezan a ofrecer estos servicios adicionales, y llamadas a un precio más económico para el cliente sin perdida de beneficios por llamadas, seguro que entonces más personas utilizarán el teléfono del hotel en lugar de su móvil para hacer llamadas a su país de origen y lo mejor de todo… mucho más económico que una centralita tradicional para tantas extensiones. In short, we will soon see how hotels are beginning to offer these additional services, and calls for a lower price for the client without loss of benefits for calls, then surely more people will use the hotel phone instead of your cellphone to make calls to their country of origin and best of all… much cheaper than a traditional switchboard for so many extensions.

Y como decía una pegatina de Asterisk que leí hace poco… “ Estás utilizando Asterisk sin saberlo And as I said a sticker Asterisk I read recently… "You're using Asterisk unknowingly" : P

13. July 2008 July 2008

Lo que el usuario de una distribución con Asterisk no vé What the user of a distribution with Asterisk not go

A menudo recibo emails donde gente muy preparada y con muchos conocimientos sobre redes e informática buscan ayuda para solucionar algún problema que les ocurre cuando configuran su sistema Trixbox , Elastix , AsteriskNow , y no funciona como ellos esperaban. Often I receive emails where people very prepared and with much knowledge on computer networks and seek help solving a problem happens when your system configured trixbox, Elastix, AsteriskNow, and not working as they waited.

Es entonces cuando la gente que responde a estos emails le preguntan acerca de paquetes SIP, parámetros de configuración, o le sugieren determinados valores a ciertos parámetros que no han escuchado ni visto en su vida. This is when people respond to these emails asked about packages IAPA settings, or suggest certain values to certain parameters that have not heard or seen in his life. Ocurre que tras estas respuestas el usuario se vé en la necesidad de tener que entrar a mano a una consola en modo texto y editar un archivo o ejecutar un comando, algo que, en el 80% de los usuarios que utilizan este tipo de distribuciones para montar su sistema de comunicaciones, no saben cómo se hace o directamente jamás lo han hecho. It happens after these responses that user sees the necessity of having to manually enter a console and edit a file or run a command, which, in 80% of users who use this type of distributions to mount its communications system, do not know how it is done directly or ever have done.

Los usuarios de distribuciones controladas por interfaces web suelen olvidar (o no quieren reconocer) que toda interfaz web es creada con un objetivo: simplificar la configuración y gestión de una aplicación (en este caso, de Asterisk), esta simplificación tiene un efecto muy negativo, impide realizar tareas que no han sido previamente preparadas por los creadores de dicho interfaz o incluso han sido desechadas por su complejidad y poco útil para un público general, se dice entonces que esa distribución está “ a merced ” de lo que permita hacer el interfaz web. Users of distributions controlled web interfaces tend to forget (or unwilling to acknowledge) that any web interface is created with one goal: to simplify the configuration and management of an application (in this case, Asterisk), this simplification has a very negative impact Prevents perform tasks that have not previously been prepared by the creators of this interface or even have been discarded by their complexity and unhelpful for a general public, they say then that this distribution is "at the mercy" of procedures that can make the interface Web. En muchos casos he visto cómo gente con grandes conocimientos de redes, Asterisk y voip, han dicho que XXXXX no se puede hacer, simplemente porque el interfaz web no lo permite. In many cases I have seen how people with great knowledge of networks, Asterisk and voip, XXXXX have said they can not be done simply because the web interface does not allow it. Esto, además de no dejar en buen lugar a Asterisk, demuestra una falsa limitación que el comercial, conociendo las características de una aplicación tan versatil como es Asterisk, sí que anunció que era posible a su cliente. This, in addition to not make it good place to Asterisk, demonstrates a false limitation that commercial, knowing the characteristics of an application is as versatile as Asterisk, it announced that it was possible his client.

Alguna que otra vez me he encontrado con mensajes de usuarios con Trixbox o Elastix que no podían hacer transferencias, o que cuando intentaban llamar a una extensión esta no se encontraba disponible pese a haberse configurado corréctamente. Some again that I found messages from users with trixbox Elastix or who could not make transfers, or when trying to call this an extension was unavailable despite the correct settings. La solución de estos problemas y otros miles, se podría solucionar de una forma muy sencilla mirando la configuración y comprobando que estos parámetros son correctos, o simplemente comprobando que el dialplan hace lo que se supone que debería hacer, pero para hacer un interfaz web que ayude a simplificar la configuración se requieren de macros, includes y variables extras que ayuden a convertir lo que el usuario quiere hacer a través de una web, a un código medianamente funcional y limitado a lo que se pueda hacer. Solving these problems and thousands more could be solved very easily looking at the configuration and verifying that these parameters are correct, or simply checking the dialplan does what it is supposed to be done, but to make a web interface that help simplify the setup required macro, and includes extra variables that help convert what the user wants to do through a website, a code fairly functional and limited to what can be done.

Esa limitación no existe en un usuario final que únicamente quiere configurar 5 extensiones y 2 líneas analógicas que atiendan a una cola, pero en usuarios “avanzados” y “profesionales” esa limitación, no únicamente limita su trabajo, si no que le impide “controlar” el verdadero funcionamiento que está realizando su sistema Asterisk. That limitation does not exist in an end user who only want to configure extensions 5 and 2 analogue lines that cater to a queue, but users in "advanced" and "professional" such a limitation, not only restricted their work, if not all that prevents "control "The real operating system is making its Asterisk.

Cuando un usuario se encuentra con algún problema, puede ser debido a un fallo de configuración - y de conocimiento - como colocar “ inband ” en lugar de “ outofband ” en alguna pestaña del interfaz web porque desconoce para qué sirve estos parámetros, pero el usuario avanzado, que sí sabe lo que significan, debe poder entrar en Asterisk y ver en la consola - que para eso está - qué es exáctamente lo que Asterisk está ejecutando, para poder encontrar el error, y el simple hecho de utilizar un interfaz web que, para simplificar la configuración, utilice macros, includes y variables, se hace inviable su lectura por la cantidad de código que escribe un FreePBX para hacer una simple llamada. When a user encounters a problem, it may be due to a failure configuration - and knowledge - such as placing "inband" instead of "outofband" tab on any web interface for what it is not known because these parameters, but the user advanced that it knows what they mean, you should be able to enter Asterisk and see on the console - for which it is - which is exactly what Asterisk is running, in order to find the mistake, and the simple fact of using a web interface that , To simplify the setup, use macros, and includes variables, it is impractical to read by the amount of code that writes a FreePBX to make a single call.

En muchos casos, y después de comentar este problema con compañeros que trabajan con distribuciones de este tipo, suelen contestar que sus clientes necesitan de un interfaz web para poder añadir extensiones o cambiar el dialplan, es entonces cuando se llega al kit de la cuestión, - ¿qué usuario final cambia su dialplan?- ¿es la responsabilidad de un usuario final poder cambiar un dialplan? ¿qué usuario final sabe para qué sirve cada valor de cada pestaña de cada campo necesario para añadir una extensión o crear una cola? Lo único que el usuario final sabe es que quiere añadir una extensión y no quiere prestar atención a los distintos parámetros que conlleva esta decisión, es por eso por lo que hay dos posibilidades: In many cases, and after commenting on this issue with colleagues who work with such distributions, usually reply that their customers need a web interface to add extensions or change the dialplan is then when it comes to the issue kit, -- What changed your dialplan end user? - Is it the responsibility of an end user can change a dialplan? What end-user knows what it serves each value of each tab of each field needed to add an extension or create a queue? Lo All that the end user knows is he wants to add an extension and do not want to pay attention to the various parameters involved in this decision, why is it that there are two possibilities:

- Hacerle un interfaz web a medida que le permita entrar y añadir lo que el usuario avanzado quiera que añada. -- Make a web interface as allowed to enter and add what the user wants to add advanced. (para eso hay diferentes maneras: AJAM , AMI , PHP , etc…) (for that there are different ways: AJAM, MAI, PHP, etc…)

- Que llame por teléfono y diga que quiere añadir una extensión, en cuyo caso será el usuario avanzado el que lo haga y sea responsable de estos cambios. -- That phone call and say you want to add an extension, in which case the user will be advanced to do so and be responsible for these changes. (quizá no sea lo más agradable, pero el usuario final lo agradecerá y el usuario avanzado controlará que todo sigue funcionando corréctamente). (may not be as pleasant, but the end user and appreciate the advanced user control everything still works fine).

IMHO . IMHO.

PD: Esto por supuesto es a nivel general, siempre hay excepciones. PS: This of course is a general level, there are always exceptions.

LibPri 1.4.5 Released! LibPri 1.4.5 Released!

Hace un par de días el equipo de desarrollo de Asterisk publicó la versión 1.4.5 de LibPri con un arreglo a una incompatibilidad descubierta cuando se utiliza una tarjeta de primario en una red telefónica que envía el “ progress ” de una llamada en curso en el canal de voz en lugar de en el canal de datos de manera que, si por algún motivo el usuario destino cuelga la llamada, el origen continúa recibiendo tonos a la espera de que el otro extremo descuelgue. A couple of days ago, the development team Asterisk released version 1.4.5 of LibPri settlement with an incompatibility discovered when using a card in a primary telephone network that sends the "progress" of an ongoing call on the voice channel rather than the data channel so that if for some reason the user fate hangs the call, the home continues to receive tones while waiting for the other end descuelgue.

Como consecuencia de esta incompatibilidad, muchos usuarios tardan entre 2 y 20 segundos en descubrir que el otro extremo ha colgado la llamada, algo que arregla esta versión de LibPri. As a result of this incompatibility, many users take between 2 and 20 seconds to discover who the other end has hung the call, which this version of LibPri fix.

Pese a que esta versión soluciona esta incompatibilidad, por defecto se encuentra deshabilitado. Although this version solves this incompatibility, default is disabled. La próxima versión de Asterisk permitirá activar esta opción en el menú de configuración. Th