O OPENSER tem uma arquitectura modular. Como mostra a foto, há duas categorias principais:
- o núcleo (Core) - que é o componente que fornece as funcionalidades de baixo nível para OPENSER.
- os módulos (Modules) - são os componentes que fornece a maior parte das funcionalidades.
O Núcleo inclui :
- Gerenciamento de Memoria
- SIP message parser
- locking system
- DNS and transport layer management (UDP, TCP, TLS, SCTP)
- configuration file parser and interpreter
- database abstraction layer (DB API)
- management interface (MI) API
- stateless forwarding
- pseudo-variables and transformations engines
- statistics engine
- timer API.
Com os módulos que você pode obter funcionalidades tais como:
- user location management
- accounting, authorization and authentication
- text and regular expression operations
- stateless replying
- stateful processing
- instant messaging and presence extensions
- RADIUS support
- database connectors
- MI transports
- CPL interpreter
- sms and xmpp gateways
- NAT traversal
- Perl and Java SIP Servlet extensions.