[Freeswitch-dev] Questions regarding the architecture

Alex Guan alex.guan at prodeasystems.com
Wed Sep 6 11:13:43 EDT 2006

I am new to freeswitch and have been studying it for the last week.  A few questions regarding the architecture.  Any input will be greatly appreciated.
1.   Thread architecture.  For a basic call, why do we need two threads for the sessions (one for each endpoint)?  While the thread in charge of originator  is in the switch_core_standard_on_execute(), the other thread is in the switch_core_session_run() while loop.    What's advantage of doing this compared to Asterisk's one thread approach?  Why do we need the thread for the originatee?
2. What does CS_LOOPBACK really mean?  When A calls B, B is in the LOOPBACK state after the call is established.  Yet, the switch_core_on_loopback() is not really called.
3. When A calls B and before B answers, the caller session thread does busy waiting by constantly calling check_channel_status().  Is there a better approach than this?   And with this architecture how are we going to incorporate with the voice mail and other timer-based applications?
4. When the orginatee hangs up, the exosip_kill_channel() was called 3 times just for the orginatee channel.  The same function is called twice for the originator channel.  Is this by design?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/ms-tnef
Size: 3877 bytes
Desc: not available
Url : http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20060906/79ce3bcc/attachment.bin 

More information about the Freeswitch-dev mailing list