your hardware is fine for a small install.
I usually recommend PCI cards unless you have a great many ports as they are easier to configure- just setup zaptel and *, not SIP and * and the ATA.
ATAs however are cheaper. You could say they are more versatile as you can mount them anywhere shrug. I dunno, matter of preference i guess.
service providers- viatalk and broadvoice if you want lines. if you want wholesale (DIDs/minutes separately) try voicepulse connect.
i assume you mean DID is incoming, SIP provider is outgoing, and Service is a vonage-type system that provides both (aka a line). See above. What you buy depends on what you need, but to put it simply yes if you have both minutes and a DID then you don’t need a line.
As for reusing this is not a problem. Just about all of the voip stuff you will buy (with the exception of a locked VoIP service like Vonage, which I would recommend against in any situation) is general purpose and can be reused as needed. I would however put some thought into which model IP phones you get as it is usually preferable to use the same model throughout your house/business. SNOM, AAstra and Grandstream all work well and are popular with * users.
Fax- it may work or it may not. It depends on many factors including but not limited to your VoIP service, your ISP, your VoIP configuration, your fax machine, what sign you were born under, the pollen count on the south side of Denver, how often you empty your trash, etc etc. It’s generally possible to get faxing to work at least decently well however some people just can’t make it work and some people never have problems. Give it a shot.
For connecting your fax you might consider an ATA that supports T.38… asterisk does not currently support T.38 but the next version (1.4) will at least pass it through correctly between an ATA and a service.
T.38 is a protocol for faxing through VoIP. Currently you must use ulaw or alaw codec, and the fax tones are transmitted as audio over the link. This makes the whole thing very sensitive to jitter. T.38 allows each end (ATA and service) to demodulate the fax tones and transmit them as real data across the VoIP link. This makes faxing more reliable as it is not prone to errors caused by jitter or audio issues.
You can also have * act as a fax machine, sending the fax to you by email or printing to a network printer. There are a few ways to do this.
Almost all providers now offer 911 if not e911 service. Just make sure asterisk will route the 911 call to the provider.
And lastly yes you can run * on your primary linux box without issues.
Many will disagree with me on this but IMHO trixbox is a bad way to learn *. It is like saying Mac OSX is an easy way to learn Unix. Trixbox is a great system but that is what it is designd to be- not a stepping stone. It doesn’t much expose you to the core of * / the config files, and when you do try to step in to the files and CLI you then have to muck through pages of stuff that makes all the Trixbox features work (including the ones you dont use).
Case in point- When * (not trix) gets a call via SIP, it will (no sip debug) spit out 3-4 lines of stuff about the call and then one line for each dialplan entry as it goes through your script.
When Trixbox gets a call (at least as of when I last saw it) you get about a page of CLI output- and that’s just from the call coming in. Going through the dialplan generates more. This is because of all the tweaks Trix applies- it checks all kinds of conditionals (does this line have forwarding? is telemarketer block on / is this number blocked? Should I reset the caller id? etc etc). This can make it harder for a newbie to learn.
My suggestion would be load up * on your Linux box and start from there. Dump 90% of the config files and start making some simple contexts and stuff to understand the syntax. Also read the book (see sticky at the top of this forum). That IMHO is far better than Trixbox. It’s hard- I learned this way and was stuck for a good long time. But it’s worth it because you learn it better.
But as I said, this is subjective and YMMV. Good luck and have fun!