We will divide communication software simply as follows:
1. Core Algorithm software: mainly audio and video coding and decoding software. Such software may use assembly or C language and run on some industrial-level processors such as arm and DSP, the operating system is a dedicated operating system or RTOS (such as VxWorks and PSOs.
2. signaling protocol stack software: Mainly used for device intercommunication and network interconnection. Communication networks are constantly updated and evolving, and communication protocols are constantly evolving. Such software runs on switches, and the operating system may be an embedded system or a common system such as UNIX and windows.
3. Operation Support Software: Also known as the boss system, it is the core software of the operator to provide billing, settlement, and business functions to operators. Such software runs on normal servers, and the operating system may be Unix or NT.
4. Value-added Application Software: mainly value-added applications developed based on certain switches or boards, such as call centers and teleconference, or some telecommunications business software developed by third-party service providers (such as common text messages, caIling, or zhutai services ).
The first two types of software are the main development areas of open-source communication projects due to their strong versatility and mature and stable technologies and standards. Next, we will briefly describe the status of open source software in the communication industry through several mature protocol stack software, that is, the second type of communication software.
Open-source No. 7 signaling protocol stack-openss7
The No. 7 signaling system is the most common Signaling System for inter-Telecom Network Interconnection. It acts like TCP/IP to the Internet. In various telecom network structures, we can see the figure of the No. 7 signaling.
Openss7 is an open-source protocol stack project developed by openss7 to support SS7 and sigtran. This project started in 1996 and implemented the No. 7 signaling system recommended in the ituq.700 series. With the rise of VoIP and SoftSwitch, openss7 focuses on the implementation of sigtran protocol (sigtran can be considered as the NGN version of SS7 ). In fact, openss7 is not limited to the 7th signaling, but a series of ISDN and SoftSwitch signaling are all under consideration.
For technical details about openss7, refer to the open-source signaling project No. 7-openss7 architecture.
Note: openss7 is not a free software. If you need to use openss7 for commercial purposes, you must pay a certain license fee to openss7.
Open-Source SIP protocol stack-vocal and Osip
SIP is a set of user IP phone communication protocols proposed by IETF. It is used to establish, change, and terminate calls between users based on IP networks. This protocol is based on protocols such as SMTP (Simple Mail Transfer Protocol) and HTTP (Hypertext Transfer Protocol. In order to provide telephone services, it also needs to combine several other standards and protocols: in particular, it is necessary to ensure the transmission (RTP), The Signaling connection with the current telephone network, to ensure the quality of speech (RSVP ), provides directory (LDAP) and user authentication (RADIUS.
Because it is a telephone standard proposed by the computer industry, it reveals many characteristics of the computer industry. For example, it tries its best to use as many existing protocols as possible, rather than rebuilding standards, such as HTTP, LDAP, and radius are protocol standards that are mature and widely used. Second, it is more difficult to develop than other protocol stacks (such as its competitive protocol H.323), and there are also many open-source projects, for example, vocal and Osip are mature and commercially available SIP protocol stacks.
Vocal (vovida open-source communication application library) is a set of SIP protocol stacks developed by the vovida community. Osip is a SIP protocol stack software developed by the GNU organization of the established open-source community, the following is a simple comparison of the two protocol stacks:
Open-source H.323 protocol stack-openh323
H.323 and SIP are combined to form two major standards in the VoIP field. The difference is that sip is defined by the computer (IETF), while H.323 is defined by the Telecom (ITU. In terms of applications, SIP is more suitable for enterprise applications, while H.323 is more suitable for telecom-level applications. From the difficulty of development, H.323 is far more complex than sip. If we want to start from scratch, the development cycle will be very long. However, with openh323, everything is different. We can build a telecom-grade VoIP system in the short term.
Openh323 is the most famous communication protocol stack software for source code development. It was developed by equivalenceptyltd in Australia and started in 1998, by the end of 2000, the basic H.323 Protocol framework has been implemented, mainly for free for all software developers who want to engage in VoIP and network video transmission. This protocol library fully complies with the H.323 protocol, can communicate with any software that complies with this Protocol in video and voice, such as Microsoft NetMeeting. Many commercial H.323 protocol stacks are developed based on openh323.
The advantage of openh323 is that it fully implements ITU's recommendation on H.323 and can implement various IP-based telephone applications, including voice, video, conference, and fax. With this protocol stack, we can easily Customize various H.323 entities, including terminals, network guard, gateways, and MCU. Moreover, it does not require any payment, which is quite attractive for commercial users and individual developers.
Openh.323 supports a variety of popular platforms, including Linux, windows, MacOS, and Unix. The programming language uses the object-oriented C ++ language. For detailed technical details, see Lu Zheng's "How to successfully use openh323 to develop a commercial H.323 protocol stack".
Summary
One of the purposes of Open Source communication software is to lower the threshold of communication technology and popularize communication knowledge so that some core technologies in the communication industry can be mastered and used by more people, it can also reduce investment in repeated development of communication projects, so it is of great significance. However, there are only a few open-source projects in the communication industry. Therefore, more communication professionals are required to join this field, so that open-source ideas can take root in the communication field.
Source: communication world