Patent ID: 7688820

Claim:
A method for processing packets received at a media gateway, the method comprising: ascertaining, using a FPGA (Field Programmable Gate Array), whether a received packet is a media packet; if said received packet is said media packet according to said ascertaining, inspecting, using said FPGA, a first portion of a media destination port number from the header of said media packet, and comparing, using said FPGA, said first portion of said media destination port number with a media port base that has already been set up in said media gateway, if there is a match between said first portion of said media destination port number and said media port base according to the comparing, inspecting, using said FPGA, a second portion of said media destination port number from said header of said media packet, employing, using said FPGA, said second portion of said media destination port number as a key to a media port table of said media gateway to ascertain whether packets associated with a media stream ID are to be discarded, and discarding, using said FPGA, said received packet if said packet associated with said media stream ID are to be discard, else, obtaining, using said FPGA, a media processing CPU ID associated with said media stream ID from said media port table, formulating, using said FPGA, a destination MAC address for said received packet of at least said media processing CPU ID, and updating, using said FPGA, said received packet with said destination MAC address, thereby enabling said received packet to be switched by a switch that is external to said FPGA to a media processing CPU associated with said media processing CPU ID, wherein said media packet represents at least one of a TCP (Transmission Control Protocol) packet and a UDP (User Datagram Protocol) packet, and said media port table represents at least one of a TCP port table and a UDP port table and wherein said media gateway represents a gateway for processing at least one of text data, image data, voice call data, audio data, and video data.