Navigation


Changeset 832:405a4aa9e231 in freeDiameter


Ignore:
Timestamp:
Sep 28, 2012, 3:56:47 AM (12 years ago)
Author:
Sebastien Decugis <sdecugis@freediameter.net>
Branch:
default
Phase:
public
Message:

Compare to ETSI TS 129 061 v10.6.0 (2012-07);
fix some, add some, remove some duplicates.
-- Thomas Klausner <tk@giga.or.at>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • contrib/dict_dcca/dict_dcca_3gpp.c

    r831 r832  
    266266                }
    267267
     268                /* 3GPP-IMSI */
     269                {
     270                  /*
     271                    IMSI encoded in UTF-8 per 3GPP TS 23.003. No
     272                    padding. Maximum length of data: 15.
     273                  */
     274                  struct dict_avp_data data = {
     275                    1,                                    /* Code */
     276                    10415,                                      /* Vendor */
     277                    "3GPP-IMSI",                            /* Name */
     278                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
     279                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
     280                    AVP_TYPE_OCTETSTRING                      /* base type of data */
     281                  };
     282                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
     283                }
     284
    268285                /* 3GPP-Charging-Id */
    269286                {
     
    295312                    PDP context, for example, IP or PPP. Present in
    296313                    the initial CCR only.
     314                    0 = IPv4
     315                    1 = PPP
     316                    2 = IPv6
     317                    3 = IPv4v6
    297318                  */
    298319                  struct dict_avp_data    data = {
     
    302323                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
    303324                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
    304                     AVP_TYPE_INTEGER32                      /* base type of data */
     325                    AVP_TYPE_UNSIGNED32                      /* base type of data */
    305326                  };
    306327                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
     
    324345                    AVP_TYPE_OCTETSTRING                     /* base type of data */
    325346                  };
    326                   CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
    327                 }
    328 
    329                 /* 3GPP-GPRS-Neg-QoS-Profile */
     347                  CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
     348                }
     349
     350                /* 3GPP-GPRS-Negotiated-QoS-Profile */
    330351                {
    331352                  /*
     
    335356                     the CCR has been triggered by a PDP context
    336357                     update affecting the negotiated QoS
     358                     Each octet is described by two UTF-8-encoded
     359                     characters denoting the hexadecimal
     360                     representation.
    337361                  */
    338362                  struct dict_avp_data data = {
    339363                    5,                                    /* Code */
    340364                    10415,                                      /* Vendor */
    341                     "3GPP-GPRS-Neg-QoS-Profile",                    /* Name */
    342                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
    343                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
    344                     AVP_TYPE_OCTETSTRING                      /* base type of data */
    345                   };
    346                   CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
    347                 }
    348 
    349                 /* 3GPP-SGSN-IP-Address */
     365                    "3GPP-GPRS-Negotiated-QoS-Profile",                    /* Name */
     366                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
     367                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
     368                    AVP_TYPE_OCTETSTRING                      /* base type of data */
     369                  };
     370                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
     371                }
     372
     373                /* 3GPP-SGSN-Address */
    350374                {
    351375                  /*
     
    359383                    6,                                    /* Code */
    360384                    10415,                                      /* Vendor */
    361                     "3GPP-SGSN-IP-Address",                      /* Name */
     385                    "3GPP-SGSN-Address",                      /* Name */
    362386                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
    363387                    AVP_FLAG_VENDOR,                     /* Fixed flag values */
    364388                    AVP_TYPE_OCTETSTRING                     /* base type of data */
    365389                  };
    366                   CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
     390                  CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
    367391                }               
    368392
    369                 /* 3GPP-GGSN-IP-Address */
     393                /* 3GPP-GGSN-Address */
    370394                {
    371395                  /*
     
    379403                    7,                                    /* Code */
    380404                    10415,                                      /* Vendor */
    381                     "3GPP-GGSN-IP-Address",                      /* Name */
     405                    "3GPP-GGSN-Address",                      /* Name */
    382406                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
    383407                    AVP_FLAG_VENDOR,                     /* Fixed flag values */
    384408                    AVP_TYPE_OCTETSTRING                     /* base type of data */
    385409                  };
    386                   CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
     410                  CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
    387411                }
    388412
     
    448472                }
    449473
     474                /* 3GPP-Session-Stop-Indicator */
     475                {
     476                  /*
     477                    OctetString. (3GPP TS 29.061 Rel4). The
     478                    presence of this AVP indicates that the last
     479                    context of the PDP session has been deleted. May
     480                    be present in the termination CCR only. Contains
     481                    one octet that has a value of 0xff.
     482                  */
     483                  struct dict_avp_data data = {
     484                    11,                                    /* Code */
     485                    10415,                                      /* Vendor */
     486                    "3GPP-Session-Stop-Indicator",                      /* Name */
     487                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
     488                    AVP_FLAG_VENDOR,                     /* Fixed flag values */
     489                    AVP_TYPE_OCTETSTRING                     /* base type of data */
     490                  };
     491                  CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
     492                }
     493
    450494                /* 3GPP-Selection-Mode */
    451495                {
     
    488532                }
    489533
     534                /* 3GPP-CG-IPv6-Address */
     535                {
     536                  /*
     537                    UTF8String.. (3GPP TS 29.061 Rel? (<=10) ). The
     538                    IPv6 address of the charging gateway.
     539                  */
     540                  struct dict_avp_data data = {
     541                    14,                                    /* Code */
     542                    10415,                                      /* Vendor */
     543                    "3GPP-CG-IPv6-Address",                    /* Name */
     544                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
     545                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
     546                    AVP_TYPE_OCTETSTRING                      /* base type of data */
     547                  };
     548                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
     549                }
     550
     551                /* 3GPP-SGSN-IPv6-Address */
     552                {
     553                  /*
     554                    UTF8String.. (3GPP TS 29.061 Rel? (<=10) ). The
     555                    IPv6 address of the SGSN.
     556                  */
     557                  struct dict_avp_data data = {
     558                    15,                                    /* Code */
     559                    10415,                                      /* Vendor */
     560                    "3GPP-SGSN-IPv6-Address",                    /* Name */
     561                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
     562                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
     563                    AVP_TYPE_OCTETSTRING                      /* base type of data */
     564                  };
     565                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
     566                }
     567
     568                /* 3GPP-GGSN-IPv6-Address */
     569                {
     570                  /*
     571                    UTF8String.. (3GPP TS 29.061 Rel? (<=10) ). The
     572                    IPv6 address of the GGSN.
     573                  */
     574                  struct dict_avp_data data = {
     575                    16,                                    /* Code */
     576                    10415,                                      /* Vendor */
     577                    "3GPP-CG-IPv6-Address",                    /* Name */
     578                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
     579                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
     580                    AVP_TYPE_OCTETSTRING                      /* base type of data */
     581                  };
     582                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
     583                }
     584
     585                /* 3GPP-GGSN-IPv6-DNS-Servers */
     586                {
     587                  /*
     588                    UTF8String.. (3GPP TS 29.061 Rel? (<=10) ). List
     589                    of IPv6 addresses of DNS servers for an APN in
     590                    order of preference (max. 15 servers, 16 bytes
     591                    each).
     592                  */
     593                  struct dict_avp_data data = {
     594                    17,                                    /* Code */
     595                    10415,                                      /* Vendor */
     596                    "3GPP-CG-IPv6-Address",                    /* Name */
     597                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
     598                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
     599                    AVP_TYPE_OCTETSTRING                      /* base type of data */
     600                  };
     601                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
     602                }
     603
    490604                /* 3GPP-SGSN-MCC-MNC */
    491605                {
     
    505619                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
    506620                    AVP_TYPE_OCTETSTRING                      /* base type of data */
     621                  };
     622                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
     623                }
     624
     625                /* Missing: 3GPP-Teardown-Indicator (19) */
     626
     627                /* 3GPP-IMEISV */
     628                {
     629                  /*
     630                    IMEI(SV) encoded as sequence of UTF8 characters.
     631                  */
     632                  struct dict_avp_data data = {
     633                    20,                                    /* Code */
     634                    10415,                                      /* Vendor */
     635                    "3GPP-IMEISV",                      /* Name */
     636                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
     637                    AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
     638                    AVP_TYPE_OCTETSTRING                     /* base type of data */
    507639                  };
    508640                  CHECK_dict_new( DICT_AVP, &data , UTF8String_type, NULL);
     
    572704                }
    573705
    574                 /* 3GPP-GGSN-Address */
    575                 {
    576                   /*
    577                     Address. (3GPP TS 32.299 Rel7 ). Usually the IP
    578                     address of Flexi ISN. The only exception is when
    579                     the Flexi ISN acts as a NAS server and the
    580                     charging ID selection is set to NAS Client; then the
    581                     GGSN IP address will be the NAIP address. Present in the initial CCR only.S client
    582                   */
    583                   struct dict_avp_data data = {
    584                     847,                                    /* Code */
    585                     10415,                                      /* Vendor */
    586                     "3GPP-GGSN-Address",                      /* Name */
    587                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
    588                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
    589                     AVP_TYPE_OCTETSTRING                    /* base type of data */
    590                   };
    591                   CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
    592                 }
    593 
    594                 /* 3GPP-SGSN-Address */
    595                 {
    596                   /*
    597                      Address. (3GPP TS 32.299 Rel7 ). The IP address
    598                      of the SGSN Gn interface. In update and termina-
    599                      tion requests, this AVP is present only when the
    600                      CCR has been triggered by a routing area update.
    601                   */
    602                   struct dict_avp_data data = {
    603                     1228,                                    /* Code */
    604                     10415,                                      /* Vendor */
    605                     "3GPP-SGSN-Address",                      /* Name */
    606                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
    607                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
    608                     AVP_TYPE_OCTETSTRING                    /* base type of data */
    609                   };
    610                   CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
    611                 }
    612 
    613                 /* CG-Address */
    614                 {
    615                   /*
    616                     Address. (3GPP 32.299 Rel7). The address of the
    617                     charging gateway that has been marked as the
    618                     default charging gateway for the PDP context.
    619                     Present in the initial CCR only.
    620                   */
    621                   struct dict_avp_data data = {
    622                     846,                                    /* Code */
    623                     10415,                                      /* Vendor */
    624                     "CG-Address",                      /* Name */
    625                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
    626                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,                     /* Fixed flag values */
    627                     AVP_TYPE_OCTETSTRING                    /* base type of data */
    628                   };
    629                   CHECK_dict_new( DICT_AVP, &data , Address_type, NULL);
    630                 }
     706                /* Missing: 3GPP-CAMEL-Charging-Info (24) */
     707                /* Missing: 3GPP-Packet-Filter (25) */
     708                /* Missing: 3GPP-Negotiated-DSCP (26) */
     709                /* Missing: 3GPP-Allocate-IP-Type (27) */
    631710
    632711                /* PDP-Context-Type */
     
    737816                }
    738817
    739                 /* Session-Stop-Indicator */
    740                 {
    741                   /*
    742                     OctetString. (3GPP TS 29.061 Rel4). The
    743                     presence of this AVP indicates that the last
    744                     context of the PDP session has been deleted. May
    745                     be present in the termination CCR only. Contains
    746                     one octet that has a value of 0xff.
    747                   */
    748                   struct dict_avp_data data = {
    749                     11,                                    /* Code */
    750                     10415,                                      /* Vendor */
    751                     "Session-Stop-Indicator",                      /* Name */
    752                     AVP_FLAG_VENDOR | AVP_FLAG_MANDATORY,   /* Fixed flags */
    753                     AVP_FLAG_VENDOR,                     /* Fixed flag values */
    754                     AVP_TYPE_OCTETSTRING                     /* base type of data */
    755                   };
    756                   CHECK_dict_new( DICT_AVP, &data , NULL, NULL);
    757                 }
    758                
    759818                /* QoS-Information */
    760819                {
Note: See TracChangeset for help on using the changeset viewer.