<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
Reading a large code-base like FS is not that difficult if you use divide & conquer techniques.<BR>
<BR>
Firstly learn to understand FS modularity and get a brief understanding about how the switch core works. That is always nice to know.<BR>
<BR>
Once you have done that you only need to focus on the modules you actually want to work with.<BR>
<BR>
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.<BR>
<BR>
have fun<BR>
<BR>
Jan<BR> <BR>
<DIV>
<DIV id=SkyDrivePlaceholder></DIV>> From: fdelawarde@wirelessmundi.com<BR>> To: freeswitch-dev@lists.freeswitch.org<BR>> Date: Thu, 16 Feb 2012 11:00:37 +0100<BR>> Subject: Re: [Freeswitch-dev] How to understand codebase<BR>> <BR>> I would start by using FS extensively and looking at console logs or<BR>> playing with ESL to understand the logic (channel states, events, etc.).<BR>> <BR>> Then try to understand well the code of small modules like<BR>> mod_blacklist, and slowly going to the core stuff from there.<BR>> <BR>> FS code is in general really well put together and, compared to<BR>> Asterisk, I find it very easy to read and understand without<BR>> documentation. Well, maybe a few drawings could help to learn faster...<BR>> <BR>> Have fun,<BR>> François.<BR>> <BR>> On Thu, 2012-02-16 at 15:41 +0600, Arif Hossain wrote: <BR>> > I'm quite new to freeswitch. I have some experience in asterisk. But<BR>> > Mostly about how to configure asterisk. The codebase of freeswitch is<BR>> > quite large and seems overhelming at first sight. I'm a moderately good<BR>> > c programmer but i don't have a lot of experience understanding a huge<BR>> > codebase only by reading code. <BR>> > <BR>> > I saw freeswitch does not come with a "developer manual" or something<BR>> > like that. Which would be very helpful. Because i do have a moderate<BR>> > knowledge about sip and telephony technologies. <BR>> > <BR>> > So any other ways to understand freeswitch codebase(the core, and<BR>> > important modules like media session handling etc) efficiently? I'm<BR>> > willing to "learn" and contribute to the project. <BR>> > <BR>> > I know "knowledge" is itself a "resource". But any help regarding this<BR>> > would be wonderful.<BR>> > <BR>> > At this time i have checked out freeswitch code from git, loaded it in<BR>> > eclipse, and trying to understand some core data structures. But I've<BR>> > realized it would be very difficult to understand everything by myself.<BR>> > <BR>> > Thanks in advance.<BR>> <BR>> <BR>> _________________________________________________________________________<BR>> Professional FreeSWITCH Consulting Services:<BR>> consulting@freeswitch.org<BR>> http://www.freeswitchsolutions.com<BR>> <BR>> FreeSWITCH-powered IP PBX: The CudaTel Communication Server<BR>> http://www.cudatel.com<BR>> <BR>> Official FreeSWITCH Sites<BR>> http://www.freeswitch.org<BR>> http://wiki.freeswitch.org<BR>> http://www.cluecon.com<BR>> <BR>> FreeSWITCH-dev mailing list<BR>> FreeSWITCH-dev@lists.freeswitch.org<BR>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev<BR>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev<BR>> http://www.freeswitch.org<BR></DIV>                                            </div></body>
</html>