Настройка GPRS-модема для двух операторов

Настройка GPRS-модема для двух операторов

Если вам часто приходится работать через 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:

AT+CGDCONT=1,IP,internet.mts.ru;+CGDCONT=2,IP,internet.beeline.ru

А потом, создать два соединения и одному указать номер набора *99***1#, а другому *99***2#. Вот и всё.