Zjištění stavu kreditu u mobilních operátorů pro použití v řídicím systému

Dobrý den, potřebuji vyčítat stav kreditu ze SIM karty. Hledal jsem na internetu a narazil jsem na stránku http://www.cmail.cz/doveda/gsm/ kde v záložce AT pro C25 narazil na:
ATD - Vytočí telefonní číslo 0603123456
ATD0603123456; <CR> OK
Příklad:
06 0F 09 41 54 44 30 36 30 33 31 32 33 34 35 36 3B 0D (ATD0603123456;)
06 06 00 0D 0A 4F 4B 0D 0A (OK)
Poznámka: Pokud hovor odmítne volaný, telefon pošle BUSY (obsazeno). Pokud volaný přijme hovor, telefon pošle OK. Pokud ukončí hovor volaný, telefon pošle NO CARRIER. Pokud hovor zavěsí volající příkazem ATH, telefon pošle OK.


ATD*101#; <CR> 263,60 Kc OK
Příklad: (Stav kreditu T-Mobile)
06 0A 0C 41 54 44 2A 31 30 31 23 3B 0D (ATD*101#;)
06 02 04 0D 0A
06 09 0F 32 36 33 2C 36 30 20 4B 63 (263,60 Kc)
06 02 04 0D 0A
06 06 00 0D 0A 4F 4B 0D 0A (OK)
ATD*22#; <CR> Zustatek Vaseho uctu je 385.77 OK
Příklad: (Stav kreditu OSKAR)
06 09 0F 41 54 44 2A 32 32 23 3B 0D (ATD*22#;)
06 02 04 0D 0A
06 1E 18 5A 75 73 74 61 74 65 6B 20 56 61 73 65 68 6F 20 75 63 74 75 20 6A 65 20 33 38 35 2E 37 37 (Zustatek Vaseho uctu je 385.77)
06 02 04 0D 0A
06 06 00 0D 0A 4F 4B 0D 0A (OK)
Nemám k dispozici zatím modem a SIM kartu. Byli byste tak hodní a vyzkoušeli to a dali mi vědět.

Support AMiT: Dobrý den, tuto problematiku jsme už řešili. Zjištění kreditu je možné použitím modulu "ModemAT" z knihovny Modem. Do tohoto modulu vložíte za parametr "cCommand" vhodný AT příkaz, který je pro různé operátory různý. Modul "ModemAT" je potřeba použít dvakrát, protože jako odpověď od modemu byste měl obdržet v 1.řádku matice řetězec "OK" a druhý řádek matice Vám udá mimo jiné i hodnotu kreditu na SIM kartě. Odpověď od modemu lze zobrazit jako řetězec. Pokud si přepnete zobrazení této matice do formy řetězce, naleznete v ní (mimo jiné) požadovanou hodnotu kreditu. Pokud tuto hodnotu chcete v programu dále používat i v jiném formátu (např. dekadický), lze ji převést do požadovaného formátu např. pomocí modulu StrParse. AT příkazy pro zjištění kreditu u jednotlivých operátorů by měly být následovné:
Kredit Vodafone karta: ATD*22#^M
Kredit O2 karta: ATD*104*#^M
Kredit T-Mobile karta: ATD*101#^M
V příloze zasílám ukázku vyčítání kreditu ze SIM karty. Kredit.dso

Soubory: