Setup: 7800DXL with a ZTE MF823 dongle in the USB port with a Three.co.uk SIM in it. Billion 7800DXL Firmware 2.32d.dh2
All computers/iPhones and xbox connect to the web and work perfect. Call Of Duty on XBOX does not like Strict NAT, and needs to be Open NAT.
Have setup a static IP for my xbox on the Billion LAN Ethernet Page, and have created a virtual server for each of the ports on the NAT Virtual Server page
(53 TCP/UDP; 80 TCP; 88 UDP; 500 UDP; 3074 TCP/UDP; 3544 UDP; 4500 UDP; 5901 UDP)
All Virtual servers have same setting:
Interface : 3G0/usb0
WAN IP : Left blank
Custom Service Name : xbox<port> (eg: xbox53)
Server IP Address : <Static IP Address of XBOX> (192.168.1.50)
Time Schedule: Always On
Exception Rule Group : None
External Port Start : 53 End: 53 Protocol TCP/UDP ; Protocol Number : <blank> Internal Port Start 53 end 53
I have disabled UPNP
On the ZTE MF823 I have enabled Port Mapping and added each of the ports and protocols above, setting the destination IP Address to be the IP it has assigned to the WAN port on the Billion, 192.168.0.104.
I have disabled UPNP on the ZTE also.
I think this should allow a port request to hit the ZTE, be forwarded to the Billion, hit the Billion and be forwarded to the XBOX. Effectively a double NAT.
I have done this same setup for my VNC connection back to my Mac to prove it works, and it works perfect (except the ZTE does not support dynamic DNS and I need to manually update dyndns with my external IP

When you boot up the XBOX and check the Network settings, it says Strict NAT. When you test Network, and Multiplayer, both come back working perfectly. Call Of Duty kicks doesn't like it, and needs it to be Open.
I've also tried putting the Billion in the DMZ from the ZTE.
Any suggestions welcomed.
Thanks.