Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
Developer
VipulPathak
Posts: 81
Registered: ‎07-16-2008
My Device: Curve - 8320
Accepted Solution

Detecting "edge" and "EDGE" using the API ...

Any idea on, How to detect the state of Data connection "edge" and "EDGE" using the BlackBerry API ... ?

 

*(Vipul)() ;
Please use plain text.
BlackBerry Development Advisor (Retired)
mweitzel
Posts: 28
Registered: ‎07-14-2008
My Device: Not Specified

Re: Detecting "edge" and "EDGE" using the API ...

The easiest approach here would be to use the CoverageInfo class, with that you can check whether the device has got 'enough' coverage to communicate via the carrier and/or via a BES.
Please use plain text.
Developer
VipulPathak
Posts: 81
Registered: ‎07-16-2008
My Device: Curve - 8320

Re: Detecting "edge" and "EDGE" using the API ...

[ Edited ]

Thanks for the Reply mweitzel !   :-)

 

While the phone is showing 4 out of 5 bars as coverage and a small "edge" instead of capital, here is what the API is returning:

 

CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_CARRIER)  ===> true.

CoverageInfo.isCoverageSufficient(CoverageInfo.COVERAGE_MDS) ===> false

RadioInfo.isDataServiceOperational() ===> true

RadioInfo.isDataServiceSuspended() ===> false

RadioInfo.getNetworkService() ===> NETWORK_SERVICE_DATA, NETWORK_SERVICE_EDGE and NETWORK_SERVICE_VOICE.

 

The blackberry browser is displaying an error message "There is insufficient network coverage to process your request. Please try again later." when trying to open a URL: www.google.com.

 

This gives an indication that actually there is no Data coverage, that the Blackberry browser has detected, but we are getting confused due to the response from API.

Is there any way to correctly conclude on above ?

 

Message Edited by VipulPathak on 09-24-2008 06:06 PM
*(Vipul)() ;
Please use plain text.
BlackBerry Development Advisor (Retired)
mweitzel
Posts: 28
Registered: ‎07-14-2008
My Device: Not Specified

Re: Detecting "edge" and "EDGE" using the API ...

So maybe a bit of background that hopefully will clear up the 'confusion'. When the device (or rather the radion part) powers up it will go through different states which can be observed on the radio indicator from OFF > X (> SOS) > GSM > grps or edge or 3g > GRPS or EDGE or 3G. These different statuses indicate different coverage (and here we mean not the signal strength coverage, hence a lot of the confusion).

 

 

  1. The first status, OFF, indicates that the radio is switched off.
  2. The X signifies that the radio is switched on and scanning for a network.
  3. (The SOS indicator shows that the radio connected to a network but hasn't or couldn't authenticate with the network to use the network's services [happens typically when roaming onto a network that doesn't have a roaming agreement with your home network].)
  4. When the radio reaches the GSM status it has authenticated with the network and is allowed to use the GSM services.
  5. After that the radio typically reaches the gprs/edge/3g which signifies that the device is allowed to use the local data services of the network. Another point which often causes confusion is that this state is insufficient for BlackBerry communication with e.g. a BlackBerry Enterprise Server.
  6. Which brings us to the last status the long awaited GPRS/EDGE/3G. In order to reach this status the device has the register with the BlackBerry Infrastructure. This is the required status for BlackBerry communication.

So this should explain why you receive COVERAGE_CARRIER == true but COVARGE_MDS == false. It basically means that you can use the network's local data services (DirectTCP communication and WAP Gateway [if the WAP service book is on the device]) but you cannot use BlackBerry communication through a BlackBerry Enterprise Server.

 

Typically you can get this problem when you use a live BlackBerry device with a SIM card that doesn't have the BlackBerry service provisioned by the carrier that issued the SIM card. 

 

Please use plain text.
Developer
VipulPathak
Posts: 81
Registered: ‎07-16-2008
My Device: Curve - 8320

Re: Detecting "edge" and "EDGE" using the API ...

I agree with all that you explained.

 

The question is how to Detect that the Data services are not accessible, that same way "Blackberry Browser" is detecting ?

 

*(Vipul)() ;
Please use plain text.
BlackBerry Development Advisor (Retired)
mweitzel
Posts: 28
Registered: ‎07-14-2008
My Device: Not Specified

Re: Detecting "edge" and "EDGE" using the API ...

That's what I meant by using the CoverageInfo class, if you get COVERAGE_MDS == true then you've got 'enough coverage' to communicate through the associated BlackBerry Enterprise Server. For pro-/consumers you can use COVERAGE_BIS_B == true.
Please use plain text.
Developer
bwei
Posts: 26
Registered: ‎07-14-2008
My Device: Not Specified

Re: Detecting "edge" and "EDGE" using the API ...

Thanks mweitzel for the good information. 
Please use plain text.
Developer
VipulPathak
Posts: 81
Registered: ‎07-16-2008
My Device: Curve - 8320

Re: Detecting "edge" and "EDGE" using the API ...

But COVERAGE_MDS will return true only, when the device is Enterprise Activated. Otherwise no matter if the coverage indicator show "edge" or "EDGE", and the BlackBerry Browser is successfully opening Web pages, the COVERAGE_MDS will return false.

 

Can't we detect status of Data connection, irrespective of MDS ?   What if one is using BIS instead of BES connection ?

 

*(Vipul)() ;
Please use plain text.
Developer
VipulPathak
Posts: 81
Registered: ‎07-16-2008
My Device: Curve - 8320

Re: Detecting "edge" and "EDGE" using the API ...

OR better to ask conceptually-

 

When we use the term "Data Connection" does it implicitly or by defination refers to an MDS connectivity ?   Or it can be any Data connection including the one created by the browser ?   Can the device create a Data Connection while on GPRS or an EDGE is a must for it ?

 

*(Vipul)() ;
Please use plain text.
Developer
marchywka
Posts: 1,415
Registered: ‎07-30-2008
My Device: Not Specified

Re: Detecting "edge" and "EDGE" using the API ...

EDGE and 3G are wireless network technologies that relate to the RF and usage there of,

 

 http://isearch.etsi.org/3GPPSearch/isysquery/44034b8d-f175-4a95-9cb0-c7b13417753a/7/doc/

 http://www.3gpp.org/

MDS is a BB "thing" on the network that you could presumably hit just like a DNS server or myspace.

 

Does BB somehow determine how much BW or the connection technology before allowing access

to MDS?

 

Please use plain text.