Voice is supported in an ATM network via circuit emulation, via circuit switching, or as data.
Circuit emulation is a migration path supporting emulation of Tl-style WAN circuits. In general many voice circuits are mapped to a single ATM PVC. Voice compression, network echo cancellation, and silence suppression mechanisms may be added as enhancements for bandwidth efficiency.
Optimal support of voice would map traditional 64 kbps voice circuits dynamically to ATM circuits (SVC's).
We also note that voice is supported on IP platforms as data. Some of the same coding, compression, and echo cancellation techniques are applied here as in the circuit emulation case. Video is supported as realtime, non-realtime, and as data. Realtime video applications include video conferencing and live video broadcasts. Support of realtime video levies strict delay requirements on the ATM network (actually strict delay variation -or jitter - requirements).
Non-realtime video applications such as video-on-demand use application level techniques - namely buffering - to account for inconsistent delays encountered during transit through the ATM network. Thus, the ATM network need not be responsible for ensuring low delay variation requirements (at least not as strictly as in the realtime case.
Video over ATM is a bit more complicated discussion than voice since video terminals are actually audio/visual terminals - that is, voice and video are related and must be kept synchronized.
The illustration above is a simple representation of a broadband (ATM) video terminal (H.310 in ITU jargon).
The idea with supporting data over ATM is that you need a migration path since data applications are tied very much to platforms, operating systems (OS's), application programming interfaces (API's), and protocol stacks (e.g., IP, IPX, Appletalk).
First, software shims are added around low layer API's (close to device drivers - the effect is hiding ATM from existing applications and protocols (users).
Next, low layer and higher layer API's are enhanced to incorporate software shim function and to expose ATM features to existing stacks.
Finally, a new stack and new data applications emerge - all of which are ATM-aware.