[Freeswitch-dev] How to understand codebase

Jan Berger janvb at live.com
Thu Feb 16 13:10:31 MSK 2012

Reading a large code-base like FS is not that difficult if you use divide & conquer techniques.
Firstly learn to understand FS modularity and get a brief understanding about how the switch core works. That is always nice to know.
Once you have done that you only need to focus on the modules you actually want to work with.
And the advice below is important - it's a bit hard to read and understand code before you know how to use the system. I will advice you to move usage questions to the user list - simply because you get more actual users responding in there.
have fun

> From: fdelawarde at wirelessmundi.com
> To: freeswitch-dev at lists.freeswitch.org
> Date: Thu, 16 Feb 2012 11:00:37 +0100
> Subject: Re: [Freeswitch-dev] How to understand codebase
> I would start by using FS extensively and looking at console logs or
> playing with ESL to understand the logic (channel states, events, etc.).
> Then try to understand well the code of small modules like
> mod_blacklist, and slowly going to the core stuff from there.
> FS code is in general really well put together and, compared to
> Asterisk, I find it very easy to read and understand without
> documentation. Well, maybe a few drawings could help to learn faster...
> Have fun,
> François.
> On Thu, 2012-02-16 at 15:41 +0600, Arif Hossain wrote: 
> > I'm quite new to freeswitch. I have some experience in asterisk. But
> > Mostly about how to configure asterisk. The codebase of freeswitch is
> > quite large and seems overhelming at first sight. I'm a moderately good
> > c programmer but i don't have a lot of experience understanding a huge
> > codebase only by reading code. 
> > 
> > I saw freeswitch does not come with a "developer manual" or something
> > like that. Which would be very helpful. Because i do have a moderate
> > knowledge about sip and telephony technologies. 
> > 
> > So any other ways to understand freeswitch codebase(the core, and
> > important modules like media session handling etc) efficiently? I'm
> > willing to "learn" and contribute to the project. 
> > 
> > I know "knowledge" is itself a "resource". But any help regarding this
> > would be wonderful.
> > 
> > At this time i have checked out freeswitch code from git, loaded it in
> > eclipse, and trying to understand some core data structures. But I've
> > realized it would be very difficult to understand everything by myself.
> > 
> > Thanks in advance.
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://wiki.freeswitch.org
> http://www.cluecon.com
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20120216/ea630f6e/attachment.html 

Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-dev mailing list