Design and implementation of 3G-324M - an event-driven approach

3G-324M is a derivative of the ITU-T H.324 standard for low bit rate multimedia communication. H.324 and several mobile specific annexes are usually referred to as H.324M (M stands for mobile). Then the 3GPP adopted the H.324M with some modifications in codecs and error handling requirements to create the 3G-324M standard. So 3G-324M is an "umbrella standard" referencing other standards which specify mandatory and optional video and audio codecs, the messages to be used for call set-up, control and tear-down and the way that audio, video, control information and other data are multiplexed and demultiplexed. In order to support enhanced and delay sensitive video services, 3G video telephones as well as network equipment are required to support 3G-324M. In this article, we describe the design and implementation of 3G-324M protocol stack in detail. In order to implement this complicated protocol stack, we present an approach based on event-driven programming. We have achieved efficient implementations for both Intel Pentium processor and ARM processor, which prove the feasibility of our approach. The performance of our implementation is also satisfactory.