We are using a PIC18F67J11 connected to a cinterion MC55i. We currently use the modem to make numerous HTTP requests and FTP for uploading data and downloading settings and new firmware. We now need to integrate voice into the application and have the following problem;

Unsolicted Result Codes (URC) sent from the modem (such as from an incoming voice call) can present themselves at any time during comms with the modem. This is obviously bad for us as it corrupts the data.

The following link http://embeddedfreak.wordpress.com/2...es-at-command/ gives recommendations to make sure that you get a response to your AT command before the URC is sent from the modem, but what if the modem sends the URC while reading/writing a block of data to the modem? How is this handled in a real world application with simulatneous voice/data?