Monthly Archive for August, 2005Page 2 of 3

Recuperar Password de Windows XP

Hace poco estaba usando la maquina de un amigo en Windows XP, sucede que queria instalarle Firefox, pero me decia que no tenia los suficientes derechos para instalaralo, necesitaba cuenta de Administrador. Se me ocurrio instalarlo en otro lado, fuera de Archivos de Programa, funcionó. Pero la verdad mi amigo era un pobre diablo, que no podia hacer nada pues habia olvidado el password de su cuenta de Administrador, se habia habituado a solo dar clic en su nombre de Inicio de Sesión. Tarde o temprano iba a necesitar ese password, así que sabiendo que Windows es tan inseguro, investigué la forma de extraer ese password.

Utilerias de Recuperación de Password

Proactive System Password Recovery es una utilería que encontre para recuperar passwords, de hecho es un decrypter, tarda un ratotote, pero recupera los passwords de XP. Esto solo funciona con passwords débiles, como el de mi amigo: “camila”. Para passwords mas fuertes tal vez necesites una utileria que no desencripte el password, sino que lo cambie.

CD’s de Arranque

Ultimate Boot CD es un disco de arranque, bajas la imagen, la quemas en un CD, reinicias la maquina y le dices que arranque del CD, metes el CD y arrancas de ahi. Lo que hace es leer la particion donde esta tu Windows, y resetea los passwords, lo mejor es dejar la cuenta de Administrador sin password y luego cambiarlo dentro de Windows.

No solo eso, Ultimate Boot CD puede servir de mucho, pues trae muchisimas utilerias interesantes: Instalacion de Discos Duros, Diagnostico y Clonacion de Disco Duro, Particionadores, Benchmarks, Tests, hasta Antivirus. O sea que Ultimate Boot CD es una herramienta muy util y definitivamente es un CD para tener por ahi guardado.

Usa este CD con precaución, podrías echar a perder todo el disco duro. Sólo haz cosas, si sabes lo que estas haciendo.

¿El Lado Oscuro?

Yo sé que lo que escribo puede ser usado por Script Kiddies que pretenden ser hackers, pero tambien puede ser usado para el bien como lo utilicé yo. Queda bajo tu responsabilidad y consciencia lo que hagas con esas utilerias.

CD’s de Ubuntu (5.04) Gratis

Justo me acaban de llegar como cien CD’s de Ubuntu 5.04 para Intel, PowerPC y AMD64. Hace como 4 meses los pedi y ya habia perdido las esperanzas de que llegaran.

Lázaro dice que yo le tengo mala fe a Ubuntu, pero yo pienso que es al revés, Ubuntu me tiene mala fe a mi. La ultima véz que intente ejecutarlo en mi laptop (HP DV1000 series / 1135LA) ni siquiera arranco, ¡ni siquiera pudo arrancar el instalador! ¿que clase de distro es esa?. Pienso esta vez darle otra oportunidad, no por que sea Ubuntu, sino porque es la distro mas orientada a Gnome que he visto on the wild. Lo que si no me agrada ni tantito es que sale cada 6 meses y eso de reinstalar cada 6 meses es una lata mayuscula. Ademas Lázaro me ha dicho: “esta version ya viene mas estable” Eso me provoca dudas, ¿acaso es inestable?. Veremos si Ubuntu me convence a cambiarme, actualmente uso Suse 9.3, esta muy estable y muy bonito y estoy bastante feliz usándolo.
Pila de CD's de Ubuntu
Si quieren discos solo envíenme un mail o preguntenme si me ven en CU o en algun otro lado. Tengo CD’s de sobra.

GSM y VoIP por WiFi en un mismo aparato

Ya se ven llegar los primeros teléfonos GSM con clientes SIP para VoIP, solo chequen este Telefono de CalypsoWireless.

Pronto tendremos teléfonos híbridos. Interesante, muy intersante.

La gelatina es una bendición divina

Siempre que llego a casa desesperado porque no me salieron las cosas, porque hoy hizo un calor horrible o simplemente porque tuve un dia malo. Si encuentro una gelatina verde, o amarilla o naranja o de alguno de esos colores típicos de gelatinas. Solo al ver los bonitos efectos luminosos se comienza a componer el dia que finaliza, y si empiezas a comer esa gelatina comienzas a sentirte mejor, pasa justo lo que le dijo la Pitonisa a Neo cuando le dio la galleta: “I promise by the time you’re done eating it, you’ll feel right as rain.”

En verdad las gelatinas son una bendición. Inténtalo.

Asterisk y la E1 MFC/R2 en Mexico (R2 Modificada de Telmex)

Estas ultimas 2 semanas estube peleandome con las E1 de Telmex, que aqui en Mexico les dicen E1 R2 Modificada, pero en el resto del mundo les llaman MFC/R2. Todos los posts en internet decian que en México eran superdifíciles de configurar en las Tarjetas Digium. Pura _FUD_ y egoísmo.

Escribí este articulo para evitar que otros caigan en los mismos errores y evitar dolores de cabeza. Sigue leyendo y veras como activar un E1 R2 Modificada (MFC/R2) en México usando lineas de Telmex.

Algo de señalizacion primero

No soy un experto, pero lo que leí me dejó lo siguiente. El protocolo MFC/R2 es un protocolo _peer to peer_, es decir, no hay cliente y servidor, los dos dispositivos se comunican con simple señalizacion de 4 bits CAS (Channel Associated Signaling), los bits suelen llamarseles ABCD. Estos bits representan el estado de la linea, de una manera similar a la telefonía analoga. Cada bit significa algo, pero los bits C y D son raramente usados (solo en algunos paises asiáticos), el valor mas comun para ellos es 01. La tabla de estados de los bits ABCD es la siguiente:

--------------+-------+---------+-
Estado          Enviar  Regresar
--------------+-------+---------+-
Idle/Released:  1001      1001
Seized          0001      1001
Seize Ack       0001      1101
Answered        0001      0101
ClearBack       0001      1101
ClearFwd        1001      0101
ClearFwd        1001      1101
Blocked         1001      1101

Lo que debe pasar es que la tarjeta debe regresar el modo blocked en todos lo canales siempre que no se este usando, es decir, si Asterisk esta apagado. Pero cuando Asterisk enciende debe desbloquear y poner en Idle los canales para esperar llamadas. Ambos extremos del enlace deben estar desbloqueados para que se puedan comunicar.

En caso de que Telmex no tenga activa tu conexión veras mensajes de Far end Blocked en los logs de inicio de Asterisk. Eso es porque Asterisk desbloqueó tu lado del enlace pero el otro lado esta aún bloqueado.

Algunas personas confunden la señalizacion MFC/R2 con la señalización que se hace entre aparatos telefónicos como el de tu casa y PBX, esto es incorrecto. La señalización MFC/R2 se da entre switches, que son los lados de un enlace E1. Para nuestros fines, esta señalización se da entre Asterisk y el lado remoto de la E1, que es distinta a la señalización que se da entre un Asterisk con tarjetas FXS y un aparato telefónico.

Tu Oficina |            | Telmex
|            |
[telefono]----[Asterisk]===MFC/R2===[switch]
/          |            |
[telefono]+           |            |

Cuando se va a realizar una llamada ambos lados del enlace deben estar Idle o no se puede lograr un enlace.

Unicall

La cadena de comunicaciones de Zaptel usualmente funciona asi:

PSTN - zaptel card - zaptel driver - libpri - chan-zap - asterisk

pero con MFC/R2 usa una nueva libreria de abstracción llamada libunicall, que provee de una nueva interfaz unificada de manejo de llamadas (unified call handling interface, unicall). Y funciona de una manera ligeramente distinta.

PSTN - zaptel card - zaptel driver - libmfcr2 - libunicall - chan-unicall - asterisk

Zaptel para una E1 MFC/R2 (R2 Modificada)

Instala los drivers de zaptel, que se instalan igual que siempre, si lo bajamos del CVS usamos:

# cd /usr/src
# export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot
# cvs login		- the password is anoncvs.

# cvs checkout -r v1-0 zaptel libpri asterisk

Luego compilamos zaptel y libpri:

# cd zaptel
# make clean; make install
# cd ../libpri
# make clean; make install

Configuramos /etc/zaptel.conf para MFC/R2 para que ponga los canales en el modo apropiado, es decir, ponemos los bits ABCD del CAS en modo blocked

# MFC/R2 normalmente no usa CRC4
span=1,1,0,cas,hdb3
cas=1-15:1101
dchan=16
cas=17-31:1101
loadzone=us
defaultzone=us

Si lees mas arriba la tabla de valores, 1101 es “Regresar: Blocked”, es decir, cuando Telmex le intenta conmunicarse con tus canales, la tarjeta le devuelve “Blocked”, y Telmex se da cuenta de que la tarjeta no esta en uso por Asterisk. Simplemente la tarjeta esta conectada pero no esta en disposicion de recibir llamadas.

Antes de proseguir checa que si ejecutas ztcfg -vv veras:

bash# ztcfg -v

Zaptel Configuration
======================

SPAN 1: CAS/HDB3 Build-out: 0 db (CSU)/0-133 feet (DSX-1)

31 channels configured.

Instalando las librerias

Necesitas instalar las librerias spandsp, libsupertone, libmfcr2 y libunicall de ftp.soft-switch.org, pero resulta que ese sitio esta el 50% del tiempo prendido y el 50% apagado, si no puedes acceder a ese sitio tengo un mirror aqui. Bajas spandsp, libsupertone, libmfcr2 y libunicall, descomprimes y compilas.

SpanDSP,

# tar -zxvf spandsp-0.0.2pre18.tar.gz
# cd spandsp-0.0.2/
# ./configure
# make
# make install

por defecto instala las librerias en /usr/local/lib, checa que tu /etc/ld.so.conf tenga este directorio en la lista. Si no lo tiene agregalo y ejecuta _ldconfig_

Se hace lo mismo para libsupertone, libunicall y libmfcr2 (descomprime, ./configure, make y make install). La cosa es que libmfcr2 ademas instala modulos en /usr/local/lib/unicall/protocols que se cargan dinamicamente por libunicall. Libunicall siempre busca sus modulos ahi.

Si quieres probar tu E1 MFC/R2 puedes checar Voip-Info.org en la seccion Testing your MFC/R2 signalling installation, en realidad no es necesario y es una lata. Mejor vamos directo a Asterisk.

Asterisk y los canales Unicall en MFC/R2

Baja chan_unicall.c, unicall.conf.sample y channels_makefile.patch de ftp.soft-switch.org (Recuerda que tengo un mirror aqui)

Luego copiamos al lugar donde bajamos el source del Asterisk, dentro del subdirectorio channels el chan_unicall.c y el channels_makefile.patch.

# cp chan_unicall.c  channels_makefile.patch /usr/src/asterisk/channels

y parchas,

#cd /usr/src/asterisk/channels
#patch < channels_makefile.patch

luego compilas el Asterisk.

# cd /usr/src/asterisk/
# ./configure
# make
# make install
# make samples
# make config         < ---- para clones Redhat

si checas dentro de /usr/src/asterisk/channels veras un archivo chan_unicall.so, si no aparece entonces algo salio mal. No te preocupes a mi me toco editar el makefile de la siguiente manera, te muestro los numeros de linea:

23 CHANNEL_LIBS=chan_modem.so chan_sip.so
24              chan_modem_aopen.so
25              chan_modem_bestdata.so chan_modem_i4l.so
26              chan_agent.so chan_mgcp.so chan_iax2.so
27              chan_local.so chan_skinny.so chan_unicall.so
28

En la linea 27 agregue: chan_unicall.so. Recompilé asterisk, lo instalé, y quedo todo bien.

Luego copia unicall.conf.sample a /etc/asterisk, lo renombras a unicall.conf y lo editas para que este acorde a tu configuracion. Por ejemplo, el mio es:

[channels]
usecallerid=yes
hidecallerid=no
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=yes
echotraining=yes
rxgain=0.0
txgain=0.0
group=1
callgroup=1
pickupgroup=1
immediate=no
musiconhold=default
protocolclass=mfcr2
protocolvariant=mx,10,1
protocolend=cpe
group = 1
context= e1-incoming
channel => 1-10
;channel => 17-31
;skip time slot 16

Como dije antes, MFC/R2 es peer-to-peer asi que la linea _protocolend=cpe_ es ignorada. Tengo asignadas 10 lineas de telmex solamente. La linea _protocolvariant_ es importante para esto. Su sintaxis es:

protocolvariant=pais,digitos-ANI,digitos-DNI

El pais es alguno de los siguientes:

Argentina             "ar"
Bahrain               "bh"
Bolivia               "bo"
Brazil                "br"
Chile                 "cl"
China                 "cn"
Colombia landlines    "co-land"
Colombia cellular     "co-cell"
Czech                 "cz"
Honduras              "hn"
India                 "in"
Indonesia             "id"
Korea                 "kr"
Malaysia              "my"
Mexico                "mx"
Panama                "pa"
Philipinnes           "ph"
Singapore             "sg"
Thailand              "th"

Los Digitos ANI y DNI aun no los comprendo bien, en unos dias le preguntaré a un experto en telefonía convencional a ver que me dice y lo pego aqui. Pero lo que actualmente tengo es 10 digitos marcados para marcar mi numero y 1 digito que varía al final, es decir. Mis lineas son 443305257x, x es alguno de {0,1,2,3,4,5,6,8,9}. O sea que tengo lineas desde 4433052570 al 79.

Probando Asterisk con E1 MFC/R2 (R2 Modificada) de Telmex

Arrancamos Asterisk y entramos a la consola:

# asterisk -vvvvvvvvvvvvvvv&
# asterisk -R

Al arrancar debe darte muchos mensajes

Aug 10 03:13:28 WARNING[2419]: chan_unicall.c:2865 handle_uc_event: Unicall/1 event Far end unblocked
-- Unicall/1 far unblocked
Aug 10 03:13:28 WARNING[2419]: chan_unicall.c:2865 handle_uc_event: Unicall/1 event Local end unblocked
-- Unicall/1 local unblocked
Aug 10 03:13:28 WARNING[2419]: chan_unicall.c:2865 handle_uc_event: Unicall/2 event Far end unblocked
-- Unicall/2 far unblocked

uno para cada linea que tengas, nota el Local end unblocked y el Far end unblocked. Si no aparece nada algo o si aparece Far end blocked o algo similar checa que Telmex te haya desbloqueado la linea, llámales y gritales hasta que te arreglen la conexion :-P.

Otra forma de probar es llamarte a ti mismo, usa tu celular y llama a una linea de la E1. Deben aparecer mensajes del tipo:

Aug 10 03:18:48 WARNING[2419]: chan_unicall.c:2865 handle_uc_event: Unicall/1 event Detected
Aug 10 03:18:49 WARNING[2419]: chan_unicall.c:2865 handle_uc_event: Unicall/1 event Offered
Aug 10 03:18:49 WARNING[2419]: chan_unicall.c:2920 handle_uc_event: CRN 32769 - Offered on channel 0 (ANI: , DNIS: 0)
Aug 10 03:18:49 WARNING[2419]: chan_unicall.c:2865 handle_uc_event: Unicall/1 event Accepted
(...)
Aug 10 03:18:54 WARNING[2564]: chan_unicall.c:1347 unicall_hangup: Hangup: channel: 1 index = 0, normal = 24, callwait = -1, thirdcall = -1
Aug 10 03:18:54 WARNING[2564]: chan_unicall.c:962 update_conf: Updated conferencing on 1, with 0 conference users
Aug 10 03:18:54 WARNING[2419]: chan_unicall.c:2865 handle_uc_event: Unicall/1 event Drop call
Aug 10 03:18:54 WARNING[2419]: chan_unicall.c:3246 handle_uc_event: CRN 32769 - Doing a Release Call
-- Hungup 'UniCall/1-1'
Aug 10 03:18:54 WARNING[2419]: chan_unicall.c:2865 handle_uc_event: Unicall/1 event Release call
Aug 10 03:18:54 WARNING[2419]: chan_unicall.c:3260 handle_uc_event: CRN 32769 - Call released
-- Unicall/1 released
Aug 10 03:18:54 WARNING[2419]: chan_unicall.c:1042 unicall_disable_ec: disabled echo cancellation on channel 1

Antes de continuar checa que tengas esos mensajes en el log y que Telmex tenga activa tu conexion E1.

¿Aun no funciona?

Si Telmex te dice que tiene activa tu linea y tienes todo configurado bien, como dice arriba, te recomiendo reiniciar tu maquina, eso me paso a mi y creeme que es un dolor de cabeza. Reinicia e intenta de nuevo. Es algo extraño pero a mi me funciono.

Puedes checar el estado de las lineas usando _UC show channels_ a mi me aparece:

Asterisk*CLI> UC show channels
Channel Extension  Context         Status     Language   MusicOnHold
1 0          e1-incoming     Idle                  default
2            e1-incoming     Idle                  default

3            e1-incoming     Idle                  default
4            e1-incoming     Idle                  default
5            e1-incoming     Idle                  default
6            e1-incoming     Idle                  default
7            e1-incoming     Idle                  default
8            e1-incoming     Idle                  default
9            e1-incoming     Idle                  default
10            e1-incoming     Idle                  default

Si notas los canales estan en _Idle_, eso es lo correcto. Si no puedes usar el comando _UC_ significa que tu modulo chan_unicall no se ha cargado, regresa, compilalo y verifica que este en el lugar adecuado, normalmente esta en /usr/lib/asterisk/modules/chan_unicall.so.

Configurando las extensiones

Ya que tienes la tarjeta con sus canales funcionando es hora de configurar las extensiones. Como se ve en _UC show channels_ en unicall.conf configuramos para que las llamadas entrantes _caigan_ en el contexto _e1-incoming_. Es cosa de editar extensions.conf y colocar la definicion de ese contexto con algun manejador apropiado. En el mio esta asi:

[e1-incoming]
exten => _.,1,Ringing
exten => _.,2,Answer
exten => _.,3,VoicemailMain
exten => _.,4,Hangup

Y cuando marco alguna de las extensiones me manda al Voicemail, entonces escucho el clasico mensaje “Comedian mail, login”. Felicitaciones ya puedes recibir llamadas en tu E1 MFC/R2 (R2 Modificada). Configurar extensiones y demás esta fuera del alcance de este articulo, pero es muy fácil.

Ahora para hacer llamadas es igual que usar Dial(Zap/g1….) pero usas Dial(Unicall/g1…).

¿Quieres mis archivos?

Te dejo una copia de mis archivos aqui.

¿Y como le hice para conectar los cables coaxiales de Telmex a la E1 de Digium?

Patton Electronics Co.
N/P 460F
G.703 BALUN 75/120Ohm Female BNC
Coax to Twisted Pair Adapter

Se acabó Fismat

Este pasado Jueves de Agosto hice mi último examen de Variable Compleja I, el último exámen de la Licenciatura en Ciencias Físico-Matemáticas. Aunque aún no me entregan la calificacion, yo creo que si pasé. El último examen que queda es el examen recepcional, pero ese ya es otra cosa.

Se acabó Fismat, lo que viene aun es un poco incierto, ¿Maestria o Doctorado Directo? ¿México o el extranjero?. Mi promedio no es malo así que puedo aspirar a becas de Conacyt para postgrados, tengo muchas cosas que pensar.

Además, y antes que todo, tengo que terminar mi tesis este año para poder salir bien, titularme, porque en fismat la carta de pasante a nadie le interesa y nadie la solicita, de hecho nadie la tiene, y el título solo te sirve para que te dejen entrar al postgrado.

He vivido muchas cosas que me han cambiado para siempre, desde la forma de ser y la forma de pensar, hasta la forma de ver al mundo, a los demás, al universo entero. Fismat no es como las demás carreras, fismat es especial…

Se acabó fismat.

Descomponiendo Avenida Camelinas

Desde hace tiempo ha estado hacieno un relajito en Avenida Camelinas, tumbando arboles y _ampliando_ los carriles, lo que me sorprendio ver ahora es que han puesto unos camellones centrales que ocupan casi un carril y dejan los 4 carriles centrales aun mas chicos de lo que eran antes. (?)

Al principio pensé que iban a ampliar los carriles y quitar uno o dos semáforos para darle velocidad a los carriles centrales, pero ahora ya no se, a mi parecer esta quedando peor. Esperemos hasta Septiembre que es cuando estará terminada a ver si estoy equivocado o no. Ojalá que si.