If you are using transitions and timers in your game then the only way to pause it is recording the time elapsed of the transition in order pause the movements *cancel transition via transition.cancel* and resume by creating another transition instance but using the time elapsed that you have recorded. BUT if you have time to modify some part of the code you can use this library to pause and resume transitions easily.
http://developer.coronalabs.com/code/pausable-timers-and-transitions-speed-adjustment
By the way you can pause timers using its handle:
timerHandle = timer.performWIthDelay(interval, function, times)
timer.pause(timerHandle)
timer.resume(timerHandle)
another thing is adding a 1 If condition in your top most part of your functions that are needed to execute movements:
local function someFunction() if gameStatus == "started" then "Execute Code" elseif gameStatus == "paused" then "Pause Code" end end
Also if you are using physics you should do physics.pause() and start it again on resume.
This is all I can say. This is how I implemented pause and resume sessions in my game.
=)