General packet radio service (GPRS) provides efficient access to the integrated services Internet from wireless networks. When the GPRS-attached mobile station attempts to send or receive data, a packet data protocol (PDP) context shall be established. The GPRS session management (SM) supports the PDP context handling, which consists of PDP context activation, deactivation, and modification procedures. In this paper, we propose an SM software architecture for the serving GPRS support node. Our design goals are to achieve compatibility, modularity, and flexibility. More importantly, our approach can accommodate the design of the SM software architecture for third-generation wireless networks.