You'll have to parse the line you read. You could do it a character at a time, or if the format is fairly fixed, you can look for field delimiters in the string. I don't remember names of VB functions, so your code will look something like:
That should get you what you want, but I doubt I've got the function names right. If the fields were very reliably delimited, you may be able to strip off the first and last quote and 'split' the string on '","' - that's the way I'd do it in Java. If the format isn't very consistent, you've no choice but to make some good guesses (like by hunting the quotes in the code above), and extracting the data by ranges. You should carefully validate data you get this way, just in case you've made a bad assumption in your guesses.
lineFromPhone = readPhone();
if (left$(lineFromPhone, 6) == "+CMT: \"")
delim = "\"";
numberStart = instr(lineFromPhone, delim) + 1;
// then search from last position - note extra argument
numberEnd = instr(lineFromPhone, delim, numberStart) - 1;
receiveTimeStart = instr(lineFromPhone, delim, numberEnd + 2) + 1;
receiveTimeEnd = instr(lineFromPhone, delim, receiveTimeStart) - 1;
// if you've got all the delimiters, the line is probably good
// if you haven't, there's something wrong with it - maybe
// more than one format available?
number = mid$(lineFromPhone, numberStart, numberEnd);
receiveTime = mid$(lineFromPhone, receiveTimeStart, receiveTimeEnd);
debug("mangled: " + lineFromPhone);