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