anchor.diff:  wait_for_id({#radius{id = RadiusID, authenticator = RequestAuthenticator,
   		attributes = Attributes} = _AccessRequest, RadiusFsm},
   		#statedata{token = Token, eap_id = EapID, secret = Secret,
  -		group_desc = GroupDesc, rand_func = RandFun, prf = PRF} = StateData)->
  +		group_desc = GroupDesc, rand_func = RandFun, prf = PRF,
  +		session_id = SessionID} = StateData)->
   	{ok, HostName_s} = inet:gethostname(),
   	HostName = list_to_binary(HostName_s),
   	S_rand = crypto:rand_uniform(1, ?R),
  
positive.code: 	catch
  		_:_ ->
  			radius:response(RadiusFsm, {error, ignore}),
  			{next_state, wait_for_confirm, StateData, ?TIMEOUT}
  	end.
  %% @hidden
  wait_for_confirm1(RadiusFsm, #radius{id = RadiusID,
  
negative.code: 	{stop, {shutdown, SessionID}, StateData};
  wait_for_commit({#radius{id = RadiusID, authenticator = RequestAuthenticator,
  		attributes = Attributes} = AccessRequest, RadiusFsm},
  		#statedata{eap_id = EapID, secret = Secret,
  		group_desc = GroupDesc, rand_func = RandFunc, prf = PRF,
  		pwe = PWE, element_s = ElementS, scalar_s = ScalarS, s_rand = S_rand,
  		session_id = SessionID} = StateData) ->
  	try 
  		EAPMessage = radius_attributes:fetch(?EAPMessage, Attributes),
  		EapPacket = ocs_eap_codec:eap_packet(EAPMessage),
  