SIP SIP Dialogs and Transactions 1 — Questions and Answers
Question 1: What is the primary purpose of a SIP transaction?
- To establish a persistent connection between two endpoints
- To represent a single request and all responses to that request (Correct answer)
- To maintain session state for the duration of a call
- To route SIP messages across multiple proxies
Correct answer: To represent a single request and all responses to that request
A SIP transaction consists of a single request and any responses to that request, terminated by a final response, as defined in RFC 3261.
Question 2: Which combination of headers uniquely identifies a SIP dialog?
- Call-ID, From tag, and To tag (Correct answer)
- Call-ID and CSeq number
- Via branch parameter and Call-ID
- From URI and To URI only
Correct answer: Call-ID, From tag, and To tag
RFC 3261 defines a SIP dialog as uniquely identified by the three-tuple of Call-ID, From tag, and To tag.
Question 3: What is the role of the CSeq header in SIP?
- To identify the dialog uniquely across the network
- To sequence transactions within a dialog and identify the method (Correct answer)
- To route the message to the correct proxy server
- To specify the content type of the SIP message body
Correct answer: To sequence transactions within a dialog and identify the method
The CSeq header contains a monotonically increasing sequence number and the method name, ordering transactions within a dialog and identifying the request type.
Question 4: What is Timer B in SIP INVITE client transactions?
- The retransmission interval for INVITE requests over UDP
- The maximum time a UAC waits for a final response to an INVITE before timing out (Correct answer)
- The time a server waits before sending a 100 Trying response
- The interval between sending ACK and cleaning up the transaction
Correct answer: The maximum time a UAC waits for a final response to an INVITE before timing out
Timer B is the INVITE client transaction timeout set to 64*T1 (32 seconds by default), after which the transaction is abandoned if no final response is received.
Question 5: In SIP, what is an 'early dialog'?
- A dialog established before session media parameters are available
- A provisional dialog created when a UAC receives a 1xx response containing a To tag (Correct answer)
- A dialog created during the REGISTER process before authentication
- A dialog that exists before the UAC sends the initial INVITE
Correct answer: A provisional dialog created when a UAC receives a 1xx response containing a To tag
An early dialog is established when a UAC receives a provisional response (1xx) that includes a To tag, existing in a tentative state before the final response.
Question 6: Which SIP entity initiates a client transaction by sending a request?
- Proxy server acting as transaction agent
- User Agent Server (UAS)
- User Agent Client (UAC) (Correct answer)
- Registrar on behalf of the endpoint
Correct answer: User Agent Client (UAC)
A UAC (User Agent Client) initiates client transactions by sending requests, while a UAS (User Agent Server) receives them and generates responses.
Question 7: What fundamentally distinguishes a SIP dialog from a SIP transaction?
- A dialog is limited to one message exchange; a transaction spans the entire call
- A transaction is a single request-response exchange; a dialog persists across multiple transactions (Correct answer)
- A dialog only applies to REGISTER requests; a transaction applies to all SIP methods
- A transaction includes media negotiation; a dialog handles only signaling
Correct answer: A transaction is a single request-response exchange; a dialog persists across multiple transactions
A transaction covers one request and its responses, while a dialog is a longer-lived peer-to-peer relationship that can contain many transactions over its lifetime.
What is the primary purpose of a SIP transaction?