I'm using TD Waterhouse to buy stocks.They charge about $100 for one year.
You can go to TD Bank to apply for a TD Waterhouse account. Then you can buy stocks with telephone(use TD Waterhouse agents,$35(?) for one transaction(buy or sell)) or buy stock from web($29 per transaction).
There are a lot of financial institutes that can do the same thing.