Welcome!
PSTN = public switched telephone network, aka the normal phone system. PSTN line is your analog line
TDM400P is a Digium product. It is a 4-port modular card for connecting * to analog phones. It takes up to 4 modules, each module enables a port as FXO (red module, connects to phone line and lets * dial out) or FXS (green module, connects to analog phone(s) and they become an extension). A good way to remember FXO vs FXS is that FXS Serves the phone with power and dialtone. And yes these are RJ11 jacks, the difference is wether phone service goes TO them or comes FROM them.
LOL Trixbox isn’t edible, although i am sure some have tried…
Trixbox = Formerly known as Asterisk@Home, it’s a standalone Asterisk-based linux distribution. When installed on a machine it turns the machine into a full-featured *-based PBX very quickly. Also installs Asterisk Management Portal (AMP) now known (as I recall) as FreePBX, so you manage the thing via a web interface rather than command line and config files.
Now-
First, yes you can do all of these in the same box. As a general rule, Asterisk can take any call on any type of channel, do anything to it, and then spit it out again on any other type of channel. MusicOnHold is a part of Asterisk, just set it up and feed it some MP3s. You’d generally want to install asterisk-addons and set the MOH mode to be ‘files’.
Second, each analog line can only have ONE phone call. If you have some kind of call transfer service from your telco you might be able to make * use it with a bit of creative scripting but otherwise you need a second line, one to call in one to call out. Each line will require one FXO port.
Third- look into VoIP phone service. NOT VONAGE or packet8- these services are ‘locked’ so you must use the provider’s ATA (analog telephony adapter, the little adapter gadget they ship you). You need a provider that supports BYOD (bring your own device), a BYOD provider will (if you ask) just give you the SIP information. This can then be plugged into * and * will connect directly to the provider over the Internet. This is a preferable way to connect because you don’t need to buy hardware and also each VoIP account usually includes two channels, so you could do the call in call out thing. But it wouldn’t be needed, as most VoIP providers have a feature called simul-ring, so when you call the VoIP number it also sends the call to your cell phone for example. Whoever answers first (* or your cell) gets the call.
So the two ways of doing it-
VoIP provider with simulring- caller calls voip provider, voip provider calls * and cell. Whoever answers first gets it, but if the cell gets it * is not involved.
VoIP provider or two landlines with *- caller calls and hits *, which then calls your internal extensions and also out to your cell. whoever answers first gets it but the call goes through * either way.
As for if you want * or trixbox, that depends. If you just want to make it work fast, Trixbox or the newly released AsteriskNOW are your answer. If you want to learn about * you should NOT install those, as the ‘candy coated GUI’ prevents you from ever learning how the config files work (IMHO). Don’t get me wrong asterisk has a steep learning curve but once you get it you can do some amazing stuff.
Lastly think about your internal phones and how they will work. Things like musiconhold, or transferring between extensions only work if Asterisk HAS extensions to transfer between. Thus you will need at least one FXS port to connect your house phones to. If you put the * box near where the phone line comes into your place (or run extensions from that), plug the line into an FXO port and the extensions into an FXS port. Preferably plug each extension into its own FXS port, so they can be individually addressed. If you only have one port then people can ‘pick up on’ each other, whereas if you have each exten on its own port, then the 2nd person to pick up can dial out on line2 for example.
However i recommend IP phones for your internal extensions. They will be a bit more expensive usually but they are better IMHO because you get buttons like TRANSFER, CONFERENCE, HOLD etc instead of having to use hookflashes and star codes. For low end IP phones check out the Grandstream BT200 (not the BT1xx as they lack auto-hangup and intercom). For higher end, use SNOM or AAstra.
Hope that all helps!