ies = []
ies.append({ "ie_type" : "Cause", "ie_value" : "Cause", "presence" : "M", "instance" : "0", "comment" : "See NOTE 2 and NOTE 4."})
ies.append({ "ie_type" : "Change Reporting Action", "ie_value" : "Change Reporting Action ", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S4/S11 interfaces with the appropriate Action field if the location Change Reporting mechanism is to be started or stopped for this subscriber in the SGSN/MME."})
ies.append({ "ie_type" : "CSG Information Reporting Action", "ie_value" : "CSG Information Reporting Action", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S4/S11 interfaces with the appropriate Action field if the CSG Info reporting mechanism is to be started or stopped for this subscriber in the SGSN/MME."})
ies.append({ "ie_type" : "eNB Information Reporting", "ie_value" : "HNB Information Reporting", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S4/S11 interfaces with the appropriate Action field if H(e)NB information reporting is to be started or stopped (during a TAU/RAU with SGW change if started earlier)  for the PDN connection in the SGSN/MME."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "Sender F-TEID for Control Plane", "presence" : "C", "instance" : "0", "comment" : "This IE shall be sent on the S11/S4 interfaces. For the S5/S8/ S2a/S2b interfaces it is not needed because its content would be identical to the IE PGW S5/S8/ S2a/S2b F-TEID for PMIP based interface or for GTP based Control Plane interface."})
ies.append({ "ie_type" : "F-TEID", "ie_value" : "PGW S5/S8/ S2a/S2b F-TEID for PMIP based interface or for GTP based Control Plane interface", "presence" : "C", "instance" : "1", "comment" : "The PGW shall include this IE on the S5/S8 interfaces during the Initial Attach, a Handover from Trusted or Untrusted Non-3GPP IP Access to E-UTRAN, UE requested PDN connectivity, PDP Context Activation and a Handover from Trusted or Untrusted Non-3GPP IP Access to UTRAN/GERAN procedures.If the SGW receives this IE it shall forward the IE to MME/S4-SGSN on the S11/S4 interface.This IE shall include the TEID for GTP based S5/S8 case and the uplink GRE key in the PMIP based S5/S8 case.For PMIP based S5/S8, this IE shall be included on the S11/S4 interface and shall contain the PGW S5/S8 IP address for control plane; the same IP address shall be used for both control plane and the user plane communication if the Bearer Context IE does not contain a S5/S8-U PGW F-TEID IE. See NOTE 7.The PGW shall include this IE on the S2b interface during the Attach with GTP on S2b, UE initiated Connectivity to Additional PDN with GTP on S2b, Handover to Untrusted Non-3GPP IP Access with GTP on S2b procedures and Initial Attach for emergency session (GTP on S2b).The PGW shall include this IE on the S2a interface during the Initial Attach in WLAN on GTP S2a, an Initial Attach in WLAN for Emergency Service on GTP S2a, UE initiated Connectivity to Additional PDN with GTP on S2a and Handover to TWAN with GTP on S2a proceduresSee NOTE 6."})
ies.append({ "ie_type" : "PAA", "ie_value" : "PDN Address Allocation", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included on the S5/S8, S4/S11 and S2a/S2b interfaces for the E-UTRAN initial attach, a Handover from Trusted or Untrusted Non-3GPP IP Access to E-UTRAN, PDP Context Activation, a Handover from Trusted or Untrusted Non-3GPP IP Access to UTRAN/GERAN, UE requested PDN connectivity, Attach with GTP on S2b, UE initiated Connectivity to Additional PDN with GTP on S2b, Handover to Untrusted Non-3GPP IP Access with GTP on S2b, Initial Attach for emergency session (GTP on S2b), Initial Attach in WLAN on GTP S2a, Initial Attach in WLAN for Emergency Service on GTP S2a, UE initiated Connectivity to Additional PDN with GTP on S2a and Handover to TWAN with GTP on S2a.The PDN type field in the PAA shall be set to IPv4, or IPv6 or IPv4v6, Non-IP or Ethernet by the PGW. See NOTE4. For the S4/S11 and S5/S8 interfaces, if the PGW uses DHCPv4 for IPv4 address allocation, the IPv4 address field shall be set to 0.0.0.0; otherwise, the IPv4 address field shall be set to non-zero value as specified in 3GPP TS 23.401 [3] and 3GPP TS 23.402 [45]. When assigning an IPv6 address the PGW shall send a non-zero Interface Identifier. See NOTE 8.For Non-IP or Ethernet PDN connections, the PDN Address and Prefix field shall not be present."})
ies.append({ "ie_type" : "APN Restriction", "ie_value" : "APN Restriction", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S4/S11 interfaces in the E-UTRAN initial attach, a Handover from Trusted or Untrusted Non-3GPP IP Access to E-UTRAN, PDP Context Activation, a Handover from Trusted or Untrusted Non-3GPP IP Access to UTRAN/GERAN and UE Requested PDN connectivity procedures.This IE shall also be included on S4/S11 during the Gn/Gp SGSN to S4 SGSN/MME RAU/TAU procedures.This IE denotes the restriction on the combination of types of APN for the APN associated with this EPS bearer Context."})
ies.append({ "ie_type" : "AMBR", "ie_value" : "Aggregate Maximum Bit Rate", "presence" : "C", "instance" : "0", "comment" : "This IE represents the APN-AMBR. It shall be included on the S5/S8, S4/S11 and S2a/S2b interfaces if the received APN-AMBR has been modified by the PCRF."})
ies.append({ "ie_type" : "EBI", "ie_value" : "Linked EPS Bearer ID", "presence" : "C", "instance" : "0", "comment" : "This IE shall be sent on the S4/S11 interfaces during Gn/Gp SGSN to S4-SGSN/MME RAU/TAU procedure to identify the default bearer the PGW selects for the PDN Connection."})
ies.append({ "ie_type" : "PCO", "ie_value" : "Protocol Configuration Options", "presence" : "C", "instance" : "0", "comment" : "If ePCO is not supported by the UE or the network, and if the PGW decides to return PCO to the UE during the Attach, PDN connectivity or Handover to 3GPP access procedures, PGW shall send PCO to SGW. If SGW receives the PCO IE, SGW shall forward it to MME/SGSN."})
ies.append({ "ie_type" : "Bearer Context", "ie_value" : "Bearer Contexts created", "presence" : "M", "instance" : "0", "comment" : "EPS bearers corresponding to Bearer Contexts sent in request message. Several IEs with the same type and instance value may be included on the S5/S8 and S4/S11 as necessary to represent a list of Bearers. One single IE shall be included on the S2a/S2b interface.One bearer shall be included for  E-UTRAN Initial Attach, a Handover from Trusted or Untrusted Non-3GPP IP Access to E-UTRAN, PDP Context Activation, a Handover from Trusted or Untrusted Non-3GPP IP Access to UTRAN/GERAN, UE Requested PDN Connectivity , Attach with GTP on S2b, UE initiated Connectivity to Additional PDN with GTP on S2b, Handover to Untrusted Non-3GPP IP Access with GTP on S2b, Initial Attach for emergency session (GTP on S2b), Initial Attach in WLAN on GTP S2a, an Initial Attach in WLAN for Emergency Service on GTP S2a, UE initiated Connectivity to Additional PDN with GTP on S2a and Handover to TWAN with GTP on S2a.One or more created bearers shall be included for a Handover/TAU/RAU with an SGW change. See NOTE 2."})
ies.append({ "ie_type" : "Bearer Context", "ie_value" : "Bearer Contexts marked for removal", "presence" : "C", "instance" : "1", "comment" : "EPS bearers corresponding to Bearer Contexts to be removed that were sent in the Create Session Request message.For each of those bearers an IE with the same type and instance value shall be included on the S4/S11 interfaces."})
ies.append({ "ie_type" : "Recovery", "ie_value" : "Recovery", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included on the S4/S11, S5/S8 and S2a/S2b interfaces if contacting the peer for the first time "})
ies.append({ "ie_type" : "FQDN", "ie_value" : "Charging Gateway Name", "presence" : "C", "instance" : "0", "comment" : "When Charging Gateway Function (CGF) Address is configured, the PGW shall include this IE on the S5 interface. See NOTE 1."})
ies.append({ "ie_type" : "IP Address", "ie_value" : "Charging Gateway Address", "presence" : "C", "instance" : "0", "comment" : "When Charging Gateway Function (CGF) Address is configured, the PGW shall include this IE on the S5 interface. See NOTE 1."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "PGW-FQ-CSID", "presence" : "C", "instance" : "0", "comment" : "This IE shall be included by the PGW on the S5/S8 and S2a/S2b interfaces and, when received from S5/S8 be forwarded by the SGW on the S11 interface according to the requirements in 3GPP TS 23.007 [17]."})
ies.append({ "ie_type" : "FQ-CSID", "ie_value" : "SGW-FQ-CSID", "presence" : "C", "instance" : "1", "comment" : "This IE shall be included by the SGW on the S11 interface according to the requirements in 3GPP TS 23.007 [17]."})
ies.append({ "ie_type" : "LDN", "ie_value" : "SGW LDN", "presence" : "O", "instance" : "0", "comment" : "This IE is optionally sent by the SGW to the MME/SGSN on the S11/S4 interfaces (see 3GPP TS 32.423 [44]), when communicating the LDN to the peer node for the first time."})
ies.append({ "ie_type" : "LDN", "ie_value" : "PGW LDN", "presence" : "O", "instance" : "1", "comment" : "This IE is optionally included by the PGW on the S5/S8 and S2a/S2b interfaces (see 3GPP TS 32.423 [44]), when communicating the LDN to the peer node for the first time."})
ies.append({ "ie_type" : "EPC Timer", "ie_value" : "PGW Back-Off Time", "presence" : "O", "instance" : "0", "comment" : "This IE may be included on the S5/S8 and S4/S11 interfaces when the PDN GW rejects the Create Session Request with the cause APN congestion. It indicates the time during which the MME or S4-SGSN should refrain from sending subsequent PDN connection establishment requests to the PGW for the congested APN for services other than Service Users/emergency services.See NOTE 3."})
ies.append({ "ie_type" : "APCO", "ie_value" : "Additional Protocol Configuration Options", "presence" : "CO", "instance" : "0", "comment" : "If multiple authentications are supported by the PGW and if PGW received the Additional Protocol Configuration Options IE in the Create Session Request, the PGW shall include this IE on the S2b interface and perform the corresponding procedures as specified for PAP and CHAP authentication of the UE with external networks in 3GPP TS 33.402 [50]."})
ies.append({ "ie_type" : "IP4CP", "ie_value" : "Trusted WLAN IPv4 Parameters ", "presence" : "CO", "instance" : "0", "comment" : "The PGW shall include this IE on the S2a interface to a Trusted WLAN Access if PDN Type in the PAA is set to IPv4 or IPv4v6 and the transparent single-connection mode is used as specified in 3GPP TS 23.402 [45].This IE shall include:The Subnet Prefix Length of the subnet from which the PGW allocates the UEs IPv4 address.The IPv4 Default Router Address which belongs to the same subnet as the IPv4 address allocated to the UE."})
ies.append({ "ie_type" : "Indication", "ie_value" : "Indication Flags", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included if any one of the applicable flags is set to 1.Applicable flags are:PDN Pause Support Indication: this flag shall be set to 1 on the S5/S8 interface if the PGW supports the PGW Pause of Charging procedure.PDN Pause Enable Indication: this flag shall be set to 1 on the S5/S8 interface if the PGW enables the SGW to use the PGW Pause of Charging procedure for this PDN connection.Associate OCI with PGW nodes identity: The PGW shall set this flag to 1 on the S5/S8 interface or S2a/S2b interface if it has included the PGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the HSS or DNS during the PGW selection) of the serving PGW. This flag shall be set to 1 by the PGW if the PGWs Overload Control Information is included and the Cause IE is set to a rejection cause code. The SGW shall set this flag on the S11/S4 interface if it supports the overload control feature and if the flag is set on the S5/S8 interface.Associate OCI with SGW nodes identity: The SGW shall set this flag to 1 on the S11/S4 interface if it has included the SGWs Overload Control Information and if this information is to be associated with the node identity (i.e. FQDN or the IP address received from the DNS during the SGW selection) of the serving SGW. This flag shall be set to 1 by the SGW if the SGWs Overload Control Information is included and the Cause IE is set to a rejection cause code. Delay Tolerant Connection Indication: the flag shall be set to 1 on the S5/S8 and S11/S4 interface if the PDN connection is Delay Tolerant (see clause 8.12).Triggering SGSN initiated PDP Context Creation/Modification Indication: this flag shall be set to 1 on the S5/S8 interfaces if the network-initiated NBIFOM mode is used for this PDN connection. The SGW shall set this flag on the S4 interface if it supports the NBIFOM feature and the flag is set on the S5/S8 interface."})
ies.append({ "ie_type" : "Presence Reporting Area Action", "ie_value" : "Presence Reporting Area Action", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 and S11/S4 interfaces with the appropriate Action field if reporting changes of UE presence in a Presence Routing Area is to be started, stopped or modified for this subscriber in the MME/SGSN.Several IEs with the same type and instance value may be included as necessary to represent a list of Presence Reporting Area Actions. One IE shall be included per PRA to be started, stopped or modified."})
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "PGW's node level Load Control Information", "presence" : "O", "instance" : "0", "comment" : "The PGW may include this IE on the S5/S8 or S2a/S2b interface, providing its node level load information, if the load control feature is supported by the PGW and is activated for the PLMN to which the access network node, i.e. MME/S4-SGSN for 3GPP access network, ePDG/TWAN for non-3GPP access network, belongs (see clause 12.2.6)."})
type_list["Load Control Information"]["max_instance"] = "1"
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "PGW's APN level Load Control Information", "presence" : "O", "instance" : "1", "comment" : "The PGW may include this IE on the S5/S8 or S2a/S2b interface, providing APN level load information, if the APN level load control feature is supported by the PGW and is activated for the PLMN to which the access network node, i.e. MME/S4-SGSN for 3GPP access network, ePDG/TWAN for non-3GPP access based network, belongs (see clause 12.2.6).When present, the PGW shall provide one or more instances of this IE, up to maximum of 10, with the same type and instance value, each representing the load information for a list of APN(s).See NOTE 9, NOTE 11."})
type_list["Load Control Information"]["max_instance"] = "2"
ies.append({ "ie_type" : "Load Control Information", "ie_value" : "SGW's node level Load Control Information", "presence" : "O", "instance" : "2", "comment" : "The SGW may include this IE, over the S11/S4 interface if the load control feature is supported by the SGW and is activated in the network (see clause 12.2.6).When present, the SGW shall provide only one instance of this IE, representing its node level load information."})
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "PGW's Overload Control Information", "presence" : "O", "instance" : "0", "comment" : "During an overload condition, the PGW may include this IE on the S5/S8 or S2a/S2b interface, if the overload control feature is supported by the PGW and is activated for the PLMN to which the access network node, i.e. MME/S4-SGSN for 3GPP access based network, ePDG/TWAN for non-3GPP access based network, belongs (see clause 12.3.11).When present, the PGW shall provide: node level overload control, in one instance of this IE; and/orAPN level overload control , in one or more instances of this IE, up to maximum of 10, with the same type and instance value, each representing the overload information for a list of APN(s).See NOTE 10, NOTE 12."})
ies.append({ "ie_type" : "Overload Control Information", "ie_value" : "SGW's Overload Control Information", "presence" : "O", "instance" : "1", "comment" : "During an overload condition, the SGW may include this IE over the S11/S4 interface if the overload control feature is supported by the SGW and is activated in the network (see clause 12.3.11).When present, the SGW shall provide only one instance of this IE, representing its overload information."})
ies.append({ "ie_type" : "F-Container", "ie_value" : "NBIFOM Container", "presence" : "CO", "instance" : "0", "comment" : "This IE shall be included on the S5/S8 or S2a/S2b interfaces if the PGW needs to send NBIFOM informationas specified in 3GPP TS 23.161 [71].The Container Type shall be set to 4."})
ies.append({ "ie_type" : "Charging ID", "ie_value" : "PDN Connection Charging ID", "presence" : "CO", "instance" : "0", "comment" : "The PGW shall include this IE on the S5/S8 or S2a/S2b interfaces, during an Initial Attach, Initial PDN connection establishment, or Addition of an access procedures, when using NBIFOM, as specified in 3GPP TS 23.161 [71]."})
ies.append({ "ie_type" : "ePCO", "ie_value" : "Extended Protocol Configuration Options", "presence" : "CO", "instance" : "0", "comment" : "If the PGW decides to return ePCO to the UE during an Initial Attach, UE requested PDN Connectivity procedure, and if the PGW supports the ePCO and the EPCOSI flag is set to 1 in the Create Session Request message, the PGW shall send ePCO to the SGW. If the SGW receives the ePCO IE, the SGW shall forward it to the MME.See NOTE 13."})
msg_list[key]["ies"] = ies
