Home

Previous Entry | Next Entry

Grandstream Ringtone Generator

  • Jan. 30th, 2008 at 6:26 PM
bw

I have a Grandstream GXP2000 SIP phone, courtesy of a special offer and a parent who likes SIP. It's kind of bulky, and is overkill for my uses of it: I don't actually care about it automatically downloading my address book from an arbitrary server, or running quizzes on its OSD. (Seriously, why would anyone do this?) But once I upgraded the firmware (to 1.1.2.27, which apparently you can get from Grandstream if you whine loudly enough, but I just grabbed it from, uh, GrandstreamSucks.com) to stop it crashing whenever I made or received a call (which only happened on one LAN I tried it on), it is pretty good at making and receiving calls, which is what I want it for.

You can stick custom ring tones on it, but they have to be in some bizarro format. Happily, Grandstream ship conversion tools, both for Windows and for Lunix. So I downloaded the latter; it turns out to be a modified SoX. And, oh look: they don't provide the source, or an offer to provide the source. *sigh* So, I requested the source, pointed out that they're violating section 3, and remarked that they could just throw a tarball into the same place they threw the binaries and never deal with any emails like this ever again.

I got a reply pretty quickly!

Attached per your request.

Attached was a zip file, expanding to:

% ls /tmp/sox
handlers.c  ring.c  sox.c  st_i.h

which is clearly not the complete source, and does not include build scripts.

You did not include the scripts used to control compilation. May I have the Makefile, please?

They sent me the Makefile (in a zip file).

% make
make: *** No rule to make target `Makefile.in', needed by `Makefile'.  Stop.

It appears that you have omitted the autoconf-related foo.

Please may I have complete working build scripts, please?

They sent me Makefile.in (in a zip file. This makes it much faster!!!). Of course, the rest of the build scripts and source still aren't there, so this still won't work. But let's play along:

% make
make: *** No rule to make target `configure.in', needed by `configure'.  Stop.

No double pleases this time:

Is it really too difficult to just zip up the entire directory and send it to me?

And apparently showing some anger did the trick:

We were using sox 12.17.4. You will need to use the patch based on that version.

Lo! A tarball containing the entire modified source tree, which when compiled works identically to the static binary they distribute. They still provide no source offer, but I got bored at this point. Here's a copy of the source in case you don't feel like repeating this process to get it.

(I meant to write this back in September, but never got around to it. I finally got sick of the thread sitting in my Inbox. It turns out that I never actually bothered making a custom ringtone...)

Tags:

Comments

[info]diffrentcolours wrote:
Jan. 30th, 2008 07:04 pm (UTC)
Shop them to gpl-violations.org :)
[info]resiak wrote:
Jan. 30th, 2008 08:08 pm (UTC)
Perhaps you would like to spend the time on that? :-)