Patent ID: 8260944

Claim:
A system for implementing a software application programming interface (API) within a computing environment utilizing session initiation protocol (SIP) comprising: a plurality of state machine definition documents, each corresponding to a specific function of a SIP Servlet application program interface (API), wherein each state machine definition document is written using a markup language that includes standardized language elements for state diagram notations, and wherein each state machine definition document defines the series of messages, the series of responses, and a state flow for implementing the corresponding application programming interface (API) function; at least one state machine, comprising computer program instructions able to be executed by at least one processor that are stored in at least one non-transitory storage medium, configured to send a series of messages and receive a series of responses, wherein the sent series of messages represents a translation of a received SIP message into one or more functions defined by a SIP Servlet application programming interface (API) specification, each of the one or more functions corresponding to one of the state machine definition documents; a session initiation protocol (SIP) servlet, comprising computer program instructions able to be executed by at least one processor that are stored in at least one non-transitory storage medium, configured to execute the at least one state machine and to utilize one of the state machine definition documents for each SIP servlet API function call; and an enterprise service bus (ESB) configured to receive the series of messages from the state machine and send the series of responses to the state machine, wherein the ESB executes one or more system functions for each received message, and wherein responses sent to the state machine selectively change a state of the state machine in accordance with the state flow defined by the state machine definition document active for a given SIP servlet API function call for which an instance of the state machine is executing, wherein the SIP Servlet is able to be configured to conform to changes to the SIP servlet API specification by changing markup of one or more of the state machine definition documents without making base code changes to the SIP Servlet as opposed to conventional API implementations that require base code changes when the API specification changes.