[General Topics] Menneisyys:
1.3 Port forwarding issues, running server-side / like apps

With a decent mobile operator (about 20-30% of them are like so; for example, in the UK – see this), which doesn’t use a proxied (“hidden”) networking approach but assigns the connecting client device a “real”, unique, connectable-from-the-outside-world Internet address, you can use so-called “server-side” applications. Don’t be afraid of this, this isn’t geeky stuff: these include absolutely common programs; for example, FTP clients (with non-passive FTP transfers), IRC applications (DCC send from a device only works with server-like devices), RealOne stream playing, incoming remote controller (Pocket Controller, VNC etc) connections etc. Using (or at least trying to use) these are all very common with non-geeks too.

(Please also see this and this for more info on these questions. I also recommend this for a list of what I mean by “server-like” applications on Pocket PC’s – there are quite a few of them which are REALLY useful even on PPC’s, let alone PC’s.)

This means eliminating server-like functionality support on a PC (or even a Pocket PC) connected to the Net via a PPC PE device certainly isn’t welcome. Therefore, it’s a very important question whether a connected Windows Mobile phone forwards all the incoming requests to the connected client, as was the case in pre-AKU3 times.

While Internet Sharing (that is, the new program that makes it possible to share mobile connections with BT PAN clients) doesn’t offer any kind of configurable port forwarding capabilities, unlike the built-in Windows XP Internet Connection Sharing (ICS) I’ve elaborated on several of my ICS-related articles, Microsoft – very wisely! – has paid special attention to properly implement this functionality.

When an AKU3 device shares its Internet connection (over USB, BT PAN and infrared if the given phone has the Wireless Modem / WModem applet), it puts the client to a DMZ (“DeMilitarized Zone”). Then, all incoming requests will be forwarded to the client. I’ve tested this with both playing RealOne streams over GPRS (on a client Pocket PC) and sending DCC files on IRC from client Pocket PC’s and desktop XP’s (to test the USB connection with the latter).

Note that when internet sharing is active, you won’t have server functionality on the phone itself, “only” on the connected client. This is much smaller a problem than the complete lack of using a DMZ (if Microsoft hadn’t implemented port forwarding via using DMZ); with the lack of DMZ’s, no server functionality would be accessible on the client at all. Of course, when you disconnect the client from internet sharing, on the phone, you will be able to use server-side functionality (listening to RealOne streams etc) again. It’s only when Internet Sharing is actively sharing the connection that all incoming connections are auto-forwarded to the client that uses the phone as a modem.

I’ve also tested the DMZ in “leaked” (XDA-Developers) ROM versions (for the Himalaya, Wizard and Universal – click the links for more info). DMZ works with them too via both USB and BT PAN.

1.4 Convenience issues because of the changes in the Bluetooth networking approach

In addition to the above-explained difference in using Windows Mobile-based phones as modems to access the Net, there are some new convenience issues you must be aware of when using AKU3 via Bluetooth (but not via infrared / USB ). These can be pretty annoying if you’ve always liked the “you don’t need to touch the modem at all when you want to dial in to the Internet” in operating system versions prior to AKU3.

Every cloud has a silver lining, though. In some respects, the new, AKU3 connection model is far easier to use through USB. I’ll elaborate on this in the last subsection.

1.4.1 BT convenience issue one: Firing up Network Sharing on the phone

First, let’s have a look at how the old model (prior to AKU3) supported dialing in the Internet via Bluetooth.

When the PPC PE device is used through the standard (pre-AKU3.0) DUN profile, you don’t need to do anything to the PPC. You only start dialing on the client device and it just connects to the Net. (Of course, if you use it via USB or infrared, you must explicitly enable these modes on the Pocket PC in either Modem Link or Wireless Modem, if the latter exists.)

With the new model and the new Internet Sharing, however, the situation is vastly different (again, only when using Bluetooth - with USB / infrared, the situation remained the same as has been before.) You must power on the PDA, fire up Internet Sharing and start the connection by clicking “Connect”. This means a LOT of additional, manual powering up / clicking you didn’t need to do in pre-AKU 3.0 times.

Unfortunately, you must repeat this (power on the phone, go to Internet Sharing and click Connect) every time you’d like to reconnect to the Net on your notebook or other (PAN-compatible) Bluetooth client devices. That is, the “Connected” state changes to an unconnected one as soon as you disconnect the client. In this respect (too), the new model is a bit more inconvenient to use than the old DUN-based one.

1.4.2 BT convenience issue two: Excess clicking needed on the client that uses an AKU3 Windows Mobile via Bluetooth

As BT PAN connections are not treated the same way as BT DUN connections, on clients that use BT PAN to connect to the Net, you

•	generally need more clicks to establish the connection, let it be either the desktop Windows or Windows Mobile clients. (Under mobile/desktop Linux clients, in general, you don’t need more clicks.)

•	can’t rely on the auto-connect features of the operating systems under desktop and mobile Windows client OS’es. (Unlike under mobile/desktop Linux.)

For example, on desktop Windows, instead of either relying on the auto-connection OR just putting a dial-up link on your desktop (one double-click to start it and, then, just a single click on Dial ), you must (with Widcomm-based clients) click the My Bluetooth Places icon, then, the Entire Bluetooth Neighborhood icon, then, the given device and, finally, the BT PAN icon for the BT PAN connection to be established. (All clicks must be double-clicks!)

(A quick tip: you can reduce the number of clicks needed to fire up the Net connection. To do this, start up Explorer, go to My Bluetooth Places / Entire Bluetooth Neighborhood / the given device and right-click the BT PAN icon; select “Create shortcut”. It will be created – not on the desktop but under My Bluetooth Places. Now, if you just double-click My Bluetooth Places on your desktop, you’ll be able to double-click the new shortcut icon in there as can be seen in here.)

On (Widcomm-based) Windows Mobile clients, you must click the Bluetooth icon on the Today screen, click Bluetooth Manager and double-click the BT PAN icon of the given modem. All this instead of, say, just relying on the auto-connect feature of “real” BT DUN connections. Pretty annoying, eh?

1.4.3 The good: USB is more convenient than before!

In pre-AKU3 operating systems, you must

install the USB modem driver for the phone (and hunt for it if you don’t have it – for your convenience, I’ve mirrored it, along with the HTC dialer app, here should you ever need it) upon the first connection. This is unlike with the pre-AKU3 case, where you must supply USBMDM.INF to it when it prompts for a “Generic Serial” device. In AKU3, upon the first connection, the “Windows Mobile-based Internet Sharing Device” USB driver will be automatically installed by Windows XP

Note that, for this to work, you'll need the latest, 4.5beta2 ActiveSync on your desktop. With earlier AS versions (I've tested this with version 4.1 - it prompted me for the driver for "PocketPC USB Sync"), the driver isn't included (and the Windows auto-update database doesn't contain it either).

the same stands for the HTC dialer (USBModem_Dialer.exe) – you won’t need it at all in AKU3, unlike in previous OS versions. Upon firing up Internet Sharing, starting the USB mode and connecting the USB cable, the client desktop PC will automatically notice the new network. No desktop-side clicking is necessary.

That is, the new, USB-based connectivity schema is far better and more covenient than the old one.