سادگی و سرعت عمل این کدها (موسوم به کدهای دستوری یا USSD) سبب شده کارایی بالایی برای فعالیتهای مختلف روی تلفنهای همراه پیدا کنند، اما آیا تا به حال با خود فکر کردهاید این کدها چه هستند و از کجا آمدهاند؟ چه ساختاری از نظر فنی دارند و بر چه مدلی از شبکه استوارند؟ آیا تمام این کدها به یک صورت هستند یا انواع مختلف دارند؟ در این مطلب سعی داریم نگاهی جامعتر به کدهای حاوی کاراکترهای #* بیندازیم و به سوالات طرح شده نیز پاسخ دهیم.
انواع کدهای ستاره مربعی
شاید برایتان عجیب است که چرا به جای «کد USSD» از اصطلاح «کد ستاره مربعی» استفاده کردهایم. دلیل این امر آن است که کدهای USSD تنها بخشی از کدهای ستاره مربعی را تشکیل میدهند. به طور کلی تمام کدهای موبایلی که با کاراکتر ستاره(*) شروع و با مربع یا هشتگ(#) خاتمه مییابند، کدهای MMI نامیده میشوند که مخفف Man-Machine-Interface (ارتباط انسان ماشین) است.
با وجود اینکه کدهای MMI ظاهری شبیه به هم دارند، دستهبندیهای مختلف و کارکردهای متفاوتی برای آنها در نظر گرفته شده است. برخی بهصورت محلی روی موبایل اجرا میشوند، برخی با سیمکارت ارتباط برقرار میکنند، بعضی پس از پردازش توسط گوشی به شبکه ارسال و بقیه هم مستقیم به اپراتور فرستاده میشوند.
دسته اول که کدهای محلی هستند، توسط سازنده روی گوشی نصب شده و برای اجرا نیازی به شبکه موبایل (یا حتی سیمکارت) ندارند. این کدها مثل همه کدهای MMI در ابتدا و پایانشان ستاره و مربع دارند، اما با این تفاوت که به محض وارد کردن کد اجرا میشوند. یعنی نیازی به زدن دکمه تماس پس از تایپشان نیست. سازندگان مختلف، کدهای متفاوتی روی گوشیهایشان قرار میدهند، ولی یک کد محلی در همه گوشیهای تولیدشده نصب شده و آن #06#* است که با زدن آن IMEI یا شناسه 15 رقمی گوشی نمایش داده میشود.
کدهایی که مرتبط با سیمکارت هستند، نوع دوم کدهای MMI را تشکیل میدهند که باز هم عملا ارتباطی با شبکه مخابرات پیدا نمیکنند و در نتیجه نیازی هم به زدن دکمه تماس ندارند. مشهورترین این کدها، کد 04 است که برای تغییر پین سیمکارت مورد استفاده قرار میگیرد؛ به این صورت که مثلا با ورود به کد دستوری زیر پین سیمکارت از 1234 به 6789 تغییر خواهد یافت:
** 04*1234*6789*6789#
نوع سوم که کدهای SS یا Supplementary Service Codes نام دارند، کدهایی هستند که کاربر آنها را وارد کرده و کلید تماس را هم میزند، اما این کدها مستقیما و به همین صورت به اپراتور فرستاده نمیشوند، بلکه پیش از آن خود گوشی آنها را ترجمه کرده و پس از تبدیل به نوع دیگری از کد (ASN.1)، برای اجرا به اپراتور ارسال میشود. برای مثال هنگامی که کاربر کد زیر
را وارد کرده و دکمه تماس را میزند، در اصل از گوشی میخواهد به اپراتور بگوید تمام تماسهایش را به شماره 123456789 فوروارد کند:
*21*123456789#
و اما نوع چهارم کدهای MMI همان کدهای مشهور USSD یا Unstructured Supplementary Service Data Codes هستند که تقریبا همه ما با آن آشنایی داریم. این کدها پس از ورود و زدن دکمه تماس، امکان تفسیر توسط گوشی را ندارند و بنابراین بهطور مستقیم برای اجرا به شبکه ارسال میشوند (به همین دلیل هم غیرساختارمند یا Unstructured نام گرفتهاند). اجرای این کدها پس از ارسال، مستقیما بهعهده اپراتور است و ممکن است کدی که در یک اپراتور اجرا شود، در اپراتور دیگر تشخیص داده نشود، مانند کدهای شارژ که هر اپراتور کدی مخصوص به خود دارد.
سوالات متداول درباره این کدها
آیا این کدها تنها از سوی کاربران وارد و ارسال میشود؟ پاسخ این سوال برخلاف تصور بسیاری، منفی است! کدهای MMI که کاربران وارد و اجرا میکنند، کدهای Pull یا P2P هستند. اما در مقابل آنها، پیامهای Push یا A2P هم داریم که مثل اعلانهای برنامهها، از سوی اپراتور به یک یا مجموعهای از کاربران ارسال میشود. کارکرد اصلی این نوع از کدها تبلیغات یا اعمالی مخصوص به اپراتور مثلا ارسال پین به یک کاربر یا پیامی خاص و مهم است.
آیا کدهای USSD مثل پیامک (SMS) هستند؟ خیر، سه تفاوت عمده بین USSD و SMS وجود دارد:
اول آنکه کدهای دستوری برخلاف پیامک، «جلسهای» (Session based) است. بهاین معنا که امکان ذخیره پیامهای USSD وجود ندارد و هنگامی که یک جلسه میان کاربر و اپراتور به اتمام برسد (چه عمل خاصی انجام شود چه خیر)، پیامها محو شده و قابل بازیابی نیست. در حالیکه پیامکها ذخیره و قابل مشاهده بعدی هستند.
تفاوت دوم میان این دو تکنولوژی، تعداد کاراکتر مجاز در آنهاست. هر پیامک به 160 کاراکتر محدود است، اما در USSD میتوان تا 182 کاراکتر را نیز ارسال کرد.
سوم هم آنکه کدهای دستوری سریعتر از پیامک هستند؛ تا سه برابر سریعتر!
محمود صادقی
گواردیولا چگونه برترین مربی تاریخ شد؟