SIP solutioning and architectures is a subsequent article after SIP which can be found here . A VOIP Solution is designed to accommodate the signalling and media both along with integration leads to various external endpoints such as various SIP phones ( desktop, softphones , webRTC ) , telecom carriers , different voip network providers , enterprise applications ( Skype , Microsoft Lync ) , Trunks etc .
The article outlines VOIP architecture from 3 viewpoints :
- from Infrastructure standpoint
- from core voice engineering perspective
- and accompanying external components required to run and system
- Data Centers with BCP ( Business Continuity Planning ) and DR ( Disaster Recovery )
- Servers and Clusters for faster and parallel calculating
VMs to make a distributed computing environment with HA ( high availability ) and DRS ( Distributed Resource Scheduling )
SAN with built in redundancy for resiliency of data.
WORM compliant NAS for storing voice archives over a retention period.
- Racks, power supplies, battery backups, cages etc.
DMZs ( Demilitarised Zones) which are interfacing areas between internal servers in green zone and outside network
VLANs for segregation between tenants.
Connectivity through the public Internet as well as through VPN or dedicated optical fibre network for security.
- Firewall configuration
- Load Balancer ( Layer 7 )
- Reverse Proxies for security of internal IPs and port
- Security controls In compliance with ISO/IEC 27000 family – Information security management systems
- PKI Infrastructure to manage digital certificates
- Key management with HSM ( hardware security Module )
- truster CA ( Certificate Authority ) to issue publicly signed certificate for TLS ( Https , wss etc)
- OWASP ( Open Web Application Security Project ) rules compliance
Integral Components of a VOIP SIP based architecture
- Call Controller
- Media Manager
- logs and PCAP archives
- CDR generators
- Session Borer Controllers ( SBCs)
Detailing some of the protocols apart from SIP used in VOIP solution
RTP ( Real Time Transport Protocol )
RTP handles realtime multimedia transport between end to end network components . RFC 3550 .
Packet structure of RTP
RTP Header contain timestamp , name of media source , codec type and sequence number .
DTMF( Dual tone Multi Frequency )
- Inband – With Inband digits are passed along just like the rest of your voice as normal audio tones with no special coding or markers using the same codec as your voice does and are generated by your phone.
- Outband – Incoming stream delivers DTMF signals out-of-audio using either SIP-INFO or RFC-2833 mechanism, independently of codecs – in this case the DTMF signals are sent separately from the actual audio stream.
A SIP gateway is an application that interfaces a SIP network to a network utilizing another signaling protocol. In terms of the SIP protocol, a gateway is just a special type of user agent, where the user agent acts on behalf of another protocol rather than a human. A gateway terminates the signaling path and can also terminate the media path .
To PSTN for telephony inter-working
To H.323 for IP Telephony inter-working
Client – originates message
Server – responds to or forwards message
Logical SIP entities are:
User Agent Client (UAC): Initiates SIP requests ….
User Agent Server (UAS): Returns SIP responses ….
Network Servers ….
A registrar server accepts SIP REGISTER requests; all other requests receive a 501 Not Implemented response. The contact information from the request is then made available to other SIP servers within the same administrative domain, such as proxies and redirect servers. In a registration request, the To header field contains the name of the resource being registered, and the Contact header fields contain the contact or device URIs.
A SIP proxy server receives a SIP request from a user agent or another proxy and acts on behalf of the user agent in forwarding or responding to the request. Just as a router forwards IP packets at the IP layer, a SIP proxy forwards SIP messages at the application layer.
Typically proxy server ( inbound or outbound) have no media capabilities and ignore the SDP . They are mostly bypassed once dialog is established but can add a record-route .
A proxy server usually also has access to a database or a location service to aid it in processing the request (determining the next hop).
1. Stateless Proxy Server
A proxy server can be either stateless or stateful. A stateless proxy server processes each SIP request or response based solely on the message contents. Once the message has been parsed, processed, and forwarded or responded to, no information (such as dialog information) about the message is stored. A stateless proxy never retransmits a message, and does not use any SIP timers
2. Stateful Proxy Server
A stateful proxy server keeps track of requests and responses received in the past, and uses that information in processing future requests and responses. For example, a stateful proxy server starts a timer when a request is forwarded. If no response to the request is received within the timer period, the proxy will retransmit the request, relieving the user agent of this task.
3 . Forking Proxy Server
A proxy server that receives an INVITE request, then forwards it to a number of locations at the same time, or forks the request. This forking proxy server keeps track of each of the outstanding requests and the response. This is useful if the location service or database lookup returns multiple possible locations for the called party that need to be tried.
A redirect server is a type of SIP server that responds to, but does not forward, requests. Like a proxy server, a redirect server uses a database or location service to lookup a user. The location information, however, is sent back to the caller in a redirection class response (3xx), which, after the ACK, concludes the transaction. Contact header in response indicates where request should be tried .
External components to setup a VOIP solution apart from Core voice Servers and gateways
- Payment Gateways
- Billing and Invoice
- Fraud Prevention
- Contacts Integration
- Call Analytics
- API services
- Admin Module
- Number Management ( DIDs ) and porting
- Call Tracking
- Single Sign On and User Account Management with Oauth and SAML
- Dashboards and Reporting
- Alert Management
- Continuous Deployment
- Automated Validation
- Queue System
- External cache