Voice Protocols: SIP

Why SIP is special..

  • SIP was created by IETF
  • Based on many of the previous protocols already in use HTTP, SMTP etc…
  • Uses text-based (ASCII) communication
  • Easy loop detection via SIP header information (H323…NONE)
  • H323 has roughly 3 times the overhead for call setup when compared to SIP
  • H323 maintain call state information for every call (Overhead/Bottleneck)

SIP Architecture

SIP signaling has the following goals:

  • Determine location
  • Determine media capabilities
  • Determine availability
  • Establish session
  • Manage termination/transfer

SIP clients are broken into two pieces:

  • User Agent Server (UAS)
  • User Agent Client (UAC – Starts calls)
  • Redirect Server – You need to go that way to the endpoint… no responsibility.. I know where to go though. (Low resources)
  • Registrar Server – Handles registrations.. If anyone asks for me you can record this info in the database
  • Location Server – The information from the registrar server is populated into the Location Database
  • Proxy Server – When you combine all of the above into 1 server!

FullSizeRender-4

 

SIP Call Setup

  • Delayed Offer – Call starts and goes out as an INVITE.. (Becomes UAC) sends a 100 message TRYING… immediately followed with a 180 message which is RINGING (informational…) 200 OK…. ACK is sent… we are going to communicate! Let RTP step in with the suitable CODEC… (CODEC negotiation? SDP packet? ‘Session Description Protocol’, used to communicate information during call… MEDIA OFFER: I want to use G711… ACK sent and I agree!
  • Early Offer – https://andrewjprokop.wordpress.com/2014/04/16/sip-media-management-early-offer-vs-late-offer/

SIP Configuration

User Agent Configuration:

sip-ua (global)
registrar <ip> (sip-ua) (All dial-peers registered with Registrar Server with authentication!)
authentication username <un> password <pw> (sip-ua)

Dial Peer Configuration:

sip-server ipv4:IP / dns:NAME (sip-ua)
session target sip-server (dial-peer)
session protocol sip (dial-peer)

Global Voice Configuration:

session transport <udp/tcp> (voice service/dial-peer) (SIP default = UDP most of the time)
bind <control/media/all> <source-interface/ipv4-address> (voice service)

SIP Trunk Example from Cisco UC320 to Gamma Telecoms:
https://supportforums.cisco.com/document/69141/uc320-sip-trunk-configuration-gamma-telecom-uk

CUBE example to Vodafone:
http://www.cisco.com/c/dam/en/us/solutions/enterprise/interoperability-portal/vodafone-cube-isr-g2-release.pdf