Connection Manager: Null Proxy

Null Proxy

 

In CM_ProxyEntries CSP, a proxy entry has a “Type” characteristic:

· 0 for null proxies

· 1 for HTTP proxies

· 2 for WAP proxies

· 4 for SOCKS4 proxies

· 5 for SOCKS5 proxies

Notice Type 0 is for Null Proxy. What is a Null Proxy? A Null Proxy basically identifies two networks—the srcID and destID--that are essentially the same. For example, on a PPC phone emulator, you can see the following proxy entry:

 

<characteristic type="HTTP-{ADB0B001-10B5-3F39-27C6-9742E785FCD4}">

<parm name="SrcId" value="{ADB0B001-10B5-3F39-27C6-9742E785FCD4}"/>

<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}"/>

<parm name="Proxy" value=""/>

<parm name="Override" value=""/>

<parm name="Enable" value="1"/>

<parm name="Type" value="0"/>

<parm name="Username" value=""/>

<parm name="Password" value=""/>

<parm name="ExtraInfo" value=""/>

</characteristic>

 

This is a Null Proxy, who specifies a ‘hidden link’ between “My ISP” ( {ADB0B001-10B5-3F39-27C6-9742E785FCD4}) and the “Internet” GUID. This is to say everything to “My ISP” is destined to “Internet”. This is the default Null Proxy on PPC Phone.

 

Another entry:

 

<characteristic type="null-corp-{18AD9FBD-F716-ACB6-FD8A-1965DB95B814}">

<parm name="SrcId" value="{18AD9FBD-F716-ACB6-FD8A-1965DB95B814}"/>

<parm name="DestId" value="{A1182988-0D73-439E-87AD-2A5B369F808B}"/>

<parm name="Proxy" value=""/>

<parm name="Override" value=""/>

<parm name="Enable" value="1"/>

<parm name="Type" value="0"/>

<parm name="Username" value=""/>

<parm name="Password" value=""/>

<parm name="ExtraInfo" value=""/>

</characteristic>

 

This is a Null Proxy between “My Work Network” and the “Work” network.

 

On PPC Phone, a user will not see “Internet” and “Work” meta networks. Instead, UI will show “My ISP” and “My Work Network”. By default, Internally, Null Proxies are created to link “My ISP” to “Internet” and “My Work Network” to “Work”. PPC Phone UI allows user to configure which network (could be one of the two, or a new one created by the user or OEM) is going to connect to the Internet and which is to work (How confusing is that!). Once user changes the setting, the default Null Proxies will be updated automatically to link that selected network to either “Internet” or “Work”. All these settings are actually used to establish relationships between *networks* that can be those provisioned by default or by OEM.

 

For example, OEM can add a new network called “TMOBILE Network”, and Null-Proxy it to “Internet”. Then, OEM can add a GPRS connection that connects to “TMOBILE Network”. Thus, when an app is asking Connection Manager for a connection to “Internet”, this path—using GPRS to TMOBILE then to “Internet”—will be considered against other options such as WiFi or PPP, if any. There is a similar example in OEM doc “Add a Null Proxy connection example”.

 

On Smartphone, there is no “My ISP” or “My Work Network”. A user can directly specify *connections* that destine to “Internet” or “Work”.