Архивы: по дате | по разделам | по авторам

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

АрхивProDigi
автор : Евгений aka f2065    14.09.2005

При работе через 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#. Вот и всё.


1. Подробные описания по AT-командам для GSM-телефонов можно найти на сайте European Telecommunications Standards Institute [вернуться].

2. Мы, по понятным причинам, приводим неполное описание (в действительности аргументов у этих команд может быть больше). [вернуться]

3. Многие телефоны имеют только два профиля (1 и 2). Узнать сколько их у конкретной модели можно в терминальной программе, напечатав команду AT+CGDCONT=?. Первый диапазон выданных аргументов для режима "IP" укажет на количество профилей. Например, в ответе "+CGDCONT: (1-2),"IP",,,(0),(0)" указано, что телефон поддерживает два профиля. [вернуться]

4. Для тех, кто уже был знаком с системой AT-команд простых модемов, замечу тот факт, что расширенные AT-команды у телефонов соединяются между собой в строке не напрямую, а через символ ";". [вернуться]

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.