Friday, July 2, 2010

A sip of SIP

  1. Session Initiation Protocol (application layer protocol)
  2. communication session between two endpoints(single entity in the networked cloud which wants to initiate the session)
  3. how to start talking (transfer voice data between), how to initiate, what are the things to agree upon
    1. some central entity to coordinate
    2. willingness to send and receive
    3. agreeing on same protocol
    4. knowledge of the location of each other (location can change at run time)
    5. ability to inform each other of some change
    6. some quality with regards to the data (voice,text,video) packets
    7. subscription to services, reception of change notification
  4. SIP only initiates the communication, capability negotiation using SDP, and data transfer using RTP (UDP packets for better server load and call quality)
  5. A text base protocol
  6. SIP entities
    1. SIP UA
      1. User Agent, application with the logic (sip stack)
      2. Initiates and terminates session
      3. act as both both client (UAC, initiates request) and server (UAS, response)
    2. SIP registrar server
      1. accept REGISTER requests from UA
      2. interface to the location database
      3. keep track of, what’s the UA active location
    3. SIP proxy server
      1. Intermediary, if two UA cant talk with each other directly
      2. can modify request received from other (UA or proxy)
      3. can generate, ACK and CANCEL requests
    4. SIP redirect server
      1. needed, as user can be active (and can move) to any of the UA Application
      2. helps in finding the right address (active address) to send the request to
      3. provide information about other addresses of the called party
      4. do not forward the request, just finds them and maps the current address to the new address
  7. Some SIP requests methods
    1. REGISTER, the UA with registrar
    2. INVITE, another UA to start talking
    3. CANCEL, the search for other UA and ringing on other UA
    4. ACK, from other UA, finally accepting your INVITE
    5. BYE, stop talking
    6. OPTIONS, so what all can you do
    7. INFO, some information which doesn't modify the session state
  8. Some SIP response (with numeric codes, like in HTTP responses)
    1. provisional (shows progress, and starts with 1 with two more digits, 1XX)
    2. final
      1. 2XX, convey success
      2. 3XX, redirection and forwarding
      3. 4XX, client errors, which results in failure of the request
      4. 5XX, server errors, thus failure in request
      5. 6XX, all other global failures
Abbreviations
UA : User Agent
SIP : Session Initiation Protocol
RTP : Real-Time Transport Protocol
RTCP : Real-Time Control  Protocol
UDP: User Datagram Protocol
HTTP : Hyper Text Transfer Protocol

No comments: