Journal Réception d'un MMS difficile

Posté par  . Licence CC By‑SA.
74
4
oct.
2020

Sommaire

Incipit

Un alignement de planètes quelconques (ou un alignement quelconque de planètes, comme vous préférez) a rendu impossible une réception de MMS sur le téléphone que j'utilise, un vieil appareil bas de gamme sur Android 6 abandonné par la personne à qui il appartient (c'est pour donner le contexte, rendre les choses concrètes et augmenter le nombre de mots, mais ça n'a pas du tout d'intérêt pour la suite).

En général ça fonctionne, mais là, non : je reçois un SMS curieux contenant deux émojis morts de rire. SMS auquel je réponds par un point d'interrogation, et la réponse ne se fait pas attendre : « Tu n'as pas reçu les images ? », suivie par « Je ne pensais pas que tu étais le type de personne à envoyer des points d'interrogation :-P ».

Je finis par faire des incantations vaudoues du style redémarrer le téléphone, forcer l'arrêt de l'application SMS, vider son cache, etc. Et là, je vois apparaître un petit message proposant de télécharger le MMS, indiquant sa taille : autour de 400 Kio. Soit, je tape sur le bouton, ça mouline, ça mouline, et je pars dormir. Le lendemain matin, quelle ne fut pas mon absence de surprise quand c'était toujours marqué « téléchargement en cours ».

En résumé : les deux applications SMS que j'utilise n'ont jamais réussi à télécharger le message. Mais je ne vais quand même pas rester impuissant devant cette situation ! Je demande à la personne qui m'a envoyé ce MMS de me le renvoyer. Elle me le renvoie, je le reçois correctement. Je me suis effectivement marré. Fin de l'histoire. Bon dimanche.

Non, je déconne. Je n'ai pas choisi cette piste simple et évidente, sinon ce journal n'existerait pas. J'ai bien sûr tenté de récupérer le MMS manuellement. Mais est-ce que j'ai réussi ? C'est ce que nous allons voir dans ce journal. Vous devez tout lire et tout déchiffrer parce que je n'ai intentionnellement pas laissé une formulation claire et concise pour cette réponse dans ce journal, sinon vous allez la lire et partir faire autre chose. Ne partez pas maintenant, ça donne un « read time » moisi après.

Fonctionnement des MMS

Vous allez me demander, comment récupérer un MMS manuellement ? C'est pas ultra compliqué ?

Je suis content que vous me posiez la question, parce qu'il n'y aurait pas eu de journal sinon. Alors oui et non, ça dépend, peut-être… Nous allons faire un survol de tout ce qu'il faut savoir sur les MMS pour arriver à nos fins (parce que maintenant, récupérer mon MMS, c'est votre problème aussi en tant que lecteur. En principe, la rédaction est suffisamment fluide et agréable pour que vous vous identifiiez un peu et ayez envie de connaître la suite. Vous n'êtes pas ce type de personne qui quitte un journal et qui « zappe » dès que c'est un peu long, n'est-ce pas ?).

Bien. Les SMS, Short Message Service, sont des messages courts passant par les canaux de signalisation du réseau GSM (le réseau 2G). Ils sont disponibles aussi sur les réseaux 3G et 4G, si je lis bien, et peut-être aussi la 5G maintenant, mais ça, l'histoire ne le dit pas.

Les MMS, ce n'est pas la même came. La réception, comment ça marche ? Votre opérateur vous envoie un SMS de notification disant à votre téléphone « Hey, t'a un MMS qui t'attend à cette adresse HTTP ! ». Et le téléphone accède à cette adresse HTTP via la 3G ou la 4G (et la 5G ? Ah bah non, les antennes sont vandalisées avant de toute façon ! ah ah). Avant il y avait WAP aussi, mais ça, depuis le début des années 2010, c'était avant. C'est pour ça d'ailleurs que vous pouvez avoir une notification de réception de MMS sans les données mobiles activées, mais que vous devez activer les données mobiles pour le récupérer et que dans certains endroits reculés du monde, cela peut engendrer des frais (souvent quand même, le téléchargement d'un MMS n'est pas décompté du forfait, mais bon ça dépend).

Et si vous n'avez pas l'impression de devoir activer les données mobiles pour recevoir les MMS, c'est juste que votre téléphone vous ment et les active temporairement pour télécharger le MMS. Ce qui est plutôt pratique pour ne pas avoir à laisser les données activées en permanence (parce que, qui a besoin des données activées en permanence, HEIN ? HUUUM, pardon, j'ai un chat dans la gorge), mais ce fonctionnement est pour le moins aléatoire selon les modèles et les systèmes, et les applications. Sur Lineage 14.1 par exemple, il fallait activer une option sur chaque modèle de téléphone, à sa compilation. Option introduite par ce patch, qui a été annulé dans Lineage 15 et ça ne marchait plus très bien après. Mais de ma brève épopée sur Lineage 17.1, je crois me souvenir que ça remarche bien maintenant. Bref, la fête du slip…

Le MMS est donc téléchargé par HTTP via les données mobiles. Et pourquoi pas par Wifi ? Certainement parce que l'opérateur vous identifie facilement via la connexion mobile.

On reçoit donc un blob binaire contenant les métadonnées et les différentes parties du message :

  • Une description du contenu au format SMIL du W3C, basé sur XML. C'est grosso merdo la disposition du message (position et ordre des pièces jointes et du texte). Un exemple est donné plus tard, ne partez pas ;
  • Les pièces jointes, dont le texte s'il y en a un, et en général des images mais ça peut être autre chose (vous avez déjà reçu un MMS vocal ou une vidéo ?).

Vous savez maintenant tout ce que je sais sur les MMS.

Récupérer un MMS bloqué

Bon, du coup, comment on récupère ce MMS ? Facile, il suffit de connaitre l'adresse à laquelle il faut le télécharger. La difficulté c'est justement de trouver cette adresse. Et il faut faire vite, on a que 3-4 jours (plus ou moins) pour le récupérer, après quoi votre opérateur supprimera le message de son serveur et cela vous coûtera une interaction sociale pour demander qu'on vous le renvoie.

Cette adresse est envoyée dans la notification SMS de réception d'un MMS et elle est stockée dans votre téléphone, et plus précisément, très certainement dans une base de donnée SQLite si vous utilisez Android ou iOS. Sur Android, si votre téléphone est « rooté », vous pouvez récupérer cette base de données sur votre ordinateur avec les outils de débogage.

$ adb shell
su
cp /data/user*/0/com.android.providers.telephony/databases/mmssms.db* /sdcard
exit
exit
$ adb pull /sdcard/mmssms.db /sdcard/mmssms.db-journal

S'il n'est pas rooté… eh bien, je vous laisse construire une application qui utilise l'API permettant de consulter cette base de données sur votre système, et des implémentations libres utilisant cette API (sous Android) :

On va partir du principe qu'on a pu récupérer cette base de données sur l'ordinateur pour une consultation confortable. On peut l'ouvrir avec DB Browser for SQLite - sqlitebrowser par exemple, ou sqliteman :

sqlitebrowser mmssms.db

Et là, il y a plein de tables. Les SMS / MMS, c'est un peu compliqué, mine de rien, faut gérer les cas d'erreurs, les fils de conversations, les numéros de téléphones pas normalisés, les extraits de messages / conversations affichés par les applications, bref, ce qui nous intéresse c'est la table « PDU » (pour Protocol Data Unit – c'est un des deux types de SMS possibles, l'autre étant le texte simple, le premier étant utilisé pour les notifications MMS).

Triez par date ou par id_ pour trouver la notification qui correspond à notre MMS perdu (j'ai retiré plein de colonnes, le rendu était dégueu sinon) :

_id thread_id date msg_box m_id
622 6 1601163785 1
ct_l exp seen text_only
http://213.228.3.58/mms.php?BKhStABSEeuF3oSPaWggdg 1601422983 1 0

Le voilà ! La notification ayant l'identifiant unique 622. On peut vérifier sa date :

$ date -d '1970-01-01 1601163785 sec UTC'
dim. 27 sept. 2020 01:43:05 CEST

On est bon, ça correspond bien à l'heure de réception de la notification. On regarde la date d'expiration :

$ date -d '1970-01-01 1601422983 sec UTC'
mer. 30 sept. 2020 01:43:03 CEST

On est ok. Enfin, on était ok au moment des faits. Il me restait deux jours pour expérimenter. On voit que le champ m_id est vide, donc il n'y a pas de message qui correspond à ce PDU dans la base de données. Et par contre, on a bien une adresse HTTP dans le champ… ct_l.

Bon alors, on lance la commande suivante et c'est bon ?

wget http://213.228.3.58/mms.php?BKhStABSEeuF3oSPaWggdg

Spoiler : si vous lancez cette commande depuis votre ordinateur sur votre connexion fixe, ça ne va pas marcher. Ça va attendre et il ne se passera rien. Il faut passer par votre connexion mobile. Vous devez pouvoir partager votre connexion mobile à votre ordinateur et lancer la commande, sur le moment j'ai opté pour lancer la commande sur le téléphone dans Termux en désactivant le Wifi et en activant les données mobiles, comme ça ça passe par la 3G (et oui ! pas de 4G sur ce modèle).

(alors oui, chez Free, à chaque fois que vous récupérez un MMS, quelque part un script PHP est exécuté. Amusant, non ?)

Bref, je transfère ce fichier sur l'ordinateur pour… une manipulation confortable, hé hé, vous suivez bien.

Alors qu'est-ce qu'on a récupéré ?

$ mv mms.php\?BKhStABSEeuF3oSPaWggdg mms
$ ll mms
-rw------- 1 raph raph 407K  4 oct.  12:31 mms

Bon, ok, 407K, la notification ne nous avait pas menti.

$ mimetype mms
mms:   application/smil+xml

Alors… pas du tout :

$ less mms
"mms" may be a binary file.  See it anyway?

Bien sûr que c'est un fichier binaire. Qui contient effectivement une partie en SMIL, mais ce n'est pas que ça.

J'utilise un moteur de recherche pour chercher un programme, puis, résigné, trouver un bout de code pour extraire les parties de ce fichier, et je tombe sur cette classe PHP. Bon soit, la classe a une bonne gueule (d'ailleurs, si vous vouliez un exemple de code PHP bien écrit, en voilà un). Je rajoute du code comme un sale en fin de fichier pour itérer sur les pièces jointes (parts) du MMS et les écrire dans des fichiers.

Je me mange une erreur. L'histoire aurait malgré tout pu s'arrêter là, si j'avais remarqué que le code avait quand même fonctionné et qu'il avait correctement extrait les parties du MMS. Mais ce n'est pas le cas, alors je me dis bon, ok, ça ne doit pas être sorcier de récupérer les parties à la main, le format est probablement relativement simple.

Je lance une nouvelle requête sur le moteur de recherche, cette fois pour trouver un bon lecteur / éditeur hexadécimal. J'ai en tête de copier coller les bouts de fichiers manuellement dans des fichiers à part, il me faut un outil graphique confortable. Je retiens Okteta, un éditeur hexadécimal basé sur les technos KDE (ça ne peut que être bien du coup (?)). Et je ne suis pas déçu, il fait le job.

Je vous colle le début :

0000:0000 | 8C 84 98 42  4B 68 53 74  41 42 53 45  65 75 46 33 | ...BKhStABSEeuF3
0000:0010 | 6F 53 50 61  57 67 67 64  67 00 8D 92  8B 42 4B 68 | oSPaWggdg....BKh
0000:0020 | 53 74 41 42  53 45 65 75  46 33 6F 53  50 61 57 67 | StABSEeuF3oSPaWg
            [... censuré, il y a des numéros de téléphones...]
0000:0060 | 37 2F 54 59  50 45 3D 50  4C 4D 4E 00  8A 80 8F 81 | 7/TYPE=PLMN.....
0000:0070 | 86 81 90 81  84 1B B3 89  61 70 70 6C  69 63 61 74 | ......³.applicat
0000:0080 | 69 6F 6E 2F  73 6D 69 6C  00 8A 3C 73  6D 69 6C 3E | ion/smil..<smil>
0000:0090 | 00 04 2F 82  5D 1B 61 70  70 6C 69 63  61 74 69 6F | ../.].applicatio
0000:00A0 | 6E 2F 73 6D  69 6C 00 85  73 6D 69 6C  2E 78 6D 6C | n/smil..smil.xml
0000:00B0 | 00 C0 22 3C  73 6D 69 6C  3E 00 8E 73  6D 69 6C 2E | .À"<smil>..smil.
0000:00C0 | 78 6D 6C 00  3C 73 6D 69  6C 3E 3C 68  65 61 64 3E | xml.<smil><head>
0000:00D0 | 3C 6C 61 79  6F 75 74 3E  3C 72 6F 6F  74 2D 6C 61 | <layout><root-la
0000:00E0 | 79 6F 75 74  2F 3E 3C 72  65 67 69 6F  6E 20 69 64 | yout/><region id
0000:00F0 | 3D 22 49 6D  61 67 65 22  20 66 69 74  3D 22 6D 65 | ="Image" fit="me
0000:0100 | 65 74 22 20  74 6F 70 3D  22 30 22 20  6C 65 66 74 | et" top="0" left
0000:0110 | 3D 22 30 22  20 68 65 69  67 68 74 3D  22 31 30 30 | ="0" height="100
0000:0120 | 25 22 20 77  69 64 74 68  3D 22 31 30  30 25 22 2F | %" width="100%"/
0000:0130 | 3E 3C 2F 6C  61 79 6F 75  74 3E 3C 2F  68 65 61 64 | ></layout></head
0000:0140 | 3E 3C 62 6F  64 79 3E 3C  70 61 72 20  64 75 72 3D | ><body><par dur=
0000:0150 | 22 35 30 30  30 6D 73 22  3E 3C 69 6D  67 20 73 72 | "5000ms"><img sr
0000:0160 | 63 3D 22 69  6D 61 67 65  30 30 30 30  30 30 2E 70 | c="image000000.p
0000:0170 | 6E 67 22 20  72 65 67 69  6F 6E 3D 22  49 6D 61 67 | ng" region="Imag
0000:0180 | 65 22 20 2F  3E 3C 2F 70  61 72 3E 3C  70 61 72 20 | e" /></par><par 
0000:0190 | 64 75 72 3D  22 35 30 30  30 6D 73 22  3E 3C 69 6D | dur="5000ms"><im
0000:01A0 | 67 20 73 72  63 3D 22 69  6D 61 67 65  30 30 30 30 | g src="image0000
0000:01B0 | 30 31 2E 70  6E 67 22 20  72 65 67 69  6F 6E 3D 22 | 01.png" region="
0000:01C0 | 49 6D 61 67  65 22 20 2F  3E 3C 2F 70  61 72 3E 3C | Image" /></par><
0000:01D0 | 70 61 72 20  64 75 72 3D  22 35 30 30  30 6D 73 22 | par dur="5000ms"
0000:01E0 | 3E 3C 69 6D  67 20 73 72  63 3D 22 69  6D 61 67 65 | ><img src="image
0000:01F0 | 30 30 30 30  30 32 2E 70  6E 67 22 20  72 65 67 69 | 000002.png" regi
0000:0200 | 6F 6E 3D 22  49 6D 61 67  65 22 20 2F  3E 3C 2F 70 | on="Image" /></p
0000:0210 | 61 72 3E 3C  2F 62 6F 64  79 3E 3C 2F  73 6D 69 6C | ar></body></smil
0000:0220 | 3E 3D 88 8F  59 1B 69 6D  61 67 65 2F  70 6E 67 00 | >=..Y.image/png.
0000:0230 | 85 69 6D 61  67 65 30 30  30 30 30 30  2E 70 6E 67 | .image000000.png
0000:0240 | 00 C0 22 3C  69 6D 61 67  65 30 30 30  30 30 30 3E | .À"<image000000>
0000:0250 | 00 8E 69 6D  61 67 65 30  30 30 30 30  30 2E 70 6E | ..image000000.pn
0000:0260 | 67 00 89 50  4E 47 0D 0A  1A 0A 00 00  00 0D 49 48 | g..PNG........IH

Alors là, on voit clairement le document SMIL en début de fichier, annoncé par le type MIME application/smil. Je vous le remets en clair et indenté :

<smil>
    <head>
        <layout>
            <root-layout/>
            <region id="Image" fit="meet" top="0" left="0" height="100%" width="100%"/>
        </layout>
    </head>
    <body>
        <par dur="5000ms"><img src="image000000.png" region="Image" /></par>
        <par dur="5000ms"><img src="image000001.png" region="Image" /></par>
        <par dur="5000ms"><img src="image000002.png" region="Image" /></par>
    </body>
</smil>

Ok, donc on voit bien qu'il y a trois images, au format PNG. Fait amusant, une durée est associée à chaque image, ici 5 secondes. Et parfois, certaines applications (anciennes ?), sont assez pénibles pour respecter ces directives à la lettre… mais ça ne correspond pas du tout à l'usage habituel des MMS.

Deuxième remarque, on voit un truc qui ressemble à un marqueur de début de fichier PNG sur la dernière ligne que je vous ai collée. Un petit tour sur la page Wikipédia confirme qu'un fichier PNG doit commencer par ces caractères :

89
50 4E 47    # PNG
0D 0A
1A
0A

Séquence qu'on retrouve clairement dans la ligne.

Le fichier se finit par :

0006:58F0 |       49 45  4E 44 AE 42  60 82                    |   IEND®B`.      

Et vu qu'il est censé se finir par une image PNG et qu'on retrouve cette séquence 3 fois (et pas 4, donc ce n'est probablement pas un marqueur de fin de pièce jointe d'un MMS), il y a fort à parier que ce soit un marqueur de fin de fichier PNG. Je n'ai pas vérifié ça, en me disant que ça avait des chances de marcher même s'il y a des trucs en trop à la fin des images, et que sinon il suffirait de retirer des caractères.

Je copie colle mes trois images de cette manière à l'aide d'Ockteta. Je les enregistre dans mon dossier de travail, et c'est d'ailleurs en ouvrant ce dernier avec le gestionnaire de fichiers pour retrouver les images ainsi extraites que je me suis rendu compte que le script PHP avait fonctionné… 🤦 mais bon, ça a marché : mes images s'ouvrent.

Conclusion

TOUT ÇA POUR NE PAS DEMANDER À LA PERSONNE DE ME RENVOYER LES IMAGES ! (et aussi parce que c'est fun)

Mais est-ce que j'ai réussi ? C'est ce que nous allons voir dans ce journal, vous devez tout lire et tout déchiffrer parce que je n'ai intentionnellement pas laissé une formulation claire pour cette réponse dans ce journal, sinon vous allez la lire et partir faire autre chose.

J'ai menti. « Oui ». Bonne fin de dimanche !

  • # Merci !

    Posté par  . Évalué à 7.

    Je comprends mieux le bordel des MMS :)

    • [^] # Re: Merci !

      Posté par  . Évalué à 7.

      T'a qu'un bout de l'histoire. MMS c'est plutôt simple et bien fait. Mais c'est un miracle à chaque fois qu'un SMS arrive à son destinataire… Entre les divers protocoles, les formats et les diverses implémentations qui ne respectent pas les standards mais sont des standards de fait. Les opérateurs serrent les fesses chaque fois qu'ils touchent à ça.

      https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

      • [^] # Re: Merci !

        Posté par  (site web personnel) . Évalué à 3.

        Comme les mails…

        D'ailleurs pourquoi le monde de la téléphonie utilise ces protocoles et pas IMAP+SMTP ?

        Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

        • [^] # Re: Merci !

          Posté par  . Évalué à 2.

          Alors pour des raisons historiques. On peut voir les SMS à la base plus comme le ICMP de SS7 que comme un protocole de mail. Il y a énormément d'inertie sur ses stack.

          Ensuite pour IMAP et SMTP, même à changer ça ne serait probablement pas une bonne idée. Des protocoles en mode connectés, avec de gros volumes d'échange (format texte avec beaucoup de données et de méta données) et plusieurs aller-retour pour faire chaque étape,…

          J'ai pas l'impression que ça corresponde au cas d'usage du SMS.

          https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # php

    Posté par  . Évalué à 2.

    Le MMS est donc téléchargé par HTTP via les données mobiles. Et pourquoi pas par Wifi ? Certainement parce que l'opérateur vous identifie facilement via la connexion mobile.

    C'est même impossible d'avoir l'authentification de la SIM en wifi…

    (alors oui, chez Free, à chaque fois que vous récupérez un MMS, quelque part un script PHP est exécuté. Amusant, non ?)

    Je sais pas, pourquoi ?

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: php

      Posté par  . Évalué à 2. Dernière modification le 04 octobre 2020 à 21:23.

      (alors oui, chez Free, à chaque fois que vous récupérez un MMS, quelque part un script PHP est exécuté. Amusant, non ?)

      Je sais pas, pourquoi ?

      Parce que c'est un langage pas mal décrié / controversé. Pas par moi, hein, j'ai écrit beaucoup de lignes de PHP et un de mes projets les plus gros est en PHP, même si je n'en fais plus trop ces derniers temps. Après, il ne faut peut-être pas lire trop de choses derrière cette remarque surtout là pour rendre le texte un peu dynamique.

      • [^] # Re: php

        Posté par  . Évalué à 4.

        J'en profite quand même j'ai oublié dans mon commentaire au dessus : merci pour ce journal très intéressant :)

        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

        • [^] # Re: php

          Posté par  . Évalué à 2.

          Merci :-)

      • [^] # Re: php

        Posté par  (Mastodon) . Évalué à 4. Dernière modification le 04 octobre 2020 à 21:37.

        Je pense que c'est amusant surtout parce que c'est un langage de haut niveau. On (moi en tous cas) imagine que ces fonctions de base sont plutôt faites dans des langages comme C ou C++. Performances, toussa…

        De plus le PHP est très orienté "génération de pages HTML" et ce n'est pas le cas dans la transmission d'un MMS.

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: php

          Posté par  . Évalué à 2.

          Exactement !

        • [^] # Re: php

          Posté par  . Évalué à 4. Dernière modification le 04 octobre 2020 à 23:35.

          On (moi en tous cas) imagine que ces fonctions de base sont plutôt faites dans des langages comme C ou C++. Performances, toussa…

          En 2017, on a envoyé ~5 milliard de MMS, soit 157mms/s, si c'est bien réparti on parle de 40mms/s par opérateur. Mais surtout de ce que j'ai pu voir des opérateurs ils s'en foutent un peu. Comme c'est montré dans le journal, si ça plante tu peu le récupérer dans les 3 jours. Donc à un moment tu y arrivera bien, hein ?

          C'est pas une critique de ton commentaire, c'est juste pour donner mon ressenti de ce que j'ai pu voir après les quelques mois à avoir travaillé là dedans.

          https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

    • [^] # Re: php

      Posté par  . Évalué à 3. Dernière modification le 04 octobre 2020 à 21:42.

      Le MMS est donc téléchargé par HTTP via les données mobiles. Et pourquoi pas par Wifi ? Certainement parce que l'opérateur vous identifie facilement via la connexion mobile.

      C'est même impossible d'avoir l'authentification de la SIM en wifi…

      Ma phrase ne sous-entendait pas autre chose que "la connexion mobile permet de vous identifier". Et je n'ai pas vérifié que c'est pour cette raison que l'accès est bloqué hors d'une connexion mobile, d'où le « certainement ».

      Maintenant, on pourrait imaginer que l'identifiant unique passé en paramètre dans la requête suffise à se dire « le lien a été reçu par la SIM, on n'a pas besoin de faire une authentification supplémentaire, l'identifiant unique sert déjà de jeton d'authentification », ou on aurait pu imaginer une authentification avec avec second facteur par envoi d'un code par SMS pour faire la requête hors du réseau mobile, ou même une autre conception.

      Le problème majeur que je verrais quand même à ces choses, c'est du HTTP en clair, bof bof pour la sécurité si ça doit passer par un canal pas spécialement sécurisé. Ou alors il faudrait rendre la requête possible en HTTPS (et donc aussi avoir un nom de domaine sur le serveur MMS).

      Cela dit, l'EAP-SIM (utilisé en France avec les point d'accès FreeWifi_secure par exemple) permet de rejoindre un réseau Wifi en s'authentifiant avec la SIM. Bon, d'accord, on n'est pas dans le cas où on se connecte en Wifi à sa connexion fixe classique.

      D'ailleurs ça serait intéressant de savoir si la récupération d'un MMS fonctionne via un réseau FreeWifi_secure, mais je ne peux pas tester ça et je trouverais étonnant que le cas soit géré.

      • [^] # Re: php

        Posté par  . Évalué à 3.

        Ou alors il faudrait rendre la requête possible en HTTPS (et donc aussi avoir un nom de domaine sur le serveur MMS)

        TLS marche très bien sans nom de domaine. Par contre, les téléphones ne marchent pas en TLS. C'est pas une blague, j'ai un Samsung B2710 acheté en 2014, et il reçoit les MMS. Je doute qu'il pourrait le faire sur du HTTPS d'aujourd'hui… De toutes façons, le SMS est pas vraiment sécurisé, alors hein, bon.

      • [^] # Re: php

        Posté par  . Évalué à 4.

        De ce que j'ai pu voir, dans le domaine ils sont fiers comme des paons que SS7 c'est sécurisé pas comme ta pile internet toute vérolée et pour qu'ils se rendent compte que SS7 est cassé, qu'ils débloquent des budgets, que les projets soient déployés,… On a encore un certains temps. Sachant qu'outre l'inertie logique dû à comment marche tout cela tu as la peur de flinguer ton réseau. Tu as toujours un risque de laisser sur le carreau un téléphone codé avec les pieds qui pourra plus (ou mal) se connecter ou va perdre des fonctionnalités du réseau.

        AMHA il faut pas tenter de mettre du tls dans les MMS faut juste arrêter d'utiliser ce truc. Je suis sûr que 4 xep et tu as un xmpp qui fait le café. Il manque vraiment des trucs pour que xmmp puisse avoir toutes les fonctionnalités des sms et des mms, mais ça s'implémente (bon par contre ça tue le marché des smsc… zut alors). Il faut juste que 3gpp arrête de regarder son nombril.

        https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

        • [^] # Re: php

          Posté par  (Mastodon) . Évalué à -1.

          AMHA il faut pas tenter de mettre du tls dans les MMS faut juste arrêter d'utiliser ce truc.

          Mais à l'heure des whatsapp/messengers/skype/autres messageries instantanées il y a encore des gens qui utilisent les MMS ?

          Les seules messages que je reçois encore ce sont les sms (authentification, annoncent de livraisons, etc) envoyés par des robots. Ça doit faire 10 à 15 ans que je n'ai plus conversé avec une personne réelle via sms/mms.

          • [^] # Re: php

            Posté par  . Évalué à 10. Dernière modification le 05 octobre 2020 à 11:24.

            C'est ma messagerie instantanée principale, voire la seule côté hors boulot. Je n'ai pas de compte sur ces réseaux, tout le monde peut recevoir et envoyer des SMS / MMS sinon des mails. Ça fait largement le job, sauf avec les gens à l'étranger qui n'ont pas de forfait français.

            Aussi, j'ai longtemps pas eu de forfait pour aller sur internet sur mon téléphone et le SMS/MMS fonctionne bien. Côté batterie, c'est nickel aussi. Les solutions à base d'internet sont un peu moins efficaces de ce côté.

          • [^] # Re: php

            Posté par  . Évalué à 2.

            Mais à l'heure des whatsapp/messengers/skype/autres messageries instantanées il y a encore des gens qui utilisent les MMS ?

            5 millions sur l'année 2017, ce n'est pas beaucoup (en France on parle de 185 millions de sms/an sur la même période). C'est difficile à comparer avec les messageries qui ne sont pas associées à des numéros de téléphone.

            https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

          • [^] # Re: php

            Posté par  . Évalué à 3.

            C'était tellement peu utilisé que quand mon opérateur a changé de plateforme interne, ils ont arrêté le support des MMS.

            « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

      • [^] # Re: php

        Posté par  . Évalué à 1.

        on aurait pu imaginer une authentification avec avec second facteur par envoi d'un code par SMS

        Chez sfr, il font ça, les autres opérateur, je sais pas.

        D'ailleurs, ce journal me permet de comprendre un peu, pour quoi avec qksms, des ils arrivent que de temps à autre, quand je reçois un mms, je reçois un SMS de sfr, qui me dis "vous avez reçu un mms de la part du 0612345678, et que je peux le consulter sur vosmms.com", et comportant un code alphanumérique. Sur le site vosmms.com, il y a un formulaire avec un champs pour entré son numéro de téléphone, et un pour entre ce fameux code.

        Pour en revinr à la réception du mms, et la notification par SMS, du coup, en lisant ce journal, je me dis, que c'est l'accusé de réception du 1ér sms qui ne reviens pas au serveur de mon opérateur, et donc celui-ci m'envois un texto pour me prévenir que J'ai reçu un mms.

        • [^] # Re: php

          Posté par  . Évalué à 3.

          Ça peut arriver quand l'opérateur pense que le téléphone ne prend pas en charge les MMS, d'après mes lectures sur Wikipédia. Ce serait intéressant de comprendre ce qui déclenche ça dans ta situation, en principe SFR connaît ton modèle de téléphone au moment d'envoyer le SMS de notification, ça fait partie des données envoyées lors de la connexion du téléphone au réseau mobile si je ne dis pas de bêtises.

      • [^] # Re: php

        Posté par  . Évalué à 3. Dernière modification le 05 octobre 2020 à 14:31.

        Ou alors il faudrait rendre la requête possible en HTTPS (et donc aussi avoir un nom de domaine sur le serveur MMS).

        Le seul exemple que j'ai en tête : https://1.1.1.1/

        https://itectec.com/superuser/does-the-browser-think-that-https-1-1-1-1-is-secure/

        Apatament on a le droit de faire des certificats pour des IP publiques…

  • # Merci !

    Posté par  . Évalué à 5.

    Un alignement de planètes quelconques (ou un alignement quelconque de planètes, comme vous préférez) a rendu impossible une réception de MMS sur le téléphone que j'utilise, un vieil appareil bas de gamme sur Android 6

    Le mien ne réussit pas à les charger par moments, alors qu’à d’autres, ça marche, et je me demandais pourquoi.

    Et le téléphone accède à cette adresse HTTP via la 3G ou la 4G

    Grâce à toi, je sais pourquoi maintenant : quand il se connecte à mon réseau WiFi, il passe en 2G (j’ai pourtant réglé 3G uniquement comme « Type de réseau préféré » et la réception 2G est moins bonne…), et manifestement, il est trop con pour repasser en 3G le temps de les charger (comment on appelle ça déjà, un « smartphone », vraiment ?).

    Mais, maintenant que je sais d’où vient le problème, ça devrait être plus simple de le contourner (j’ai un avertissement et un bouton Télécharger quand j’en reçoit un qu’il n’arrive pas à charger).

    « Le fascisme c’est la gangrène, à Santiago comme à Paris. » — Renaud, Hexagone

  • # nimages ?

    Posté par  . Évalué à 4.

    Il ne reste plus qu'à poster les images

    • [^] # Re: nimages ?

      Posté par  . Évalué à 3.

      Oui, c'est pas gentil. Tu nous mets en haleine grâce à ces images. On lit tout. Bon, coup de bol, c'est intéressant. Et à la fin: Rien !

      • [^] # Re: nimages ?

        Posté par  . Évalué à 1. Dernière modification le 05 octobre 2020 à 15:33.

        Ah ah !

        J'aurais voulu mettre des captures d'écran ou autres, mais j'ai eu la flemme de chercher un hébergeur d'images ou d'héberger moi-même. Je me suis donc contenté de coller les données textes pertinentes.

        Par contre, je suis intéressé par savoir quelles images vous auraient plu dans ce journal, ça pourrait m'inspirer pour des journaux futurs :-)

        (edit : à part les images du MMS, hein :-P même si elle ne sont pas si sensibles)

        • [^] # Re: nimages ?

          Posté par  . Évalué à 5.

          (edit : à part les images du MMS, hein :-P même si elle ne sont pas si sensibles)

          Bin, celle des MMS justement.

          Franchement, des captures de terminal, pour un plus trop jeune mais pas encore trop vieux comme moi, ça n'a plus rien d'excitant. Les balises de code sont suffisante.

        • [^] # Re: nimages ?

          Posté par  (site web personnel) . Évalué à 1.

          Des photos de moules bien sûr.
          Puisqu'il y en a 3, avec un délai d'affichage entre, dois-je en déduire que c'est censé créer une animation ? Genre un faux gif avec 3 png ?
          J'en suis tout chamboulé de tant de technologies !

          T'as le bonjour de JavaScript !

          • [^] # Re: nimages ?

            Posté par  . Évalué à 2.

            Non ! :-P
            Mais bonne idée, ça aurait pu.
            Le délai d'affichage est complètement arbitraire et n'est pas forcément utilisé par les téléphones. Je ne sais même pas pourquoi il est spécifié.

  • # intéressant

    Posté par  . Évalué à 0.

    très intéressant

    sans doute pour ça qu'Apple a créé iMessage il y a longtemps.

    Et sans doute pour ça que Whatsapp (au dela de toute considération de domination, concurrence, liberté) s'est en quelque sorte imposé comme le nouveau MMS, à la fois multiplateforme et disposant même d'une version web.

  • # Outils pour analyse du fichier mms

    Posté par  . Évalué à 4.

    J'ai vu passer il n'y a pas longtemps l'outil polyfile pour analyser des fichiers plus ou moins inconnus ou contenant différentes parties.
    Ça peut peut-être aider dans ce cas de figure.

  • # Syntaxe de la commande date avec timestamp unix

    Posté par  (site web personnel) . Évalué à 5.

    Bonjour,

    L'appel de commande suivant

    $ date -d '1970-01-01 1601163785 sec UTC'
    dim. 27 sept. 2020 01:43:05 CEST

    permettant de retrouver la date correspondant à un timestamp unix peut être simplifié via la syntaxe

    $ date -d @1601163785
    dim. 27 sept. 2020 01:43:05 CEST

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.