diff --git a/radius.cabal b/radius.cabal
--- a/radius.cabal
+++ b/radius.cabal
@@ -1,8 +1,8 @@
 name:                radius
-version:             0.6.0.0
+version:             0.6.0.1
 synopsis:            Remote Authentication Dial In User Service (RADIUS)
 description:         This module provides types and on the wire de/coding of RADIUS packets as per RFC2865
-homepage:            https://github.com/erickg/radius#readme
+homepage:            https://gitlab.com/codemonkeylabs/RADIUS
 license:             BSD3
 license-file:        LICENSE
 author:              Erick Gonzalez
@@ -29,4 +29,4 @@
 
 source-repository head
   type:     git
-  location: https://github.com/erickg/radius
+  location: https://gitlab.com/codemonkeylabs/RADIUS
diff --git a/src/Network/RADIUS/Encoding.hs b/src/Network/RADIUS/Encoding.hs
--- a/src/Network/RADIUS/Encoding.hs
+++ b/src/Network/RADIUS/Encoding.hs
@@ -114,6 +114,8 @@
 instance Binary IPv6
 
 instance Binary PacketAttribute where
+    put (AcctSessionIdAttribute str)            = putAttributeStr  44 str
+    put (AcctMultiSessionIdAttribute str)       = putAttributeStr  50 str
     put (UserNameAttribute str)                 = putAttributeStr   1 str
     put (UserPasswordAttribute str)             = putAttributeStr   2 str
     put (FramedIPv6Route str)                   = putAttributeStr  99 str
@@ -145,6 +147,16 @@
     put (ARAPChallengeResponseAttribute str)    = putAttributeStr  84 str
     put (NASPortIdAttribute str)                = putAttributeStr  87 str
     put (FramedPoolAttribute str)               = putAttributeStr  88 str
+    put (AcctStatusTypeAttribute value)         = putAttribute     40 value
+    put (AcctDelayTimeAttribute value)          = putAttribute     41 value
+    put (AcctInputOctetsAttribute value)        = putAttribute     42 value
+    put (AcctOutputOctetsAttribute value)       = putAttribute     43 value
+    put (AcctAuthenticAttribute value)          = putAttribute     45 value
+    put (AcctSessionTimeAttribute value)        = putAttribute     46 value
+    put (AcctInputPacketsAttribute value)       = putAttribute     47 value
+    put (AcctOutputPacketsAttribute value)      = putAttribute     48 value
+    put (AcctTerminateCauseAttribute value)     = putAttribute     49 value
+    put (AcctLinkCountAttribute value)          = putAttribute     51 value
     put (NASPortAttribute value)                = putAttribute      5 value
     put (FramedMTUAttribute value)              = putAttribute     12 value
     put (LoginTCPPortAttribute value)           = putAttribute     16 value
@@ -220,6 +232,18 @@
     putLazyByteString attrData
 
 getAttribute :: Word8 -> Get PacketAttribute
+getAttribute  44 = getAttributeStr >>= return . AcctSessionIdAttribute
+getAttribute  50 = getAttributeStr >>= return . AcctMultiSessionIdAttribute
+getAttribute 40 = getAttributeValue >>= return . AcctStatusTypeAttribute
+getAttribute 41 = getAttributeValue >>= return . AcctDelayTimeAttribute
+getAttribute 42 = getAttributeValue >>= return . AcctInputOctetsAttribute
+getAttribute 43 = getAttributeValue >>= return . AcctOutputOctetsAttribute
+getAttribute 45 = getAttributeValue >>= return . AcctAuthenticAttribute
+getAttribute 46 = getAttributeValue >>= return . AcctSessionTimeAttribute
+getAttribute 47 = getAttributeValue >>= return . AcctInputPacketsAttribute
+getAttribute 48 = getAttributeValue >>= return . AcctOutputPacketsAttribute
+getAttribute 49 = getAttributeValue >>= return . AcctTerminateCauseAttribute
+getAttribute 51 = getAttributeValue >>= return . AcctLinkCountAttribute
 getAttribute   1 = getAttributeStr >>= return . UserNameAttribute
 getAttribute   2 = getAttributeStr >>= return . UserPasswordAttribute
 getAttribute  99 = getAttributeStr >>= return . FramedIPv6Route
@@ -340,6 +364,18 @@
     get = getEnum
 
 instance Binary ARAPZoneAccess where
+    put = putEnum
+    get = getEnum
+
+instance Binary StatusType where
+    put = putEnum
+    get = getEnum
+
+instance Binary Authentic where
+    put = putEnum
+    get = getEnum
+
+instance Binary TerminateCause where
     put = putEnum
     get = getEnum
 
diff --git a/src/Network/RADIUS/Types.hs b/src/Network/RADIUS/Types.hs
--- a/src/Network/RADIUS/Types.hs
+++ b/src/Network/RADIUS/Types.hs
@@ -133,9 +133,123 @@
   | AcctInterimIntervalAttribute    { getAcctInterimIntervalAttribute    :: Word32            }
   | NASPortIdAttribute              { getNASPortIdAttribute              :: ByteString        }
   | FramedPoolAttribute             { getFramedPoolAttribute             :: ByteString        }
+  | AcctStatusTypeAttribute         { getAcctStatusTypeAttribute         :: StatusType        }
+  | AcctDelayTimeAttribute          { getAcctDelayTimeAttribute          :: Word32            }
+  | AcctInputOctetsAttribute        { getAcctInputOctetsAttribute        :: Word32            }
+  | AcctOutputOctetsAttribute       { getAcctOutputOctetsAttribute       :: Word32            }
+  | AcctSessionIdAttribute          { getAcctSessionIdAttribute          :: ByteString        }
+  | AcctAuthenticAttribute          { getAcctAuthenticAttribute          :: Authentic         }
+  | AcctSessionTimeAttribute        { getAcctSessionTimeAttribute        :: Word32            }
+  | AcctInputPacketsAttribute       { getAcctInputPacketsAttribute       :: Word32            }
+  | AcctOutputPacketsAttribute      { getAcctOutputPacketsAttribute      :: Word32            }
+  | AcctTerminateCauseAttribute     { getAcctTerminateCauseAttribute     :: TerminateCause    }
+  | AcctMultiSessionIdAttribute     { getAcctMultiSessionIdAttribute     :: ByteString        }
+  | AcctLinkCountAttribute          { getAcctLinkCountAttribute          :: Word32            }
   | UnknownAttribute                { getUnknownType                     :: Word8,
                                       getUnknownAttribute                :: ByteString        }
   deriving (Show, Eq, Data)
+
+data StatusType = Start
+                | Stop
+                | InterimUpdate
+                | AccountingOn
+                | AccountingOff
+                | Failed
+                | UnknownStatusType Int
+  deriving (Show, Eq, Data)
+
+instance Enum StatusType where
+  fromEnum Start                 = 1
+  fromEnum Stop                  = 2
+  fromEnum InterimUpdate         = 3
+  fromEnum AccountingOn          = 7
+  fromEnum AccountingOff         = 8
+  fromEnum Failed                = 15
+  fromEnum (UnknownStatusType x) = x
+  toEnum 1  = Start
+  toEnum 2  = Stop
+  toEnum 3  = InterimUpdate
+  toEnum 7  = AccountingOn
+  toEnum 8  = AccountingOff
+  toEnum 15 = Failed
+  toEnum x  = UnknownStatusType x
+
+data Authentic = Radius
+               | Local
+               | Remote
+               | UnknownAuthentic Int
+  deriving (Show, Eq, Data)
+
+instance Enum Authentic where
+  fromEnum Radius = 1
+  fromEnum Local  = 2
+  fromEnum Remote = 3
+  fromEnum (UnknownAuthentic x) = x
+  toEnum 1 = Radius
+  toEnum 2 = Local
+  toEnum 3 = Remote
+  toEnum x = UnknownAuthentic x
+
+data TerminateCause = UserRequest
+                    | LostCarrier
+                    | LostService
+                    | IdleTimeout
+                    | SessionTimeout
+                    | AdminReset
+                    | AdminReboot
+                    | PortError
+                    | NASError
+                    | NASRequest
+                    | NASReboot
+                    | PortUnneeded
+                    | PortPreempted
+                    | PortSuspended
+                    | ServiceUnavailable
+                    | Callback
+                    | UserError
+                    | HostRequest
+                    | UnknownTerminateCause Int
+  deriving (Show, Eq, Data)
+
+instance Enum TerminateCause where
+  fromEnum UserRequest        = 1
+  fromEnum LostCarrier        = 2
+  fromEnum LostService        = 3
+  fromEnum IdleTimeout        = 4
+  fromEnum SessionTimeout     = 5
+  fromEnum AdminReset         = 6
+  fromEnum AdminReboot        = 7
+  fromEnum PortError          = 8
+  fromEnum NASError           = 9
+  fromEnum NASRequest         = 10
+  fromEnum NASReboot          = 11
+  fromEnum PortUnneeded       = 12
+  fromEnum PortPreempted      = 13
+  fromEnum PortSuspended      = 14
+  fromEnum ServiceUnavailable = 15
+  fromEnum Callback           = 16
+  fromEnum UserError          = 17
+  fromEnum HostRequest        = 18
+  fromEnum (UnknownTerminateCause x) = x
+  toEnum 1  = UserRequest
+  toEnum 2  = LostCarrier
+  toEnum 3  = LostService
+  toEnum 4  = IdleTimeout
+  toEnum 5  = SessionTimeout
+  toEnum 6  = AdminReset
+  toEnum 7  = AdminReboot
+  toEnum 8  = PortError
+  toEnum 9  = NASError
+  toEnum 10 = NASRequest
+  toEnum 11 = NASReboot
+  toEnum 12 = PortUnneeded
+  toEnum 13 = PortPreempted
+  toEnum 14 = PortSuspended
+  toEnum 15 = ServiceUnavailable
+  toEnum 16 = Callback
+  toEnum 17 = UserError
+  toEnum 18 = HostRequest
+  toEnum x  = UnknownTerminateCause x
 
 data ServiceType = LoginService
                  | FramedService
