Hello,
I am writting Phone application using EVC++ (4.2) on PPC 2003. I am unable to crack following two issues,
1. I am successful in connecting to GPRS using Connection Manager API. To disconnect GPRS, I am using ReleaseConnection api but it does not disconnects GPRS connection. Is there any other API or RIL reference available to do this ?
2.After disconnecting from GPRS, I wanted to place a GSM TAPI call. In my program, I am able to place call, but the delay between disconnect GPRS and GSM Call Active is almost 20 seconds. I hope this is because I am not able to disconnect GPRS and TAPI does this when I issue a new outgoing call command and this scenario puts this delay.
Please help If anybody have any ideas in this regard...
best regards,
Sachin Mahajan
Dear Sachin!
You can try to do following:
1. Establish GPRS connection by using ConnMgrEstablishConnection()
2. Wait for end of establishing by using ConnMgrConnectionStatus(); CONNMGR_STATUS_CONNECTED means end of waiting
3. By using RasEnumConnections() you can find and store HRASCONN of your active GPRS connection (by name or simply first found)
4. Some actions...
5. ConnMgrReleaseConnection() releases ConnMgr connection
6. RasHangUp( HRASCONN ) hangs up RAS connection if p. 5 didn't do it
Sincerely
Ruslan.
Hello Ruslan,
Many Many thanks for your kind help in GPRS disconnect. I will try this today and will let you know the status.
best regards,
Sachin Mahajan
Also you can get some interesting statistics before hanging up RAS connection by using RasGetLinkStatistics(). Connection duration, number of sent and received bytes...
i've got a qtek 1010 pocketpc and i'l like to use the internal modem to make a data call over gsm to an other pda (whitch use a gsm mobile via infrared). On my PDA ipaq i use "Createfile" to talk with mobile but un my qtek this approach does not work...
Can some one give me suggestions???
Thanks
Fabio Petagna
you should use docummented TAPI and optionally RIL calls to establish data connection.
mamaich said:
you should use docummented TAPI and optionally RIL calls to establish data connection.
Click to expand...
Click to collapse
Thanks alot, i found this on msdn
To create a modem connection by using TAPI
Call the lineInitializeEx function to initialize TAPI.
Call the lineOpen function to open the line.
Call the lineMakeCall function.
Call the lineGetMessage function, as needed, to receive status messages from TAPI.
Call the lineDeallocateCall function.
Call the lineClose function to close the line connection.
Call the lineShutdown function to end the session.
Ok but what about send data over the connection???
WriteFile(ComHandle);
WriteFile(ComHandle);
I'm having problems using the receivng and making phone calls whilst a GPRS session is active. I'm using third part components to make the RAS connection, but when a phone call is made or received the connection utility is locked out and cannot make another successful connection until the device is reset. Even manual connections cannot be done until the device is reset. I have tried connecting manually, and when a phone call is made or received the GPRS session is simply suspended, and reactivates when the phone call is over. I have tested several third party components and they all have the same problem. One of them said there was nothing they could do about it as it was a problem with the RAS DLL. Is this true? Is it not possible to programatically create a GPRS connection via the RAS DLL whilst also being compatible with phone usage? Does anyone know a way around this problem?
Hi,
I' am trying to connect two Smartphones over GPRS. At first I used TAPI to establish a connection between the two devices, but I don't want to use a CSD-connection. Then I took a look at the Connection Manager from EVC++, but I think with the Connecttion Manager you are not able to connect the two phones by there phonenumbers, like with modems or tapi.
Is it even possible to do a data call over GPRS? Or is GPRS just used to connect to the internet?
thx foobar
I had an audiovox rtm8000 and I put my home phone number into the gprs connection settings. I was able to log in with terminal services client. I don't know how it could be done using a normal phone hardware.
Thanx, for your post. Could you describe a little more what you did? Which APIs did you use?
I did not do it myself. It was a tool that came with the audiovox phone card. It only works with that card.
Hi,
I have an application that connects to the Bluetooth DUN service of my mobile phone. By using the hyperterminal and the windows console application that I have done using C language, I am able to dial out to a fixed line.
However, when I switch to the GPRS mode using +CGDCONT=1,"IP","APN", I will get the NO CARRIER error after I dial *99#. My service provider has verified that the *99# is the correct number to dial.
Please do advice me on how I can proceed.
Thanks and regards,
PS
I might be a little bit off in my explanations and assumptions here, but my understanding of the way it works is that GPRS is your data connection. When you dial the access number you are establishing your data connection. If I am reading into your purpose correctly, you are wanting to use your phone as a modem to call into an ISP or to a dialup server. If that is the case, you would just dial the number without switching to gprs first.
This is probably a bad example, but consider your gprs connection like an ethernet lan connection at your home or work. If you wanted to use your home computer that is connected to the ethernet, to call an ISP or dialup server, you would need to use a telephone line plugged into the modem port, not try to dial over the ethernet (VOIP excluded). Does that help explain things, or make it all clear as mud.
Hi Steve,
Thank you for the advice.
I have tried to dial the number provided by my ISP without switching to GPRS first. The number I dial is the generic *99#. I guess that once I make this call, the telephone operator, which is also my ISP, would know that I am trying to connect a dial up.
But after I make the dial by sending ATDT*99#, I get a respond "CONNECT" then some unreadable characters follows for a while. After sometimes, the "NO CARRIER" respond will appear and the unreadable characters stop. Are these characters the PPP packets for a dial up? I am also not prompted to enter any password or login at all.
Are there any thing else that I should change?
Thanks and regards,
PSLoh
Again, I may be wrong here, but if you are trying to connect to a remote computer using DUN, then you are trying to have your computer use your phone as a dial up modem. I believe that the ATDT*99# is the setting to connect your phone to your GPRS service. Once you connect to GPRS, the only thing the GPRS network is going to understand is an IP address, not a phone number.
I think, if I understand you correctly, that you are tethering your phone to your computer with bluetooth and then attempting to make a call to a DUN host using a phone number (not the ATDT*99#), but a real 7 - 10 digit number.
Tethering is typically where you connect your computer to your phone via usb bluetooth etc, and use the devices data service (GPRS, UTMS, etc) to browse the internet, pull email, etc. You can't dial a number over this service as you are connected to the internet, not the public switched phone network.
Check this post for tethering instructions.
http://forum.xda-developers.com/archive/index.php/t-337714.html
You are actually trying to use your mobile phone as an analog modem, but your phone has no hardware inside it to respond to the answering modem when you call your ISP or remote host via a phone call.
There is a way to do this, but it involves some work. You have to build a small adapter that will convert your mike and earphone connections into a 2 wire that will plug into your computers analog modem. There are problems with this type of data service. It is slow, doesn't support cell changes, and may be disallowed by your carrier. Check this post to see what I am talking about.
http://forum.xda-developers.com/showthread.php?t=361928
Let me know if this sheds any light on the subject, or if I just really don't understand what you are trying to do.
Thanks,
Hi Steve,
Thanks for your reply. I always thought that *99# was the number for me to dial up to the ISP but now I guess I have to find out more about it.
I was using the ATcommand: AT+CGDCONT=1,"IP","APN" to set up my phone to use GPRS network and then ATDT*99#. I thought that by issuing these 2 commands to the phone, I would be able to instruct it to connect to my ISP and set up the PPP link between my phone and the laptop.
Do you mean that the number to dial is wrong?
If I were to succeed in dialing to my ISP, are there any things (commands or code) that I need to set up the PPP link on my WinXP laptop?
Thanks and regards,
PSLoh