USSD

Dịch vụ dữ liệu bổ sung phi cấu trúc (tiếng Anh: Unstructured Supplementary Service Data, viết tắt: USSD), đôi khi được gọi là "mã nhanh" hoặc "mã tính năng", là một giao thức truyền thông chuẩn trong Hệ thống thông tin di động toàn cầu (GSM) được sử dụng để thiết lập các phiên giao tiếp hai chiều theo thời gian thực giữa điện thoại di động và máy chủ của nhà cung cấp dịch vụ mạng.

Khác với dịch vụ tin nhắn ngắn (SMS) hoạt động theo cơ chế lưu trữ và chuyển tiếp, USSD duy trì kết nối phiên liên tục, cho phép gửi lệnh và nhận phản hồi tức thì mà không yêu cầu kết nối Internet hay ứng dụng nhắn tin chuyên biệt. Giao thức này thường được nhận diện qua các chuỗi ký tự bắt đầu bằng dấu sao (*) và kết thúc bằng dấu thăng (#) (ví dụ: *101#, *06#), phục vụ đa dạng các mục đích như kiểm tra số dư tài khoản, nạp tiền trả trước, dịch vụ tiền di động (mobile money), duyệt WAP, truy cập nội dung dựa trên vị trí và cấu hình thiết bị từ xa.

Tin nhắn USSD có độ dài tối đa 182 ký tự chữ và số. Không giống như dịch vụ tin nhắn ngắn (SMS), tin nhắn USSD tạo ra kết nối thời gian thực trong suốt phiên USSD. Kết nối này được duy trì, cho phép trao đổi hai chiều theo chuỗi dữ liệu. Điều này làm USSD nhanh hơn các dịch vụ sử dụng SMS.

Trong khi GSM đang dần bị loại bỏ trong những năm 2020 cùng với công nghệ 2G và 3G, các dịch vụ USSD vẫn có thể được hỗ trợ trên LTE và 5G.

Sử dụng 
Khi người dùng gửi một tin nhắn đến mạng của nhà cung cấp dịch vụ, tin nhắn đó sẽ được một máy tính chuyên xử lý USSD nhận. Phản hồi của máy tính được gửi trở lại điện thoại, thường ở dạng cơ bản để dễ dàng hiển thị trên màn hình. Các tin nhắn gửi qua USSD không được quy định bởi bất kỳ cơ quan tiêu chuẩn hóa nào, vì vậy mỗi nhà mạng có thể triển khai theo cách phù hợp nhất với khách hàng của mình.

USSD có thể được dùng để cung cấp các dịch vụ gọi độc lập như dịch vụ gọi lại (giúp giảm chi phí cuộc gọi khi chuyển vùng), tăng cường khả năng tiếp thị di động hoặc các dịch vụ dữ liệu tương tác.

USSD thường được sử dụng bởi các điện thoại GSM trả trước để kiểm tra số dư còn lại. Ứng dụng "kiểm tra số dư" của nhà cung cấp dịch vụ sẽ ẩn các chi tiết của giao thức USSD khỏi người dùng. Trên một số mạng trả trước theo mức sử dụng, như Tesco Mobile, sau khi người dùng thực hiện một hành động tốn phí, họ sẽ thấy một tin nhắn USSD hiển thị số dư mới. USSD cũng có thể được dùng để nạp tiền vào SIM của người dùng và cung cấp các mật khẩu một lần hoặc mã PIN.

Một số nhà mạng sử dụng USSD để cung cấp truy cập vào các cập nhật thời gian thực từ các trang mạng xã hội như Facebook và Twitter. Từ năm 2012 đến 2018, dự án Wikipedia Zero cung cấp quyền truy cập các bài viết Wikipedia thông qua USSD.

USSD đôi khi được sử dụng kết hợp với SMS. Người dùng gửi một yêu cầu đến mạng thông qua USSS, và mạng sẽ trả lời bằng một thông báo xác nhận đã nhận yêu cầu:
"Cảm ơn bạn, yêu cầu của bạn đang được xử lý. Một tin nhắn sẽ được gửi đến điện thoại của bạn."

Sau đó, một hoặc nhiều tin nhắn SMS gửi đến máy (mobile terminated SMS) sẽ thông báo trạng thái và/hoặc kết quả của yêu cầu ban đầu. Trong các trường hợp như vậy, SMS được sử dụng để “đẩy” phản hồi hoặc cập nhật đến thiết bị khi mạng sẵn sàng gửi chúng. Ngược lại, USSD chỉ được dùng cho mục đích điều khiển và thực thi lệnh.

Chi tiết kỹ thuật 
Hầu hết các điện thoại GSM đều có khả năng sử dụng USSD. USSD thường gắn liền với các dịch vụ nhắn tin thời gian thực hoặc nhắn tin tức thời. Không có trung tâm SMSC trong quá trình xử lý, vì vậy khả năng store-and-forward được hỗ trợ bởi các giao thức tin nhắn ngắn khác như SMS không khả dụng.

USSD Giai đoạn 1, được mô tả trong GSM 02.90, chỉ hỗ trợ các thao tác do thiết bị di động khởi tạo ("kéo", pull). Trong mạng lõi, tin nhắn được truyền qua MAP theo USSD Giai đoạn 2, được mô tả trong GSM 03.90. Sau khi nhập mã USSD trên thiết bị GSM, phản hồi từ nhà mạng GSM sẽ được hiển thị trong vòng vài giây.

Trong khi GSM đang dần bị loại bỏ trong những năm 2020 cùng với 2G và 3G, một giải pháp đã có để hỗ trợ các dịch vụ USSD trực tiếp từ mạng LTE/5G/IMS, mang lại trải nghiệm người dùng tương tự như trên GSM.

Định dạng
Một tin nhắn USSD thường bắt đầu bằng dấu hoa thị (*) hoặc dấu thăng (#) và kết thúc bằng dấu thăng (#). Một tin nhắn điển hình bao gồm các chữ số dùng cho lệnh hoặc dữ liệu; các nhóm chữ số có thể được tách ra bằng các dấu hoa thị bổ sung.

Chế độ USSD
Khởi tạo từ thiết bị di động
 USSD/PULL hoặc USSD/P2A
 khi người dùng quay số một mã, ví dụ *139# từ thiết bị di động GSM

Khởi tạo từ mạng
 USSD/PUSH hoặc USSD/A2P
 khi người dùng nhận một tin nhắn đẩy từ mạng; chủ yếu được sử dụng cho các dịch vụ khuyến mãi

Tham khảo 

Các tiêu chuẩn viễn thông di động
Tiêu chuẩn 3GPP
Chuẩn GSM