1. A method for controlling a communication session, the method comprising: receiving a request to perform a call control function of a first network resource of a plurality of network resources from an application via a northbound interface of a call control enabler, the northbound interface providing an abstract, network agnostic interface providing notification of network events and for invoking one or more of a plurality of call control functions of the first network resource for affecting, determining, or updating a state of the communication session based on the request, wherein the call control enabler is between the application and the first network resource and wherein the application interacts with the first network resource through the call control enabler; and requesting the call control function from the first network resource via a southbound interface of an enabler instance of a plurality of enabler instances of the call control enabler, each of the plurality of enabler instances providing the southbound interface providing an interface specific to one of the network resources regardless of a network or protocol of the northbound interface.