150 likes | 368 Views
SIP Connections. What is Session Initiation Protocol (SIP)?. Session Initiation Protocol Internet Engineering Task Force (IETF) standard for communications convergence Based on RFC 3261 & associated documents
E N D
What is Session Initiation Protocol (SIP)? • Session Initiation Protocol • Internet Engineering Task Force (IETF) standard for communications convergence • Based on RFC 3261 & associated documents • Core Purpose: an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. • Media agnostic • Voice, video, instant messaging, etc. • A message based protocol • Derivative of HTTP and SMTP, text-based request/response protocol • Session Stateless (compare to Circuit-switched communications) • Introduces “Presence” into communications state
TDM • VoIP for internal communications only • Separate TDM interfaces required for external communications with partners/suppliers/customers • Extra cost, extra hardware, extra complexity PBX External Communications Phones TDM External Communications IP Data/Telephony Internal Communications LAN Router VoIP Today PSTN Local Access PSTN Local Access Service Provider SIP Network PSTN Long Distance PSTN Long Distance IP Network SIP Trunking PBX Phones • Single IP link for voice/data • Eliminate PSTN interfaces for long-distance and local access • Save 20%+ on toll charges • Prepare for future SIP solutions IP Data/Telephony All Communications LAN Router SIP Simplifies Networks A Single Pipe to the Cloud
Problem with NAT/SIP • NAT (Network Address Translation) is a technology most commonly used by firewalls and routers to allow multiple devices on a LAN with 'private' IP addresses to share a single public IP address. A private IP address is an address, which can only be addressed from within the LAN, but not from the Internet outside the LAN.Private IP Addr: 10.x.x.x , 172.16.x.x - 172.31.x.x 192.168.x.x • NAT works fine for e.g. HTTP connections
1. HTTP Web Request 2. HTTP Web Request Src.Addr. 192.168.0.20 Dest.Addr. 90.90.90.90 Scr.Port 1234 Dest.Port 80 WANInternet IP-Src.Addr. 88.88.88.88 IP-Dest.Addr. 90.90.90.90 TCP-Scr.Port 5000 TCP-Dest.Port 80 LAN 3. HTTP Web Response IP-Src.Addr. 90.90.90.90 IP-Dest.Addr. 88.88.88.88 TCP-Scr.Port 80 TCP-Dest.Port 5000 4. HTTP Web Response IP-Src.Addr. 90.90.90.90 IP-Dest.Addr. 192.168.0.20 TCP-Scr.Port 80 TCP-Dest.Port 1234 Example: HTTP Connection via NAT • Address in IP header and Port in TCP header is translated. Router 192.168.0.1 88.88.88.88 NAT 90.90.90.90 Web Server 192.168.0.20
Problem with NAT/SIP • NAT works fine for e.g. HTTP connections • NAT causes problems for the SIP Media Transport (RTP) • These problems can be solved by - SBC (Session Boarder Controller)- STUN (Simple Traversal of UDP through NAT)- ALG (Application Level Gateway)
INVITE sip:bob@example.com 180 Ringing 200 Ok ACK sip:bob@example.com RTP Simple Call Flow SIP Alice Bob Alice calls Bob Bob answers
IP Src. Addr 192.168.42.20 (Phone) IP Dest.Addr 100.100.100.100 TCP Src. Port 5060 TCP Dest.Port 5060 SIP INVITE Via:SIP/2.0/UDP 192.168.42.20 From: <SIP:Alice@avaya.com> To: <SIP:Bob@Example.com> Contact:<SIP:Alice@192.168.42.20:5060 o=Alice IPv4 192.168.42.20 c=IPv4 192.168.42.20 m=audio 49152 RTP a=G711ulaw a=G711Alaw a=G729A SIP INVITE message (overview) Network Address Translation (NAT) Issues • Address in IP header is translated. • Embedded IP addresses in SIP messages are not translated. • After a translation, addresses in IP header and SIP messages do not match. IP Header TCP Header SIP Header Source IP-Addr:Port-No. SDP Header (Session Description Protocol) Source IP-Addr RTP Port-No. !!! e.g. 49152 Codec’s
SIP INVITE SIP INVITE Src.Addr. 192.168.42.20 Dest.Addr. 100.100.100.100 Scr.Port 5060 Dest.Port 5060c=IPv4 192.168.42.20 m=audio 49152 RTP a=G711ulaw WANInternet IP-Src.Addr. 88.88.88.88 IP-Dest.Addr. 100.100.100.100 TCP-Scr.Port 4444 TCP-Dest.Port 5060 c=IPv4 192.168.42.20 m=audio 49152 RTP a=G711ulaw LAN RTP Packets IP-Src.Addr. 100.100.100.100 IP-Dest.Addr. 192.168.42.20 UDP-Scr.Port 49200 UDP-Dest.Port 49152 SIP Connection via NAT • Address in IP header and Port in TCP header is translated. • Embedded IP addresses in SIP messages are not translated. Router 192.168.42.254 88.88.88.88 NAT 192.168.42.20 100.100.100.100
SIP Trunking • Option 1: Service provider with a Session Border Controller (SBC), which solves NAT traversal issues – this is the most reliable and preferred method.
SIP Trunking • Option 2: Direct connection from the IP Office’s second Ethernet port to the internet via a DMZ (demilitarized zone) port on the router. To make this configuration secure, the IP Office firewall is set to drop all packets except SIP
SIP Trunking • Option 3: Connection to the ITSP over NAT using 3rd party STUN (Simple Traversal of UDP through NAT) servers in the network to discover the NAT mechanism being used
Manager Network Topology If IP Office is located behind a NAT router a STUN server can be entered in the form, which enables a connection over UDP. When the provider changes an IP address or you encounter similar connection problems, execute STUN again. IP Office can perform this automatically. However, IP Office can also be set up manually for certain NAT types.STUN = (Simple Traversal of User Datagram Protocol [UDP] Through Network Address Translators [NATs])
SIP Trunking • Option 4: Connection to the ITSP through a router equipped with an Application Level Gateway (ALG) which transparently resolves all NAT issues.