anchor.diff:  	end.
   %% @hidden
   handle_radius1(#statedata{subscriber = SubscriberId, password = <<>>,
  -		password_required = PasswordReq, service_type = ServiceType,
  -		req_attr = ReqAttr} = StateData) ->
  +		password_required = PasswordReq, req_attr = ReqAttr} = StateData) ->
   	Timestamp = calendar:local_time(),
  -	CallAddress = proplists:get_value(?CalledStationId, ReqAttr, ""),
  +	{ServiceType, Direction, CallAddress} = get_service_type(ReqAttr),
   	SessionAttributes = extract_session_attributes(ReqAttr),
   	case ocs_rating:authorize(radius, ServiceType, SubscriberId, <<>>,
  -			Timestamp, CallAddress, undefined, SessionAttributes) of
  +			Timestamp, CallAddress, Direction, SessionAttributes) of
   		{authorized, #subscriber{password = <<>>} =
   				Subscriber, Attributes, ExistingSessionAttributes} ->
   			NewStateData = StateData#statedata{res_attr = Attributes},
  
positive.code: 	supervisor:start_child(DiscSup, StartArgs),
  	start_disconnect3(DiscSup, State, T).
  
  
negative.code: 			reject_radius(Reason, StateData)
  	end;
  handle_radius1(#statedata{subscriber = SubscriberId, password = Password,
  		req_attr = ReqAttr} = StateData) ->
  	Timestamp = calendar:local_time(),
  	{ServiceType, Direction, CallAddress} = get_service_type(ReqAttr),
  	SessionAttributes = extract_session_attributes(ReqAttr),
  	case ocs_rating:authorize(radius, ServiceType, SubscriberId, Password,
  			Timestamp, CallAddress, Direction, SessionAttributes) of
  		{authorized, Subscriber, Attributes, ExistingSessionAttributes} ->
  			NewStateData = StateData#statedata{res_attr = Attributes},
  			handle_radius2(Subscriber, ExistingSessionAttributes, NewStateData);
  