Dice mi mujer que cada vez tengo peor carácter, y que al final me acabaré convirtiendo en el típico viejo amargado que protesta por todo... y quizás tenga razón, pero no puedo evitarlo: no soporto la chulería ni los malos modales de la gente, y menos aún cuando no solo NO tienen razón sino que además se supone que deberían ser amables con sus propios clientes.

Pero empecemos desde el principio: os voy a contar la breve historia de lo que me sucedió la semana pasada con ésta conocida cadena de herramientas y bricolaje, y de cómo conseguí lo que me correspondía usando nuestra Querida Tecnología(TM).

Mi afición por cacharrear no se limita únicamente al hardware, el software y a las cosas con cables, sino que también disfruto con el bricolaje de todo tipo y a todos los niveles... y no me refiero únicamente a poner una lámpara o a colocar un mueble de IKEA, sino a levantar tabiques, realizar la instalación eléctrica completa de un local comercial o cualquier cosa que se me ponga por delante y me empeñe en hacer.

Seguro que muchos profesionales lo harían mejor y más rápido... pero la mayoría de las veces prefiero tardar un poco más (e incluso gastar un poco más de dinero en materiales y herramientas) solo por el hecho de "hacer las cosas yo mismo" y de aprender cómo se hacen.

El caso es que debido a un proyecto de éste tipo (y bastante grande, por cierto) en el que me vi inmerso el año pasado, durante todos éstos meses he gastado mucho dinero en Leroy Merlin en la compra de herramientas y materiales de construcción (sé que hay sitios especializados mejores y más baratos, pero ninguno de ellos me pillaba NADA bien... y mi ya de por si escaso tiempo también vale dinero).

Cuando hablo de "mucho dinero" me refiero a unos cuantos miles de euros... y seguro que tienen clientes mucho mejores que yo, pero creo que ésta es una cifra nada despreciable... por lo que no me sorprendí cuando hace un par de semanas recibí un SMS en el que me decian que con motivo de la Navidad me regalaban una Flor de Pascua (la típica poinsetia de todos los años).

El SMS decía textualmente:

PUBLI: Del 1 al 8 Dic por ser Socio te regalamos una Flor de Pascua.
Descúbrelo en http://lmes.es/florpascua Socio 8407xxxxxxxxxxxx
lmes.es/bajasms

La página que habían hecho informando de éste regalo era ésta:

No es que tuviera un especial interés en tener dicha planta (la cual además no cuesta más de 2 o 3 €) pero aprovechando que DE NUEVO tenía que ir a uno de sus establecimientos a comprar más cosas, fuí al mostrador de [INFORMACIÓN] a recoger dicha planta (que para una cosa que me regalan después del dineral invertido, encima no iba a rechazarla! xDDD)

Me acerqué al mostrador y pregunté a una de las chicas que había allí. Dije que había recibido el SMS de la Flor de Pascua, y que quería saber dónde tenía que ir a recogerla.

Hasta ahí todo bien, verdad? Pues no... para mi sorpresa, y con un tono chulesco y de bastante malas formas, me dice que la deje mi movil para ver el SMS!!

"Perdona???" - contesté.

"Si, me tienes que enseñar el SMS para ver que es cierto, y borrarlo delante mio si quieres que te demos la planta" - respondió ella.

Así que me armé de paciencia y respondí - "No acostumbro a guardar los SMS, señorita... según los leo los elimino... así que si necesitas comprobar que efectivamente me corresponde, aquí tienes mi tarjeta de socio de Leroy Merlín y mi DNI (que es lo que VOSOTROS MISMOS indicais en vuestra página web que debo entregar para recoger la planta".

"Pues o me enseñas el SMS o no hay planta" - volvió de nuevo a repetir con muy mal tono.

Yo no me podía creer que una empresa como Leroy Merlín fuera tan chapucera e ignorante como para hacer algo así... pero de nada sirvieron mis explicaciones, ni mi razonamiento sobre porqué era una estupidez que pidieran ver el SMS teniendo la tarjeta de socio, etc, etc... pero dió igual, la chica se cerró en banda y ni siquiera quiso seguir hablando. Me dijo que NO había planta sin que ella viera el SMS y lo borrara delante suyo, así que no me quedó más remedio que irme sin la puñetera planta...

Y si yo fuera una persona normal, ahí hubiera terminado la historia: volviendo a casa con las manos vacías y de mal humor por el tono con el que me acababan de atender...

...pero no es el caso, por lo que cuando se me pasó un poco el cabreo, me puse a buscar información sobre los dichosos SMS, su manipulación y las formas que hay de "falsificarlos".

Ni esa mierda de protocolo prehistórico en desuso ni la maldita cerda maleducada que "me atendió" iban a impedir que consiguiera mi planta! Faltaría más! xDDDD

Hasta ese momento no me había puesto nunca a investigar en profundidad acerca del servicio de mensajes cortos (SMS) más allá del uso normal que solemos (solíamos) darle... y lo cierto es que o bien existe poca documentación sobre el tema o bien yo no la supe encontrar, así que me costó un poco documentarme sobre el tema... pero después de unas horas de lectura, al final entendí más o menos su funcionamiento.

Un poco de teoría acerca de los SMS

Un mensaje SMS, como casi todos los mensajes que existen, no es más que uno o más "paquetes" de datos con diferentes "campos".

Uno de dichos campos es el "remitente", por lo tanto, solo hay que manipular ese campo para poder enviar mensajes suplantando la identidad que queramos, en éste caso la de Leroy Merlín.

Hay dos tipos de mensajes SMS:

  • Modo texto
  • Modo PDU (Protocol Description Unit)

La forma habitual de uso es la segunda (PDU), ya que en ella los mensajes se tratan como una cadena de carácteres de cuya codificación se obtiene el SMS en modo texto. Además, en una cadena PDU no solo va el contenido del mensaje, sino que se incluyen muchos otros datos, como por ejemplo el número del Centro de Servicio SMS (el "servidor" que gestionará el envio), la hora de llegada, información sobre el remitente del mensaje, caducidad de dicho mensaje, etc, etc.

La estructura típica de una trama SMS PDU sería algo así:

Cada campo corresponde a:

  • DCS: Número del Centro de Servicio. Éste campo está a su vez está dividido en:

    • LN: Longitud del número del Centro de Servicio, expresada como el número de octetos (pares de carácteres hexadecimales o decimales) que forman el nº.
    • TTL: Tipo de llamada al Centro de Servicio, que puede ser:

      • Nacional: Valor 81
      • Internacional: Valor 91

    • Nº CS: Número del centro de servicio, el cual debe ir en orden inverso por pares. Por ejemplo, para indicar el número 123456789 habría que poner 214365798. Y además, si el número de dígitos de dicho número es impar, hay que añadir una F en medio del último par de dígitos. Por lo tanto, el número final quedaría así: 21436579F8

    • Por lo tanto, teniendo en cuenta éstos 3 campos, si nuestro Centro de Servicio estuviera en el mismo pais desde el que estamos escribiendo, y su número fuera el +34123456789, el valor del campo DCS de la trama del SMS sería: 06814321436579F8

  • TIPO PDU: Tipo Protocolo de la Unidad de Datos

    • PC: Path contestación (0 -> No, 1 -> Si)
    • CD: Cabecera de datos (0 -> Sin, 1 -> Con)
    • PRE: Petición de reporte de estado (0 -> No, 1 -> Si)
    • PV: Campo periodo vigencia presente
    • RD: Permitir que el centro de Servicio acepte un SMS-SUBMIT para un mensaje que todavía está en el centro (0 -> Si, 1 -> No)
    • TIPO: 0 1 Mensaje de envío

  • DD: Dirección del destinatario del mensaje. Se rellena igual que el campo DCS (Número del Centro de Servicio), pero poniendo el número del destinatario en lugar del número de dicho centro.

  • PID: Protocolo de identificación
  • NR: Número de referencia
  • COD: Codificación de la trama de datos. Es decir, si la trama está codificada a 7 bits o 8 bits, y también indica el tipo de SMS (para mensajes SMS tipo flash, por ejemplo)
0000    0   0   00  7 bits
1111    0
        0       7 bits
        1       8 bits
            00  Mensaje clase 0 (flash)
            01  Mensaje clase 1 ME
            10  Mensaje clase 2 SIM
            11  Mensaje clase 3 TE
  • PV: Periodo de vigencia del mensaje (caducidad):

    • 0 a 143 -> (PV+1)*5 minutos
    • 144 a 167 -> 12horas+(PV-143)*30 minutos
    • 168 a 196 -> (PV-1) *1 día
    • 197 a 255 -> (PV-192)*1 semana
    • Ejemplo AA: (AA=170-> 170-166=4 * 1 día=4 días )

  • LD: Longitud de los datos. Por ejemplo, si el mensaje está formado por la cadena C8 27 33 08, éste campo se rellenará con 04, ya que hay 4 octetos de 2 carácteres hexadecimales.

  • DATOS: Aquí va el texto del mensaje que estemos enviando. Un ejemplo para que quede más claro cómo se rellenaría éste campo (con codificación de 7 bits):

Supongamos que el mensaje que queremos enviar es la palabra HOLA:

  H O L A
Hex 48 4F 4C 41
Bin 1001000 1001111 1001100 1000001

Para transformarlo a octetos se toma el número de caracteres de la siguiente letra que nos falten para llegar a 8, cuando se hayan tomado caracteres de una letra para la anterior, esta se queda sin esos caracteres y los debe tomar de la siguiente letra.

       
1 1001000 00 100111 ~~1~~ 001 10011 ~~00~~ 1000 ~~001~~
C8 27 33 08

El valor a enviar en éste campo del SMS para decir "HOLA" sería: C8273308

Por lo tanto solo tendríamos que hacernos con un módem GSM, calcular los valores de la trama de nuestro SMS cambiando el remitente del mensaje, y enviar a través del modem los comandos AT necesarios para mandarnos el mensaje a nosotros mismos (pero de parte de Leroy Merlín) para que la asquerosa que nos atendió nos entregue la puñetera planta!

Pero aquí se nos presentaba otro problema... y es que aunque SI que tengo un modem GSM (el maravilloso módulo FONA de Adafruit, con el que estoy preparando un "servidor de alertas" propio del que ya escribiré algún artículo) aún no lo tengo terminado, ni sé para cuándo lo tendré...

Módem GSM FONA de Adafruit

Por lo tanto, me resulta imposible enviar yo mismo el SMS manipulado para simular que ha sido Leroy Merlin... pero no hay problema, ya que después de un rato buscando en Internet encontré varias empresas que se dedican sobre todo a las campañas de marketing por SMS (el insufrible spam, vaya), operadoras virtuales que permiten el envio de SMS online, etc. y algunas de ellas (muy pocas) permiten además personalizar el remitente de los mensajes! Eureka, ya lo tenemos!

Envio de SMS personalizados desde Internet

De entre todas las empresas que encontré, la inmensa mayoría no permitían personalizar el remitente... pero una pequeñísima minoría si que daba la opción, por lo que únicamente tenía que registrarme en sus respectivas páginas webs y rellenar un formulario para enviar los SMS.

Os recomiendo 2 de ellas:

  • Gratuita -> Esendex: No es que sea realmente un servicio gratuito, pero te dan 15 o 20 emails gratis para probar el servicio... y funcionan francamente bien.
  • De pago -> FakeSMS: Si prefieres un servicio de pago (por aquello de tener algo más de seguridad acerca de si los mensajes van a llegar o no), ésta web ofrece éste servicio perfectamente... y aunque no es barata, tampoco es excesivamente cara, ya que por 6 € podeis enviar 10 mensajes completamente personalizados. Aunque si sois de esos que teneis Facebook, Google+ y esas mierdas, tienen una promoción en la que si les haces click en Me gusta te regalan 1 SMS, así que también podeis probarlos de forma gratuita (únicamente vendiendo vuestra alma, de nuevo).

Poco más hay que contar llegados a éste punto. Utilicé el servicio de envio de SMS personalizados de ambas webs (probé con ambas porque estuve haciendo diferentes cosas aparte de ésto) y me envié un SMS de parte de Leroy Merlin con el texto exacto que había en el SMS original, y quedó como podeis ver en la foto...

Por lo que ya con el SMS en mi movil, volví al Leroy Merlín y después de enseñarle y borrar el dichoso SMS que tanto me habia costado conseguir, obtuve al fin la dichosa plantita...

Por fin! Misión cumplida!

Y ya está? Fin de la historia?... pues no, obviamente no.

Si el primer dia que fuí a por mi merecidísima planta me la hubieran dado (tal y como tenían que haber hecho) no hubiera pasado nada, y todos estaríamos felices y contentos. Pero como ésto no fué así, y en vista de lo importante que eran éstos SMS para ellos, tan pronto llegué de nuevo a mi casa volví a enviarme otro SMS exactamente igual, y al dia siguiente fuí de nuevo a por otra planta (como si fuera la primera vez). Y me la dieron, por supuesto... para eso tenía el SMS y lo borraba delante suya! Así que estuve haciendo lo mismo durante casi todos los dias hasta que acabó la promoción, el pasado dia 8 de diciembre... (normalmente me atendian personas diferentes, pero alguna vez fué ella de nuevo, y ni se acordaba de mi)

¿Pensáis que soy una mala persona por aprovecharme de ellos? Pues os equivocais en todo, ya que ni yo me considero malo, ni vosotros deberíais considerarme persona... pero si vas de guay enviando SMS a tus buenos clientes para hacerles un regalo por Navidad, no les vengas con éstas estupideces cuando vayan a recogerlo.

Solo os enseñaré una planta, que no quiero dejar pruebas gráficas del vivero que me pude haber montado a su costa xDDD

Ahora si... fin de la historia! Espero que al menos os haya servido no solo para descojonaros de mi y de mis aventuras en el Mundo Real(TM), sino para aprender un poquito más acerca de los SMS: esos grandes desconocidos que tan buen servicio nos dieron en el pasado, y que ahora casi nadie utiliza ya...

Alaaaaaaaaaaaaaaaaaaaaa

Referencias