Has anyone used Asterisk?
http://www.asterisk.org/

It's a free, open-source PBX for managing phone systems.

Features:
http://www.asterisk.org/support/features
  • Call Detail Records
  • Call Forward on Busy
  • Call Forward on No Answer
  • Call Monitoring
  • Call Queuing
  • Call Waiting
  • Caller ID
  • Music On Hold
  • SMS Messaging (not sure if it can accept incoming SMS to the front desk, but that would be interesting)
  • Three-way Calling
  • Voice-over IP
  • Allows for integration of physically separate installations
  • Allows a unified dialplan across multiple offices