--- chan_mobile.orig.c 2007-12-14 19:20:03.000000000 -0800 +++ chan_mobile.c 2007-12-15 22:04:55.000000000 -0800 @@ -97,6 +97,8 @@ MBL_STATE_INIT4, MBL_STATE_INIT5, MBL_STATE_INIT6, + MBL_STATE_INIT7, + MBL_STATE_INIT8, MBL_STATE_PREIDLE, MBL_STATE_IDLE, MBL_STATE_DIAL, @@ -1391,11 +1393,23 @@ break; case MBL_STATE_INIT4: if (strstr(buf, "OK")) { - rfcomm_write(pvt, "AT+CMGF=1\r"); + rfcomm_write(pvt, "AT+VGS=7\r"); pvt->state++; } break; case MBL_STATE_INIT5: + if (strstr(buf, "OK")) { + rfcomm_write(pvt, "AT+VGM=7\r"); + pvt->state++; + } + break; + case MBL_STATE_INIT6: + if (strstr(buf, "OK")) { + rfcomm_write(pvt, "AT+CMGF=1\r"); + pvt->state++; + } + break; + case MBL_STATE_INIT7: if (strstr(buf, "ERROR")) { /* No SMS Support ! */ pvt->state = MBL_STATE_PREIDLE; } else if (strstr(buf, "OK")) { @@ -1403,7 +1417,7 @@ pvt->state++; } break; - case MBL_STATE_INIT6: + case MBL_STATE_INIT8: if (strstr(buf, "OK")) { /* We have SMS Support */ pvt->has_sms = 1; pvt->state = MBL_STATE_PREIDLE;