Verification of the SIP Transaction Using Coloured Petri Nets

The Session Initiation Protocol (SIP) is one of the leading protocols for multimedia control over the Internet, including initiating, maintaining and terminating multimedia sessions. The protocol uses transactions to complete the control tasks. In this paper we focus on the INVITE transaction of SIP, which is used to initiate a session. SIP is designed to operate over a transport protocol that can be reliable or unreliable. Our previous work has verified the functional properties of the INVITE transaction over a reliable transport medium, using Coloured Petri Nets (CPNs). In this paper, we use CPNs to model and analyse SIP INVITE transaction when the medium is unreliable. The verification reveals similar problem as that in the case of a reliable medium, i.e. the transaction may terminate in an undesirable state while one communication party is still waiting for a response from its peer. Additionally with an unreliable medium, the transaction has undesirable terminal states in which retransmitted requests may lead to erroneous operation. This result provides theoretical evidence and timely support for the Internet Draft that has been recently submitted to the Internet Engineering Task Force to propose updates to SIP INVITE transaction.

[1]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

[2]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods , 1992 .

[3]  Kurt Jensen,et al.  Coloured Petri nets (2nd ed.): basic concepts, analysis methods and practical use: volume 1 , 1996 .

[4]  Vladimiro Sassone,et al.  Petri Nets and Other Models of Concurrency , 1996, Petri Nets.

[5]  Wolfgang Reisig,et al.  Lectures on Concurrency and Petri Nets , 2003, Lecture Notes in Computer Science.

[6]  Jonathan Billington,et al.  A Coloured Petri Net Approach to Protocol Verification , 2003, Lectures on Concurrency and Petri Nets.

[7]  Lars Michael Kristensen,et al.  Application of Coloured Petri Nets in System Development , 2003, Lectures on Concurrency and Petri Nets.

[8]  Lars Michael Kristensen,et al.  Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems , 2007, International Journal on Software Tools for Technology Transfer.

[9]  Yang Peng,et al.  Petri Net Model of Session Initiation Protocol and its Verification , 2007, 2007 International Conference on Wireless Communications, Networking and Mobile Computing.

[10]  Hongyan Ma,et al.  SIP for Mobile Networks and Security Model , 2007, 2007 International Conference on Wireless Communications, Networking and Mobile Computing.

[11]  Lin Liu,et al.  Modelling and Analysis of the INVITE Transaction of the Session Initiation Protocol Using Coloured Petri Nets , 2008, Petri Nets.

[12]  Robert Sparks,et al.  Correct Transaction Handling for 2xx Responses to Session Initiation Protocol (SIP) INVITE Requests , 2010, RFC.