anchor.diff:  -record(state, {}).
   
   -define(EPOCH_OFFSET, 2208988800).
  +-define(IANA_PEN_3GPP, 10415).
   -define(Gx_APPLICATION_ID, 16777238).
  +-define(DIAMETER_ERROR_INITIAL_PARAMETERS, 5140).
   
   -type state() :: #state{}.
   -type capabilities() :: #diameter_caps{}.
  
positive.code: 		_:Reason ->
  			error_logger:warning_report(["Unable to process DIAMETER request",
  					{origin_host, OHost}, {origin_realm, ORealm},
  					{request, Request}, {error, Reason}]),
  			diameter_error(SId, ?'DIAMETER_BASE_RESULT-CODE_UNABLE_TO_COMPLY',
  					OHost, ORealm, RequestType, RequestNum)
  	end.
  
negative.code: 		Reply :: #'3gpp_gx_CCA'{}.
  %% @doc Send CCA to DIAMETER client indicating an operation failure.
  %% @hidden
  diameter_error(SId, ?'DIAMETER_ERROR_INITIAL_PARAMETERS' = ResultCode,
  		OHost, ORealm, RequestType, RequestNum) ->
  	#'3gpp_gx_CCA'{'Session-Id' = SId,
  			'Experimental-Result' = [#'3gpp_gx_Experimental-Result'{
  					'Vendor-Id' = ?IANA_PEN_3GPP,
  					'Experimental-Result-Code' = ResultCode}],
  			'Origin-Host' = OHost, 'Origin-Realm' = ORealm,
  			'Auth-Application-Id' = ?Gx_APPLICATION_ID,
  			'CC-Request-Type' = RequestType, 'CC-Request-Number' = RequestNum};
  diameter_error(SId, ResultCode, OHost, ORealm, RequestType, RequestNum) ->
  	#'3gpp_gx_CCA'{'Session-Id' = SId, 'Result-Code' = [ResultCode],
  			'Origin-Host' = OHost, 'Origin-Realm' = ORealm,
  			'Auth-Application-Id' = ?Gx_APPLICATION_ID,
  			'CC-Request-Type' = RequestType, 'CC-Request-Number' = RequestNum}.
  
  