0 Introduction
IP phones have been widely recognized by many consumers for their advantages such as low call rates, convenient integration and intelligence, and have thus had a huge impact on the long-distance and international telephone services of the original fixed-line operators. Therefore, with the direct access of Ethernet interfaces to households, it is very necessary to develop an IP phone with an RJ-45 Ethernet interface and direct connection to the Internet, which makes it more convenient to use. With this IP phone, users can directly dial the remote phone number, and the gatekeeper converts the dialed phone number into the IP address of the remote IP phone to establish a call connection. In fact, the new IP phone terminal can directly digitize the input voice signal and complete the real-time compression of the input voice signal according to certain voice compression coding algorithms such as G.728 or G.729, so that the bandwidth is reduced from 64kbps to 8kbps, thereby greatly improving the utilization rate of the channel. IP phone terminals usually follow the SIP (or H.323) protocol and realize the intercommunication between IP phones and ordinary phones through gateways.
1 IP Phone System Composition
The basic principle of IP telephone communication is to use digital communication technology to digitally compress and encode voice signals, then package them according to TCP/IP standards, and then send the data packets to the receiving location through the Internet. At the same time, these voice data packets are strung together at the receiving end. Then they are decoded and decompressed to restore them to the original voice signals, thereby achieving the purpose of transmitting voice over the Internet. The basic composition principle of IP telephone is shown in Figure 1.
IP phone system generally has four basic components, including IP Phone, Gateway, Multipoint Control Unit MCU (Multipoint Control Unit) and Gatekeeper. The IP Phone is the client terminal of IP phone, which is mostly in the form of hardware. It can be directly connected to the IP network for real-time voice or multimedia communication. The Gateway is the key device that provides PHONE-TO-PHONE voice communication through the IP network. It is the interface device between IP network and PSTN/ISDN/PRX network. The function of Multipoint Control Unit (MCU) is to realize multipoint communication by using IP network, so that IP phone can support one-to-many communication such as network conference. As for the Gatekeeper, sometimes also called Gatekeeper, it is mainly used to provide management of the endpoints and calls of the entire telephone system.
The main functions of the gatekeeper include address translation, call admission control, call management, and call authority. In the H. 323 recommendation, the gatekeeper is an optional part, but for the actual LAN IP telephone system, the gatekeeper is an important component. In this system, the gatekeeper is set up on a terminal with an IP address. The gatekeeper can uniformly register and manage the names and IP addresses of all terminal users, and pre-assign a virtual telephone number similar to a telephone extension to each terminal user for other terminal users to call. The calling user does not need to know the IP address of the called user's terminal, but only needs to enter the corresponding virtual telephone number or real name.
2 Hardware Design of IP Phone Standalone
IP phones are divided into receivers and callers. The end that initiates the call request is called the caller, and the other end is the receiver. Depending on different application scenarios, the caller and receiver can switch roles, that is, either party can initiate a call request. The caller initiates the call request and enters the receiver's IP address. After the two parties are successfully connected through the network, they can talk using a microphone and a handset.
The main work of IP calling is in the *stand-alone part. With the high development and maturity of ARM microprocessor technology, the design selects ARM9 microprocessor S3C2410 and μC/0S-II to build the platform to make the *stand-alone part. The basic working block diagram of the general stand-alone is shown in Figure 2.
[page]
In Figure 2, the CPU core module is a working core with CPU and memory. The microprocessor used is Samsung's S3C2410 (ARM920T), the Flash uses SST's SST39VFl60 NOR Flash, and the SDRAM uses hynix's HY57V641620HG; the Ethernet interface mainly helps the CPU to complete the reception and transmission of TCP/IP data packets. The RTL8019AS used in this design is a full-duplex plug-and-play Ethernet controller. It is compatible with RTL8019 control software and NE2000 8bit or 16bit transmission, and supports UTP, AUI, BNC and PNP automatic detection modes, and supports external flash memory read and write operations and full decoding of I/O port addresses. In addition, it also has LED indication function, and its interface complies with Ethernet2 and E802.3, 10Base5, 10Base2, 10BaseT and other standards.
The display module in the system uses an ordinary digital LCD, which is mainly used to display the telephone number and some working status of the machine; the keyboard module and EEPROM mainly provide network power
The dialing keypad of the telephone is used to complete the dialing and telephone function settings. EEPROM is mainly used to set and store system parameters. The voice module can use the UDA1341TS audio codec of Philips Semiconductor. In addition, the host computer interface in the system mainly completes the setting of some parameters and the reading of some recorded parameters.
3 System Software Design
The software work mainly includes three aspects: driver writing, task division and task writing. Since μC/OS-II basically does not provide API interface library or needs to be purchased separately, the main driver software that needs to be written in the system includes TCP/IP, LCD driver, EEPROM driver, keyboard driver, IO driver, USB driver and other programs. The writing of these driver programs generally has fixed patterns and routines. In general, IP phone software should include all the functions required to complete voice calls. The software can be divided into four parts according to the functions as shown in Figure 3.
3.1 Call processing module
The call processing module mainly completes the call establishment and removal functions. Call control can use the SIP protocol to establish a session. The call establishment process usually starts with a SIP terminal sending a call request to the local proxy server. The local proxy server queries the local redirect server to find the address of the next proxy server and forwards the call request to it. When the next proxy server receives the call request, it first searches for the proxy server of the called party's network through the redirect server, and then forwards the call request to the proxy server. After the proxy server of the called party's network determines the called terminal, it forwards the call request to the called terminal. Finally, the called terminal answers, thus achieving a connection.
3.2 Speech encoding/decoding module
Although the PCM coded data obtained by voice collection can provide good voice quality for long-distance communication, its rate is often too high, thus occupying too much network bandwidth resources. For this reason, it is generally necessary to further compress the voice data to reduce the rate of voice coding. In this way, correspondingly, the same decompression algorithm is required at the receiving end to restore the original voice data. To compile this part of the code, the current more mature voice coding and decoding algorithm can be used, and some improvements can be made to improve the quality of voice calls.
3.3 Data Packaging/Unpacking Module
The data packetization/unpacking software module mainly packs the compressed and encoded voice data, including adding a packet header, a time stamp and other information to form a voice packet. When receiving, the corresponding unpacking should be performed to extract the voice compression packet.
3.4 Data transmission module
This module mainly completes the sending and receiving of voice packets. Because the real-time transmission of audio data to the other party is the key to ensure real-time voice communication. Therefore, when considering reliability and real-time performance, more attention should be paid to speed and real-time performance. Therefore, when selecting a protocol, the UDP protocol can be used, and the corresponding datagram socket can be used when programming.
4 Conclusion
The IP telephone communication system is a telephone communication system composed of existing computer network resources. It does not require the laying of telephone lines and the purchase of telephone communication network equipment, so it can save a lot of equipment fees, line fees and engineering costs for building telephone networks. It can conveniently realize telephone communication without the need to lay telephone lines, increase telephone users, shorten the installation project cycle, improve the utilization rate of computer network resources, expand the popularity of telephones, and at the same time increase the amount of information transmission, thus having good social and economic benefits.
References:
[1]. SST datasheet http://www.dzsc.com/datasheet/SST_1180824.html.
[2]. HY57V641620HG datasheet http://www.dzsc.com/datasheet_390467.html.
[3]. RTL8019AS datasheet http://www.dzsc.com/datasheet/.html.
[4]. RTL8019 datasheet http://www.dzsc.com/datasheet/RTL8019_1063656.html.
[5]. BNC datasheet http://www.dzsc.com/datasheet/BNC_2319479.html.
Previous article:Application design of PWM music player based on STM32
Next article:Design of embedded infrared thermal imaging system based on Linux
Recommended ReadingLatest update time:2024-11-16 22:45
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- FPGA learning experience - matrix keyboard
- Welcome the moderator "天意无罪" to take office~~
- Task stack overflow detection mechanism in FreeRTOS
- GaN RF Circuits and Applications
- How to quickly learn to use a chip?
- Lei Jun lost the 1 billion bet with Dong Mingzhu. It seems that the typhoon still can't blow up the pigs.
- The pad is 0.3mm/center distance is 0.5mm and the wire cannot come out
- C2000 Code Generation Tools - Compiler
- The CC3200 LaunchPad crashed before I even got it warm?
- TMS320F28377S Study Notes 3 Building a fully portable CCS9.3 project