anchor.diff:  					'Session-Id' = SessionId},
   			{reply, Error, State}
   	end;
  -request2(none, SessionId, AuthType, {value, _ExistingFsm},
  +request2(none, SessionId, AuthRequestType, {value, _ExistingFsm},
   		_Address, _Port, _PasswordReq, OHost, ORealm,
   		_DHost, _DRealm, _Request, _CbProc, State) ->
   	Answer = #diameter_nas_app_AAA{'Session-Id' = SessionId,
  -			'Auth-Application-Id' = 1, 'Auth-Request-Type' = AuthType,
  +			'Auth-Application-Id' = 1, 'Auth-Request-Type' = AuthRequestType,
   			'Result-Code' = ?'DIAMETER_BASE_RESULT-CODE_SUCCESS',
   			'Origin-Host' = OHost, 'Origin-Realm' = ORealm },
   	{reply, Answer, State};
  -request2({eap, _Eap}, _SessionId, _AuthType, {value, ExistingFsm},
  +request2({eap, _Eap}, _SessionId, _AuthRequestType, {value, ExistingFsm},
   		_Address, _Port, _PasswordReq, _OHost, _ORealm, _DHost, _DRealm,
   		Request, CbProc, #state{cb_fsms = FsmHandler} = State) ->
   	NewFsmHandler = gb_trees:enter(ExistingFsm, CbProc, FsmHandler),
  
positive.code: request1(EapType, Address, Port, PasswordReq,
  		OHost, ORealm, DHost, DRealm, Request, CbProc,
  		#state{handlers = Handlers} = State) ->
  	{SessionId, AuthType} = get_attibutes(Request),
  	request2(EapType, SessionId, AuthType,
  			gb_trees:lookup(SessionId, Handlers),
  			Address, Port, PasswordReq, OHost, ORealm,
  			DHost, DRealm, Request, CbProc, State).
  %% @hidden
  request2({_, _Identity}, SessionId, AuthType, none, Address, Port,
  		PasswordReq, OHost, ORealm, DHost, DRealm, Request, CbProc,
  		#state{pwd_sup = Sup, method_prefer = pwd} = State) ->
  	start_fsm(Sup, Address, Port, 5, PasswordReq, SessionId,
  			AuthType, OHost, ORealm, DHost, DRealm, [], CbProc, Request, State);
  request2(none, SessionId, AuthType, none, Address, Port,
  		PasswordReq, OHost, ORealm, DHost, DRealm,
  		#diameter_nas_app_AAR{'User-Name' = [UserName], 'User-Password' = [Password]} = Request,
  		CbProc, #state{simple_auth_sup = Sup} = State) ->
  	start_fsm(Sup, Address, Port, 1, PasswordReq, SessionId,
  			AuthType, OHost, ORealm, DHost, DRealm, [UserName, Password],
  			CbProc, Request, State);
  request2({legacy_nak, EapId, AlternateMethods},
  		SessionId, AuthType, {value, ExistingFsm},
  		Address, Port, PasswordReq, OHost, ORealm,
  		DHost, DRealm, Request, CbProc,
  		#state{method_order = MethodOrder} = State) ->
  
negative.code: %% @doc Return values for Session-Id and Auth-Request-Type attributes in
  %% DIAMETER Request.
  %% @hidden
  get_attibutes(#diameter_nas_app_AAR{'Session-Id' = SessionId,
  		'Auth-Request-Type' = AuthRequestType}) -
  	{SessionId, AuthRequestType};
  get_attibutes(#diameter_eap_app_DER{'Session-Id' = SessionId,
  		'Auth-Request-Type' = Type}) ->
  	{SessionId, AuthRequestType}.
  
  -spec get_alternate(PreferenceOrder, AlternateMethods, State) -> Result
  	when
  