[HACK] (16/05/2010) Native SMS over IP

drizztje

Senior Member
Jun 20, 2006
331
55
0
Ankara
This thread is moved to here

Hello people,

I've been working on an SMS over IP application, but I decided to make it native, meaning replacing the WM sms dll with mine. It will work with any provider that supports the following url to send an SMS:

https://www.voipbuster.com/myaccount/sendsms.php?username=%0&password=%1&from=%2&to=%3&text=%4
or
https://www.exetel.com.au/sendsms/api_sms.php?username=%0&password=%1&mobilenumber=%3&message=%4&sender=%2&messagetype=Text
where:
%0 stands for username
%1 stands for password
%2 stands for from number
%3 stands for to number
%4 stands for text


You need to add te following keys to your registry:

HKEY_CURRENT_USER\Software\Drizzt\SMSoIP\url:
Type is REG_SZ, value is the complete url with placeholders, see the above examples

HKEY_CURRENT_USER\Software\Drizzt\SMSoIP\username:
Type is REG_SZ, value is your username

HKEY_CURRENT_USER\Software\Drizzt\SMSoIP\password:
Type is REG_SZ, value is your password

HKEY_CURRENT_USER\Software\Drizzt\SMSoIP\from:
Type is REG_SZ, value is your phone number validated by your voip provider in international format, e.g. +9012345689

HKEY_CURRENT_USER\Software\Drizzt\SMSoIP\option:
Type is REG_DWORD, value is one of the following:
0 = Use internet only, don't fallback to gsm
1 = If internet sending fails, automatically send it over gsm
2 = If internet sending fails, popup a confirmation box before sending over gsm
3 = Don't use IP, send it over gsm
4 = Ask first what to do
5 = Use IP only for international sms
bit4: set = automatically establish internet connection if not already available

HKEY_CURRENT_USER\Software\Drizzt\SMSoIP\prefix:
Type is REG_SZ, value is your country code (e.g. 90 for Turkey, 32 for Belgium, 49 for Germany, ...)

Thanks to oruam57 for developing the configurator so that you don't need to edit the registry manually. He also compiled everything into the attached cab installer.

WARNING. This cab installer may cripple your phone. READ BELOW! USE AT YOUR OWN RISK!

This cab installer overwrites \Windows\sms.dll. Original SMS functionality is supposed to be offered by the new file \Windows\sms_orig.dll that is a copy of sms.dll from a WM6.1 phone.

If you happen to have problems:
- extract sms.dll from the image of the ROM of your phone (search in the forum about how to do it);
- rename it to sms_orig.dll;
- install the cab and DO NOT soft reset;
- overwrite \Windows\sms_orig.dll with the sms_orig.dll from your ROM;
- soft reset.

CHANGELOG V1.7
-
New option = 5, use IP only for international sms
- Fixed: Multiline bug
- Fixed: MessageBox going to background
- Changed url format, added placeholders

CHANGELOG V1.6
Fixed: Bug when sending to a foreign country

CHANGELOG V1.5
Establish data connection automatically if wifi connection is not available
 

Attachments

Last edited:

Ramzidk

Member
Mar 24, 2008
45
0
0
Choose between gsm or internet

Hi there,

I like the idea about being able to send sms via the betamax voip companys. Do you think it's possible to somehow choose whether you want to send via gsm or internet, without changing the reg value every time ;)
 

drizztje

Senior Member
Jun 20, 2006
331
55
0
Ankara
Hi there,

I like the idea about being able to send sms via the betamax voip companys. Do you think it's possible to somehow choose whether you want to send via gsm or internet, without changing the reg value every time ;)
That requires a code change. So, when you push send, you want a popup to select internet or gsm, correct?
 

Ramzidk

Member
Mar 24, 2008
45
0
0
That requires a code change. So, when you push send, you want a popup to select internet or gsm, correct?
Yes exactly or maybe a switch/checkbox where you can select sending method. I don't have that much experience in WM developing so i wouldn't know how to accomplish that.
 

oruam57

Senior Member
Aug 27, 2005
306
4
0
I've been working on an SMS over IP application, but I decided to make it native, meaning replacing the WM sms dll with mine.
First of all, GREAT idea! I'd love to have it on my phone!

Unfortunately, it does not work on my Diamond2 and it even stops Manila from loading.
 

drizztje

Senior Member
Jun 20, 2006
331
55
0
Ankara
First of all, GREAT idea! I'd love to have it on my phone!

Unfortunately, it does not work on my Diamond2 and it even stops Manila from loading.
Are you on a stock rom? Try installing SDKCert.cab (search in the forum). You could try disabling threaded sms. Another thing you could try is to extract the sms.dll file from the image of the rom you are using (search in the forum about how to do it), and rename it to sms_orig.dll and use it instead of the one from my zip (you still need to use my sms.dll).
 
Last edited:

oruam57

Senior Member
Aug 27, 2005
306
4
0
Thanks for your answer.

Are you on a stock rom?
Yes (see my signature).

Try installing SDKCert.cab
Done already.

You could try disabling threaded sms.
Done already, always hated it.

extract the sms.dll file from the image of the rom you are using (search in the forum about how to do it), and rename it to sms_orig.dll and use it instead of the one from my zip (you still need to use my sms.dll).
Done that too. Same result.
I suppose that the sms management part of manila does something funny with sms.dll Moreover, I noticed my sms.dll is larger than yours. I attach it hereafter.
 
Last edited:

drizztje

Senior Member
Jun 20, 2006
331
55
0
Ankara
Thanks for your answer.



Yes (see my signature).



Done already.



Done already, always hated it.



Done that too. Same result.
I suppose that the sms management part of manila does something funny with sms.dll Moreover, I noticed my sms.dll is quite larger than yours. I attach it hereafter.
can you try sending an sms using the native messaging, see if that works over IP?
 

oruam57

Senior Member
Aug 27, 2005
306
4
0
Something very strange happened!
I used total commander to overwrite the sms.dll in ROM with your sms.dll, then I soft reset and all started right, including manila.
I was surprised so I listed the windows directory using total commander and there were a sms.dll (lower case) and a SMS.DLL (upper case)! From dates and attributes it seems that sms.dll is the original ROM file and SMS.DLL is your file.
It seems that the original sms.dll is in use (sms are sent and received as usual) but the problem is that total commander now refuse to delete, rename or overwrite both sms.dll and SMS.DLL Never saw something like that!
For the moment I'm stuck, I do not know how solve this situation and can not do more tests on your hack :(
 

drizztje

Senior Member
Jun 20, 2006
331
55
0
Ankara
Something very strange happened!
I used total commander to overwrite the sms.dll in ROM with your sms.dll, then I soft reset and all started right, including manila.
I was surprised so I listed the windows directory using total commander and there were a sms.dll (lower case) and a SMS.DLL (upper case)! From dates and attributes it seems that sms.dll is the original ROM file and SMS.DLL is your file.
It seems that the original sms.dll is in use (sms are sent and received as usual) but the problem is that total commander now refuse to delete, rename or overwrite both sms.dll and SMS.DLL Never saw something like that!
For the moment I'm stuck, I do not know how solve this situation and can not do more tests on your hack :(
you can use sktools to recover the rom files (replaced rom files).
 

oruam57

Senior Member
Aug 27, 2005
306
4
0
you can use sktools to recover the rom files (replaced rom files).
Ok, crisis solved (sktools did not see the "double" file but I found a procedure with total commander), back to work.

After overwriting sms.dll with your sms.dll and renaming the dump of my original sms.dll to sms_orig.dll I soft resetted.

As expected manila refused to load. Then I run tmail.exe and sent a test sms. Unfortunately nothing happened. I also consulted my voipbuster log and no sms activity was present.
 

drizztje

Senior Member
Jun 20, 2006
331
55
0
Ankara
Ok, crisis solved (sktools did not see the "double" file but I found a procedure with total commander), back to work.

After overwriting sms.dll with your sms.dll and renaming the dump of my original sms.dll to sms_orig.dll I soft resetted.

As expected manila refused to load. Then I run tmail.exe and sent a test sms. Unfortunately nothing happened. I also consulted my voipbuster log and no sms activity was present.
strange, did you double check the registry values? And what if you disable manila, soft-reset, and send an sms using tmail.exe? I see people writig about htc sms bug, there is even a hotfix for it, perhaps related to your problem.
 
Last edited:

oruam57

Senior Member
Aug 27, 2005
306
4
0
strange, did you double check the registry values? And what if you disable manila, soft-reset, and send an sms using tmail.exe? I see people writig about htc sms bug, there is even a hotfix for it, perhaps related to your problem.
Rececked everything 2 times and disabled manila too but it does not work. With your sms.dll when I press send nothing happens and the sms is not sent on IP and on GSM either. It seems there is definitely some incompatibility with my phone. What a pity :(
 

drizztje

Senior Member
Jun 20, 2006
331
55
0
Ankara
Rececked everything 2 times and disabled manila too but it does not work. With your sms.dll when I press send nothing happens and the sms is not sent on IP and on GSM either. It seems there is definitely some incompatibility with my phone. What a pity :(
sorry about that. It used to work with my Xperia X1, and it works with my HD2 also. I really don't know why it doesn't work for you.
 

Ramzidk

Member
Mar 24, 2008
45
0
0
try this one. you need to set option=4 in the registry.
Hi again drizztje, sorry for my late answer, been busy with other things. Thanks for this "new" version with a fourth option, i have just one finale question before i implement this dll in my HD2 :) will this work with HTC messaging or do i have to go back to the native Windows Mobile messaging?
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone