Запит балансу на рахунку
При розробці GSM сигналізації, переді мною постало завдання достовірного визначення залишку на рахунку, що б вчасно поінформувати власника про його вичерпання.
Основна складність була в застосуванні російської мови в звітах стільникових операторів. Справа в тому, що GSM модуль SIM300 передає в зручному для обробки вигляді повідомлення латинськими літерами. Якщо міститися російські літери - це просто караул, завдання багаторазово ускладнюється. Звичайно, можна і в цьому питанні розібратися, але на мій погляд це сильно ускладнить процедуру обробки SMS. Справа в тому, що без застосування іншого типу роботи c GSM модемом, виокремити з купи сміття значення балансу виявилося неможливим. Тобто для одного конкретного оператора можливим, але для всіх одночасно - немає.
Зовсім випадково знайшов в інтернеті таку фішку з USSD запитами - якщо ми, наприклад, запитуємо баланс на МТС * 100 #, beeline * 102 #, tele2 * 105 #, то введення команд # 100 #, # 102 # і # 105 # призведе до отримання балансу транслитом!
Еврика - подумав я, провів в голові нехитру інтерполяцію і заклав цю методику в виріб.
Однак, дзвонить мені клієнт і каже - у мене Мегафон і баланс не визначається. Так, довелося знайти людину з Мегафоном і переконається, що зроблене допущення було невірним. Довелося в наступній версії прошивки включити можливість запиту через зірочку, крім улюбленої мною грати. ) У цьому випадку, правда, потрібно домовлятися з оператором стільникового зв'язку, що б вони висилали сервісні повідомлення транслітом, але вже якщо потрібно, то це не проблема.
Ось я і думаю, може варто було відразу оголосити це клієнтам, а не шукати зручних шляхів.