Get A Hold On What You Code !!!

SIP Methods

INVITE Method:

(a)  Indicates a session invitation. Mandatory Header fields:-
        (i)   To            (ii)  CSeq             (iii)  Via
       (iv)   From       (v)   Call-ID          (vi)   Max-Forward
(b)  Can carry SDP.

ACK Method:

(a)  Used to confirm final response that was send to the INVITE method. (UAC -->UAS)
(b)  Indicates that the session has been accepted.
(c)  Can be used to indicate SDP to the other entity.


(a)  Allows a UA to query another UA or a proxy server as to its capabilities.
(b)  Capabilities:     (i)  Supported Methods         (ii)  Extension
                              (iii)  Content Types                (iv)  Codes
(c)  UAC --> UAS , target identified in Request-URI, all UAS must support the OPTIONS method.
      *Accept - application/SDP

(d)  May be sent as part of an established dialog.
(e)  Accept header field included to indicate the type of message body the UAC wishes to receive in response.
(f)   Contact header field may be present in an OPTIONS.

     Some extra info Response for OPTIONS
     (a)  Allow, Accept, Accept - Encoding, Accept - Language etc..
     (b)  200 OK- if UAS is ready to accept a call.
     (c)  486 if UAS is busy.
     (d)  Allow header field should be omitted, if generated by proxy.

BYE Method:

(a)  Indicates to end the session.
(b)  UAC --> UAS. can be initiated by any UAC which is of the session.
(c)  Any session associated with that dialog should terminate.
(d)  All pending methods (if any) should be terminated.

CANCEL Method:

(a)  Sent to cancel only those request for which final response has not been received.
(b)  Generates error response 487 Request Terminated.
(c)  Referred to as a 'hop-by-hop' request.
(d)  Stateful 
proxy responds to a CANCEL, rather than simply forwarding.
(e)  Request-URI, Call-ID, To, numeric part of CSeq & From header must be identical to those in the request          being cancelled, including tags.

a) A SUBSCRIBE request is sent by a User Agent (subscriber) for the purpose of receiving notifications (via a       NOTIFY method) about a particular event.
b) It contains an Expires header that indicates the duration for which the subscription will be valid. After this         time period the subscription is automatically terminated.
c) A SUBSCRIBE request contains an Event header that indicates the actual "Event-Package" for which               subscription is being done by the User Agent.

Please refer  SIP Interview Questions Part2  for more details.

SIP Headers <==                                                                 ==> Basic SIP Call Flow
Linkedin          Code2CompileTwitter          Code2CompileGooglePlus
About Me    |    Blog    |    Contact Us    |    Member Login
┬ę -- Taking the initiative of helping out people suffering from The Interview Misery