Como conseguir llamadas al minimo precio via SIP

Ya sabeis que una de las famosas ventajas del mundo SIP es la posibilidad de conseguir llamadas muy baratas gracias a los diversos proveedores SIP que hay en el mercado.

La dificultad radica la mayor parte del tiempo, en localizar ese proveedor SIP que ofrezca en un momento determinado la mejor tarifa.

Resulta que existe una web, que mantiene bastante actualizadas, las mejores tarifas, para muchos proveedores SIP, para practicamente todos los paises y todos los tipos de llamadas a los mismos (a moviles y a fijos).

Lo interesante de todo esto, es la posibilidad de configurar multiples proveedores y a la vez enrutar las llamadas segun el destino de las mismas por uno o por otro en funcion de nuestra necesidad.

La pagina web de la que estamos hablando es: http://backsla.sh/betamax

Si observais en el momento en que escribo este mensaje, el mejor operador es EasyVOIP. No todos los proveedores de la lista ofrecen la posibilidad de conectarse via SIP a los servicios, (por ejemplo CheapVOIP no lo permite, solo llamadas a traves de su dialer). En este caso Easy VOIP ofrece llamadas a operadores moviles en España a solo 0,04 dolares el minuto sin establecimiento de llamada (del orden de los 0,03 centimos de euro). No existe ni un solo operador en España que ofrezca este nivel de competitividad. Ni siquiera existe una tarifa plana que pueda competir, lo mas cercano, las tarifas Leon de Orange que son las menos restrictivas a nivel de tiempos. Los OMV (Operadores Moviles Virtuales) al cursar llamadas a traves de los operadores principales (Orange, Movistar, Vodafone o Yoigo), todos imponen el establecimiento de llamada, que para llamadas relativamente cortas (menos de 15 minutos), supone un sobrecoste excesivo (por tanto entramos en restricciones).

Luego hay tarifas baratas, por tramos horarios, numeros preferidos, etc, etc, pero igual entramos en restricciones. Todo esto lo podemos sintetizar en un operador SIP. Hoy en dia con las conexiones a Internet, es practicamente despreciable la baja calidad de la señal (latencias de entre 50 a 70ms con un jitter inferior a 10ms), y por simultaneidad de canales precisamente es el caudal simetrico ya empieza a sobrar (es relativamente facil conseguir caudales de 2Mbits simetricos). Pongamos uno de los peores casos, el codec ULAW G.711, 64kbits/s duplex. En 2 Mbits simetricos tenemos accesible un “troncal” de 32 llamadas simultaneas, podria decirse, semejante a un Primario E1.

Pero si decidimos gastarnos un dinerillo en unas cuantas licencias G.729 (algo muy interesante sinceramente, ya que reducimos gracias a la compresion, hasta 4 veces el caudal de ULAW), es decir 8 kbits/s, por tanto tendriamos acceso a un “troncal” de hasta 128 llamadas simultaneas, o lo mas clasico en estos casos, dedicar, 512kbits simetricos al trafico VoIP para conseguir ese “primario de voz”, mediante politicas QoS, y tener accesible el resto del caudal para aplicativos internos de la empresa en segundo o tercer nivel.  Una licencia G.729 para un canal concurrente, vale solo 10 dolares. Si hablamos de 32, 320 dolares al cambio poco menos de 250 euros es una suma totalmente asumible, mas considerando, que es lo que puede llegar a valer un Primario E1, para una PYME durante solo 1 mes de uso (y descontando el trafico).

Y lo mas interesante, se que proveedores SIP como EasyVOIP soportan este codec.

Como ya comente en entradas anteriores, nos encontramos un gran problema que lidiar: el trafico entrante. Necesitamos proveedores que nos permitan tener DID y trafico entrante sin pedir “nada a cambio” (o que curses llamadas obligatoriamente a traves de ellos). Esta tarea aun no la tengo resuelta, puesto que sobre todo en el ambito casero lo que es a quien va principalmente orientados estos proveedores SIP, lo primordial es llamar barato, pero todos “tenemos” una linea movil a los que ser llamados, o una linea fija de Telefonica…

Netelip sigue ofreciendo servicios de llamadas de bastante bajo nivel. Telsome, tambien tiene unas tarifas aceptables, pero la calidad es intermedia. Llama la atencion que hasta EasyVOIP operador extranjero ofrece mejor calidad que estas dos operadores IP Españolas. Asi que VozTelecom sigue siendo la mejor opcion todavia aun a costa de ser un poco caros.

VozTele ofrecia dos canales entrante por 9 euros al mes, y luego cada DID por 4 euros aparte. Esto es una configuracion ejemplo: 4 DID + 2 canales entrantes = 25 euros al mes. Por ejemplo un proveedor mundial de DID, DIDWW ofrece un canal entrante por cada DID contratado, peor servicio, por 5 euros de SETUP y 5 euros al mes. 5 x 4 = 20 euros. En este caso nos ahorrariamos 5 euros pero con inferior servicio.

Evidentemente, es totalmente “injusto” que cursemos llamadas por un operador externo del que las recibimos ya que no ofrecemos la oportunidad de “ganar” al segundo. Por eso todavia estas soluciones mixtas para mi criterio son una asignatura pendiente.

Vuelvo a dejar abierto este tema por si alguien tiene ideas mejores, o propuestas para poder entrar a ser planteadas. Desde luego aun teniendo estas dos soluciones separadas siguen siendo de resultado mucho mas baratas que “quedarse” en la PSTN o en los operadores moviles. De hecho podrian conseguirse telefonos moviles para llamadas entrantes a coste 0 (por ejemplo con OMV) e introducirlos en nuestra PBX a traves de un enlace movil o un modem 3G que permita funciones de Voz (como hicieron en las “practicas” los de chan_sebi).

Proxy Movil

Y justamente de esta idea, se me ocurre diseñar un “Proxy Movil” aprovechando las tarifas corporativas (llamadas a numeros internos de la empresa ilimitadas, a coste 0, con “tarifas planas para este proposito, de solo 3 euros”. Dado que realmente consumir 1000 minutos que es lo que ofrecen la mayoria de las tarifas planas es bastante complejo, ¿Que ocurriria si utilizaramos varias de estas lineas de 1000 minutos unidas, para tener una suma pongamos de 5000 minutos, a repartir entre 25 lineas corporativas?

Asi a desglose economico:

30 (+9 tracks entrantes) x 3 euros = 117 euros
9000 minutos x 0,03 centimos (EasyVOIP) = 270 euros
Total = 387 euros al mes

Son 300 minutos por linea. La tarifa plana mas barata, no baja de 20 euros, Leon 24 , 300 minutos por 24 euros al mes = 30 x 24 = 720 euros al mes.

Ahorro de mas de 300 euros al mes por aplicar esta filosofia. Y las posibilidades que ofrece son muy amplias (por ejemplo, coste nulo para llamadas salientes, por ejemplo, alguien nos llama a nuestra PBX a la operadora, y la operadora quiere transferir a uno de esos 30 telefonos de la empresa, al cursarse por uno de los 9 tracks, saldria gratuita la llamada, y podriamos aplicar FailOver). El unico problema: el contrario, en la llamada entrante, si el track esta ocupado no se me ocurre aplicar un metodo de failover al siguiente track puesto que la llamada se cursa contra la operadora, a no ser que se aplique un sistema de desvio de llamada “si comunica” rotativo entre todos las lineas del track. Curioso experimento

Conquistando el Dialplan II: Configuración DID para Operadores IP

Para todos aquellos que utilizamos operadores SIP tenemos la gran posibilidad de adquirir múltiples canales entrantes a muy bajo coste. A día de hoy la verdad que las llamadas salientes salen realmente caras, sobre todo si nos vemos en entornos empresariales. Ya hace tiempo os comente múltiples alternativas que había barajado en su día, con operadores como Netelip, Voztelecom, Telsome. A día de hoy, 2 céntimos el minuto para llamadas nacionales: Es muy caro. Tenemos alternativas internacionales como CheapVoip, pero aquí entra en juego el tema de las latencias. Además estas no nos ofrecen líneas de entrada y/o DID por tanto no podemos adquirir un sistema integral de llamadas tanto de entrada como de salida.

Aquellas empresas que si ofrecen canales de entrada, “se aprovechan” a un alto coste para la salida. Podemos combinar ambas soluciones, y de hecho, debemos, pero ya en estos casos las líneas de entrada empiezan a compensar cada vez menos.

Aun así, para configuraciones de pocas líneas de entrada (menos de 10) y relativamente pocos DID, (menos de 50), siguen siendo soluciones factibles. Por ejemplo una de las soluciones más óptimas en el mercado español, VozTelecom, con líneas de calidad muy muy alta a nivel de latencia, jitter, etc., ofrece por 8 euros, 2 canales de entrada, y 1 DID, 4 euros el DID adicional geográfico. Encima, los temas técnicos los libramos, y no tenemos que contratar mantenimientos adicionales para preservar la calidad del servicio

Si optamos la opción de Telefónica, tenemos una línea RDSI por 29 euros al mes, más el mantenimiento, habría que sumarle, mínimo, 4 euros para preservar una calidad aceptable de respuesta. Esto hace 33 euros. Luego los DID son relativamente baratos, en torno a los 2 euros.

Si no queremos optar por la opción del primario, 4 RDSI haciendo un grupo ISPBX (para saltos automáticos y demás), sumaria un total de 132 euros. En caso de VozTelecom hablaríamos de 32 euros. Luego si queremos 30 DID, serian 60 euros más para Telefónica 192 euros, y 120 euros para Voz Telecom: 152 euros. Solo 45 euros, estamos en el umbral. Aunque obviamente la solución con líneas RDSI es muy superior a la solución VOIP, porque además que podríamos “aislar” el sistema PBX a un nivel puramente local, si requerir de Internet, la calidad siempre suele ser superior a nivel de voz. Solo con un Gateway Epygi como el que vimos antes, tendríamos resuelta la papeleta.

Vamos a poner el caso concreto, de que elijamos la solución VoIP. Ahí vamos con la configuración:

En caso del Epygi, realmente no necesitamos un comando “register” en el fichero sip.conf para registrarnos contra el troncal. Pero en caso del operador SIP, si haría falta, como vimos con anterioridad. Esto nos “obliga” a ir hacia la extensión del Dialplan dentro del contexto que seleccionemos específicamente.

Y desde esa extensión, tendremos que realizar la configuración para seleccionar el DID que “recibamos” según los mensajes SIP que se intercambian durante la comunicación. Esto ocurre con la mayoría de los operadores IP, aunque algunos ejercen de troncal de forma equivalente al Epygi, que no necesitaremos realizar selección alguna:

En el extensions.conf imaginando que si pusimos contexto destino, en la configuración del operador SIP, pero no pusimos extensión destino en el comando Register (último parámetro /ddi como vimos antes):

exten => s,1,NoOp()
exten => s,n,Set(cNum=${SIP_HEADER(TO):5:9})
exten => s,n,GotoIf($[“${cNum}” = “987654321”]?1,1)
exten => s,n,GotoIf($[“${cNum}” = “912345678”]?2,1)
exten => s,n,GotoIf($[“${cNum}” = “988776655”]?3,1)
exten => s,n,Hangup()

Con la variable general SIP_HEADER, seleccionamos la cabecera del mensaje SIP, y nos vamos a la posición 5 longitud 9 (el número de teléfono) para guardarlo en una variable local que le llamamos cNum. Aquí en 99% de los casos se encuentra el DID. De todas formas haciendo debug en la consola (# asterisk –r) podemos ver exactamente qué valor está recibiendo esta variable, cNum

Esta sintaxis es nueva para nosotros. La aplicación GotoIf es condicional. Con el formato GotoIf($[condición], se cumple, no se cumple), En este caso concreto, si se cumple, saltamos al contexto 1, 2 o 3 según lo que se cumpla, y si no se cumple, pasamos a la siguiente prioridad.

La consulta de variables en Asterisk tiene el formato ${variable} en cambio la “escritura” de las mismas con la aplicación Set, se realiza sin nada, variable=. Esto es un poco técnico, aun con ciertos conocimientos de programación, esto se aprende en cuestión de segundos.

Así en vez de ir discriminando con extensiones con el número DID como hacíamos con el Epygi, lo haremos con este sistema por condicionales. Lo que no tengo muy claro todavía es porque algunos operadores mandan bien (y sin entender a qué me refiero con “mandar bien” el DID para asignarlo directamente como extensión), y para otros, hay que hacer operaciones como estas para salir al paso. Si lo averiguo, actualizare este mensaje.

Para finalizar con todo esto, voy a aprovechar, para hacer un apunte fuera del contexto. El tema es que Asterisk, por ventaja, o desgracia, favorece mucho a los informáticos, y acerca un mundo anteriormente exclusivo a ciertos técnicos especializados, o especialistas de las telecomunicaciones, al mundo de los informáticos. Por esto si realmente no tenemos nociones extensivas tanto de Linux como de programación, nos vamos a ver con un sistema bastante simple, (aun aceptable comparativamente con otras soluciones PBX), pero no vamos a poder sacar toda la potencia de su interior al máximo. No voy a pararme demasiado en temas de programación, variables, condicionales, bucles, aunque si explicando el formato, porque doy por supuesto que más o menos entendemos de que estoy hablando, y más considerando que desde hoy, la curva de aprendizaje va mejorando para el público entendido en esta materia, pero va a empeorar drásticamente para los que carezcan de estos conocimientos.