anchor.diff:  		{error, not_found} ->
   			0
   	end,
  -	{ok, Subscriber} = radius_attributes:find(?UserName, Attributes),
  +	Subscriber = case radius_attributes:find(?UserName, Attributes) of
  +		{ok, Sub} ->
  +			Sub;
  +		{error, not_found} ->
  +			radius_attributes:fetch(?CallingStationId, Attributes)
  +	end,
   	ok = ocs_log:acct_log(radius, {ServerAddress, ServerPort}, stop, Attributes),
   	SessionAttributes = session_attributes(Attributes),
   	DebitAmount = [{octets, UsageOctets}, {seconds, UsageSecs}],
  
positive.code: 		Authenticator, Secret, NasId, Address, _AccPort, _ListenPort, Attributes,
  		From, #state{address = ServerAddress, port = ServerPort} = State) ->
  	SessionAttributes = session_attributes(Attributes),
  	{ok, Subscriber} = radius_attributes:find(?UserName, Attributes),
  	Destination = proplists:get_value(?CalledStationId, Attributes, ""),
  	case ocs_rating:rate(radius, Subscriber,
  			Destination, initial, [], [], SessionAttributes) of
  
negative.code: 		{error, not_found} ->
  			0
  	end,
  	Subscriber = case radius_attributes:find(?UserName, Attributes) of
  		{ok, Sub} ->
  			Sub;
  		{error, not_found} ->
  			radius_attributes:fetch(?CallingStationId, Attributes)
  	end,
  	ok = ocs_log:acct_log(radius, {ServerAddress, ServerPort}, interim, Attributes),
  	SessionAttributes = session_attributes(Attributes),
  	ReserveAmount = [{octets, UsageOctets}, {seconds, UsageSecs}],
  