Processing a communication session involves accessing a database storing
features that include caller preferences associated with a caller and
callee capabilities associated with a callee. Rules for processing a
communication session are retrieved. Each rule specifies a condition and
an action to be performed if the condition is satisfied. The rules are
applied to at least one of the features to yield a determined action, and
a communication session is processed in accordance with the determined
action.