Rf - the offline charging reference point between the packet core elements (i.e., SGSN, GGSN, PGW, SGW, and MME) and the Charging Data Function (CDF). In addition to these, the packet switched domain online charging in SGSN is implemented using Customized Applications for Mobile Network Enhanced Logic (CAMEL) techniques and mechanisms [84, 85]. However, those are beyond the scope of this book. Packet core elements may also use IETF protocols for charging purposes, one example being AAA protocols over the (S)Gi interface (see Section 4.2.4 for further discussion). Generally, the charging aspects covered by this book are shallow, at best. The main charging interfaces share the same Charging Data Record (CDR) format [86], which has evolved across 3GPP releases. There are few particular charging data record elements of interest when it comes to user plane IPv6 service: PDP Type and PPD/PDN Type include e.g. IPv4, IPv6 or IPv4v6. Served PDP Address and Served PDP/PDN Address include the IPv4 or /128 IPv6 address. Served PDP/PDN Address Extension contains the IPv4 address in case of the PDN Type IPv4v6, i.e. when dual-stack is used. In this case the IPv6 address is included in the Served PDP Address. Served PDP/PDN Address Prefix Length contains the IPv6 address prefix length. If this element is absent, /64 prefix length is assumed. The support for IPv6 has been in CDRs from the beginning. The dual-stack support was introduced in parallel when it appeared in the rest of the 3GPP architecture. There are certain - typically product implementation level - details to take into account. The charging interfaces (and therefore also the CDR format) do not necessarily follow the rest of the network element release cycle. There can be situations where, for example, the SGSN/GGSN support dual-stack contexts but the charging does not, or even more mixed cases where, for instance, a combined PGW would support dual-stack charging information for EPS but not for GPRS. These combinations must be verified against each vendor's product.