The traditional circuit-switched telecommunication network and the packet-switched data network are converging to a single packet-switched network. One important application of the converged network is telephony communications, also referred to as VoIP (Voice over IP). Call signaling protocols, such as H.323, SIP and MGCP, have been developed to support VoIP communications. To enable devices using different VoIP protocols to communicate, gateways are needed to translate messages of one protocol to messages of another. In this paper, we present a simple, flexible framework for this interworking function. The framework is based on a half-call model where a call is controlled by two half-call finite state machines (FSMs), one representing the state of the caller and the other representing the state of the callee. The interworking function has been implemented such that the caller FSM of one VoIP protocol can interact with the callee FSM of any VoIP protocol. The development effort of the interworking function is minimized since only two half-call FSMs for each VoIP protocol are needed and they can be developed independently as long as the design conforms to the same interface specification. We have developed an integrated call agent (ICA) that contains the halfcall FSMs of H.323, SIP and MGCP. Calls between devices using these VoIP protocols can be set up, maintained and terminated by the ICAs.