func (i *IE) AccessType() (uint8, error) {
	v, err := i.AccessAvailabilityInformation()
	if err != nil {
		return 0, err
	}
	return v & 0x03, nil
}
AccessType returns AccessType in uint8 if the type of IE matches.
package ie
import "io"
const (
	AccessType3GPP    uint8 = 0
	AccessTypeNon3GPP uint8 = 1
)
const (
	AvailabilityStatusAccessHasBecomeUnavaiable uint8 = 0
	AvailabilityStatusAccessHasBecomeAvaiable   uint8 = 1
)
func NewAccessAvailabilityInformation(status, atype uint8) *IE {
	return newUint8ValIE(AccessAvailabilityInformation, ((status&0x03)<<2)|atype&0x03)
}
func (i *IE) AccessAvailabilityInformation() (uint8, error) {
	if len(i.Payload) < 1 {
		return 0, io.ErrUnexpectedEOF
	}
	switch i.Type {
	case AccessAvailabilityInformation:
		return i.Payload[0], nil
	case AccessAvailabilityReport:
		ies, err := i.AccessAvailabilityReport()
		if err != nil {
			return 0, err
		}
		for _, x := range ies {
			if x.Type == AccessAvailabilityInformation {
				return x.AccessAvailabilityInformation()
			}
		}
		return 0, ErrIENotFound
	default:
		return 0, &InvalidTypeError{Type: i.Type}
	}
}
func (i *IE) AvailabilityStatus() (uint8, error) {
	v, err := i.AccessAvailabilityInformation()
	if err != nil {
		return 0, err
	}
	return (v >> 2) & 0x03, nil
}