Problem to filter the response if an AT command

Good day all,

I actually have a problem which challenge me.....
I do have a SIM808 module.

I am send some AT command as AT+CIPGSMLOC=1,1 , it provide me an response

<--- +CIPGSMLOC: 0,6.143853,46.215862,2016/03/09,21:11:27

The problem I have is when I call my SIM808 module with ma smartphone.

When I call my module there is and RING response which does nor come from an AT command, then it confuse the response. Here is an exemple when my module is called exactely when AT+CIPGSMLOC=1,1 is sent

<--- RING

In fact, RING has replaced +CIPGSMLOC: 0,6.143853,46.215862,2016/03/09,21:11:27
and, of course, the command AT+CIPGSMLOC=1,1 return an error.

Is there way to filter unexpected response, when I am sending an AT command?

NB: In my code, I do have a part to detect if there is an incoming call. If there is an icoming call, my module pickup the call. Would have a way, to ignore/filter all RING response excepted, in that part which is dedicated to detected and pickup the incoming call?

Do see my problem?

Many thnak for yout help!!

I just would like to add, the echo mode is OFF.
IN the setup() function, I turned off the echo mode