2

we have a client software deployed worldwide which is using analog phone lines and 56K Modems to connect to a backend software for uploading data (the backend servers have multiple analog modem cards). It is a closed system and we implemented our own protocol, no TCP/IP support yet.

As some of our clients don't have analog lines anylonger, we are evaluating the option of attaching 3G USB Modems to the client notebooks and use the cellular network to connect the existing client software with the backend.

  1. Is this possible at all to connect from a 3G USB Modem to a 56k modem? (I read about GSM CSD, but it looks like it is not available in Germany).

  2. When I'm using Hyperterminal with the emulated modem of the 3G USB Stick I can dial only voice calls using the AT command ATD (without the semicolon at the end of the command I get "NO CARRIER"). The problem with the voice call is of course that the client is not trying to establish the "modem handshake noise" and I don't get an "CONNECTED" answer.

  3. Which hardware is required on the server to enable a direct 3G data call from the clients to the server?

I'm aware about the benefits of TCP/IP enabled communication, but it will take some time until we implement this in our client software - so I'd really appreciate any feedback on my questions 1 to 3.

Bitmaster
  • 159
  • 1
  • 8
  • Strange question but typical problems for such historical structures. You software runs on a IBM mainframe with good old kobold programms? :) – rekire May 16 '13 at 19:29

3 Answers3

1

1.) I think it depends on your SIM. The normal data SIM will probably only let you make a GPRS/UMTS/LTE data connection (IP connection ). It sounds as though you want a SIM that allows you to make voice calls (if I understood correctly).

2.) Maybe this was because you were using a data-only SIM? Did you check the network strength with AT+CSQ?

3.) "a direct 3G data call from the clients to the server" See this StackOverflow question. With a normal 3G data connection, it's an IP connection. If your server is a web server, then the clients could access it like any other website.

Community
  • 1
  • 1
user1725145
  • 3,993
  • 2
  • 37
  • 58
  • 2.) The SIM card is not data only, it can be used for voice too. In Hyperterminal this command works: 'ATDT0170xxxxx;' but not this one 'ATDT0170xxxxx' . The first one is working because of the semicolon at the end which indicates a voice call - my expectation would be that if the semicolon is omitted, the modem will dial the target number and then perform a modem handshake - this should be possible, as GSM is transporting audio signals, which could be used to establish a modem connection. Am I wrong with my assumption? – Bitmaster May 17 '13 at 10:09
  • The GSM network converts the audio signals to a digital signal though. Have you seen this: http://www.roundsolutions.com/forum/index.php?page=Thread&threadID=88 – user1725145 May 17 '13 at 10:24
  • I was aware that GSM is converting the audio signal to digital, but my hope was the the compression of the audio signal is not too strong to disable any modem based communication. What I don't understand is why my 3G USB modem replies 'NO CARRIER' when I'm calling a number without the semicolon prefix - it doesn't even try to make a handshake with the counterpart on the other side... Could this be related to the stick? BTW: Thanks for the link! ;) – Bitmaster May 17 '13 at 12:22
  • On the Wiki page for CSD, it says "CSD uses a single radio time slot to deliver 9.6 kbit/s data transmission to the GSM Network and Switching Subsystem where it could be connected through the equivalent of a normal modem to the Public Switched Telephone Network (PSTN) allowing direct calls to any dial-up service" From this sentence, I understand that the network must support CSD, if you want to dial to the 56K modem. But as you said, this is very old technology, and probably not supported any more. I am not even aware of any networks supporting HSCSD (high speed CSD). – user1725145 May 17 '13 at 12:32
  • It is possible that the settings on the stick don't allow the quality of service needed for voice calls. – user1725145 May 17 '13 at 12:34
1

It also depends on your carrier's profiles. In 3G, all that really goes over the airline is binary data in the form of PPP. There's no analog "signal" to speak to a modem. In 4G/LTE, it's much the same, but without the PPP part.

In short, if you wnat to bridge between packet data (what 3G and 4G really are), and analog, you'll need something at some middle-ware part to act as a bridge. For example, you could do something like this (your carrier specifics may vary)

Client----->Packet Data Interface ----> Terminal Server w. modems ---> 56K backend

Basically, the client still does a packet data (3G/4G) data stream, but that stream comes out as IP to a terminal server, which itself, connects to an analog modem pool.

Ugly, but it shouid work.

user500123
  • 617
  • 6
  • 14
1

If it is a 3G USB modem it must support either CSD or PSD (or both).

1) A CSD call is an asynchronous call in that there is one data link (RLP) from the phone to the MCS in the network and then another link to the receiving end. These two links does not have to run at the same speed. The speeds of those links are controlled by the commands AT+CHSN and AT+CBST which might be more or less interacting (or stepping on each others toes, depending on the implementation of the manufacturer). For phones based on software from Ericsson Mobile Platform, later ST-Ericsson, (e.g. almost all phones from Sony Ericsson, some Samsung, some LG and others), I can vouch for the behaviour that AT+CHSN controls (almost only) the phone-MSC speed and AT+CBST (almost only) controls the MSC-POTS/ISDN speed.

If there is no specific reason for choosing other values, using AT+CBST=0,0,1 and AT+CHSN=0,0,0,0 is the best configuration to start with.

2) If ATD123456789 returns NO CARRIER right away it possibly indicates that CSD is not supported. You should try to affirm this more accurately. What does AT+CHSD return? (notice the multislot class here is for CSD, there is a different multislot class for PSD.) What does AT+CHSN=? return?

But even if CSD is not supported the modem might support PSD. This can be triggered with ATD*99**1# if I remember correctly (using <cid> 1), or possibly also AT+CGDATA as far as I remember. I was not that very much involved with PSD, so check this more thoroughly.

3) If you have CSD as an available option, this will imply no change at all on the server side (although maybe not a long term solution since operators more or less eagerly want to phase that out).

If only PSD is supported the data is transferred as bytes/octets all the way and you need some entity to either translate the received data to 56K analogue modem signals, or you need add a "modem" or some other entity that provides the data on a serial interface just like the existing 56K modem does (assuming you do not want to change the server side significantly).

hlovdal
  • 26,565
  • 10
  • 94
  • 165