This archive (testbed.zip) contains the source codes of the testbed environments used in the Ph.D. thesis of
Tamas Jursonovics, "Enhanced Methods for IPTV Delivery over Wireless Networks", Ph.D. thesis, Budapest University of Technology and Economics, 2013
1 Elements of the testbed used for IPTV retransmission simulation
- Multicast Content Delivery Function (MCDF): c++ application (ser.cpp), a simple H.264 packetizer, generates UDP/RTP multicast traffic based on the RFC 6184  and implements a simple control protocol.
- Retransmission Server (RET): c++ application (ret.cpp), captures the multicast traffic in a circular buffer and implements a simple retransmission request protocol.
- Open IPTV terminal function (OITF): c++ application (cli.cpp), implements a simple multicast receiver and control functions of the Multicast Content Delivery Function and RET Server.
2 Elements of the testbed used for charging simulation
- Multicast Content Delivery Function (MCDF): c++ application (ser2.cpp), a simple H.264 packetizer, generates UDP/RTP multicast traffic based on the RFC 6184 and implements a simple control protocol.
- Open IPTV terminal function (OITF): c++ application (cli2.cpp), a simple UDP/RTP receiver which implements the basic client functionalities, streaming server control protocol and an internal jitter buffer. The application issues commands for the streaming server, receives the RTP/UDP stream. It continuously analyses the streaming flow and reports the loss pattern to the steaming server.
- Charging Gateway Function (CGF): script collection (mse.cpp, createtrace.sh, decompress.sh), It implements a basic charging gateway functionality. It correlates the Receiver Report files and based on the metadata description it estimates the quality of the streaming session (total distortion: D[.]) and creates the appropriate Charging Data Records incorporating the quality estimate.
- Billing Domain (BD): c++ application (chg.cpp), implements the quality based charging functions inclusive the quality based policy decision and creates the bill and discount for the streaming session.
3 Additional tools created
- Simple h264 NALU analyser (ana.cpp)
- Simple histogram calculator (hist.cpp)
The source codes of the implemented functions are available for downland on http://www.mcl.hu/~jursonovics