Some time ago I bought and old, rotary dial phone. It was manufactured back in the 1960's in Poland. Unfortunately device was already cannibalized by one of the previous owners. More than half of it's internal parts were missing, so there was no point in bringing it up to the original state. Luckily ebonite case remained intact.
I could simply use it as nice, retro room decoration, but I decided to bring device back to life instead. I utilized Motorola D15 GSM module, disassembled from retired alarm system (it was only cellular module I had in my disposition back then, now I would use SIM900 instead). I used Atmega 328 to interface between old phone hardware and modern day electronics of GSM module. It was quite simple task to read state of a rotary dial pad. Using original, polarized bell was a trickier part. I had to rewind it to work with low voltages, and then drive it by half-H bridge.
Phone have its own battery, so it is fully mobile. You can recharge it with standard mini USB charger. On the top of the device I mounted indicator with two LEDs: green and red. First one is lightened if cellular signal is detected after picking up the heaset and blinks during incoming call. Red LED indicates charging process.
I used Atmega's PWM mechanism to generate dialtone signal and clicking sound of pulse dialing.
Unfortunately there is a little bug in my design. D15 GSM module doesn't have differential audio interface, so GSM "clicking" may be heard during phone call. Probably I will fix it in the next version of this project.