Soak beans overnight in warm water or water and vinegar. Put bones and other ingredients except carrots in pot and simmer on low for at least four hours. I prefer all day (my goal here is to get get as much calcium, gelatin and other nutrients out of the bones as possible). Add additional water as needed.
About an hour before serving, remove bones and pick off meat, return meat to pot. Remove parsley stems. If you want a meatier soup, you can add a little extra ham at this point. Add carrots and potatoes and cook soup until tender. Remove bay leaf before serving.