Mikrotik

Ja és hora d’adintrar-se en nous sistemes d’administració de les xarxes, ara li ha tocat al Mikrotik. Mikrotik és una empresa letona, que es dedica a la venta de productes per a xarxes, ha creat un nou sistema operatiu basat en linux que es pot instal·lar tant en pc’s com en altre tipus de hardware. A part també venen routers amb el seu S.O. (RouterOS).

El RouterOS té una versió gratuïta de 24h de funcionament, es pot obtenir una llicència per a poder utilitzar-lo indefinidament. Hi ha 5 nivells de llicència (crec que eren 5) el primer el més limitat i l’últim el menys llimitat.Aquest RouterOS pot ser com a servidor VPN (o client), Hotspot, servidor/client NTP, SNTP, Tallafocs… per a més informació podeu visitar la seva web o el seu pdf de presentació, no m’apetix posar ara un ‘rollo’  sobre el que fa aquesta meravella.

El que passa es que jo m’he comprat ja un router d’aquests (el més baratet, 30€ + IVA), amb el qual vaig a fer tot el que tenia muntat en el pc de casa ma tia, servidor VPN, Hotspot,… Així no fa falta tenir aques pc en marxa per a poder accedir a internet des de la caseta i de paso recupere una targeta de xarxa i un PLC. Aquest router té la opció de poder utilitzar cada port com es vulga (es pot enrutar 5 ports diferents, o fer de switch o moltes més possibilitats de configuració), com sempre, la millor forma de configurar “l’aparato” és per consola.

Ademés he tingut la sort de trobar aquest projecte de final de carrera (que es pot baixar en pdf) on utilitzen el RouterOS (instal·lat a un pc) per a fer una configuració de xarxa, de la qual em ve “como anillo al dedo” per a configurar el meu router.

Ah! finalment dir que el router que he adquirit és el RouterBoard750 de la web de Ditecal, per a veure els preus t’has de registrar, però val la pena és prou barat, també està la versió 750G que té els ports a 1Gb en compte de 10/100. Però puja massa el preu (casi el doble) i com jo el vull per al wifi (no passa de 54 i ademés sols utilitce 2 ports del router… no tinc problemes. Ja contaré més cosetes comforme vaja fent

Telefonia IP: Al 50%

Ja he acabat de configurar la part de la casa de ma tia (edifici 1) i funciona tot correctament, el problema que tenia amb la resol·lució de la IP del terminal darrere de NAT se’n ha anat amb la configuració del servidor STUN. El protocol STUN (Session Traversal Utilities for NAT) és el encarregat de resoldre la IP externa, com el terminal estava darrere de NAT, hi havia problemes a l’hora de comunicar-se amb ell, encara que des del terminal si que es podia cridar a l’exterior (ja comentat en un post anterior) i aquesta ha sigut la sol·lució: Muntar un servidor STUN a la PBX per a que resolga la direcció IP externa del terminal (parlat ja en aquest post). Però el problema és que no es podía executar en background en windows, he estat googlejant prou per a poder fer un servici d’aquest programa però no he pogut treure rés de trellat i senzill, així que he canviat de pensar… i si en compte de intentar executar com a servici busque la forma d’executar qualsevol programa en background? i googlejant més m’he trobat amb la sol·lució, un script en visual basic ben senzillet, el qual he posat per a que s’executi al principi d’iniciar sessió i ja està. Aquest script té el següent codi:

dim shell
set shell=createobject("wscript.shell")
shell.run "stun.bat" ,0
set shell=nothing

on stun.bat és el bat que executa el programa amb les opcions, jo ja tinc preparat un rar amb els tres arxius necessaris per a fer un servidor STUN en windows, els tres arxius són el script, el bat (s’ha de modificar el bat i escriure la ip de la màquina on s’instal·la) i l’executable. El password és 123456

Continuant en el tema del post… una vegada ja en marxa he comprovat que el programa estava executant-se correctament amb el Winstun i li he obert el port (per defecte el 3478 UDP) al tallafocs i “arreando!”. Després al terminal li he configurat el servidor STUN, l’he reiniciat i ja accepta les cridades, faig unes proves… cride des del meu mòbil a casa i si que sona el terminal, parle… tot correcte, perfecte! Ja tinc configurada aquesta part.

He estat estat mirant informació ‘per ahí’ i crec que em faré amb un altre SPA3102 per a l’asterisk perquè les targetes que he comprat en X100P.com tenen massa feina per a que es detecten, estic vegent que l’asterisk és prou ‘caprixós’ a l’hora de detectar aquest tipus de targeta, per temes de IRQ, etc, etc. Per ara el pròxim pas és el de connectar les 2 centrals, després ja vorem

Avanç amb el projecte de telefonia

L’altre dia em vaig fer l’animo i vaig continuar amb la telefonia per la part de la casa de ma tia,  aquesta vegada el que pretenia era fer funcionar el telèfon TC300 amb la central 3CX. El principal problema (que esperava que no fora un gran problema) era la configuració NAT de la caseta, en la qual es diu que el port 30000 i el 5060 es redirigixca a la IP del terminal.

Per part del terminal la configuració no té ninguna complicació, la mostre a continuació:

Usuario: la extensió
Contraseña: el password
E-mail:lo vacio
Nombre de dominio: la IP del servidor 3CX
Puerto local: 5060
Servidor proxy: la IP del servidor 3CX
Puerto proxy: 5060
Servidor de registro: la IP del servidor 3CX
Puerto de registro: 5060
Intervalo de registro: 600
Servidor Salida: la IP del servidor 3CX
Puerto Salida: 5060
Puerto audio RTP: 30000
Intervalo datos RTP: 20
Códec por defecto: El G.711A o G.711U

(El servidor proxy i el domini poden estar en blanc, però  ara no ho recorde)

Amb aquesta c onfiguració el terminal es connecta correctament amb la central, he fet les proves cridant a altres extensions, cridant fora (passant per SPA3102) i va perfecte. I ara és quan jo ja pensava que ja estava tot clar, però no! Quan intente fer proves de cridar des de fora veig que al telèfon no li arriben les cridades. Pensant, pensant arribe a la conclusió que a lo millor és que el grup que vaig crear per a rebre les cridades de l’exterior li vaig donar la opció que desviara la cridada a la primera extensió disponible i no a totes a l’hora, ho revise i no, estava correcte, per si de cas pose la extensió del TC300 la primera, prove i… tampoc! no funciona. Ara ja passe a cridar des d’una altra extensió al TC300 i…. no! continua sense funcionar, apareix el missatge que no troba la extensió i això que si que es registra correctament i puc fer cridades!

Continue revisant els logs de la PBX i les extensions registrades i em trobe en que el TC300 s’havia registrat amb la seva IP que està darrere del NAT quan jo pensava que es registraria amb la ip externa del router de la caseta. Ací estava el problema, quan la central intenta connectar amb la IP de la extensió… no la troba! i no pot connectar amb ella, del revés si que funciona perquè el TC300 si que troba la central. Revise amb un netstat les connexions del meu portàtil a la central i veig que en les connexions registrades del meu portàtil a la central si que apareix la ip externa del router de la caseta quan es referix al meu portàtil.

El problema que estic vegent és que la central li demana identificació al terminal i aquest li mostra la IP local que té, jo pensava que la central agarraria automàticament la IP, però es veu que no, ara a pensar com puc fer anar l’invent aquest, per ara he estat mirant de instal·lar un servidor STUN i configuar-lo a la centraleta, ja que el TC300 té el client de STUN, a veure si així es solucionen els problemes. Segons he llegit ‘per ahí’ amb el servidor STUN no fa falta configurar els ports al  NAT, ho provaré per a veure si és veritat (o com diuen al meu poble, per a veure si és deveres)

Per ara he trobat un servidor STUN tant per a Linux com per a Windows, en un principi necessita que la màquina on s’execute tinga 2 targetes de xarxa, però es pot fer funcionar sols amb 1. En la versió de Linux es pot executar el procés en background però en Windows no, ara estic vegent la forma d’executar el ‘programeta’ com a servici de windows, ja contaré més coses quan continue revisant aquest problema del terminal

Configuració de la xarxa de telefonia

Aquest és el diagrama de les connexions de la xarxa de telefonia que vull arribar a fer, per ara l’apartat que ja està realitzat (com ja ho he dit al post anterior) és el del edifici 1 amb connexió a la telefonia analògica, la interconnexió entre 3CX i ELASTIX també ho he aconseguit però sols en xarxa local, a través de Internet i darrere de tallafocs encara no ho he aconseguit

També estic tinguent problemes amb la detecció de la targeta X100P que vaig comprar en X100P.com (per a enllaçar la central elastix amb la telefonia analògica), he estat llegint per ahí i pareix que siga problemes de ls IRQs però no m’he posat a vore-ho be, a part que he llegit que no és compatible aquesta targeta amb la telefonia de l’estat espanyol (no se perquè no ho he llegit abans, jaja). Però fins que no em pose no puc treure ninguna conclusió respecte a aquest tema

3CX – SPA3102

Ja he rebut el SPA3102 de Linksys. Aquest ‘aparatet’ té un port FXO i un FXS, a part d’un port rj45 per a connectar-se a la xarxa i un altre per a connectar ordinadors al SPA3102 que també fa de servidor DHCP i switch si fa falta.

La connexió entre el 3CX (versió v8.0.10824.716) i el SPA3102 és ben senzilla. Es configura un nou dispositiu PSTN, indicant que és SPA3102 i després es seguixen els passos per a la configuració de l’enllaç i al final es crea un arxiu de configuració per a ‘pujar’ al SPA3102 i que es configuren tots els paràmetres.

Una vegada es té l’arxiu de configuració al pc, aquest s¡ha de ‘pujar’ al SPA3102, per a fer-ho hi ha diferents formes de fer-ho, la més fàcil que he vist és fer-ho per la web. Primer s’h de muntar un servidor TFTP, hi ha un gratuït i que no fa falta instal·lació anomenat TFTPD32, s’executa i en Current directory es posa la carpeta on es troba el fitxer de configuració (asegurar-se de tenir el tallafocs deshabilitat o els ports del TFTP oberts). Després s’obri un explorador web i s’escriu

http://ip_spa3102/admin/resync?tftp://ip_pc/nombre_fichero_conf

Automàticament s’actualitzarà la configuració del SPA3102 i ja està tot, es prova cridar a l’exterior (si s’ha configurat les regles correctament) i ja es podrà cridar, en el meu cas he configurat com a regles que si és un número de 9 dígits que les cridades vagen per el SPA3102, també faltaria les internacionals (Que comencen per 00), etc… però per ara per a fer les proves ja està be, he cridat a un fixe i a un mòbil, després també he cridat des d’un mòbil a casa i ha sonat al softphone, amb una comunicació correcta, per ara quan criden de fora no apareix qui és el que crida, sols la extensió que assigna el 3CX al SPA3102, però igual és perquè estic gastant la versió gratuïta o igual fa falta tocar algun paràmetre, ja ho investigaré

Enllaç Asterisk – 3CX (free edition)

Aquest tema el tenia que tocar més prompte o més tard si volia enllaçar les dos centraletes (ma casa en Elastix i casa ma tia en 3CX) i sí que vull enllaçar-les. Havera sigut més fàcil si les 2 foren Asterisk, si les 2 haveren sigut 3CX, l’enllaç es configuraria igual (supose jo). Estic parlant de la versió 3CX free edition, en la completa si que es poden fer enllaços troncals entre centrals 3cx.
Problema de fer l’enllaç de la forma que indique: Quan des d’una extensió de l’Asterisk es crida a una extensió de la 3CX, en aquesta es veu la extensió que li crida, però si és del revés en el terminal connectat a l’Asterisk sempre apareixerà la mateixa extensió (que és la que associa la 3CX a l’asterisk).

Com anem a fer l’enllaç?
Realment no es fa un enllaç, sino dos enllaços, un per a comunicar 3CX amb Asterisk i l’altre per a comunicar Asterisk amb 3CX.

– Primer es creen dos extensions SIP, una en cada central, anem a posar per a l’exemple que asterisk utilitza el rang de 200 – 299 i 3CX el de 100 – 199, així que creem la 100 en 3cx i la 200 en Asterisk.

-Ara es crea un nou proveedor VOIP en la central 3cx de la clase Generic SIP Trunk amb les següents dades:

Servidor VOIP: La IP del servidor Asterisk

Número externo: El número de extensió que s’ha creat en Asterisk

ID de Autentificación: El que s’ha posat a l’extensió creada en Asterisk

Contraseña de autentificación: La que s’ha posat a l’extensió creada en Asterisk

– Seguint en el asistent de connexió a un servidor VOIP es passarà a la secció de crear una regla per a utilitzar aquesta connexió, en el cas de l’exemple he posat aquestes dades:

Llamadas a números que empiezan con: 2

Llamadas a números con un número de dígitos de: 3

Ruta 1: Asterisk (nom que he posat a la connexió en el servidor VOIP), 0, buit.

I ja es deuen poder fer cridades des de extensions del 3cx al Asterisk.

Ara anem a crear l’enllaç Asterisk – 3cx, primer dir que per a l’asterisk he utilitzat la distro Elastix per a provar en un principi, així que la configuració la faig via web:

– Dins del Submenú Trunks afegim un nou enllaç amb Add SIP Trunk on sols es modifiquen els següents camps:

Trunk Name: 3cx (el nom que jo he posat, es pot posar el nom que es vulga)

PEER Details: Acé es fica la IP desl servidor 3cx, la extensió i password que s’ha creat a la central 3cx

Exemple:

host=192.168.153.129

username=100

secret=100

type=peer

Al acceptar per a guardar canvis apareixerà una advertència, s’ignora i es continua. Després es clica en la barra rosa que apareix dalt amb l’escrit Apply configuration Changes Here, és important fer aquest pass perquè sino no s’apliquen els canvis

– Ara es crea la ruta cap a l’exterior que utilitze aquesta connexió, això es fa al menú Outbound Routes on es modifiquen els següents paràmetres:

Route name: 3cx (és el nom que he posat jo,es pot posar el que vulgues)

Intra company Route: es marca (si no es marca funciona igual)

Dial Patterns: 1. (en el meu cas, que indica que a qualsevol cridada que comence per 1 seguit del que siga se li aplicarà aquesta regla)

Trunk sequence: SIP/3cx (si en la configuració del trunk li heu posat un nom diferent a 3cx, apareixerà SIP/altre_nom)

Es guarden els canvisi s’apliquen els canvis. Ara es quan podem dir que ja està tot creat però no funciona, falta reiniciar el servidor 3cx per a que l’enllaç Asterisk – 3cx funcione, no ho se perquè però si no es reinicia no funciona, seran coses del Windows.

Ara ja per a comprovar que funciona tan sols queda crear 2 extensions més (una en cada servidor) i cridar d’una a l’altra, s’observarà el que ja he comentat al principi, quan es crida de 3cx a Asterisk es mostra la extensió a la que ha sigut asociada la central (en aquest cas la 200) mentre que si es crida des de l’asterisk al 3cx, es mostrarà la extensió real que crida.

Espere que vos agrade aquest mini tutorial

——————————————————

EDITE

——————————————————

Aquesta configuració funciona correctament dins d¡una mateixa LAN, però darrere de tallafocs, en diferents LANs no ho he fet funcionar correctament, quan ho aconseguixca ja faré un altre Post amb els passos a seguir i les configuracions corresponents

Telefonia a Wifi4t

Este cap de setmana he estat mirant la configuració del tallafocs del portal i provant la central 3CX al servidor Windows de la casa, la instal·lació és massa senzilla comper a explicar-la i la creació d’extensions també. De la web del 3CX també es pot baixar un softphone (telèfon VoIP en software).

He creat dos extensions (un per a casa i l’altre per a la caseta) i les he configurat als softphones. Al pujar a la caseta i provar la connexió m’he trobat en que si que arribava a cridar i en casa despenjaven, però no es podia parlar. Com ja havia llegit per algunes webs, aquest era problema per estar darrere d’un router utilitzant NAT (el router de la caseta), com no m’apetia buscar els ports que utilitza per a redireccionar-los, m’he connectat directament a la wifi4t i la connexió ha sigut satisfactoria, la connexió s’ha realitzat correctament i hem pogut parlar, es sent be però el problema és que la cobertura del meu portàtil no era gens bona i de vegades es tallava.

Un altre dia que m’apetixca (pot ser hui, qui sap) faré la mateixa prova però des de la xarxa de la caseta i no dirèctament amb el portàtil a la wifi4t, redirecionant els ports, si la prova és correcta ja segur que pose un telèfon VoIP a la caseta. A part també li posaré una antena més potent que la que porta la Nanostation, perquè he estat analitzant la cobertura i veig que la senyal la rep be de casa però ella no transmet igual

VoIP II: Documentació

Ací deixe enllaços a llibres amb llicència Creative Commons, el que significa que no estic fent ninguna ilegalitat compartint aquests documents:

Introducción a la VoIP: Llibre pel qual es deu començar per a entendre un poc aquest mon (Castellà).

Asterisk: The future of Telephony: Hui per huí és la millor guia sobre asterisk que s’haja pogut fer (Anglés).

Elastix a ritmo de merengue 1.3: Una molt bona guia sobre la distribució elastix, en la que es mostren totes les característiques d’aquesta distribució (catellà, sudamericà)

Comunicaciones unificadas con elastix 1 i 2: Podriem dir que és la guia oficial de la distribució Elastix, és la que es troba a la web. Té una bona introducció al mon del VoIP i després al Elastix, el problema és que és molt extens, però és també molt completa

Finalment dir que també hi ha un llibre a la venta que es podria dir que és la guia més completa de l’aplicació 3CX, i aquest llibre es diu The 3CX IP PBX Tutorial. Pel nom ja vos podeu figurar que està en anglés, malauradament aquest llibre no es pot compartir, s’ha de comprar, així que si algú se’l compra que faja el favor de dixar-me’l i em pegue una llegideta.

Edite (21/05/2010): Comprimixc els documents perquè sinó els robots me’ls detecten i em crea massa tràfic al servidor per a la meua línia, el password és 123456

VoIP

Després de veure que ja funciona sense cap problema l’enllaç entre la caseta i casa, m’ha vingut al cap una altra idea que implementar a la xarxa: La telefonia.

Ja coneixia aquest tema un poc, ademés que en la feina ho gastem però en programari privat. He estat mirant opcions tant en Windows com en linux, ja que en casa ma tia és més fàcil implementar qualsevol cosa en Windows que en Linux, més que res per no tindre un altre equip en marxa en sa casa. I ara faig una xicoteta explicació del que he trobat

Per a Windows he trobat la aplicació 3CX que té una versió gratuïta i una ‘de pago’. Més o menys les dos versions ‘fan el mateix paper’ sols que la ‘de pago’ té algunes característiques sense llimit. Aquest programa s’instal·la sense cap problema en un Windows xp i s’administra per web, l’he vist  molt senzill i intuitiu. Segons he llegit ‘per ahí’, aquest programa s’intenta vendre com a característica forta que està encarat als usuaris amb pocs coneiximents informàtics i és veritat, és molt senzill crear extensions, grups, etc… i està també en castellà. Des de la mateix web també es pot descarregar un softphone (un programa que emula al telèfon) per a poder interactuar amb la centraleta. L’he provat i la comunicació funciona correctament. Aquest programa també té la opció de comunicar-se amb altres PBX através de Internet, fent que no hi haja costos en la comunicació.

L’unic punt dèbil que li he trobat és a l’hora de comunicar la central amb la línia de telèfon de tota la vida, la analògica. Hi ha dues possibilitats en qualsevol PBX per a poder connectar-la a la línia analògica: Mitjançant una passarela o amb un port FXO. A un PC se li pot posar un port FXO amb una targeta PCI, però el problema que té aquest programa és que sols és compatible amb una marca determinada:  SANGOMA, així que hi ha poc on triar i les targetes que té solen passar els 200€ – 300€. Per tant queda l’altra possibilitat, mitjançant una passarela. Una passarela el que fa és connectar-se en un port a la xarxa i en un altre a la línia telefònica i pot actuar també de PBX o simplement de passarela de la nostra PBX. Una passarela econòmica és la de Linksys, SPA3102, que està sobre els 65€, de la qual hi ha documentació de com configurar la passarela i el 3CX per a que es comuniquen correctament.

Conclusió d’aquest programa: No està mal per a familiaritzar-se un poc amb aquesta tecnologia, però es queda curt i sols estàs llimitat al que es pot fer amb el programa, no és modular.

L’altra programa que he pogut comprovar, bueno realment l’he vist funcionar a la universitat ja fa 4 anys i per ara sols m’he documentat, no l’he provat encara (i menys ara que en teoria m’he de posar a estudiar, jeje), és el Asterisk, que és un programa molt més potent. En quan a compatibilitat en targetes és més compatible en altres marques, encara que les que funcionen millor són les de Digium ja que estan fetes a posta per a l’Asterisk però també funcionen altres marques. Aquest programa està disponible en diferents plataformes i la més estable és linux. Ademés existeixen diversos live-cd’s amb l’Asterisk, com pot ser l’Elastix o el trixbox. Segons he llegit en manuals (tot queda pendent de provar-ho) Elastix pareix una distro prou completa i una GUI web per a configurar per als que no els agrade anar editant fitxers de configuració.

Ja per a acabar, si es vol fer una central amb una sola línia telefònia analògica, es pot buscar clons de la targeta X100P (targeta de digium d’un port FXO que ja no la fabriquen) o entrar a aquesta web i comprar-la, en aquesta web el que han fet és agarrar el disseny original i fer-les idèntiques. Recordar que aquest model no servix per al 3CX però si per a l’Asterisk.

Si puc, quan arribe a casa penjaré uns llibres en PDF sobre aquest tema