print · source · login   

Session Initiation Protocol

Description

SIP is an application layer protocol for creating and managing multimedia communication sessions. Although a lot of documentation is available, such as the [RFC_3261], no proper reference model, as a state machine, is available. We aimed to infer the behavior of the SIP Server entity when setting up connections with a SIP Client. We represent input messages from the SIP Client to the SIP Server as Method(From, To, Contact, CallId, CSeq Via), where

  • Method defines the type of request, either INVITE, PRACK, or ACK,
  • From and To are addresses of the originator and receiver of the request,
  • CallId is a unique session identifier,
  • CSeq is a sequence number that orders transactions in a session,
  • Contact is the address where the Client wants to receive input messages, and
  • Via indicates the transport path that is used for the transaction.

We represent output messages from the SIP Server to the SIP Client as StatusCode(From, To, CallId, CSeq, Contact, Via), where StatusCode is a three digit status code that indicates the outcome of a previous request from the Client, and the other parameters are as for an input message.

The SUT

The protocol simulator ns-2 [ns2] provides implementations of many protocols, including SIP, which can serve as System Under Test (SUT). Messages were represented as C++ structures, saving us the trouble of parsing messages represented as bitstrings.

SUT model
Fig. 1: SUT Model  

Resources

fullsip_without_label.pdf Δ   140Kb   June 26, 2013, at 11:20 AM
fullsip_without_label.svgz Δ   30Kb   February 20, 2015, at 03:49 AM
model.pdf Δ   11Kb   February 14, 2015, at 07:45 PM
model.register.xml Δ   9Kb   February 14, 2015, at 07:45 PM
model.svgz Δ   8Kb   February 20, 2015, at 03:49 AM
model.uppaal.xml Δ   14Kb   February 14, 2015, at 07:45 PM
sip.flat_0_1.dot Δ   5Kb   May 02, 2017, at 01:46 PM
sip.flat_0_10.dot Δ   375Kb   May 02, 2017, at 01:46 PM
sip.flat_0_2.dot Δ   12Kb   May 02, 2017, at 01:46 PM
sip.flat_0_3.dot Δ   24Kb   May 02, 2017, at 01:46 PM
sip.flat_0_4.dot Δ   42Kb   May 02, 2017, at 01:46 PM
sip.flat_0_5.dot Δ   68Kb   May 02, 2017, at 01:46 PM
sip.flat_0_6.dot Δ   106Kb   May 02, 2017, at 01:46 PM
sip.flat_0_7.dot Δ   153Kb   May 02, 2017, at 01:46 PM
sip.flat_0_8.dot Δ   213Kb   May 02, 2017, at 01:46 PM
sip.flat_0_9.dot Δ   286Kb   May 02, 2017, at 01:46 PM
sip.flatten.0.3.dot Δ   47Kb   September 24, 2015, at 06:31 PM
sip_full.pdf Δ   75Kb   June 26, 2013, at 11:20 AM
sip_full.svgz Δ   15Kb   February 20, 2015, at 03:49 AM