web-dev-qa-db-fra.com

Demandes USSD via le haut débit mobile

Ce que je veux faire, en gros, c'est vérifier le solde de ma carte SIM prépayée, située dans un modem 3G (USB).

Quelques informations de base:

  1. Le fournisseur de mon Internet 3G (appelé Beeline) propose également des services de téléphonie mobile. Pour vérifier le solde de n'importe quelle carte SIM, je peux simplement taper * 102 # sur n'importe quel téléphone portable et je recevrai un avis de mon solde. Donc, ce qui marche toujours, c'est de sortir la carte SIM du modem dans un téléphone portable et de vérifier le solde en "appelant" * 102 #
  2. Le modem est venu avec un programme Windows qui a un bouton "vérifier le solde". Je ne veux pas essayer d'imiter ce programme avec du vin pour diverses raisons. Et je ne suis pas obligé de le faire, merci Ubuntu, le modem fonctionne sans problèmes.

Ma pensée serait: Est-il possible de faire ces demandes USSD (qui ne semblent pas poser de problème avec un téléphone aléatoire) via le modem 3G via Ubuntu?

3
Rough Dude

Ces "requêtes de hachage" sont appelées USSD. En recherchant ce mot clé, vous trouverez différentes solutions:

  1. Gammu peut envoyer une requête USSD et la recevoir via la commande gammu getussd *102#. Comme indiqué ici , certains modems GSM pourraient nécessiter une transformation assez compliquée du code USSD. Assurez-vous de disposer des droits nécessaires pour lire le périphérique /dev/ttyUSB0 (ou similaire). Un exemple peut être trouvé ici .

  2. Gsm-ussd semble être plus facile à utiliser que gammu pour ussd mais présente globalement moins de fonctionnalités. Ce n'est pas dans les dépôts officiels, téléchargez à partir de ici et configurez-le comme this .

  3. Prepaid-manager-applet possède une interface graphique Nice et se trouve dans les dépôts officiels. C’est probablement la solution la plus simple et la plus agréable. Il est probable que votre fournisseur figure déjà sur la liste afin que vous n'ayez rien à faire. Si ce n'est pas le cas, ajoutez le numéro USSD dans '/usr/share/mobile-broadband-provider-info/serviceproviders.xml'. Trouvez la section de votre pays et fournisseur et ajoutez

    <balance-check>
        <ussd>*102#</ussd>
    </balance-check>
    

    alors que *102# doit être remplacé par le code USSD de votre fournisseur. C'est aussi sophistiqué que ça:

Screenshot of the Prepaid-Manager-Applet

2
Rough Dude