There are currently (to my knowledge) two working open-source/free-software implementations of the GSM stack.<p>OpenBTS (<a href="http://openbts.sourceforge.net/" rel="nofollow">http://openbts.sourceforge.net/</a>) puts everything, beginning at the modulation/demodulation of the radio-frequency, into your PC and uses a USRP (<a href="http://www.ettus.com/products" rel="nofollow">http://www.ettus.com/products</a>) as the radio-frequency frontend (~$2000).<p>OpenBSC (<a href="http://openbsc.gnumonks.org" rel="nofollow">http://openbsc.gnumonks.org</a>) uses a different approach and starts implementing at the Abis-interface, which is what the Base Transceiver Station (the thing with the antennae...) connects to. Here you don't need the USRP but a surplus GSM BTS (currently around or a little less than $500/€500 and the necessary E1-interface (for the Abis-link) is $200/€200, afaik). OpenBSC has been successfully tested at <a href="https://wiki.har2009.org/page/GSM" rel="nofollow">https://wiki.har2009.org/page/GSM</a> and <a href="http://events.ccc.de/congress/2009/wiki/GSM" rel="nofollow">http://events.ccc.de/congress/2009/wiki/GSM</a> using officially allocated frequencies.