Если вам часто приходится работать через GPRS-соединение с разными операторами, но с одним телефоном, то вероятно вам уже надоело менять каждый раз в настройках модема строку инициализации AT+CGDCONT. Казалось бы, можно как с обычными провайдерами - набирать разные номера и всё, но для GPRS так не получается (строчка инициализации каждому оператору нужна своя). Попробуем сегодня избавиться от этой проблемы. Раз и навсегда.
Итак, начнём изучать AT-команды GPRS1. Рассмотрим2 некоторые аргументы команды AT+CGDCONT=<cid>,<PDP_type>,<APN>: cid (Context identifier) - это номер создаваемого профиля настроек; PDP_type (Packet data protocol type) - тип соединения (обычно "IP"); APN (Access point name) - адрес точки доступа (например, "internet.mts.ru").
Таким образом, строчка вида AT+CGDCONT=1,"IP","internet.mts.ru" регистрирует соответствующие настройки в профиле с номером 1.
Что же происходит потом? Для установки связи используется команда набора номера *99***1#. Рассмотрим описание команды набора ATD*<GPRS_SC>***<cid># в режиме GPRS: GPRS_SC - это константа, всегда равная 99 (для идентификации принадлежности строчки к GPRS, а не обычной телефонии); cid - уже знакомый нам идентификатор профиля. Читайте также наш материал "Как ускорить работу GPRS?". Находясь в сети, вам приходится платить за объем полученной информации? Не беда! Используя сжатие передаваемых данных можно немного форсировать работу с интернетом и при этом сэкономить трафик.
Таким образом, команда набора номера *99***1# в действительности устанавливает соединение по первому профилю настроек. Также отмечу, что профиль 1 используется по умолчанию, и в некоторых инструкциях может быть предложена более короткая команда набора *99# - это полный аналог *99***1#.
Отсюда возникает логичный вывод, что надо просто зарегистрировать несколько профилей3 и уже для набора номера GPRS создать различные соединения с разным значением <cid> в строчке номера.
Итак, в свойствах GPRS-модема, в дополнительной строке инициализации надо указать такую команду (поправив, разумеется, значения APN под своих операторов)4: