Per a user request, I've changed the license to LGPL. Use version 1.0 (latest version) for this license. None of the code has changed (I used the previous release as a base for this one) so any builds should still work as before. I did not do a binary release; I don't have time to set up the .NET build environment on the computer I have right now.
Due to some oddities with the doc system, I added the RoaminSMPPExample.zip file to the release
I've placed an example up for the latest release. It is in the Docs section under "Vector release example ".
I fixed a bug that was putting the wrong byte ordering on the TLV data. Thanks go to Shane McGarry for bringing this to my attention. The fix is now in release 0.5.1 (I separated binary and source for ease of downloading). Keep the feedback coming-I tend to lose interest if I think no one uses this project.
Version 0.5 (vector) is out. I have replaced the old PDU and Util folders with Packet and Utility folders. I changed the casing on the names of the classes to match the Pascal casing that seems to be prevalent in the .NET world. These may seem like gratuitous changes but your pinky finger will thank me later on.
To balance this, I implemented full functionality in all the PDUs and added unit tests for each one. Now, you can send and receive each PDU in the spec. I've tested them as well as I can, so hopefully they will work out for everyone. As always, please email me if you have any comments or bug reports.... read more
I will be making some breaking changes to the next version of RoaminSMPP. Sorry to all of you out there-I hate changing interfaces but it has to be done. I am going to consolidate the incoming and outgoing PDUs so that they are more easily extensible. That is, you will more easily be able to set up e.g. receive capabilites on a submit_sm. The current functionality will not change, and I leave it up to you to implement any new functionality you need. Hopefully this will help. I will post a news notice when the new version comes out.
I've changed the open source license to the GPL. I've done this to be more compatible with Linux yet still offer me the protection I want against random commercial exploitation.
Note that the offer still stands for commercial licenses (contact me to purchase a non-open source license for proprietary coding).
Both mobile originated and mobile terminated methods are (with and without optional parameters) confirmed to work with an actual SMSC. This also includes deliver_sm packets. I had to update some code to get it to work correctly; grab it from CVS. For those of you who are interested:
Made SequenceNumber a property. Uses Array.Copy rather than the
homegrown method. Catches bad command ID types now and returns
them as generic NACKs. Removed the ByteArrayCopy methods as
Array.Copy does what is needed. When getting a string from the
packet, it now allows you to read fully up to the end of the array.... read more
I had some problems building this before with Mono-the IPAddress class lacked what I needed at that time. I just downloaded and built Mono 1.0.2 and compiled the project with MonoDevelop on my Slackware 10 box. Just wanted to let the Linux users know :).
I forgot to mention these two things. In keeping with C# naming conventions, I renamed getMSBHexEncoding to GetMSBHexEncoding. In addition, the Outgoing requests' properties now return their "native" form (e.g. a string rather than an array of bytes). I hope this doesn't cause too much trouble at this point in time, but I'd rather fix it now then when it is entrenched.
Version 0.4 has been released and is in CVS. This release fixed a bug in the submit_sm packet that did not set destination address correctly. In addition, the outgoing packets have been refactored for speed and ease of extensibility.
Files are now in CVS (each release has its own CVS checkin). From now on, I will use CVS in the more traditional way-don't expect a CVS checkout to build!
Made a host of compatibility/debugging changes. The PDUFactory and several incoming PDUs were changed
for compatibility after some testing with an external program that I built on top of this library. I added some more documentation tags, although I still haven't decided whether or not to document all the enums in the classes. I fixed the TLVTable
so that null tags are simply dropped (i.e. trying to set an optional param to null
does nothing). For those of you using the binaries. I added the debug file and xml file to the binary release. I also changed the zip files so that they store relative path info rather than full path info
(to those of you who downloaded the early release-sorry about that). Once I figure out SourceForge's CVS setup, I plan to place each release (in order) into CVS. Anyways, I hope you are all enjoying the project-this stuff is way more intellectually stimulating than writing ASPX pages, which is what I usually do.