Cause:
Recently solved a bug of "playing the ball". Why does it mean that he is playing the ball?
Because the IPA platform functions normally, and the ATCA platform has this bug, DSP experts from Finland say that their software is okay,
Then the weak party finds out what the problem is.
This is the t38 implementation that uses open-source libraries,
This is troublesome. It's time to get rid of open-source libraries that are not supported by anyone.
Finally, one day, I found out why the bug of this day has occurred,
DSP Problems
T38 introduction:
Fax is generally divided into two categories: T30 and t38.
The T30 is used on the PSTN, and the load is TDM.
T38 is used on VoIP, And the bearer is IP
The two types of services are different, but there is one thing in common: t38 is based on T30, that is, the T30 state machine is perfect for t38.
The overall scenario is as follows:
When literacy is over, let's talk about two important things in t38.
1. IFP package
Transfer a packet in an IP network, not as in TDM. It has a certain packet format, so this IFP is the t38 packet format, and IFP has a recovery mechanism, if you lose a package, you can find the lost package through this recovery, and the implementation of this mechanism is also very simple, that is, the IFP package contains the data part of the previous IFP package, the format is as follows:
00 01 |
01 |
02 |
00 |
01 |
01 |
01 |
SEQ number |
Data size |
Value |
Flag |
Number of Redundancy |
Size |
Data |
SEQ number: the serial number of the IFP package, generally starting from 0
Data size: Package Length
Value:
Flag: 00
Number of redundancy: number of redundant packets
Size: Length
2. Flowchart
PHASE DIAGRAM
Message Flowchart
You can also download the message graph of the entire t38 process in "My resources" and open it with Wireshark.
Http://download.csdn.net/detail/alajl/3664910
Spandsp:
Speaking of t38, I have to say that this spandsp doesn't have to be too powerful. It supports many users in communication, such as voice encoding and fax,
If you are interested, you can download it from http://www.sow.switch.org/downloads/spandsp /.
Then compile the deployment to debug it: http://www.soft-switch.org/installing-spandsp.html
Interested