I suppose that serin is slow in response and your phone answers too early to wait for the 'ok'.

Solutions:

1. Use Hserin that has also 2 bytes buffer, or

2. Use numeric response from the phone (ATV0). That way you only have to wait for the 0 but for OK or 4 for error etc.

I 'd use Hserin though.

Ioannis