anchor.diff:  id_type(_) ->
   	[].
   
  --spec post_request_ecur(Subscribers, ServiceContextId,
  +-spec post_request_ecur(ServiceName, Subscribers, ServiceContextId,
   		SessionId, ServiceRatingData, Location, Destination, Flag) -> Result
   	when
  +		ServiceName :: {IpAddress, Port},
  +		IpAddress :: inet:ip_address(),
  +		Port :: inet:port_number(),
   		Subscribers :: [Subscriber],
   		Subscriber :: {IdType, Id},
   		IdType :: integer(),
  
positive.code: request({_, IpAddress, Port} = ServiceName, Capabilities, Request, [H | T]) ->
  	case ocs:find_client(H) of
  		{ok, #client{protocol = diameter}} ->
  			Class = get_option(rf_class),
  			{reply, process_request(IpAddress, Port, Capabilities, Request, Class)};
  		{error, not_found} ->
  			request(ServiceName, Capabilities, Request, T)
  
negative.code: 		Location = get_service_location(ServiceInformation),
  		{Direction, Address} = direction_address(ServiceInformation),
  		Amounts = get_mscc(MSCC1),
  		case post_request_scur(Server, Subscriber, SvcContextId,
  				SessionId, MSCC1, Location, interim) of
  			{ok, JSON} ->
  				{struct, RatedStruct} = mochijson:decode(JSON),
  