Index: contrib/dict_dcca/dict_dcca_3gpp.c
===================================================================
--- contrib/dict_dcca/dict_dcca_3gpp.c	(revision 800)
+++ contrib/dict_dcca/dict_dcca_3gpp.c	(revision 831)
@@ -266,65 +266,4 @@
                 }
 
-                /* 3GPP-IMSI-MCC-MNC */
-                {
-                  /*
-                    UTF8String. MCC and MNC extracted from the 
-                    user's IMSI (first 5 or 6 digits, as applicable from 
-                    the presented IMSI). The MCC-MNCs are 
-                    extracted from the tables configured in FlexiISN 
-                    configuration under the General and Roaming 
-                    configurations.
-                  */
-                  struct dict_avp_data data = { 
-                    8,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-IMSI-MCC-MNC",                    /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                      /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-                }
-
-                /* 3GPP-GGSN-Address */
-                {
-                  /*
-                    Address. (3GPP TS 32.299 Rel7 ). Usually the IP 
-                    address of Flexi ISN. The only exception is when 
-                    the Flexi ISN acts as a NAS server and the 
-                    charging ID selection is set to NAS Client; then the 
-                    GGSN IP address will be the NAIP address. Present in the initial CCR only.S client
-                  */
-
-                  struct dict_avp_data data = { 
-                    847,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-GGSN-Address",                      /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                    /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
-                }
-
-                /* 3GPP-SGSN-Address */
-                {
-                  /* 
-                     Address. (3GPP TS 32.299 Rel7 ). The IP address 
-                     of the SGSN Gn interface. In update and termina-
-                     tion requests, this AVP is present only when the 
-                     CCR has been triggered by a routing area update.
-                  */
-                  struct dict_avp_data data = { 
-                    1228,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-SGSN-Address",                      /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                    /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
-                }
-
                 /* 3GPP-Charging-Id */
                 {
@@ -350,4 +289,42 @@
                 }
 
+                /* 3GPP-PDP-Type */
+                {
+                  /*
+                    Enumerated. (3GPP TS 29.061 Rel7 ). Type of 
+                    PDP context, for example, IP or PPP. Present in 
+                    the initial CCR only.
+                  */
+                  struct dict_avp_data    data = { 
+                    3,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-PDP-Type",                    /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
+                    AVP_TYPE_INTEGER32                      /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
+                }
+
+                /* 3GPP-CG-Address */
+                {
+                  /*
+                    OctetString. (3GPP TS 29.061 Rel4). The address 
+                    of the charging gateway that has been marked as 
+                    the default charging gateway for the PDP context. 
+                    The address is expressed as a four-byte integer. 
+                    Present in the initial CCR only.
+                  */
+                  struct dict_avp_data data = { 
+                    4,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-CG-Address",                      /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                     /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
+                }
+
                 /* 3GPP-GPRS-Neg-QoS-Profile */
                 {
@@ -363,4 +340,124 @@
                     10415,                                      /* Vendor */
                     "3GPP-GPRS-Neg-QoS-Profile",                    /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                      /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
+                }
+
+                /* 3GPP-SGSN-IP-Address */
+                {
+                  /*
+                    OctetString. (3GPP TS 29.061 Rel4). The address 
+                    of the charging gateway that has been marked as 
+                    the default charging gateway for the PDP context. 
+                    The address is expressed as a four-byte integer. 
+                    Present in the initial CCR only.
+                  */
+                  struct dict_avp_data data = { 
+                    6,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-SGSN-IP-Address",                      /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                     /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
+                }               
+
+                /* 3GPP-GGSN-IP-Address */
+                {
+                  /*
+                    OctetString. (3GPP TS 29.061 Rel4). Usually the 
+                    IP address of Flexi ISN. The only exception is 
+                    when the Flexi ISN acts as a NAS server and the 
+                    charging ID selection is set to NAS Client; then the 
+                    GGSN IP address will be the NAIP address. Present in the initial CCR only.S client
+                  */
+                  struct dict_avp_data data = { 
+                    7,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-GGSN-IP-Address",                      /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                     /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
+                }
+
+                /* 3GPP-IMSI-MCC-MNC */
+                {
+                  /*
+                    UTF8String. MCC and MNC extracted from the 
+                    user's IMSI (first 5 or 6 digits, as applicable from 
+                    the presented IMSI). The MCC-MNCs are 
+                    extracted from the tables configured in FlexiISN 
+                    configuration under the General and Roaming 
+                    configurations.
+                  */
+                  struct dict_avp_data data = { 
+                    8,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-IMSI-MCC-MNC",                    /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                      /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
+                }
+
+                /* 3GPP-GGSN-MCC-MNC */
+                {
+                  /* 
+                     UTF8String. (3GPP TS 29.061 Rel7 ). Contains 
+                     the mobile country and network code of the PLMN 
+                     that the Flexi ISN belongs to. Present in the initial 
+                     CCR only. The first entry in the list of local PLMNs 
+                     in the Flexi ISN configuration determines the value 
+                     of this AVP.
+                  */
+                  struct dict_avp_data data = { 
+                    9,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-GGSN-MCC-MNC",                    /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                      /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
+                }
+
+                /* 3GPP-NSAPI */
+                {
+                  /* 
+                     UTF8String. (3GPP TS 29.061 Rel7 ). Indicates 
+                     the NSAPI of the PDP context. Contains one octet 
+                     consisting of a single digit. Present in the initial 
+                     CCR only.
+                  */
+                  struct dict_avp_data data = { 
+                    10,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-NSAPI",                    /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                      /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
+                }
+
+                /* 3GPP-Selection-Mode */
+                {
+                  /*
+                    UTF8String. (3GPP TS 29.061 Rel7 ). Consists of 
+                    one octet containing the selection mode as 
+                    received from SGSN in the Create PDP Context 
+                    Request. Present in the initial CCR only.
+                  */
+                  struct dict_avp_data data = { 
+                    12,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-Selection-Mode",                    /* Name */
                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
@@ -391,22 +488,4 @@
                 }
 
-                /* 3GPP-PDP-Type */
-                {
-                  /*
-                    Enumerated. (3GPP TS 29.061 Rel7 ). Type of 
-                    PDP context, for example, IP or PPP. Present in 
-                    the initial CCR only.
-                  */
-                  struct dict_avp_data    data = { 
-                    3,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-PDP-Type",                    /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
-                    AVP_TYPE_INTEGER32                      /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-                }
-
                 /* 3GPP-SGSN-MCC-MNC */
                 {
@@ -428,83 +507,4 @@
                   };
                   CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-                }
-
-                /* CG-Address */
-                {
-                  /*
-                    Address. (3GPP 32.299 Rel7). The address of the 
-                    charging gateway that has been marked as the 
-                    default charging gateway for the PDP context. 
-                    Present in the initial CCR only.
-                  */
-                  struct dict_avp_data data = { 
-                    846,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "CG-Address",                      /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                    /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
-                }
-
-                /* 3GPP-GGSN-MCC-MNC */
-                {
-                  /* 
-                     UTF8String. (3GPP TS 29.061 Rel7 ). Contains 
-                     the mobile country and network code of the PLMN 
-                     that the Flexi ISN belongs to. Present in the initial 
-                     CCR only. The first entry in the list of local PLMNs 
-                     in the Flexi ISN configuration determines the value 
-                     of this AVP.
-                  */
-                  struct dict_avp_data data = { 
-                    9,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-GGSN-MCC-MNC",                    /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                      /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-                }
-
-                /* 3GPP-NSAPI */
-                {
-                  /* 
-                     UTF8String. (3GPP TS 29.061 Rel7 ). Indicates 
-                     the NSAPI of the PDP context. Contains one octet 
-                     consisting of a single digit. Present in the initial 
-                     CCR only.
-                  */
-                  struct dict_avp_data data = { 
-                    10,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-NSAPI",                    /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                      /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-                }
-
-                /* 3GPP-Selection-Mode */
-                {
-                  /*
-                    UTF8String. (3GPP TS 29.061 Rel7 ). Consists of 
-                    one octet containing the selection mode as 
-                    received from SGSN in the Create PDP Context 
-                    Request. Present in the initial CCR only.
-                  */
-                  struct dict_avp_data data = { 
-                    12,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-Selection-Mode",                    /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                      /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
-
                 }
 
@@ -572,4 +572,62 @@
                 }
 
+                /* 3GPP-GGSN-Address */
+                {
+                  /*
+                    Address. (3GPP TS 32.299 Rel7 ). Usually the IP 
+                    address of Flexi ISN. The only exception is when 
+                    the Flexi ISN acts as a NAS server and the 
+                    charging ID selection is set to NAS Client; then the 
+                    GGSN IP address will be the NAIP address. Present in the initial CCR only.S client
+                  */
+                  struct dict_avp_data data = { 
+                    847,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-GGSN-Address",                      /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                    /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
+                }
+
+                /* 3GPP-SGSN-Address */
+                {
+                  /* 
+                     Address. (3GPP TS 32.299 Rel7 ). The IP address 
+                     of the SGSN Gn interface. In update and termina-
+                     tion requests, this AVP is present only when the 
+                     CCR has been triggered by a routing area update.
+                  */
+                  struct dict_avp_data data = { 
+                    1228,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "3GPP-SGSN-Address",                      /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                    /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
+                }
+
+                /* CG-Address */
+                {
+                  /*
+                    Address. (3GPP 32.299 Rel7). The address of the 
+                    charging gateway that has been marked as the 
+                    default charging gateway for the PDP context. 
+                    Present in the initial CCR only.
+                  */
+                  struct dict_avp_data data = { 
+                    846,                                    /* Code */
+                    10415,                                      /* Vendor */
+                    "CG-Address",                      /* Name */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
+                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
+                    AVP_TYPE_OCTETSTRING                    /* base type of data */
+                  };
+                  CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
+                }
+
                 /* PDP-Context-Type */
                 {
@@ -678,64 +736,4 @@
                   CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
                 }
-
-                /* 3GPP-GGSN-IP-Address */
-                {
-                  /*
-                    OctetString. (3GPP TS 29.061 Rel4). Usually the 
-                    IP address of Flexi ISN. The only exception is 
-                    when the Flexi ISN acts as a NAS server and the 
-                    charging ID selection is set to NAS Client; then the 
-                    GGSN IP address will be the NAIP address. Present in the initial CCR only.S client
-                  */
-                  struct dict_avp_data data = { 
-                    7,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-GGSN-IP-Address",                      /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                     /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-                }
-
-                /* 3GPP-CG-Address */
-                {
-                  /*
-                    OctetString. (3GPP TS 29.061 Rel4). The address 
-                    of the charging gateway that has been marked as 
-                    the default charging gateway for the PDP context. 
-                    The address is expressed as a four-byte integer. 
-                    Present in the initial CCR only.
-                  */
-                  struct dict_avp_data data = { 
-                    4,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-CG-Address",                      /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                     /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-                }
-
-                /* 3GPP-SGSN-IP-Address */
-                {
-                  /*
-                    OctetString. (3GPP TS 29.061 Rel4). The address 
-                    of the charging gateway that has been marked as 
-                    the default charging gateway for the PDP context. 
-                    The address is expressed as a four-byte integer. 
-                    Present in the initial CCR only.
-                  */
-                  struct dict_avp_data data = { 
-                    6,                                    /* Code */
-                    10415,                                      /* Vendor */
-                    "3GPP-SGSN-IP-Address",                      /* Name */
-                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
-                    AVP_FLAG_VENDOR,                     /* Fixed flag values */
-                    AVP_TYPE_OCTETSTRING                     /* base type of data */
-                  };
-                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
-                }               
 
                 /* Session-Stop-Indicator */
