[Freeswitch-dev] hello and question

Michael Jerris mike at jerris.com
Sun May 25 20:41:53 EDT 2008

There is a sample endpoint module in tree, you can see it at:


Also, api docs (a little bit behind but should be accurate) are at:


Other than that, the best reference is to look at a module similar to  
what you are trying to do, and to come ask specific questions on irc.


On May 25, 2008, at 8:31 PM, Matthew Kaufman wrote:

> Anthony Minessale wrote:
>> I'll give you a heads up.  I could rant back and start a flame war
>> with you over this but I won't.
>> Plain and simple, I read this email and got instantly annoyed.
> Well, that wasn't my intent at all. Please read on for some
> clarification. (It not being my intent to start a flame war either,
> simply to clarify where I was coming from when I wrote that email late
> last night)
>> Especially....
>> " Speaking of which, a slightly different architecture/coding style  
>> might
>> have made the interfaces between the modules and the insides more
>> immediately clear..."
> There is a difference between minor critique of style (I said  
> "slightly
> different", as you can see) and thinking that the design is bad, the
> software useless, or you a bad person. It was not my intent to
> personally offend you (or any other contributor), but simply to point
> out my view *as a new potential external developer* that, had things
> been designed or implemented slightly differently, it would have been
> easier *for me* *in my opinion* (not to be confused with the  
> opinions of
> other folks who might wish to develop modules) for me to come up to  
> speed.
> An example (that I did not include in my original message, which might
> have made my intent more clear) is that it is very hard to tell that
> "switch_core_session_get_channel()" is something that a module
> apparently should be calling (as I can see mod_iax.c doing, for
> instance) whereas "switch_core_timer_next()" looks to me like  
> something
> used internally that it probably isn't useful (or might even be
> dangerous) for me to call. If there was a more clear delineation (in
> their naming) of which switch_* functions are intended to be called by
> certain types of modules, and which are intended entirely for internal
> use, it might be possible for a new developer like me to pull up a  
> list
> of "these are the functions you're probably going to need to call to
> implement X type of module, and if you don't call them, it is likely
> that you've forgotten something".
> Now that's just my opinion. There might be perfectly good reasons why
> the naming is set up the way it is, or I may have even missed that
> there's a clear distinction, but not found that yet. Or there might  
> not
> be any good reasons other than "you were the developer and you decided
> to do it that way", which is also fine, as it is your code to set the
> style of.
> As I said, it wasn't my intent to personally offend you but to provide
> an opening for some constructive input. I apologize for having caused
> such a reaction on your part.
>> Stick with Asterisk then, I'm sure you will much more luck........
> I think I've already made it clear that I think the Freeswitch
> architecture is superior, and that that's why I've even chosen to
> develop modules for this rather than something else.
>> and ....
>> "I'm doing ok, but my
>> time is very valuable and not well-spent by figuring this stuff out  
>> from
>> the source code instead of looking at the reference docs."
>> HELLO? how valuable do you think my time is sir?  I have been working
>> day and night on this project for more than two solid years and I
>> apologize that it only fits your needs "except for one thing ...." I
>> will gladly offer you a refund on what you paid for the software.
>> You have some nerve to come here and plan to make a project out of my
>> software then complain to me that it is not perfectly handed to you  
>> on
>> a silver platter....WTF?.  I do not intend to supply you with any
>> helpful information until you apologize for your rude attitude.
> Well, if you found it rude, than I apologize. I understand that you've
> been working hard on this software, and the reported successes of  
> users
> of the code is a testament to that.
> It is also my opinion that the value of your software hinges heavily  
> on
> what is contributed in the way of modules... I might be wrong, it  
> might
> be that you and the group of folks who have been contributing so far
> will write all the modules it needs for the success you're looking  
> for.
> But if I'm right, then listening to the opinions of new folks who show
> up who are trying to write modules might actually be of some benefit.
> Just because I find my time to be valuable does in no way diminish the
> value of yours. *My opinion* is that my time is not well-spent  
> figuring
> this stuff out from source code. That is likely the opinion of other  
> new
> folks who might want to develop modules. I might be wrong about that
> too. In my experience, even your time would likely be better spent if
> there was more reference documentation. That is why I suspect that it
> actually exists, at least in the form of notes somewhere, and that I
> simply haven't found it.
> I'm not asking to have everything handed to me on a silver platter.  
> I'm
> asking for pointers to what does exist that I might have missed, and
> providing my opinion as a newcomer that developing modules could be
> easier (at least given the documentation I've managed to find so  
> far)...
> and my opinion that if it were, maybe there'd be more contributed
> modules... which I think would be a good thing for your project.
>> To summarize I do not owe you anything, you can learn how it works  
>> and
>> write the missing documentation as a repayment for the software being
>> open and free for you to use if you wish.  Or you can come to IRC
>> (once you have publicly apologized) and lots of people including me
>> would be happy to point you in the right direction.
> You are right, I do not owe you anything. And I apologize if you think
> that's what I claimed, because I've never thought that. I do plan to
> learn how it works, even if there is nobody who wants to point me at
> existing documentation, or even if there is no existing documentation.
> If that is the case, it will take longer for my module to be written  
> and
> make it less likely that it will interoperate properly with the core
> code. That will be my problem, of course, but *my opinion* is that it
> will also be the experience of other module developers... maybe scare
> them off entirely. And if that happens, the total collection of
> Freeswitch and its modules will be less valuable than it might be
> otherwise. Which, again, is *simply my opinion*. Perhaps it would
> instead be better if a small core group of committed developers writes
> them all, and those of us with our own crazy ideas never have our
> modules see the light of day... you never know.
> Matthew Kaufman
> matthew at matthew.at
> http://www.matthew.at
> _______________________________________________
> Freeswitch-dev mailing list
> Freeswitch-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> http://www.freeswitch.org

More information about the Freeswitch-dev mailing list