From FreeSWITCH Wiki
Dead channel detection
This has been implemented -- for RTP see
<param name="rtp-timeout-sec" value="300"/>. Might also be possible with SIP, check:
<param name="session-timeout" value="120"/>
With SIP over UDP, there is no way for an endpoint to know when another endpoint has died if the other endpoint does not send a BYE message. If its abruptly killed (kill -9, unplug, etc), it will not have a chance to send a BYE. When that happens, the endpoint that was connected to the abruptly killed endpoint will have a "zombie channel".
What is needed
A mechanism to detect clients that have disappeared (e.g., the client segfaults or the client machine is abruptly turned off). This will not use RTP timeout, because there can be valid channels not sending RTP due to VAD silence suppression. The proper solution is to have the server send SIP OPTIONS to the end points. If they don't respond, the channel will be considered dead and it will be hung up on. The Sofia-SIP stack may need to be modified to build this feature. (hint: take a look at NUA_KEEPALIVE)
A utility that will convert an Asterisk dial-plan into a FreeSWITCH dialplan. More info.
Convert mod_perl to use CoreSession
Python/Twisted event socket client library
See FreePY under