Small, reliable FXO/fax for FreeBSD telephony

I need a single-port FXO to plug in a single POTS line. Budget is tight, and requirements are not too high - essentially good hardware for a small installation:

  1. Single-lane PCIe (internal) preferable, USB (external) acceptable. PCI no good.
  2. One jack which connects the wall to the back of my computer.
  3. Fax capabilities.
  4. Hardware echo cancellation (preferably - at least as a daughter-card option).
  5. Reliability. Not bugware or something which will die after a short while.
  6. The toughest part: Drivers which work on FreeBSD with access to all features (caller ID, call waiting, etc.).

Software side, I will probably use Asterisk or FreeSWITCH. I don't want to be tied only to Asterisk, though.

Advices duly appreciated.