background preloader

Session Initiation Protocol

Session Initiation Protocol
SIP works in conjunction with several other application layer protocols that identify and carry the session media. Media identification and negotiation is achieved with the Session Description Protocol (SDP). For the transmission of media streams (voice, video) SIP typically employs the Real-time Transport Protocol (RTP) or Secure Real-time Transport Protocol (SRTP). For secure transmissions of SIP messages, the protocol may be encrypted with Transport Layer Security (TLS). History[edit] The protocol was designed with the vision to support new multimedia applications. SIP is distinguished by its proponents for having roots in the Internet community rather than in the telecommunications industry. Protocol operation[edit] SIP employs design elements similar to the HTTP request/response transaction model.[8] Each transaction consists of a client request that invokes a particular method or function on the server and at least one response. Network elements[edit] User agent[edit] Registrar[edit] Related:  5, 6 & 7 IPS Application Layer

Software development effort estimation Software development efforts estimation is the process of predicting the most realistic use of effort required to develop or maintain software based on incomplete, uncertain and noisy input. Effort estimates may be used as input to project plans, iteration plans, budgets, investment analyses, pricing processes and bidding rounds. State-of-practice[edit] Published surveys on estimation practice suggest that expert estimation is the dominant strategy when estimating software development effort.[1] Typically, effort estimates are over-optimistic and there is a strong over-confidence in their accuracy. Currently the term “effort estimate” is used to denote as different concepts as most likely use of effort (modal value), the effort that corresponds to a probability of 50% of not exceeding (median), the planned effort, the budgeted effort or the effort used to propose a bid or price to the client. History[edit] Estimation approaches[edit] Selection of estimation approach[edit] See also[edit]

Real Time Streaming Protocol The Real Time Streaming Protocol (RTSP) is a network control protocol designed for use in entertainment and communications systems to control streaming media servers. The protocol is used for establishing and controlling media sessions between end points. Clients of media servers issue VCR-style commands, such as play and pause, to facilitate real-time control of playback of media files from the server. The transmission of streaming data itself is not a task of the RTSP protocol. RTSP was developed by RealNetworks, Netscape[1] and Columbia University, with the first draft submitted to IETF in 1996.[2] It was standardized by the Multiparty Multimedia Session Control Working Group (MMUSIC WG) of the Internet Engineering Task Force (IETF) and published as RFC 2326 in 1998.[3] RTSP 2.0 is currently under development as a replacement of RTSP 1.0. RTSP using RTP and RTCP allows for the implementation of rate adaptation. Protocol directives[edit] Presented here are the basic RTSP requests.

XMPP Communications protocol for message-oriented middleware Extensible Messaging and Presence Protocol (XMPP, originally named Jabber[1]) is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance.[2] Based on XML (Extensible Markup Language), it enables the near-real-time exchange of structured data between two or more network entities.[3] Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses. Originally developed by the open-source community, the protocols were formalized as an approved instant messaging standard in 2004 and have been continuously developed with new extensions and features. Protocol characteristics[edit] Decentralization[edit] Addressing[edit] Since a user may wish to log in from multiple locations, they may specify a resource. Features[edit]

Putnam model The Putnam model is an empirical software effort estimation model.[1] The original paper by Lawrence H. Putnam published in 1978 is seen as pioneering work in the field of software process modelling. [2] As a group, empirical models work by collecting software project data (for example, effort and size) and fitting a curve to the data. Future effort estimates are made by providing size and calculating the associated effort using the equation which fit the original data (usually with some error). Created by Lawrence Putnam, Sr. the Putnam model describes the time and effort required to finish a software project of specified size. SLIM (Software LIfecycle Management) is the name given by Putnam to the proprietary suite of tools his company QSM, Inc. has developed based on his model. The Software Equation[edit] While R&D projects for the Army and later at GE, Putnam noticed software staffing profiles followed the well-known Rayleigh distribution.[3] where: See also[edit] Software estimation

Real-time Transport Protocol The Real-time Transport Protocol (RTP) defines a standardized packet format for delivering audio and video over IP networks. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications, television services and web-based push-to-talk features. RTP is used in conjunction with the RTP Control Protocol (RTCP). While RTP carries the media streams (e.g., audio and video), RTCP is used to monitor transmission statistics and quality of service (QoS) and aids synchronization of multiple streams. RTP is originated and received on even port numbers and the associated RTCP communication uses the next higher odd port number. RTP was developed by the Audio-Video Transport Working Group of the Internet Engineering Task Force (IETF) and first published in 1996 as RFC 1889, superseded by RFC 3550 in 2003. Overview[edit] RTP is designed for end-to-end, real-time, transfer of stream data. Protocol components[edit] [edit]

Peer-to-peer SIP Peer-to-peer SIP (P2P-SIP) is the implementation of a distributed Voice over Internet Protocol (VoIP) or instant messaging communications application using a peer-to-peer (P2P) architecture in which session or call control between communication end points is facilitated with the Session Initiation Protocol (SIP). In a pure peer-to-peer application architecture no central servers are required,[1] whereas traditional SIP telephony networks have relied on the client–server model of computing[2] using centrally deployed and managed SIP servers.[3] P2P application design can improve scalability[4] and survivability in the event of central network outages. Based on these inherent SIP features it is possible to construct a peer-to-peer network of SIP nodes (P2P over SIP). See also[edit] References[edit] External links[edit] A code library for P2P over SIP: Sip2Peer project.

RFC 1149 - Standard for the transmission of IP datagrams on avian carriers [Docs] [txt|pdf] [Errata] Updated by: 2549, 6214 EXPERIMENTAL Errata Exist Network Working Group D. Waitzman Request for Comments: 1149 BBN STC 1 April 1990 Status of this Memo This memo describes an experimental method for the encapsulation of IP datagrams in avian carriers. This specification is primarily useful in Metropolitan Area Networks. This is an experimental, not recommended standard. RFC 1149 IP Datagrams on Avian Carriers 1 April 1990 regenerating. Html markup produced by rfcmarkup 1.109, available from Simple Network Management Protocol Simple Network Management Protocol (SNMP) is an Internet-standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behavior. Devices that typically support SNMP include cable modems, routers, switches, servers, workstations, printers, and more.[1] SNMP is widely used in network management for network monitoring. Three significant versions of SNMP have been developed and deployed. SNMP is a component of the Internet Protocol Suite as defined by the Internet Engineering Task Force (IETF). Overview and basic concepts[edit] Principle of SNMP Communication In typical uses of SNMP, one or more administrative computers called managers have the task of monitoring or managing a group of hosts or devices on a computer network. An SNMP-managed network consists of three key components: An agent is a network-management software module that resides on a managed device. Management information base[edit] GetRequest

Do not use XMPP So You Want to Be an App Developer? Here's How [INFOGRAPHIC] Apps are in. There's no denying it. Seems everyone these days has a great idea for a mobile app: apps to find food, apps to find rides, apps to find more apps. The list goes on. But just how do you become an app developer anyway? As with so many paths to success, there's no one rote way. A degree in computer science or software engineering is a very strong foundation. To do that, you'll need a well-rounded skillset, including UI design, familiarity with a range of programming languages, backend computing knowledge and — this one's very important — some savvy business knowledge. The online education portal Schools.com recently surveyed the app landscape, and pulled information from a variety of sources around the web to put together the infographic below, which serves as a primer for aspiring developers.

Open Network Computing Remote Procedure Call ONC RPC was described in RFC 1831, published in 1995. RFC 5531, published in 2009, is the current version. Authentication mechanisms used by ONC RPC are described in RFC 2695, RFC 2203, and RFC 2623. In 2009, Sun relicensed the ONC RPC code under the standard 3-clause BSD license[1] and then reconfirmed by Oracle Corporation in 2010 following confusion about the scope of the relicensing.[2] ONC is considered "lean and mean", but has limited appeal as a generalized RPC system for WANs or heterogeneous environments[citation needed]. See also[edit] References[edit] Birrell, A. Notes[edit] External links[edit] How PGP works How PGP works The following text is taken from chapter 1 of the document Introduction to Cryptography in the PGP 6.5.1 documentation. Copyright © 1990-1999 Network Associates, Inc. and its Affiliated Companies. All Rights Reserved. Converted from PDF to HTML at and then manually edited by hand. The Basics of Cryptography When Julius Caesar sent messages to his generals, he didn't trust his messengers. And so we begin. Encryption and decryption Data that can be read and understood without any special measures is called plaintext or cleartext. Figure 1-1. What is cryptography? Cryptography is the science of using mathematics to encrypt and decrypt data. While cryptography is the science of securing data, cryptanalysis is the science of analyzing and breaking secure communication. Cryptology embraces both cryptography and cryptanalysis. Strong cryptography --Bruce Schneier, Applied Cryptography: Protocols, Algorithms, and Source Code in C. How does cryptography work? Keys

Go (programming language) "Google Go" redirects here. For the computer program by Google to play the board game Go, see AlphaGo. Two major implementations exist: With this type definition, ipv4addr(x) interprets the uint32 value x as an IP address. // ZeroBroadcast reports whether addr is 255.255.255.255.func (addr ipv4addr) ZeroBroadcast() bool { return addr == 0xFFFFFFFF} An interface specifies a set of types by listing required methods and their types, and is satisfied by any type that has the required methods. Go critics assert that: The Go authors put substantial effort into molding the style and design of Go programs: Go includes the same sort of debugging, testing, and code-vetting tools as many language distributions. It also includes profiling and debugging support, runtime instrumentation (to, for example, track garbage collection pauses), and a race condition tester. Here is a Hello world program in Go: package main import "fmt" func main() { fmt.Println("Hello, World")}

Post Office Protocol Overview[edit] POP supports simple download-and-delete requirements for access to remote mailboxes (termed maildrop in the POP RFC's).[3] Although most POP clients have an option to leave mail on server after download, e-mail clients using POP generally connect, retrieve all messages, store them on the user's PC as new messages, delete them from the server, and then disconnect. Other protocols, notably IMAP, (Internet Message Access Protocol) provide more complete and complex remote access to typical mailbox operations. In the late 90's and early 2000's, fewer Internet Service Providers (ISPs) supported IMAP due to the storage space that was required on the ISP's hardware. Contemporary e-mail clients supported POP, then over time popular mail client software added IMAP support. A POP3 server listens on well-known port 110. History[edit] POP1 was specified in RFC 918 (1984), POP2 by RFC 937 (1985) POP3 originated with RFC 1081 (1988). Extensions[edit] STARTTLS[edit] SDPS[edit] [edit]

Related: