aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--diameter/dictionary.xml58
-rw-r--r--epan/dissectors/packet-diameter-defs.h102
-rw-r--r--radius/dictionary.3gpp35
3 files changed, 134 insertions, 61 deletions
diff --git a/diameter/dictionary.xml b/diameter/dictionary.xml
index e109ad20b3..d6b2a05031 100644
--- a/diameter/dictionary.xml
+++ b/diameter/dictionary.xml
@@ -1102,6 +1102,7 @@
<enum name="DIAMETER_ERROR_START_INDICATION" code="5120"/>
<enum name="DIAMETER_ERROR_STOP_INDICATION" code="5121"/>
<enum name="DIAMETER_ERROR_UNKNOWN_MBMS_BEARER_SERVICE" code="5122"/>
+ <enum name="DIAMETER_ERROR_SERVICE_AREA" code="5123"/>
<enum name="DIAMETER_ERROR_INITIAL_PARAMETERS" code="5140"/>
<enum name="DIAMETER_ERROR_TRIGGER_EVENT" code="5141"/>
</avp>
@@ -1495,6 +1496,63 @@
<gavp name="Originator"/>
</grouped>
</avp>
+
+ <!-- 3GPP TS 29.061 version 6.5.0 Release 6 -->
+
+ <avp name="TMGI" code="900" mandatory="must">
+ <type type-name="OctetString"/>
+ </avp>
+
+ <avp name="Required-MBMSBearer-Capabilities" code="901" mandatory="must">
+ <type type-name="UTF8String"/>
+ </avp>
+
+ <avp name="MBMS-StartStop-Indication" code="902" mandatory="must">
+ <type type-name="Enumerated"/>
+ <enum name="START" code="0"/>
+ <enum name="STOP" code="1"/>
+ </avp>
+
+ <avp name="MBMS-Service-Area" code="903" mandatory="must">
+ <type type-name="OctetString"/>
+ </avp>
+
+ <avp name="MBMS-Session-Duration" code="904" mandatory="must">
+ <type type-name="Unsigned32"/>
+ </avp>
+
+ <avp name="Alternative-APN" code="905" mandatory="must">
+ <type type-name="UTF8String"/>
+ </avp>
+
+ <avp name="MBMS-Service-Type" code="906" mandatory="must">
+ <type type-name="Enumerated"/>
+ <enum name="MULTICAST" code="0"/>
+ <enum name="BROADCAST" code="1"/>
+ </avp>
+
+ <avp name="MBMS-2G-3G-Indicator AVP" code="907" mandatory="must">
+ <type type-name="Enumerated"/>
+ <enum name="2G" code="0"/>
+ <enum name="3G" code="1"/>
+ <enum name="2G-AND-3G" code="2"/>
+ </avp>
+
+ <avp name="RAI" code="909" mandatory="must">
+ <type type-name="UTF8String"/>
+ </avp>
+
+ <avp name="Additional-MBMS-Trace-Info" code="910" mandatory="must">
+ <type type-name="OctetString"/>
+ </avp>
+
+ <avp name="MBMS-Time-To-Data-Transfer" code="911" mandatory="must">
+ <type type-name="OctetString"/>
+ </avp>
+
+ <avp name="MBMS-Session-Identity-Repetition-Number " code="912" mandatory="must">
+ <type type-name="Unsigned32"/>
+ </avp>
</base>
diff --git a/epan/dissectors/packet-diameter-defs.h b/epan/dissectors/packet-diameter-defs.h
index c1a0e2e0a3..0a9d88a76b 100644
--- a/epan/dissectors/packet-diameter-defs.h
+++ b/epan/dissectors/packet-diameter-defs.h
@@ -552,7 +552,8 @@ static const value_string diameter_application_id_vals[] = {
{2, "Diameter Mobile IPv4 Application"},
{3, "Diameter Base Accounting"},
{4, "Diameter Credit-Control Application"}, /* draft-ietf-aaa-diameter-cc-06 */
- {5, "Diameter EAP"}, /* [RFC-ietf-aaa-eap-10.txt] */
+ {5, "Diameter EAP"}, /* [RFC-ietf-aaa-eap-10.txt] */
+ {6, "Diameter Session Initiation Protocol (SIP) Application"}, /* [RFC-ietf-aaa-diameter-sip-app-12.txt] */
{16777216, "3GPP Cx"}, /* 3GPP TS 29.228 and 29.229 */
{16777217, "3GPP Sh"}, /* 3GPP TS 29.328 and 29.329 */
{16777218, "3GPP Re/Rf"}, /* 3GPP TS 32.225 */
@@ -561,6 +562,17 @@ static const value_string diameter_application_id_vals[] = {
{16777221, "3GPP Zh"}, /* 3GPP TS 29.109 */
{16777222, "3GPP Gq"}, /* 3GPP TS 29.209 */
{16777223, "3GPP Gmb"}, /* 3GPP TS 29.061 */
+ {16777224, "3GPP Gx"}, /* 3GPP TS 29.210 */
+ {16777225, "3GPP Gx over Gy"}, /* 3GPP TS 29.210 */
+ {16777226, "3GPP MM10 "}, /* 3GPP TS 29.140 */
+ {16777227, "Ericsson MSI"}, /* Blanco */
+ {16777228, "Ericsson Zx"}, /* Blanco */
+ {16777229, "3GPP Rx"}, /* 3GPP TS 29.211 */
+ {16777230, "3GPP Pr"}, /* 3GPP TS 29.234 */
+ {16777231, "ETSI e4"}, /* ETSI ES 283 034 */
+ {16777232, "Ericsson Charging-CIP"}, /* Almen */
+ {16777233, "Ericsson Mm"}, /* Blanco */
+ {16777234, "Vodafone Gx+"}, /* Oertel */
{4294967295U, "Relay Application"},
{0, NULL}
@@ -568,7 +580,6 @@ static const value_string diameter_application_id_vals[] = {
/* Diameter Session Initiation Protocol (SIP) Application value strings */
-/* Remove comment when IANA assigned values are avalable
static const value_string SIP_reason_code_vals[] = {
{0, "PERMANENT_TERMINATION"},
@@ -579,8 +590,6 @@ static const value_string SIP_reason_code_vals[] = {
};
-Remove comment when IANA assigned values are avalable */
-
/* Used both in Diameter Session Initiation Protocol (SIP) Application and 3GPP Vendor
* Specific AVP:s TS 29 299 5.7.0 */
static const value_string SIP_server_assignment_type_vals[] ={
@@ -681,16 +690,14 @@ static const value_string diameter_result_code_vals[] = {
*/
{2001, "DIAMETER_SUCCESS"},
{2002, "DIAMETER_LIMITED_SUCCESS"},
- /* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA
- {2xx1, "DIAMETER_FIRST_REGISTRATION"},
- {2xx2, "DIAMETER_SUBSEQUENT_REGISTRATION "},
- {2xx3, "DIAMETER_UNREGISTERED_SERVICE "},
- {2xx4, "DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED "},
- {2xx5, "DIAMETER_SERVER_SELECTION"},
- {2xx6, "DIAMETER_SUCCESS_AUTH_SENT_SERVER_NOT_STORED"},
- {2xx7, "DIAMETER_SUCCESS_SERVER_NOT_STORED"},
+ /* RFC-ietf-aaa-diameter-sip-app-12.txt */
+ {2003, "DIAMETER_FIRST_REGISTRATION"},
+ {2004, "DIAMETER_SUBSEQUENT_REGISTRATION "},
+ {2005, "DIAMETER_UNREGISTERED_SERVICE "},
+ {2006, "DIAMETER_SUCCESS_SERVER_NAME_NOT_STORED "},
+ {2007, "DIAMETER_SERVER_SELECTION"},
+ {2008, "DIAMETER_SUCCESS_AUTH_SENT_SERVER_NOT_STORED"},
- */
/* Protocol errors */
{3001, "DIAMETER_COMMAND_UNSUPPORTED"},
@@ -716,10 +723,8 @@ static const value_string diameter_result_code_vals[] = {
{4010, "DIAMETER_END_USER_SERVICE_DENIED"},
{4011, "DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE"},
{4012, "DIAMETER_CREDIT_LIMIT_REACHED"},
- /* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA
-
- {4xx1, "DIAMETER_USER_NAME_REQUIRED"},
- */
+ /* draft-ietf-aaa-diameter-sip-app-12.txt */
+ {4013, "DIAMETER_USER_NAME_REQUIRED"},
/* Permanent Failures */
{5001, "DIAMETER_AVP_UNSUPPORTED"},
{5002, "DIAMETER_UNKNOWN_SESSION_ID"},
@@ -745,18 +750,17 @@ static const value_string diameter_result_code_vals[] = {
{5030, "DIAMETER_USER_UNKNOWN"},
{5031, "DIAMETER_RATING_FAILED"},
- /* draft-ietf-aaa-diameter-sip-app-01.txt numbers not yet allocated by IANA
-
- {5xx1, "DIAMETER_ERROR_USER_UNKNOWN"},
- {5xx2, "DIAMETER_ERROR_IDENTITIES_DONT_MATCH"},
- {5xx3, "DIAMETER_ERROR_IDENTITY_NOT_REGISTERED"},
- {5xx4, "DIAMETER_ERROR_ROAMING_NOT_ALLOWED"},
- {5xx5, "DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED"},
- {5xx6, "DIAMETER_ERROR_USER_UNKNOWN"},
- {5xx7, "DIAMETER_ERROR_IN_ASSIGNMENT_TYPE"},
- {5xx8, "DIAMETER_ERROR_TOO_MUCH_DATA"},
- {5xx9, "DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA"},
- */
+ /* draft-ietf-aaa-diameter-sip-app-12.txt */
+
+ {5032, "DIAMETER_ERROR_USER_UNKNOWN"},
+ {5033, "DIAMETER_ERROR_IDENTITIES_DONT_MATCH"},
+ {5034, "DIAMETER_ERROR_IDENTITY_NOT_REGISTERED"},
+ {5035, "DIAMETER_ERROR_ROAMING_NOT_ALLOWED"},
+ {5036, "DIAMETER_ERROR_IDENTITY_ALREADY_REGISTERED"},
+ {5037, "DIAMETER_ERROR_AUTH_SCHEME_NOT_SUPPORTED"},
+ {5038, "DIAMETER_ERROR_IN_ASSIGNMENT_TYPE"},
+ {5039, "DIAMETER_ERROR_TOO_MUCH_DATA"},
+ {5040, "DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA"},
{0, NULL}
};
/* TS 29.229 6.4.0 */
@@ -1029,10 +1033,10 @@ static struct old_avp_info old_diameter_avps[] = {
{ 487, "Accounting-Sub-Session-Id", DIAMETER_ENUMERATED, (value_string *)NULL},
-/* draft-ietf-aaa-diameter-sip-app-01.txt AVP codes to be allocated
- { xx01, "SIP-Visited-Network-Id", DIAMETER_UTF8STRING, (value_string *)NULL},
+/* draft-ietf-aaa-diameter-sip-app-12.txt
+ { 386, "SIP-Visited-Network-Id", DIAMETER_UTF8STRING, (value_string *)NULL},
{ xx02, "SIP-AOR", DIAMETER_UTF8STRING, (value_string *)NULL},
- { xx03, "SIP-Server-URI", DIAMETER_UTF8STRING, (value_string *)NULL},
+ { 371, "SIP-Server-URI", DIAMETER_UTF8STRING, (value_string *)NULL},
{ xx04, "SIP-Server-Capabilities", DIAMETER_GROUPED, (value_string *)NULL},
{ xx05, "SIP-Mandatory-Capability", DIAMETER_UNSIGNED32, (value_string *)NULL},
{ xx06, "SIP-Optional-Capability", DIAMETER_UNSIGNED32, (value_string *)NULL},
@@ -1049,7 +1053,7 @@ static struct old_avp_info old_diameter_avps[] = {
{ xx17, "SIP-Integrity-Key", DIAMETER_OCTET_STRING, (value_string *)NULL},
{ xx18, "SIP-Server-Assignment-Type", DIAMETER_ENUMERATED, SIP_server_assignment_type_vals},
{ xx19, "SIP-Deregistration-Reason", DIAMETER_GROUPED, (value_string *)NULL},
- { xx20, "SIP-Reason-Code", DIAMETER_ENUMERATED, SIP_reason_code_vals},
+ { 384, "SIP-Reason-Code", DIAMETER_ENUMERATED, SIP_reason_code_vals},
{ xx21, "SIP-Reason-Info", DIAMETER_UTF8STRING, (value_string *)NULL},
{ xx22, "SIP-Accouting-Information", DIAMETER_GROUPED, (value_string *)NULL},
{ xx23, "SIP-Accounting-Server-URI", DIAMETER_UTF8STRING, (value_string *)NULL},
@@ -1146,16 +1150,26 @@ static const value_string diameter_command_code_vals[] = {
/* Base Protocol */
{257, "Capabilities-Exchange"},
{258, "Re-Auth"},
- {260, "AA-Mobile-Node"}, /* [RFC-ietf-aaa-diameter-mobileip-20.txt] */
- {262, "Home-Agent-MIP"}, /* [RFC-ietf-aaa-diameter-mobileip-20.txt] */
- {265, "AAR / AAA"}, /* [RFC-ietf-aaa-diameter-nasreq-17.txt] */
- {265, "DER / DEA"}, /* [RFC-ietf-aaa-eap-10.txt] */
- {271, "Accounting"},
- {272, "Credit-Control"}, /* [RFC-ietf-aaa-diameter-cc-06.txt] */
- {274, "Abort-Session"},
+ {260, "AA-Mobile-Node"}, /* RFC4004 */
+ {262, "Home-Agent-MIP"}, /* RFC4004 */
+ {265, "AAR / AAA"}, /* RFC4005 */
+ {268, "DER / DEA"}, /* RFC4072 */
+ {271, "Accounting"}, /* RFC4005 */
+ {272, "Credit-Control"}, /* RFC4006 */
+ /* 273 Unallocated (IETF Consensus) */
+ {274, "Abort-Session"}, /* RFC3588 */
{275, "Session-Termination"},
+ /* 276-279 Unallocated (IETF Consensus) */
{280, "Device-Watchdog"},
{282, "Disconnect-Peer"}, /* [RFC3588] */
+ /* Session Initiation Protocol (SIP) Application */
+ {283, "User-Authorization"},
+ {284, "Server-Assignment"},
+ {285, "Location-Info"},
+ {286, "Multimedia-Auth"},
+ {287, "Registration-Termination"},
+ {288, "Push-Profile"},
+ /* 289-299 Unallocated (IETF Consensus) */
/* 300-313 Allocated for 3GPP (TS 29.229 6.40)*/
{300, "User-Authorization"},
{301, "Server-Assignment"},
@@ -1167,14 +1181,6 @@ static const value_string diameter_command_code_vals[] = {
{16777214, "Experimental code"},
{16777215, "Experimental code"},
- /* Session Initiation Protocol (SIP) Application, numbers not yet assigned by IANA
- {aaa, "User-Authorization"},
- {bbb, "Server-Assignment"},
- {ccc, "Location-Info"},
- {ddd, "Multimedia-Auth"},
- {eee, "Registration-Termination"},
- {fff, "Push-Profile"},
- */
{0, (char *)NULL}
};
diff --git a/radius/dictionary.3gpp b/radius/dictionary.3gpp
index c0d8f4e5e2..2dbf4d73b0 100644
--- a/radius/dictionary.3gpp
+++ b/radius/dictionary.3gpp
@@ -14,22 +14,31 @@ BEGIN-VENDOR 3GPP
# Maybe we want a UTF-8 'type' in the server...
#
ATTRIBUTE 3GPP-IMSI 1 string
-ATTRIBUTE 3GPP-Charging-ID 2 integer
+ATTRIBUTE 3GPP-Charging-ID 2 integer
ATTRIBUTE 3GPP-PDP-Type 3 integer
-ATTRIBUTE 3GPP-Charging-Gateway-Address 4 ipaddr
-ATTRIBUTE 3GPP-GPRS-Negotiated-QoS-profile 5 string
-ATTRIBUTE 3GPP-SGSN-Address 6 ipaddr
-ATTRIBUTE 3GPP-GGSN-Address 7 ipaddr
-ATTRIBUTE 3GPP-IMSI-MCC-MNC 8 string
-ATTRIBUTE 3GPP-GGSN-MCC-MNC 9 string
+ATTRIBUTE 3GPP-Charging-Gateway-Address 4 ipaddr
+ATTRIBUTE 3GPP-GPRS-Negotiated-QoS-profile 5 string
+ATTRIBUTE 3GPP-SGSN-Address 6 ipaddr
+ATTRIBUTE 3GPP-GGSN-Address 7 ipaddr
+ATTRIBUTE 3GPP-IMSI-MCC-MNC 8 string
+ATTRIBUTE 3GPP-GGSN-MCC-MNC 9 string
ATTRIBUTE 3GPP-NSAPI 10 string
-ATTRIBUTE 3GPP-Session-Stop-Indicator 11 octets
+ATTRIBUTE 3GPP-Session-Stop-Indicator 11 octets
ATTRIBUTE 3GPP-Selection-Mode 12 string
-ATTRIBUTE 3GPP-Charging-Characteristics 13 string
-ATTRIBUTE 3GPP-Charging-Gateway-IPv6-Address 14 ipv6addr
-ATTRIBUTE 3GPP-SGSN-IPv6-Address 15 ipv6addr
-ATTRIBUTE 3GPP-GGSN-IPv6-Address 16 ipv6addr
-
+ATTRIBUTE 3GPP-Charging-Characteristics 13 string
+ATTRIBUTE 3GPP-Charging-Gateway-IPv6-Address 14 ipv6addr
+ATTRIBUTE 3GPP-SGSN-IPv6-Address 15 ipv6addr
+ATTRIBUTE 3GPP-GGSN-IPv6-Address 16 ipv6addr
+ATTRIBUTE 3GPP-IPv6-DNS-Servers 17 ipv6addr
+ATTRIBUTE 3GPP-SGSN MCC-MNC 18 string
+ATTRIBUTE 3GPP-Teardown Indicator 19 octets
+ATTRIBUTE 3GGP- IMEISV 20 octets
+ATTRIBUTE 3GPP-RAT-Type 21 octets
+ATTRIBUTE 3GPP-User-Location-Info 22 octets
+ATTRIBUTE 3GPP-MS-TimeZone 23 octets
+ATTRIBUTE 3GPP-Camel-Charging-Info 24 octets
+ATTRIBUTE 3GPP-Packet-Filter 25 octets
+ATTRIBUTE 3GPP-Negotiated-DSCP 26 string
#
# This attribute is really an array of IPv6 addresses.