Do you have phone line DSL? @ my old house I would get kicked when the phone rang. I had to have Wires replace in my house.
Does Halo 3 say 'NAT is not open'? If that is the case. Type 192.168.0.1 or 192.168.1.1 in your internet address bar and go to advanced settings, turn on DMZ Hosting and enter the IP address set on your Xbox (System settings, Networking Settings, Configure Network, and under IP Settings: Automatic should be your IP address.) Restart the router and you should be finished.
Hope this works for you.