**************************************** **************************************** **************************************** ***
Easywave time: 2014.10.30
Category: Linux applications-open-source VoIP-Based on Osip-qutecom Brief Description: reprinted, please keep the link
NOTE: If any error occurs, please correct it. These are my Learning Log articles ......
**************************************** **************************************** **************************************** ***
I. qutecom Introduction
In recent years, with the increase in network bandwidth and the decrease in the cost of various multimedia terminal devices, Voice over IP and Video over IP have been widely used. Currently, there are two key technologies-signaling technology, the H.323 proposed by ITU-T is the technical specification of multimedia communication in the group exchange network, which has been recognized by the industry, but the composition is complex and difficult to implement; Session Initiation Protocol (SIP) proposed by IETF) it is also a signaling control protocol that supports multimedia sessions. It is used to create, modify, and terminate sessions attended by one or more participants. Compared with H.323, SIP is simpler, more flexible, and easier to implement, it has gradually become the focus of attention.
Currently, many organizations have implemented the SIP protocol stack and made it open-source for developers to use it conveniently and quickly, such as open-source projects such as Osip and resiprocate, these open-source code implements the SIP protocol stack according to the rfc3261 and other sip-related standards. Based on this, the voice/Video over IP Client software must be developed in combination with RTP, audio and video coding and other related technologies, to implement a complete client. Qutecom (formerly wengophone), an open-source network telephone, integrates technologies such as sip, RTP, and audio/video coding and decoding, and develops a simple and flexible platform in C/C ++, developers can easily use it to implement client software with audio/video and instant message transmission functions. Qutecom is developed based on QT, which can be easily transplanted to embedded Linux systems. Especially for VoIP intercom systems, the qutecom software interface is as follows:
Ii. Official qutecom website
Qutecom open source Official Website: http://www.qutecom.org/
As follows:
Iii. Introduction to sip and RTP protocols
3.1 sip Overview
SIP is an application control (signaling) protocol proposed by IETF [1]. As the name implies, it is used to initiate a session. It can be used to create, modify, and end multimedia session processes attended by multiple participants. Participants can communicate with each other through multicast, unicast, or network connection.
There are clients and servers in the SIP. A client is an application that establishes a connection with the server to send requests to the server. The user agent and proxy contain clients. A server is an application used to provide services and send responses to requests sent from a client. There are four types of basic servers:
- User proxy server: When a SIP request is received, it contacts the user and returns a response on behalf of the user.
- Proxy Server: A media program that initiates a request on behalf of other clients, acting as both a server and a client. Before forwarding a request, it can rewrite the content in the original request message.
- Redirect server: it receives the SIP request and maps the original address in the request to zero or multiple new addresses and returns them to the client.
- Registration server: it receives client registration requests to complete user address registration.
Using SIP has the following advantages:
① Easy to understand. The SIP protocol is text-based.
② It is relatively simple. The text of the SIP protocol (including SDP) is only over 100 pages, and there are few information types.
③ Good scalability. The SIP Protocol defines the require header field to flexibly expand various value-added services.
④ Good scalability. SIP supports multi-domain search and large networks
⑤ High efficiency. When a call is completed, the number of message streams of the SIP protocol is relatively small, so the execution efficiency is relatively high.
3.2 RTP Technology
Real-Time Transport Protocol (RTP) is a network protocol used to process multimedia data streams over the Internet. It can be used in one-to-one (unicast, unicast) scenarios) or you can transmit streaming media data in real time in a one-to-multiple (Multi-play) network environment. RTP usually uses UDP for multimedia data transmission, but other protocols such as TCP or ATM can be used if needed. The entire RTP protocol consists of two closely related parts: RTP data protocol and RTP control protocol. Real Time Streaming Protocol (RTSP) was first proposed by Real Networks and Netscape. It is based on RTP and RTCP, and its purpose is
Use an IP address to transmit multimedia data effectively. RTP is defined in RFC 1889. applications that use the RTP protocol run on RTP, while applications that execute RTP run on the UDP upper layer to use the UDP port number and check and. As shown in table 1, RTP can be seen as a child layer of the transport layer. Audio and TV data blocks generated by multimedia applications are encapsulated in the RTP information package. Each RTP information is encapsulated in the UDP message segment and then encapsulated in the IP data packet.
From the perspective of application developers, RTP execution programs can be considered as part of applications, because developers must integrate RTP into applications. On the sender end, developers must write the program that executes the RTP protocol to the application that creates the RTP information package, and then the application sends the RTP information package to the UDP socket
Interface), as shown in. Similarly, at the receiving end, the RTP information package is input to the application through the UDP interface, therefore, developers must write the program that executes the RTP protocol to the application that extracts media data from the RTP information package.
3.3 advantages of qutecom
Qutecom is a software that can call voice and video functions and Im instant communication functions between PCs. The communication part is based on the SIP protocol and implemented using the Open-Source SIP protocol stack Osip, the Open Source RTP protocol stack ortp is used for the transmission of audio and video streams based on the RTP protocol. Since qutecom is based on open-source projects and is itself open-source, it is easy for VoIP and Im developers to use it for reference to develop their own client software.
Qutecom has the following advantages:
- Based on the SIP protocol, it is flexible and easy to expand.
- It is based on open source and is committed to open source, providing a good platform for VoIP and Im developers.
- Cross-platform support for Windows and UNIX operating systems, saving the trouble of porting.
- Communication provides a convenient platform for developers to easily develop their own VOIP and IM client software.
- NAT traversal is taken into account and implemented through technologies such as stun and httptunnel.
Iv. Prospects for qutecom migration
In the future, we will consider porting qutecom to the embedded Linux system to verify whether it is feasible as a practical product. As the Open Source Linphone has been transplanted to the embedded Linux system in the early stage, it can also be fully run in Embedded Linux, and can be used as a good VOIP intercom system product.
Introduction to open-source VoIP Based on the SIP and RTP protocols-qutecom