Application Layer Multipoint Extension for the Session Initiation Protocol
The Session Initiation Protocol (SIP) was first published in 1999, by the Internet Engineering Task Force (IETF), to be the standard for multimedia transfers. SIP is a peer-to-peer signaling protocol that is capable of initiating, modifying, and terminating media sessions. SIP utilizes existing Internet Protocols (IP) such as Domain Name Service (DNS) and the Session Description Protocol (SDP), allowing it to seamlessly integrate into existing IP networks. As SIP has matured and gained acceptance, its deficiencies when functioning as a multipoint communications protocol have become apparent. SIP currently supports two modes of operation referred to as conferencing and multicasting. Conferencing is the unicast transmission of session information between conference members. Multicasting uses IP multicast to distribute session information. This thesis proposes an extension for the Session Initiation Protocol that improves functionality for multipoint communications. When using conferencing, a SIP user-agent has limited information about the conference it is taking part in. This extension increases the awareness of a SIP node by providing it with complete conference membership information, the ability to detect neighboring node failures, and the ability to automatically repair conference partitions. Signaling for conferencing was defined and integrated into a standard SIP implementation where it was used to demonstrate the above capabilities. Using a prototype implementation, the additional functionality was shown to come at the cost of a modest increase in transaction message size and processing complexity. IP multicast has limited deployment in todayâ s networks reducing the usability of this useful feature. Since IP multicast support is not guaranteed, the use of application layer multicast protocols is proposed to replace the use of IP multicast. An efficient means of negotiating an application layer protocol is proposed as well as the ability to provide the protocol with session information to begin operation. A ring protocol was defined and implemented using the proposed extension. Performance testing revealed that the application layer protocol had slightly higher processing complexity than conferencing, but on average had a smaller transaction message size.
- Masters Theses