'Returns an integer between 1 and 99, representing the current
signal strength of the GSM network, False if we don\'t know, or
None if the modem can\'t report it.'

def signal_strength(self):

    data = self.query('AT+CSQ')
    md = re.match('^\\+CSQ:    (\\d+),', data)
    if (md is not None):
        csq = int(md.group(1))
        return (csq if (csq < 99) else False)
    return None
