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. -- "You have a voice" ----The King's Speech Public Key : $ gpg --keyserver keyserver.ubuntu.com --recv-key C88CFC23
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.
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
On Thu, 2012-02-16 at 11:00 +0100, François Delawarde wrote:
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.
Thank you for this suggestion. I would certainly do that. Do i need to write my own esl connector or freeswitch distributes some samples?(I see some perl/java/ruby samples in the wiki)?
One tip: build freeswitch in vs2008 express. You can easily debug line by line. On Feb 16, 2012 2:17 AM, "Arif Hossain" <freefall1986@gmail.com> wrote:
On Thu, 2012-02-16 at 11:00 +0100, François Delawarde wrote:
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.
Thank you for this suggestion. I would certainly do that. Do i need to write my own esl connector or freeswitch distributes some samples?(I see some perl/java/ruby samples in the wiki)?
_________________________________________________________________________ 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
participants (4)
-
Arif Hossain
-
François Delawarde
-
Jan Berger
-
jesse