320 likes | 494 Views
H.323 網路電話音訊監控 與錄製系統之研製 The Design and Implementation of Audio Monitoring and Recording System for H.323-based Internet Phone. Speaker : 黃威穎 Advisor : 柯開維 教授 Data : 2008 07/25. 1. Outline. Introduction Background Audio Recover System Framework Compare with Wireshark Conclusion Demo.
E N D
H.323網路電話音訊監控與錄製系統之研製The Design and Implementation of Audio Monitoring and Recording System for H.323-based Internet Phone Speaker : 黃威穎 Advisor : 柯開維 教授 Data : 2008 07/25 1
Outline • Introduction • Background • Audio Recover • System Framework • Compare with Wireshark • Conclusion • Demo 2
Introduction • VoIP has already been the killer application. • Requirement of the audio recording system. • VoIP protocol • H.323 • SIP (Session Initiation Protocol) • Transport protocol • RTP • RTCP 3
Background • H.323 • H.323 Related Software • H.323 Related Protocol • WinPcap • How to Build WAVE File 4
H.323 H.323 is a multimedia conferencing protocol, which includes audio, video, and data conferencing over packet-switched networks. Element of H.323 system Terminals Gatekeeper Multipoint Control Units (MCU) Gateway 5
H.323 Related Software OpenH323 An open source library for the development of applications using the H.323 protocol. GNU Gatekeeper (GUNGK) An open source project that implements an H.323 gatekeeper. Implement most of these functions based on the OpenH323 protocol stack. 8
H.323 Related Protocol Q,931/H.225 H.245 RTP 9
Q.931/H.225 • Q.931/H.225 call signaling is used to establish a H.323 call. • Q.931 Header Structure 10
H.245 H.245 is a control channel protocol and involves the line transmission of non-telephone signals. H.245 signaling is intended to be carried out in parallelto H.225 signaling. 11
RTP Header Structure • P : Padding • Ex : Extension • CSRC : contributing source identifiers count • M : Mark 13
Payload Type 14
WinPcap • An architecture for packet capture and network analysis for the Win32 platforms. 15
How to Build WAVE File • WAVE file format is a subset of RIFF (Resource Interchange File Format) specification. 16
WAVE file format • ByteRate = SampleRate * NumChannels * BitsPerSample / 8 • BlockAlign = NumChannels * BitsPerSample / 8 17
Audio Recover • Silence Suppression • Synchronization Problem 18
Silence Suppression Stop sending RTP packets during silent periods is known as "Silence Suppression". How to detect Silence Suppression? RTP mark bit RTP timestamp 19
Silence Suppression Handle 355920 - 355680 = 240 ((357120 – 355920) / 240) - 1 = 4 20
System Framework • System Environment of Network • System Structure • The Flow of Packet Handle • The Interface between RecDrv_h323.dll and RecApp.exe 22
The Interface between RecDrv_h323.dll and RecApp.exe Callback function void handleData(int channelID, int evtType, struct tm *timeStamp, string sourceAddr, string destinAddr, char* buff, int buffSize, int xtraInfo); H323 Packet Analysis interface int RDSysStart(callback _callback); //return: 1 means success, 0 means failure int RDSetChannelParams(int buffSize); //return: 1 means success, 0 means failure 26
The Interface between RecDrv_h323.dll and RecApp.exe int RDInitChannel(string IPAddr, int& channelID); //return: 1 means success, 0 means failure int ReleaseChannel(string IPAddr) //return: 1 means success, 0 means failure int GetDrvCap(char** drvInfo) //return the number of network interface card int StartpCap(int inum) //input the NIC number //return: 1 means success, 0 means failure int RDSysShutdown() //return: 1 means success, 0 means failure 27
Conclusion This research implements a system that provides H.323 audio phone analysis and audio recover. It can deal with silence suppression problem, asynchronization problem and multiple H.323 phone at the same time. 30
Future work Extend tp SIP or some famous protocols like skype, skinny(Cisco) Accommodate various audio codec, eg. GSM, ADPCM Monitor and recover the mulitpoint conference 31
Demo Other software OpenH323 Golasoft Packet Player Single phone call Multiple phone calls 64 phone calls 32