Establishing Connections through the Connection Manager

[Details for post Windows Mobile Connection Manager]

To calculate the optimal path for a connection the Connection Manager evaluates several criteria, including the work exceptions, and establishes the best connection solution. However, if a connection is already active, criteria are not re-evaluated for the connection; the criteria are reevaluated only when the connection becomes inactive and is requested again.

To make RAS and VPN connections easier, Connection Manager checks work exceptions created by the user when it encounters a connection request for a fully qualified domain name (FQDN). If a work exception is set for the FQDN, then a work connection (RAS or VPN) is used. If a work exception is not set, then Connection Manager uses an Internet connection.

Note: The Connection Manager does not automatically switch to a different type of connection if the connection that was active fails during the evaluation of connection criteria. For example, if the Smartphone is using a packet connection and it also has a configuration for a circuit switched Internet connection, the Smartphone does not automatically switch to the circuit switched connection if the packet network fails during a packet Internet connection.

The connection criteria evaluated by the Connection Manager are as follows:

  1. Is a preferred connection set?
    If a preferred connection is set for a particular network destination, the preferred connection is attempted.

  2. Is a pass-through connection available through a desktop computer?
    If a pass-through connection is available through a desktop computer, the Smartphone activates the connection to the network or to the Internet through the desktop computer that it is connected to.

  3. Is the Smartphone configured for connection to a packet network?
    Is the device configured for a packet network with no dial-up options present?
    If the device is connected to and configured for a packet network, the packet network connection is activated. If the device has no dial-up options and is configured for a packet network, a packet network connection is activated regardless of the connection status. If the request is for a corporate connection and if a virtual private network (VPN) entry exists, the VPN connection is attempted after the packet network connection is activated.

  4. Is a direct dial-up entry available?
    If a direct dial-up entry to the Internet or to the corporate network is available, the dial-up connection is attempted.

  5. Are VPN and Internet dial-up options available?
    For a corporate connection request, if an Internet dial-up option and a VPN option exist, the dial-up connection is activated, followed by the VPN connection.

  6. Is there no path to the destination?
    If none of the previous conditions can be fulfilled, the Connection Manager returns an error to the program, indicating that the connection request cannot be completed. Each program should display an error message to the user.

When a connection is active, all programs that have requested that connection are notified that the connection has been activated. For example, if some programs request an Internet connection, those programs are notified when the connection is available, regardless of which program triggered the connection.

Connection Scenarios
The Connection Manager is designed to handle any data connection request and implement a connection path that includes several steps and a variety of connection types. Data connection types supported by the Smartphone include:

  • Direct corporate connection
  • Direct Internet connection
  • Tunneled corporate connection
  • Proxy Internet connection
  • Proxy Internet from tunneled corporate connection

When a connection error occurs, the error is reported back to the Microsoft Windows for Smartphone operating system to be displayed to the user. If multiple errors occur during a connection activation attempt.for example, if the Connection Manager tries several remote access numbers and different errors occur for each one.only the most recent error is displayed.