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 Jan
From: fdelawarde@wirelessmundi.com To: freeswitch-dev@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@freeswitch.org http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server http://www.cudatel.com
Official FreeSWITCH Sites http://www.freeswitch.org http://wiki.freeswitch.org http://www.cluecon.com
FreeSWITCH-dev mailing list FreeSWITCH-dev@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev http://www.freeswitch.org