Google
 

Sprint Finally Opens Up Their LBS API (Sort Of)

February 24, 2007 – 8:30 pm

(This is a follow on two earlier posts about lack of access by small businesses to the Sprint LBS API)

Sprint finally allows access to their LBS API via a new “Professional Developer Program”. The catch - a fee of $1,295 for the first two applications, and the same for every two applications there after.

No Access to Sprint LBS API for Small Companies

April 18, 2006 – 4:28 pm

(This is a followup on an earlier post about availability of GPS info on Sprint PCS’s CDMA network)

Recently I had a short email exchange with someone at Sprint about obtaining access to their LBS information for the use in my company’s products. My company targets a small vertical niche market and the reply from Sprint was basically along the lines of “we don’t deal with small fish”. This is a very unfortunate fact since it now seems that the mobile world is the last place where restrictions are put on users and developers solely for commercial gain - unlike the rest of the Internet. In any case, you can judge their reply for yourself:

The situation is this. Using the location capabilities on the CDMA platform requires partnership with Sprint. The economics of the underlying platform are such that access to the platform needs to be controlled and used by firms with compelling applications and offers which would appeal to a large number of potential customers. At the present time, the Business Solutions group is not accepting new partners, but plans to begin considering new applications in Q3 2006.We are in the process of coming up with some new business models which would open up this platform to developers such as yourselves who target more limited groups of customers. Unfortunately, those processes are not yet in place and will take some time to develop.

More on GPS on SprintPCS

February 7, 2006 – 1:34 pm

Over a year after I posted an application to obtain the IP addresses of Sprint’s GPS servers, I finally received that information in the form of three IP addresses. The first is an E-911 server, while the other two are regular GPS servers. Two of them came from someone who is working on GPS applications on Sprint, while the third was extracted by someone from Garmin’s GPS application for Sprint phones.

The interesting part is that now that I actually have the addressess, there isn’t much I can do with them. I tried sending raw IS-801 packets, wrapped IS-801 packets, the special Qualcomm MS-MPC packets, and even HTTP requests. The servers in questions just close the connection without returning any data.

GPS now available on SprintPCS

September 3, 2005 – 10:42 pm

(TO VIEW ALL RELATED POSTS, use the “sprintlbs” category below)

(This is a followup to previous two posts (#1 and #2).

According to multiple sources in the Sprint developer forums and other places, Sprint PCS now allows access to the GPS information in their phones. In order to access it, you need to be using an MIDP 2.0 phone (Sanyo MM-5600, Sanyo MM-7400 or Sanyo MM-8300) and sign your application with a Verisign Java Class 3 certificate. There is also some permissions stuff which I don’t have on me right now. For the interested parties, Garmin has a working application.

Current Status of GPS Support for SprintPCS Network

April 21, 2005 – 5:10 pm

(TO VIEW ALL RELATED POSTS, use the “sprintlbs” category below)

(This is a followup to an earlier post. Please see this followup post as well).

Currently according to SprintPCS documentation, two separate APIs are available for accessing GPS information on cell phones. The first API is the Qualcomm’s Location API which is available on MIDP 2.0 phones only (with exception of Treo 600 and 650). The following MIDP 2.0 phones should have it:

Sanyo MM-5600
Samsung MM-A700
Sanyo MM-7400
Samsung IP-A790

In order for the API to be enabled, you must either enable the developer root on those phones (see previous post) OR digitially sign your midlet with a Verisign-issued digital certificate (and pay $400 for it). I have not seen any sucessful reports for either working but you are more than welcome to try my testing midlet.

The second API - the Spint Mobility Framework is a web service accessiable from anywhere on the Internet and not just a cell phone. It is currently available for testing only with no timeline for production access.

Feel free to email me with questions to blog /at/ shaftek [.] org.

UPDATE: The source posted was out of date, correct source uploaded.

Getting Location Information on Sprint PCS Cellphones

October 5, 2004 – 6:30 pm

(TO VIEW ALL RELATED POSTS, use the “sprintlbs” category below)

(Please see followup posts: #1 and #2)

DISCLAIMER: I have not tried any of this, so don’t blame me :)

For quite some time commercial cell phone carriers have been building in location based services (LBS) in comply with the E911 initiative. Unfortunatly, most carriers with exception of Nextel have not been making this information available for developers. After doing some research today, I think that for Sprint PCS this information is beginning to be available, albeit not publicized.

For a few years developers have been complaining to Sprint about lack of LBS support. If one goes through the developer forums at Sprint, it is full of nasty comments on lack of LBS support. However at the same time, Sprint has begun to offer two options for using LBS, but not making it very public yet:

1. J2ME / MIDP 2.0.
For phones that have MIDP 2.0, LBS services are available but restricted. All together four APIs are listed as restricted on Sprint’s developer site (go to “Market”, “Device Activation”). They are “LBS: Location Based Services”, “JSR-135 Mobile Media 1.1 API”, “JSR-120 Wireless Messaging 1.1 API” and “JSR-75 Personal information Management (PIM)”. To bypass the restriction two options are possible: either a $400 digital certificate from VeriSign OR disabling the restriction on specific phones via the developer site. The assumption is that if you manage to bypass the restrictions, the LBS API is open. Unfortunatly, on my Treo 600 this is not an option since PalmOne or IBM does not ship these APIs with their JVM. Hopefully when Sprint launches “Vision 2.0″ AKA MIDP 2.0, these will become available.

After browsing through Sprint PCS’s J2ME toolkit for MIDP 2.0, I came across the actual APIs that are used for this. Instead of using any of the proposed JSR APIs, Sprint chose to use Qualcomm’s Java Application Extensions (QJAE). Sprint’s toolkit does not include the actual API, but the documentation can be downloaded from Qualcomm’s site after filling in a licensing form. It includes one package called “com.qualcomm.qloc.gps” which contains the actual APIs for GPS. Sprint’s toolkit actually includes all of the GPS compiled class files in the “Emulator/lib/midp.zip” folder and the GPS simulator in “Emulator/bin/traveler”. Assuming you got around the restrictions mentioned above by deactiving your phone through the developer site, this API should be available. Make sure to check that your phone is MIDP 2.0 compliant.

2. Business Mobility Framework.
Sprint has also posted information on their developer site about the “Sprint Business Mobility Framework” (under “Developer Resources”). This framework is a set of web services that can be called with the phone number of a Sprint PCS subscriber and return location information. Of course, in order to do so access to the gateway is needed and that is something that only Sprint PCS can provide. Combine this with the web services kit for J2ME that IBM is working on, and it might be possible to use these directly from the phone.

UPDATE: If you will lucky enough, you can try out this small J2ME GPS testing utility I wrote. Another possible try is to press ##4771 (##GPS1) on your phone.

UPDATE #2: There was a small error in the GPS application. That has been fixed.

UPDATE #2: After getting an email from someone, I want to clarify the situation with the JVM provided by PalmOne for Treo handhelds. Yes, the JVM is MIDP v2.0 which should support GPS. However, running my testing program results in an exception “com.qualcomm.qjae.gps.GpsEventListener not found”. The reason for that is that PalmOne DOES NOT bundle the GPS classes with their JVM. I ran JAD on the classes included with the Sprint PCS emulator and found out that they require a native implementation OR an IP address of the a server on Sprint’s network. I suspect that most handhelds that DO support GPS come with the bundled native implementation. HOWEVER, if an IP address of the GPS server is obtained, then it would trivial to bundle the GPS classes from the emulator and use the API to manually set the IP address of the server.

UPDATE #3: Here is the source.