Add USSD codepoints and debugging

This commit is contained in:
Aki Niemi 2010-02-09 11:16:22 +02:00
parent 8730339f40
commit 7001e7b163
2 changed files with 28 additions and 3 deletions

View File

@ -60,6 +60,10 @@ const char *ss_message_id_name(enum ss_message_id value)
_(SS_SERVICE_REQ); _(SS_SERVICE_REQ);
_(SS_SERVICE_COMPLETED_RESP); _(SS_SERVICE_COMPLETED_RESP);
_(SS_SERVICE_FAILED_RESP); _(SS_SERVICE_FAILED_RESP);
_(SS_GSM_USSD_SEND_REQ);
_(SS_GSM_USSD_SEND_RESP);
_(SS_GSM_USSD_RECEIVE_IND);
_(SS_STATUS_IND);
_(SS_COMMON_MESSAGE); _(SS_COMMON_MESSAGE);
} }
return "SS_<UNKNOWN>"; return "SS_<UNKNOWN>";
@ -79,6 +83,7 @@ const char *ss_subblock_name(enum ss_subblock value)
_(SS_GSM_INDICATE_PASSWORD_ERROR); _(SS_GSM_INDICATE_PASSWORD_ERROR);
_(SS_GSM_INDICATE_ERROR); _(SS_GSM_INDICATE_ERROR);
_(SS_GSM_ADDITIONAL_INFO); _(SS_GSM_ADDITIONAL_INFO);
_(SS_GSM_USSD_STRING);
} }
return "SS_<UNKNOWN>"; return "SS_<UNKNOWN>";
} }

View File

@ -24,16 +24,35 @@
#ifndef __ISIMODEM_SS_H #ifndef __ISIMODEM_SS_H
#define __ISIMODEM_SS_H #define __ISIMODEM_SS_H
#define PN_SS 0x06 #define PN_SS 0x06
#define SS_TIMEOUT 15 #define SS_TIMEOUT 15
#define SS_MAX_USSD_LENGTH 160
enum ss_message_id { enum ss_message_id {
SS_SERVICE_REQ = 0x00, SS_SERVICE_REQ = 0x00,
SS_SERVICE_COMPLETED_RESP = 0x01, SS_SERVICE_COMPLETED_RESP = 0x01,
SS_SERVICE_FAILED_RESP = 0x02, SS_SERVICE_FAILED_RESP = 0x02,
SS_GSM_USSD_SEND_REQ = 0x04,
SS_GSM_USSD_SEND_RESP = 0x05,
SS_GSM_USSD_RECEIVE_IND = 0x06,
SS_STATUS_IND = 0x09,
SS_COMMON_MESSAGE = 0xF0 SS_COMMON_MESSAGE = 0xF0
}; };
enum ss_ussd_type {
SS_GSM_USSD_MT_REPLY = 0x01,
SS_GSM_USSD_COMMAND = 0x02,
SS_GSM_USSD_REQUEST = 0x03,
SS_GSM_USSD_NOTIFY = 0x04,
SS_GSM_USSD_END = 0x05
};
enum ss_ussd_status {
SS_GSM_STATUS_REQUEST_USSD_START = 0x02,
SS_GSM_STATUS_REQUEST_USSD_STOP = 0x03,
SS_GSM_STATUS_REQUEST_USSD_FAILED = 0x04
};
enum ss_operations { enum ss_operations {
SS_ACTIVATION = 0x01, SS_ACTIVATION = 0x01,
SS_DEACTIVATION = 0x02, SS_DEACTIVATION = 0x02,
@ -92,7 +111,8 @@ enum ss_subblock {
SS_GSM_PASSWORD_INFO = 0x0B, SS_GSM_PASSWORD_INFO = 0x0B,
SS_GSM_INDICATE_PASSWORD_ERROR = 0x0D, SS_GSM_INDICATE_PASSWORD_ERROR = 0x0D,
SS_GSM_INDICATE_ERROR = 0x0E, SS_GSM_INDICATE_ERROR = 0x0E,
SS_GSM_ADDITIONAL_INFO = 0x2F SS_GSM_ADDITIONAL_INFO = 0x2F,
SS_GSM_USSD_STRING = 0x32
}; };
enum ss_isi_cause { enum ss_isi_cause {