1. Зависит от оператора и APN, например static.beeline.ru — статический IP (если активна такая услуга), просто internet.beeline.ru — динамический.
2. сперва отсылаешь «AT+CGDCONT=1,\»IP\",\«static.beeline.ru\»", а потом «ATDT*99***1#», если обе команды вернули ОК — GPRS сессия поднята.
3. много, основной минус — 24х7 модем не будет работать, сессия может «зависнуть» сама по себе, модем может «зависнуть». Нужны аппаратные дополнения по перезагрузке модема по команде/звонку и т.п. или по таймеру.
4. кроме указанных, могу пропиарить
разработку фирмы в которой работаю :) но тут нужно понимать что Вы хотите, т.к. этот вариант может быть слишком избыточным даже в минимальном наборе.