common vulnerability scoring system
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 8124
Common UNIX Printing System 1.3.0
CUPS provides a portable printing layer for Unix(r)-based operating systems. more>>
CUPS provides a portable printing layer for Unix(r)-based operating systems. Common UNIX Printing System has been developed to promote a standard printing solution for all Unix vendors and users.
CUPS provides the System V and Berkeley command line interfaces, and uses the Internet Printing Protocol ("IPP") as the basis for managing print jobs and queues. The Line Printer Daemon (LPD) Server Message Block (SMB), and AppSocket (a.k.a. JetDirect) protocols are also supported with reduced functionality.
CUPS adds network printer browsing and PostScript Printer Description ("PPD") based printing options to support real world printing under UNIX. It includes an image file RIP that supports printing of image files to non-PostScript printers.
A customized version of GNU Ghostscript 7.05 for CUPS called ESP Ghostscript is available separately to support printing of PostScript files within the CUPS driver framework. Sample drivers for Dymo, EPSON, HP, and OKIDATA printers are included that use these filters.
<<lessCUPS provides the System V and Berkeley command line interfaces, and uses the Internet Printing Protocol ("IPP") as the basis for managing print jobs and queues. The Line Printer Daemon (LPD) Server Message Block (SMB), and AppSocket (a.k.a. JetDirect) protocols are also supported with reduced functionality.
CUPS adds network printer browsing and PostScript Printer Description ("PPD") based printing options to support real world printing under UNIX. It includes an image file RIP that supports printing of image files to non-PostScript printers.
A customized version of GNU Ghostscript 7.05 for CUPS called ESP Ghostscript is available separately to support printing of PostScript files within the CUPS driver framework. Sample drivers for Dymo, EPSON, HP, and OKIDATA printers are included that use these filters.
Download (4.6MB)
Added: 2007-08-14 License: GPL (GNU General Public License) Price:
805 downloads

Amberdms Billing System 1.2.0
Amberdms Billing System offers users an open source web-based application, provides accounting, invoicing tools as well as service and time management solutions designed for small and medium businesses as well as small ISPs and IT companies more>> <<less
Added: 2009-04-08 License: AGPL Price: FREE
1 downloads
Aigaion Bibliography System 1.3.4
Aigaion Bibliography System is a Web-based shared bibliography manager built on PHP/MySQL. more>>
Aigaion Bibliography System is a Web-based shared bibliography manager built on PHP/MySQL. Aigaion Bibliography System project is based on the BibTeX format, but has support for other formats as well.
Main features:
- extensive support for organizing a bibliography in a topic structure
- personal and public annotations on each publication
- multi-user support
- easy import/export
- intuitive user interface
Enhancements:
- A remote SQL injection vulnerability issue was fixed.
<<lessMain features:
- extensive support for organizing a bibliography in a topic structure
- personal and public annotations on each publication
- multi-user support
- easy import/export
- intuitive user interface
Enhancements:
- A remote SQL injection vulnerability issue was fixed.
Download (0.66MB)
Added: 2007-07-14 License: GPL (GNU General Public License) Price:
833 downloads
Common Data Format 3.1
Common Data Format is a self-describing data abstraction for the storage and manipulation of multidimensional data. more>>
Common Data Format is a self-describing data abstraction for the storage and manipulation of multidimensional data in a platform- and discipline-independent fashion.
It consists of a scientific data management package (known as the "CDF Library") that allows programmers and application developers to manage and manipulate scalar, vector, and multi-dimensional data arrays.
Enhancements:
- Adds new sets of APIs to allow Standard Interface to interact with zVariables and other CDF-related information.
- Adds MingW and FreeBSD ports.
- Adds support for Intel C++ and Fortran for Linux.
- Adds the ability to create legacy CDF 2.7 files.
- Fixes a bug that prevented directories from having .cdf or .skt extensions.
<<lessIt consists of a scientific data management package (known as the "CDF Library") that allows programmers and application developers to manage and manipulate scalar, vector, and multi-dimensional data arrays.
Enhancements:
- Adds new sets of APIs to allow Standard Interface to interact with zVariables and other CDF-related information.
- Adds MingW and FreeBSD ports.
- Adds support for Intel C++ and Fortran for Linux.
- Adds the ability to create legacy CDF 2.7 files.
- Fixes a bug that prevented directories from having .cdf or .skt extensions.
Download (1.5MB)
Added: 2006-03-13 License: Public Domain Price:
1320 downloads
DEX Extensible Operating System 1.035
DEX Extensible Operating System is an operating system specifically designed for educational and research use. more>>
DEX Extensible Operating System is an operating system specifically designed for educational and research use. DEX Extensible Operating System allows for the dynamic reconfiguration and customization of various system services using concepts found in extensible operating systems.
It aims to create an operating system design thats easy to understand while having features that are common in todays modern operating systems. Unlike other small operating systems, it is powerful enough to support simple applications that require multithreading and file management.
Its architectural design, with the help of Aspect-Oriented programming, enables easy modification and extensibility. It was developed in C and runs on PCs with 80386 processors or higher.
Enhancements:
- This version is released with a floppy image and the kernel source code.
- The release contains peformance enhancements, source code clean-ups, and a makefile for use with GNU make.
<<lessIt aims to create an operating system design thats easy to understand while having features that are common in todays modern operating systems. Unlike other small operating systems, it is powerful enough to support simple applications that require multithreading and file management.
Its architectural design, with the help of Aspect-Oriented programming, enables easy modification and extensibility. It was developed in C and runs on PCs with 80386 processors or higher.
Enhancements:
- This version is released with a floppy image and the kernel source code.
- The release contains peformance enhancements, source code clean-ups, and a makefile for use with GNU make.
Download (0.48MB)
Added: 2006-08-22 License: GPL (GNU General Public License) Price:
1159 downloads
Open Blue Lab 1.4.4 (WareHouse Management System)
Open Blue Lab is a rapid application development framework for building Web 2.0 portal applications. more>> <<less
Download (1.3MB)
Added: 2006-08-14 License: GPL (GNU General Public License) Price:
691 downloads
Linux Mobile System 1.0
Linux Mobile System (LMS) is a full Linux system whose support is the new USB Flash Memory Drives. more>>
Linux Mobile System project (LMS) is a full Linux system whose support is the new USB Flash Memory Drives. The intention is to boot any PC with USB support with our system and therefore we will have every administration and analysis applications that we have selected, so we will not need install it. This way, always we will be able to get our Linux system ready to use in our pocket.
This project arose with the intention to study the Linux system of exhaustive way and simultaneously enjoy with it. The initial idea is to fuse two separated disciplines: the programming and the systems management. So well center our study in the denominated "system programming, as much networking level as at device level (drivers).
Main features:
- To initiate our Linux system from memories flash USB.
- The system will be a selection of common GNU tools in every system: disk diagnosis, memory, hardware, networks monitoring tools, etc.
- LMS Tux
- As far as possible well develop new tools and/or utilities with the objective to study deeply the underlying technology.
- The programming languages used will be C, C++, Python and Perl, without forget the system shell scripts.
- The resources minimization (disk space, memory...) isnt a functional objective of the developments.
LMSs main aim is to achieve a highly specialized distribution of GNU/Linux which can carried through the USB Flash Memory Drives. Once the distribution is ready in the USB device, it can be carried in your own pocket and you can start up any PC x86 with no need to install it directly in the PC.
The LMS system is aimed at the development of specific tasks such as network administration, security analysis of networks, and recovery and repair of host data, as well as all information exchange, which is what makes it different from other portable systems such as "live CDs". The main idea is to carry all the potency of Linux and our tools in our own pockets, ready to be used.
<<lessThis project arose with the intention to study the Linux system of exhaustive way and simultaneously enjoy with it. The initial idea is to fuse two separated disciplines: the programming and the systems management. So well center our study in the denominated "system programming, as much networking level as at device level (drivers).
Main features:
- To initiate our Linux system from memories flash USB.
- The system will be a selection of common GNU tools in every system: disk diagnosis, memory, hardware, networks monitoring tools, etc.
- LMS Tux
- As far as possible well develop new tools and/or utilities with the objective to study deeply the underlying technology.
- The programming languages used will be C, C++, Python and Perl, without forget the system shell scripts.
- The resources minimization (disk space, memory...) isnt a functional objective of the developments.
LMSs main aim is to achieve a highly specialized distribution of GNU/Linux which can carried through the USB Flash Memory Drives. Once the distribution is ready in the USB device, it can be carried in your own pocket and you can start up any PC x86 with no need to install it directly in the PC.
The LMS system is aimed at the development of specific tasks such as network administration, security analysis of networks, and recovery and repair of host data, as well as all information exchange, which is what makes it different from other portable systems such as "live CDs". The main idea is to carry all the potency of Linux and our tools in our own pockets, ready to be used.
Download (3.9MB)
Added: 2007-06-13 License: GPL (GNU General Public License) Price:
899 downloads
CMU Common Lisp 19d
CMU Common Lisp is a common Lisp compiler and runtime more>>
CMU Common Lisp is a free implementation of the Common Lisp programming language which runs on most major Unix platforms. CMU Common Lisp project mainly conforms to the ANSI Common Lisp standard.
Main features:
- a sophisticated native-code compiler which is capable of powerful type inferences, and generates code competitive in speed with C compilers.
- generational garbage collection and multiprocessing capability on the x86 ports.
- a foreign function interface which allows interfacing with C code and system libraries, including shared libraries on most platforms, and direct access to Unix system calls.
- support for interprocess communication and remote procedure calls.
- an implementation of CLOS, the Common Lisp Object System, which includes multimethods and a metaobject protocol.
- a graphical source-level debugger using a Motif interface, and a code profiler.
- an interface to the X11 Window System (CLX), and a sophisticated graphical widget library (Garnet).
- programmer-extensible input and output streams.
- an Emacs-like editor implemented in Common Lisp.
- freely redistributable: free, with full source code (most of which is in the public domain) and no strings attached (and no warranty). Like the GNU/Linux and *BSD operating systems, CMUCL is maintained and improved by a team of volunteers collaborating over the Internet.
Common Lisp is well suited to large programming projects and explorative programming. The language has a dynamic semantics which distinguishes it from languages such as C and Ada.
It features automatic memory management, an interactive incremental development environment, a module system, a large number of powerful data structures, a large standard library of useful functions, a sophisticated object system supporting multiple inheritance and generic functions, an exception system, user-defined types and a macro system which allows programmers to extend the language.
Enhancements:
- A new float type EXT:DOUBLE-DOUBLE-FLOAT is supported.
- A DOUBLE-DOUBLE-FLOAT uses two DOUBLE-FLOATs to represent a number with >= 106 bits of precision (about 33 digits).
- Hash tables now support weak value, weak key- and-value, and weak key-or-value tables.
- LONG-LONG and UNSIGNED-LONG-LONG are recognized types in the C-CALL package for signed and unsigned 64-bit integers.
- The generational garbage collector has been ported to Darwin/ PPC.
- Numerous bugs and ANSI-compliance problems have been fixed.
<<lessMain features:
- a sophisticated native-code compiler which is capable of powerful type inferences, and generates code competitive in speed with C compilers.
- generational garbage collection and multiprocessing capability on the x86 ports.
- a foreign function interface which allows interfacing with C code and system libraries, including shared libraries on most platforms, and direct access to Unix system calls.
- support for interprocess communication and remote procedure calls.
- an implementation of CLOS, the Common Lisp Object System, which includes multimethods and a metaobject protocol.
- a graphical source-level debugger using a Motif interface, and a code profiler.
- an interface to the X11 Window System (CLX), and a sophisticated graphical widget library (Garnet).
- programmer-extensible input and output streams.
- an Emacs-like editor implemented in Common Lisp.
- freely redistributable: free, with full source code (most of which is in the public domain) and no strings attached (and no warranty). Like the GNU/Linux and *BSD operating systems, CMUCL is maintained and improved by a team of volunteers collaborating over the Internet.
Common Lisp is well suited to large programming projects and explorative programming. The language has a dynamic semantics which distinguishes it from languages such as C and Ada.
It features automatic memory management, an interactive incremental development environment, a module system, a large number of powerful data structures, a large standard library of useful functions, a sophisticated object system supporting multiple inheritance and generic functions, an exception system, user-defined types and a macro system which allows programmers to extend the language.
Enhancements:
- A new float type EXT:DOUBLE-DOUBLE-FLOAT is supported.
- A DOUBLE-DOUBLE-FLOAT uses two DOUBLE-FLOATs to represent a number with >= 106 bits of precision (about 33 digits).
- Hash tables now support weak value, weak key- and-value, and weak key-or-value tables.
- LONG-LONG and UNSIGNED-LONG-LONG are recognized types in the C-CALL package for signed and unsigned 64-bit integers.
- The generational garbage collector has been ported to Darwin/ PPC.
- Numerous bugs and ANSI-compliance problems have been fixed.
Download (3.44MB)
Added: 2006-12-10 License: Public Domain Price:
1049 downloads
Common Lisp Kanji Drill 0.1.1
Common Lisp Kanji Drill is a program for learning the meanings of Chinese/Japanese characters (kanji). more>>
Common Lisp Kanji Drill, or CLKD in short, is a newly-released program for learning the meanings of Chinese/Japanese characters (kanji) by means of repeated tests. The project is developed using CLISP, and runs on GNU/Linux and on MS Windows under Cygwin. CLKD uses a web browser as its interface. (These work best: Firefox 1.0.4 or newer; or Internet Explorer 7 or newer),. Japanese fonts are required.
CLKD is not intended for complete beginners in Japanese or Chinese to just start learning characters by rote. Its best to learn something about the structure of these characters by reading a few good books about them. It helps to know how to write them, how to count strokes, and how to look up characters in dictionaries which classify them by radical and components.
But all these resources still leave a big task: the raw memorization of hundreds and hundreds of characters. That is where a tool like CLKD becomes valuable.
CLKD is ideally suited to someone who has already broken through the unfamiliarity barrier: the student who can already recognize familiar components in an unfamiliar character and mentally form a mnemonic to which he or she can anchor the meanings of that character, and who is ready to begin internalizing a large number of characters.
<<lessCLKD is not intended for complete beginners in Japanese or Chinese to just start learning characters by rote. Its best to learn something about the structure of these characters by reading a few good books about them. It helps to know how to write them, how to count strokes, and how to look up characters in dictionaries which classify them by radical and components.
But all these resources still leave a big task: the raw memorization of hundreds and hundreds of characters. That is where a tool like CLKD becomes valuable.
CLKD is ideally suited to someone who has already broken through the unfamiliarity barrier: the student who can already recognize familiar components in an unfamiliar character and mentally form a mnemonic to which he or she can anchor the meanings of that character, and who is ready to begin internalizing a large number of characters.
Download (1.0MB)
Added: 2007-03-20 License: Other/Proprietary License with Source Price:
950 downloads
how to raise your credit score fast 1.0
Discover how to raise your credit score fast. free report... more>> <<less
Download (4KB)
Added: 2009-04-21 License: Freeware Price: Free
185 downloads
Common Media Input Layer 0.91 Alpha
Common Media Input Layer is an C++ OO framework designed to improve the state of cross-platform input handling in games. more>>
Common Media Input Layer (CMIL) is an C++ OO framework designed to improve the state of cross-platform input handling in games and other similar applications.
CMIL was created out of the belief that the methods used in most media APIs perform input handling in a confusing, difficult, inflexible fashion. CMILs goal is to address this issue by establishing a flexible, easy to use, human readible, OO abstraction layer. This layer specifically allows for media and input device abstraction.
Main features:
- easiliy build complex input sequences, including timed inputs, which do not impose restrictive notions of what is and isnt a moderator on the user
- custom input device configurations, IE: Users can swap input device configurations on the fly and create their own representation of a custom device using the framework facilities
<<lessCMIL was created out of the belief that the methods used in most media APIs perform input handling in a confusing, difficult, inflexible fashion. CMILs goal is to address this issue by establishing a flexible, easy to use, human readible, OO abstraction layer. This layer specifically allows for media and input device abstraction.
Main features:
- easiliy build complex input sequences, including timed inputs, which do not impose restrictive notions of what is and isnt a moderator on the user
- custom input device configurations, IE: Users can swap input device configurations on the fly and create their own representation of a custom device using the framework facilities
Download (0.087MB)
Added: 2007-07-25 License: GPL (GNU General Public License) Price:
821 downloads
Kmail POP filter with antispam/scoring 0.5.1
Kmail POP filter with antispam/scoring contains improvements for KMAIL POP filters. more>>
Kmail POP filter with antispam/scoring contains improvements for KMAIL POP filters.
Read the content of file README for the use information and for applying the patch.
Filter rules with action with one score value (only for kde-3.5.x)
- The porting for the other versions will come make only from request.
- This is useful to set up one action on a message from match the more filter rules (as an example, a rule on XP, rolex and another on best, price, and ....)
- The action is set up when the sum of score value is at least 100%.
For kde 3.x
- Highlight of the e-mail marked for the download or the delete.
- Tool-tips on the text that exceeds the dimension of the columns.
- Ordering also for type action.
- Set action to delete of the messages that have one type of action or they are old at least X of days.
- A single key press (key D, E, L, Up, Down) for every message (stop of, watches, selection, watches, sets up, for every message).
- Use of one single list view for all the various types of match message-filters.
- Adding for every message the visualization of the name of filter that is matched with the message.
- Possibility of, easy and quickly, to see only the messages that they correspond to one action.
- Filter from to the header of the body of the message (therefore it is possible to filter for the name of the file attached).
- Filter from initial rows of the body of the message.
- The user can specify the minimal and maximum number of rows of the body of the message to download (the number of rows comes calculated in proportion to the dimension of the message) .
<<lessRead the content of file README for the use information and for applying the patch.
Filter rules with action with one score value (only for kde-3.5.x)
- The porting for the other versions will come make only from request.
- This is useful to set up one action on a message from match the more filter rules (as an example, a rule on XP, rolex and another on best, price, and ....)
- The action is set up when the sum of score value is at least 100%.
For kde 3.x
- Highlight of the e-mail marked for the download or the delete.
- Tool-tips on the text that exceeds the dimension of the columns.
- Ordering also for type action.
- Set action to delete of the messages that have one type of action or they are old at least X of days.
- A single key press (key D, E, L, Up, Down) for every message (stop of, watches, selection, watches, sets up, for every message).
- Use of one single list view for all the various types of match message-filters.
- Adding for every message the visualization of the name of filter that is matched with the message.
- Possibility of, easy and quickly, to see only the messages that they correspond to one action.
- Filter from to the header of the body of the message (therefore it is possible to filter for the name of the file attached).
- Filter from initial rows of the body of the message.
- The user can specify the minimal and maximum number of rows of the body of the message to download (the number of rows comes calculated in proportion to the dimension of the message) .
Download (0.51MB)
Added: 2007-06-03 License: GPL (GNU General Public License) Price:
873 downloads
Making-Money-System 1.0
The Ultimate Safe Money Guide -Free Online Money Guide Make Your Online Money The Safe Way And Generate a Daily Income Stream. The best thing I came ... more>> <<less
Download (2117KB)
Added: 2009-04-04 License: Freeware Price: Free
207 downloads
Untahris Common Playground 2.0
Untahris Common Playground - you can play several classic fun, simple arcade games. more>>
Untahris Common Playground - you can play several classic fun, simple arcade games. But playing alone is not fun, and you can play them in multiplayer mode (on one computer, local network, or maybe Internet).
Now, Untahris has an original experimental feature, which makes it more than just a bundle of these games! In multiplayer mode each player can play a different game --- however, they play all on the same board. This may lead to funny interactions, battles or alliances between them.
The games in Untahris have been modified to make them better interact with each other. Thus, in each game you are allowed to shoot and collect bonuses, even if it was not a part of the original game.
Enhancements:
- The graphics were improved.
- Balls can kill bombers now.
- Worms, initial world selection, and sound were added.
- The homepage was made prettier.
<<lessNow, Untahris has an original experimental feature, which makes it more than just a bundle of these games! In multiplayer mode each player can play a different game --- however, they play all on the same board. This may lead to funny interactions, battles or alliances between them.
The games in Untahris have been modified to make them better interact with each other. Thus, in each game you are allowed to shoot and collect bonuses, even if it was not a part of the original game.
Enhancements:
- The graphics were improved.
- Balls can kill bombers now.
- Worms, initial world selection, and sound were added.
- The homepage was made prettier.
Download (1.0MB)
Added: 2007-05-02 License: GPL (GNU General Public License) Price:
905 downloads
Common C++ RTP 1.5.0
Common C++ RTP is a threadsafe RTP stack for use with Common C++. more>>
GNU ccRTP is an implementation of RTP, the real-time transport protocol from the IETF (see RFC 3550, RFC 3551 and RFC 3555). ccRTP is a C++ library based on GNU Common C++ which provides a high performance, flexible and extensible standards-compliant RTP stack with full RTCP support. The design and implementation of ccRTP make it suitable for high capacity servers and gateways as well as personal client applications.
In designing ccRTP, we have taken into account that RTP has been defined as an application level protocol framework rather than a typical Internet transport protocol such as TCP and UDP. Thus, RTP is hardly ever implemented as a layer separated from the application.
Consequently, RTP applications often must customize the adaptable RTP packet layout and processing rules, timing constraints, session membership rules as well as other RTP and RTCP mechanisms. ccRTP aims to provide a framework for the RTP framework, rather than being just an RTP packet manipulation library.
Support for both audio and video data is also considered in the design of ccRTP, that can do partial frame splits/re-assembly. Unicast, multi-unicast and multicast transport models are supported, as well as multiple active synchronization sources, multiple RTP sessions (SSRC spaces), and multiple RTP applications (CNAME spaces). This allows its use for building all forms of Internet standards based audio and visual conferencing systems.
GNU ccRTP is threadsafe and high performance. It uses packet queue lists for the reception and transmission of data packets. Both inter-media and intra-media synchronization is automatically handled within the incoming and outgoing packet queues. GNU ccRTP offers support for RTCP and many other standard and extended features that are needed for both compatible and advanced streaming applications.
It can mix multiple payload types in stream, and hence can be used to impliment RFC 2833 compliant signaling applications as well as other specialized things. GNU ccRTP also offers direct RTP and RTCP packet filtering.
GNU ccRTP uses templates to isolate threading and sockets related dependencies, so that it can be used to impliment realtime streaming with different threading models and underlying transport protocols, not just with IPV4 UDP sockets. For a more detailed list of ccRTP features you can have a look at the programmers manual.
At its highest level, ccRTP provides classes for the real-time transport of data through RTP sessions, as well as the control functions of RTCP.
The main concept in the ccRTP implementation of RTP sessions is the use of packet queues to handle transmission and reception of RTP data packets/application data units. In ccRTP, a data block is transmitted by putting it into the transmission (outgoing packets) queue, and received by getting it from the reception (incoming packets) queue.
Main features:
- Highly extensible to specialized stacks.
- Supports unicast, multi-unicast and multicast. Handles multiple sources (including synchronization sources and contributing sources) and destinations. Also supports symmetric RTP.
- Automatic RTCP functions handling, such as association of synchronization sources from the same participant or NTP-RTP timestamp mapping.
- Genericity as for underlying network and transport protocols through templates.
- It is threadsafe and supports almost any threading model.
- Generic and extensible RTP and RTCP header validity checks.
- Handles source states and information as well as statistics recording.
- Automatically handles SSRC collisions and performs loop detection.
- Implements timer reconsideration and reverse reconsideration.
- Provides good random numbers, based on /dev/urandom or, alternatively, on MD5.
There are several levels of interface (public interface, public or protected inheritance, etc) in ccRTP. For instance, the rtphello demo program distributed with ccRTP just uses the public interface of the RTPSession class and does not redefine the virtual method onGotSR, thus what this program knows about SR reports is the information conveyed in the last sender report from any source, which can be retrieved via the getMRSenderInfo method of the SyncSource class.
On the contrary, the rtplisten demo program redefines onGotSR by means of inheritance and could do specialized processing of these RTCP packets. Generally, both data and control packets are not directly accessible through the most external interface.
All this functions are performed through a few essential classes and types. The most basic ones are the enumerated type StaticPayloadType, and the classes StaticPayloadFormat and DynamicPayloadFormat.
The most important ones are the classes RTPSession, SyncSource, Participant and AppDataUnit, that represent RTP sessions, synchronization sources, participants in an RTP application, and application data units conveyed in RTP data packets, respectively.
When using ccRTP, both sending and receiving of data transported over RTP sessions is done through reception and transmission queues handled by the RTP stack. In the most common case, a separate execution thread for each RTP session handles the queues. This case is the threading model that we will generally assume throughout this document. Note however that ccRTP supports other threading models, particularly ccRTP supports the use of a single execution thread to serve a set of RTP sessions. It is also possible to not associate any separate thread with any RTP session, manually calling the main data and control service methods from whatever other thread.
The basic idea for packet reception with ccRTP is that the application does not directly read packets from sockets but gets them from a reception queue. The stack is responsible for inserting received packets in the reception queue and handling this queue. In general, a packet reception and insertion in the reception queue does not occur at the same time the application gets it from the queue.
Conversely, the basic idea for packet transmission with ccRTP is that packets are not directly written to sockets but inserted in a transmission queue handled by the stack. In general, packet insertion and transmission occur at different times, though it is not necessary.
In order to use ccRTP, you must include the main header (#include < ccrtp/rtp.h >. Two additional headers are provided by ccRTP:
#include < ccrtp/rtppool.h
Classes for pools of RTP service threads.
#include < ccrtp/rtpext.h >
Classes for RTP extensions which are not mature yet.
You must also link in the library, currently ccrtp1.
Enhancements:
- Brand new support has been introduced for Secure RTP Profile (srtp) as per RFC 3711.
- This release also supports a new add-on package, libzrtpcpp, that directly offers native zfone (zrtp) compatible encryption capabilities to Common C++ RTP based applications.
- This is the first softphone client to use both Common C++ RTP srtp and zrtp support.
<<lessIn designing ccRTP, we have taken into account that RTP has been defined as an application level protocol framework rather than a typical Internet transport protocol such as TCP and UDP. Thus, RTP is hardly ever implemented as a layer separated from the application.
Consequently, RTP applications often must customize the adaptable RTP packet layout and processing rules, timing constraints, session membership rules as well as other RTP and RTCP mechanisms. ccRTP aims to provide a framework for the RTP framework, rather than being just an RTP packet manipulation library.
Support for both audio and video data is also considered in the design of ccRTP, that can do partial frame splits/re-assembly. Unicast, multi-unicast and multicast transport models are supported, as well as multiple active synchronization sources, multiple RTP sessions (SSRC spaces), and multiple RTP applications (CNAME spaces). This allows its use for building all forms of Internet standards based audio and visual conferencing systems.
GNU ccRTP is threadsafe and high performance. It uses packet queue lists for the reception and transmission of data packets. Both inter-media and intra-media synchronization is automatically handled within the incoming and outgoing packet queues. GNU ccRTP offers support for RTCP and many other standard and extended features that are needed for both compatible and advanced streaming applications.
It can mix multiple payload types in stream, and hence can be used to impliment RFC 2833 compliant signaling applications as well as other specialized things. GNU ccRTP also offers direct RTP and RTCP packet filtering.
GNU ccRTP uses templates to isolate threading and sockets related dependencies, so that it can be used to impliment realtime streaming with different threading models and underlying transport protocols, not just with IPV4 UDP sockets. For a more detailed list of ccRTP features you can have a look at the programmers manual.
At its highest level, ccRTP provides classes for the real-time transport of data through RTP sessions, as well as the control functions of RTCP.
The main concept in the ccRTP implementation of RTP sessions is the use of packet queues to handle transmission and reception of RTP data packets/application data units. In ccRTP, a data block is transmitted by putting it into the transmission (outgoing packets) queue, and received by getting it from the reception (incoming packets) queue.
Main features:
- Highly extensible to specialized stacks.
- Supports unicast, multi-unicast and multicast. Handles multiple sources (including synchronization sources and contributing sources) and destinations. Also supports symmetric RTP.
- Automatic RTCP functions handling, such as association of synchronization sources from the same participant or NTP-RTP timestamp mapping.
- Genericity as for underlying network and transport protocols through templates.
- It is threadsafe and supports almost any threading model.
- Generic and extensible RTP and RTCP header validity checks.
- Handles source states and information as well as statistics recording.
- Automatically handles SSRC collisions and performs loop detection.
- Implements timer reconsideration and reverse reconsideration.
- Provides good random numbers, based on /dev/urandom or, alternatively, on MD5.
There are several levels of interface (public interface, public or protected inheritance, etc) in ccRTP. For instance, the rtphello demo program distributed with ccRTP just uses the public interface of the RTPSession class and does not redefine the virtual method onGotSR, thus what this program knows about SR reports is the information conveyed in the last sender report from any source, which can be retrieved via the getMRSenderInfo method of the SyncSource class.
On the contrary, the rtplisten demo program redefines onGotSR by means of inheritance and could do specialized processing of these RTCP packets. Generally, both data and control packets are not directly accessible through the most external interface.
All this functions are performed through a few essential classes and types. The most basic ones are the enumerated type StaticPayloadType, and the classes StaticPayloadFormat and DynamicPayloadFormat.
The most important ones are the classes RTPSession, SyncSource, Participant and AppDataUnit, that represent RTP sessions, synchronization sources, participants in an RTP application, and application data units conveyed in RTP data packets, respectively.
When using ccRTP, both sending and receiving of data transported over RTP sessions is done through reception and transmission queues handled by the RTP stack. In the most common case, a separate execution thread for each RTP session handles the queues. This case is the threading model that we will generally assume throughout this document. Note however that ccRTP supports other threading models, particularly ccRTP supports the use of a single execution thread to serve a set of RTP sessions. It is also possible to not associate any separate thread with any RTP session, manually calling the main data and control service methods from whatever other thread.
The basic idea for packet reception with ccRTP is that the application does not directly read packets from sockets but gets them from a reception queue. The stack is responsible for inserting received packets in the reception queue and handling this queue. In general, a packet reception and insertion in the reception queue does not occur at the same time the application gets it from the queue.
Conversely, the basic idea for packet transmission with ccRTP is that packets are not directly written to sockets but inserted in a transmission queue handled by the stack. In general, packet insertion and transmission occur at different times, though it is not necessary.
In order to use ccRTP, you must include the main header (#include < ccrtp/rtp.h >. Two additional headers are provided by ccRTP:
#include < ccrtp/rtppool.h
Classes for pools of RTP service threads.
#include < ccrtp/rtpext.h >
Classes for RTP extensions which are not mature yet.
You must also link in the library, currently ccrtp1.
Enhancements:
- Brand new support has been introduced for Secure RTP Profile (srtp) as per RFC 3711.
- This release also supports a new add-on package, libzrtpcpp, that directly offers native zfone (zrtp) compatible encryption capabilities to Common C++ RTP based applications.
- This is the first softphone client to use both Common C++ RTP srtp and zrtp support.
Download (0.54MB)
Added: 2006-10-02 License: GPL (GNU General Public License) Price:
1133 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above common vulnerability scoring system search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed