(This is not meant to define what a gateway is, what it does, or why you would use one.) I often hear this question and I often answer it with a stock answer. Sometimes it helps to go into depth about "why" my answer is what it is...
A PSTN SIP gateway connects different type of TELCO connections to a device that is Ethernet connected and transforms the audio into packets of data that can be sent on a data network and interpreted by a SIP interface as audio and DTMF data. There are many different type of TELCO connections, the most common are POTS (Plain old telephone Service), BRI (ISDN service), T1/E1 (channelized POTS in a single connection) and PRI (all digital ISDN with a digital link to interpret things like callerid in a separate channel (or transmit/receive conduit).
Some of the gateways are multipurpose, like FXO and FXS ports. FXO connects to standard POTS lines from the phone company, while FXS connects to basic "2500 style" handsets in your house.
Some gateways have a Standby service and others have a 911 capability to talk directly with a handset if our phone system is down.
I typically always side with Patton gateway, but a close runner-up is the line of gateways from AudioCodes. Audiocodes is a larger company, but the folks at Patton do something that AudioCodes doesn't do:
With a Patton gateway, the dealer or end user can get free support directly from the manufacturer, including firmware updates. An Audiocodes device needs to get support and firmware from their dealer of record.
I can recall many times firms coming to me and saying, "My dealer can't tell me why this doesn't work."
Here's the other thing about Patton gateways, besides a user manual that is hundreds of pages long and very well documented: They have very extensive debugging for call control, sip, routing, isdn or analog layer. The debugging is able to log to your screen or a file (remotely) without having to use a syslog server.
Dollar for dollar they are pretty close in comparison, and if I have to spend the money, I go where I can get support.
Recently I spent 1.5 days troubleshooting a remote install of an AudioCodes gateway (POTS) to find the carrier (TELCO) needed to fix the call disconnect on the line and the inbound callerid. The sipxecs interface did not completely configure the device so I had to configure it anyway. This would have whittled down to an hour or two with a Patton gateway, because i could see the issues with the debug commands remotely and solved it or turned it over to the TELCO mush earlier.
So, when I have a choice, I choose Patton.