You need a receiver in the phone that can phase track, which costs 50x as much as the simple GPS chip they fit.
You also need either a lot of storage locally or a fast data link between the base station and the rover - phones actually have both of these but they cost money
There's an opensource rtklib which supports a handful of inexpensive receivers: http://gpspp.sakura.ne.jp/rtklib/rtklib.htm