In addition to all of the normal PBX features of call switching, call completion, call connection, call termination and basic accounting that any PBX system must have, the basic features found in any Asterisk system should include:
Automated attendant – an automatic system to answer phones with the ability to build phone menu systems, add call menus, transfer to voicemail and create flexible and programmable rules to handle all of these features.
Call menus – flexible call management menus with user selectable options – a more advanced version of the traditional phone tree/menu systems. A better quality system will allow you to have multiple sets of menus and even change them based on time or on information gleaned from caller ID.
Managing extensions – features to help the phone system administrator by allowing the addition of new extensions, removal of unneeded extensions, change of extension locations and much more from a web-based control panel
Voicemail and voice mailboxes – any IP-PBX should allow an almost infinite number with far more flexibility than regular phone systems – more advanced features would include the ability to record ALL incoming and outgoing conversations automatically.
Call forwarding – automatic, programmed or manual call forwarding to any number
Call hold – placing callers properly on hold with no drop off in queues with user selectable hold music and programmable options about handling hold time length.
Conference calling – handling multi-party conference calls – internally and externally
Branch office support – the ability to manage and remotely administer extensions at other offices just as easily as if they were local
Web-based management and administration – to make it quick and easy to manage your phone system directly from a web browser – this can include the ability to add end-user configuration and management functions as well
Some form of integration into your basic data network so that ‘click-to-call’ functionality can be added or even full blown CRM systems.



