2013-05-16 3 views
2

У нас есть клиентское программное обеспечение, развернутое во всем мире, которое использует аналоговые телефонные линии и 56K модемы для подключения к программному обеспечению для загрузки данных (на серверных серверах есть несколько аналоговых модемных карт). Это закрытая система, и мы реализовали собственный протокол, а также поддержку TCP/IP.Подключение модема 3G USB к модему 56K

Как некоторые наши клиенты не имеют никаких аналоговых линий, мы оцениваем возможность подключения 3G-USB-модемов к клиентским ноутбукам и использования сотовой сети для подключения существующего клиентского программного обеспечения с бэкэнд.

  1. Возможно ли вообще подключиться от модема 3G USB к модему 56k? (Я читал о GSM CSD, но похоже, что он недоступен в Германии).

  2. Когда я использую Hyperterminal с эмулированным модемом USB 3G Stick, я могу набирать только голосовые вызовы с помощью AT-команды ATD (без точки с запятой в конце команды я получаю «NO CARRIER»). Проблема с голосовым вызовом, конечно, заключается в том, что клиент не пытается установить «модемный квитирующий шум», и я не получаю ответ «ПОДКЛЮЧЕН».

  3. Какое оборудование требуется на сервере для обеспечения прямого вызова данных 3G от клиентов на сервер?

Я знаю о преимуществах TCP/IP с поддержкой связи, но это займет некоторое время, пока мы не осуществить это в нашем клиентском программном обеспечении - так что я бы очень признателен за любую обратную связь на мои вопросы 1 до 3

+0

Странный вопрос, но типичные проблемы для таких исторических структур. Программное обеспечение работает на мэйнфрейме IBM с хорошими старыми кобольдными программами? :) – rekire

ответ

1

1.) Я думаю, это зависит от вашей SIM-карты. Обычная SIM-карта данных, вероятно, позволит вам подключать только данные GPRS/UMTS/LTE (IP-соединение). Звучит так, как будто вы хотите, чтобы SIM-карта позволяла вам делать голосовые звонки (если я правильно понял).

2.) Возможно, это было потому, что вы использовали SIM-карту только для данных? Вы проверяли силу сети с помощью AT + CSQ?

3.) «прямой вызов данных 3G от клиентов к серверу» См. this StackOverflow question. При обычном 3G-соединении данных это IP-соединение. Если ваш сервер является веб-сервером, клиенты могут получить к нему доступ, как и любой другой веб-сайт.

+0

2.) SIM-карта - это не только данные, она также может использоваться для голоса. В Hyperterminal эта команда работает: «ATDT0170xxxxx;» но не этот «ATDT0170xxxxx». Первый из них работает из-за точки с запятой в конце, которая указывает на голосовой вызов - мое ожидание будет состоять в том, что если точка с запятой опущена, модем набирает целевой номер, а затем выполняет модемное квитирование - это должно быть возможным, поскольку GSM переносит аудиосигналы, которые могут использоваться для установления модемного соединения. Неужели я ошибаюсь в своем предположении? – Bitmaster

+0

Сеть GSM преобразует аудиосигналы в цифровой сигнал. Вы видели это: http://www.roundsolutions.com/forum/index.php?page=Thread&threadID=88 –

+0

Я знал, что GSM преобразует аудиосигнал в цифровой, но я надеюсь, что сжатие аудио сигнал не слишком силен, чтобы отключить связь на основе модема. Я не понимаю, почему мой 3G-USB-модем отвечает «NO CARRIER», когда я вызываю номер без префикса с запятой - он даже не пытается сделать рукопожатие с коллегой с другой стороны ... Может это связано с палкой? BTW: Спасибо за ссылку! ;) – Bitmaster

1

Он также зависит от профиля вашего оператора. В 3G все, что действительно касается авиакомпании, - это двоичные данные в форме PPP. Аналогового «сигнала» нет, чтобы говорить с модемом. В 4G/LTE это почти то же самое, но без части PPP.

Короче говоря, если вы хотите установить между пакетными данными (что действительно есть 3G и 4G) и аналоговые, вам понадобится что-то в части среднего уровня, чтобы действовать как мост. Например, вы можете сделать что-то вроде этого (ваши специфические особенности для вашего оператора могут отличаться)

Клиент -----> Интерфейс передачи пакетов ----> Сервер терминалов w. модемы ---> 56K backend

В принципе, клиент по-прежнему выполняет поток данных пакетных данных (3G/4G), но этот поток выходит как IP-адрес терминального сервера, который сам подключается к аналоговому пулу модемов.

Уродливый, но он работает.

1

Если это 3G-модем 3G, он должен поддерживать CSD или PSD (или оба).

1) CSD-вызов - это асинхронный вызов, в котором есть одна линия передачи данных (RLP) от телефона к MCS в сети, а затем другая ссылка на принимающий конец. Эти две ссылки не должны запускаться с одинаковой скоростью. Скорости этих каналов управляются командами AT+CHSN и AT+CBST, которые могут быть более или менее взаимодействующими (или наступать друг на друга, в зависимости от реализации производителя). Для телефонов, основанных на программном обеспечении от Ericsson Mobile Platform, позднее ST-Ericsson (например, почти все телефоны от Sony Ericsson, некоторые Samsung, некоторые LG и другие), я могу ручаться за поведение, которое AT+CHSN контролирует (почти только) телефон-MSC скорость и AT+CBST (почти только) управляет скоростью MSC-POTS/ISDN.

Если нет особых причин для выбора других значений, то для начала лучше всего использовать AT+CBST=0,0,1 и AT+CHSN=0,0,0,0.

2) Если ATD123456789 немедленно возвращает NO CARRIER, это может указывать на то, что CSD не поддерживается. Вы должны попытаться подтвердить это более точно. Что возвращает AT+CHSD? (обратите внимание, что класс мультислотов здесь для CSD, для PSD существует другой многослотовый класс.) Что делает AT+CHSN=??

Но даже если CSD не поддерживается, модем может поддерживать PSD. Это может быть вызвано ATD*99**1#, если я правильно помню (используя <cid> 1), или, возможно, также AT+CGDATA, насколько я помню. Я не был очень вовлечен в PSD, поэтому проверьте это более подробно.

3) Если у вас есть CSD в качестве доступной опции, это будет означать отсутствие изменений на стороне сервера (хотя, возможно, это не долгосрочное решение, так как операторы более или менее охотно хотят его отключить).

Если поддерживается только PSD, данные передаются в виде байтов/октетов полностью, и вам необходимо, чтобы какой-либо объект переводил полученные данные в сигналы аналогового модема 56K, или вам нужно добавить «модем» или какой-либо другой объект, который предоставляет данные о последовательном интерфейсе, как это делает существующий модем 56K (при условии, что вы не хотите значительно менять серверную сторону).

Смежные вопросы