Anybody help me understand the conference bridge code

I am trying to understand the conference bridge code.
Inside app_meetme.c, it seems that the zaptel module is the one for “codec mixer”. my questions are:
How does the zaptel do the audio bridge? does it use hardware or software based? does hardware required to make this functional?
I noticed in the frame.c there is function “ast_frame_slinear_sum” also doing same kind of thing (merge two audio together), why asterisk use a zaptel driver to do this?

The developers built meetme around the zaptel drivers and several functions of meetme only work on channels that are connected through direct Zap channels. All channels are converted to slin and then mixed together then played back out to the participants.

For a non-meetme option to do conferencing you should take a look at the app_conference code which does not require Zap hardware or a zaptel timer: … conference