summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAki Niemi <aki.niemi@nokia.com>2010-02-09 11:16:22 +0200
committerAki Niemi <aki.niemi@nokia.com>2010-02-09 22:50:38 +0200
commit7001e7b163734c6e3f3d9228bcd075402442dbd3 (patch)
treebfd3841bd0c1e963776572f3b525dbd3eabd993b
parent8730339f40285b05faa6979b267fd5a74be43fcc (diff)
downloadofono-7001e7b163734c6e3f3d9228bcd075402442dbd3.tar.bz2
Add USSD codepoints and debugging
-rw-r--r--drivers/isimodem/debug.c5
-rw-r--r--drivers/isimodem/ss.h26
2 files changed, 28 insertions, 3 deletions
diff --git a/drivers/isimodem/debug.c b/drivers/isimodem/debug.c
index abdc8a0d..0feea829 100644
--- a/drivers/isimodem/debug.c
+++ b/drivers/isimodem/debug.c
@@ -60,6 +60,10 @@ const char *ss_message_id_name(enum ss_message_id value)
_(SS_SERVICE_REQ);
_(SS_SERVICE_COMPLETED_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);
}
return "SS_<UNKNOWN>";
@@ -79,6 +83,7 @@ const char *ss_subblock_name(enum ss_subblock value)
_(SS_GSM_INDICATE_PASSWORD_ERROR);
_(SS_GSM_INDICATE_ERROR);
_(SS_GSM_ADDITIONAL_INFO);
+ _(SS_GSM_USSD_STRING);
}
return "SS_<UNKNOWN>";
}
diff --git a/drivers/isimodem/ss.h b/drivers/isimodem/ss.h
index 5118125b..7c20bcce 100644
--- a/drivers/isimodem/ss.h
+++ b/drivers/isimodem/ss.h
@@ -24,16 +24,35 @@
#ifndef __ISIMODEM_SS_H
#define __ISIMODEM_SS_H
-#define PN_SS 0x06
-#define SS_TIMEOUT 15
+#define PN_SS 0x06
+#define SS_TIMEOUT 15
+#define SS_MAX_USSD_LENGTH 160
enum ss_message_id {
SS_SERVICE_REQ = 0x00,
SS_SERVICE_COMPLETED_RESP = 0x01,
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
};
+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 {
SS_ACTIVATION = 0x01,
SS_DEACTIVATION = 0x02,
@@ -92,7 +111,8 @@ enum ss_subblock {
SS_GSM_PASSWORD_INFO = 0x0B,
SS_GSM_INDICATE_PASSWORD_ERROR = 0x0D,
SS_GSM_INDICATE_ERROR = 0x0E,
- SS_GSM_ADDITIONAL_INFO = 0x2F
+ SS_GSM_ADDITIONAL_INFO = 0x2F,
+ SS_GSM_USSD_STRING = 0x32
};
enum ss_isi_cause {