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