[Freeswitch-dev] Questions regarding the architecture
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
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