aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlivier Biot <obiot.ethereal@gmail.com>2004-12-21 21:17:44 +0000
committerOlivier Biot <obiot.ethereal@gmail.com>2004-12-21 21:17:44 +0000
commit7661effba512a2bb2b4cf08032c472f88abd2597 (patch)
tree8d7db67d0690ce8b9764643c7a89f9bf2359cdd1
parentc415e09f200e63d23bd47d05f127af182a610675 (diff)
From Victor Stratan: GSM SMS fixes:
- Corrected incorrect Timezone output due to byte overflow. - Added descriptions for address string decoding. svn path=/trunk/; revision=12806
-rw-r--r--epan/dissectors/packet-gsm_sms.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/epan/dissectors/packet-gsm_sms.c b/epan/dissectors/packet-gsm_sms.c
index cc6a380e59..88e040c9ab 100644
--- a/epan/dissectors/packet-gsm_sms.c
+++ b/epan/dissectors/packet-gsm_sms.c
@@ -289,6 +289,10 @@ dis_field_addr(tvbuff_t *tvb, proto_tree *tree, guint32 *offset_p, gchar *title)
case 0x00: str = "Unknown"; break;
case 0x01: str = "International"; break;
case 0x02: str = "National"; break;
+ case 0x03: str = "Network specific"; break;
+ case 0x04: str = "Subscriber"; break;
+ case 0x05: str = "Alphanumeric (coded according to 3GPP TS 23.038 GSM 7-bit default alphabet)"; break;
+ case 0x06: str = "Abbreviated number"; break;
case 0x07: str = "Reserved for extension"; break;
default: str = "Unknown, reserved (?)"; break;
}
@@ -304,7 +308,14 @@ dis_field_addr(tvbuff_t *tvb, proto_tree *tree, guint32 *offset_p, gchar *title)
switch (oct & 0x0f)
{
case 0x00: str = "Unknown"; break;
- case 0x01: str = "ISDN/telephone"; break;
+ case 0x01: str = "ISDN/telephone (E.164/E.163)"; break;
+ case 0x03: str = "Data numbering plan (X.121)"; break;
+ case 0x04: str = "Telex numbering plan"; break;
+ case 0x05: str = "Service Centre Specific plan"; break;
+ case 0x06: str = "Service Centre Specific plan"; break;
+ case 0x08: str = "National numbering plan"; break;
+ case 0x09: str = "Private numbering plan"; break;
+ case 0x0a: str = "ERMES numbering plan (ETSI DE/PS 3 01-3)"; break;
case 0x0f: str = "Reserved for extension"; break;
default: str = "Unknown, reserved (?)"; break;
}
@@ -768,12 +779,12 @@ dis_field_scts_aux(tvbuff_t *tvb, proto_tree *tree, guint32 offset)
oct = tvb_get_guint8(tvb, offset);
sign = (oct & 0x08)?'-':'+';
- oct = ((oct >> 4) + (oct & 0x07) * 10) * 15;
+ oct = (oct >> 4) + (oct & 0x07) * 10;
proto_tree_add_text(tree,
tvb, offset, 1,
"Timezone: GMT %c %d hours %d minutes",
- sign, oct / 60, oct % 60);
+ sign, oct / 4, oct % 4 * 15);
}
/* 9.2.3.11 */