1. A method for switching VOIP packets in a data network, said method comprising the steps of: determining a dynamically negotiated VOIP port for a VOIP session from at least one of a first packet and a second packet received in the network switch, if the first packet is determined to be the VOIP packet; and classifying all subsequent VOIP packets corresponding to the dynamically negotiated VOIP port in accordance with predetermined parameters and associating a priority with the subsequent packets to avoid network congestion; wherein the step of classifying all subsequent VOIP packets further comprises: storing the dynamically negotiated VOIP port, generating a filter corresponding to the dynamically negotiated VOIP port and storing the generated filter in a filter table associated with a fast filtering processor; filtering all packets coming through the network switch having the dynamically negotiated VOIP port associated therewith; and classifying filtered packets in accordance with predefined filtering actions, wherein filtering all packets coming through the network switch comprises: constructing and applying a filter to selected fields of an incoming packet to select desired fields of the incoming packet and copy selected field information therefrom, wherein constructing the filter includes constructing a field value based upon the selected fields applying the filter includes applying a plurality of stored field masks on the field value; and performing a lookup on a rules table in order to determine actions to be taken based upon the result of a comparison between the field value and the stored filter masks and the rules table lookup.