fs_cli -x "fsctl shutdown gracefully"
-BDF
If you mean the effect, it did not stop FS although the results were the same, it prevented the fast FS shutdown/startup from activating the internal profile so none of the phone extensions work. In my case that meant all phones were out from 2am to whenever I activated internal. Not good in case of an emergency. Hope it may be useful to someone, it took me 15 days to find and resolve.If you mean how is FreeSwitch shutdown, the 2am script runs a script that runs one command: /usr/local/freeswitch/bin/fs_cli -x "shutdown"On Apr 3, 2012, at 11:24 AM, Anthony Minessale wrote:How exactly does it "stop" freeswitch?
On Tue, Apr 3, 2012 at 11:17 AM, Mario G <mario_fs@mgtech.com> wrote:
I am posting this in case someone else runs into this, especially since Ifound it may not be Mac OSX specific (I was able to duplicate on SUSEalthough not as much).Both of the following conditions must exist:1. You have at least one TCP local extension. In this case, due to Bria,
etc. on an iPad, using TCP reduced battery usage since no need to run inbackground.2. FreeSwitch is recycled very quickly, in this case down/up within 30
seconds because it was automated at 2am each day. I needed it due to a longrunning sofia memory leak on OSX which may be resolved but I need to test.
Problem: The extension using TCP cause a TIME_WAIT that keeps the 5060 portactive (but NOT open) on the TCP stack, in my case it was 30 seconds but I
found the time could be different on other platforms. When FreeSwitch comesback up the "internal.xml" profile fails because port 5060 is in use. If FS
is brought up AFTER the TIME_WAIT goes away there is no problem, but in mycase it was very quick each night to minimize the outage.Solution: I changed the OSX plist that auto restarts FS to run a script thatstarts FS, this makes no difference except a script is more flexible. Rather
than use an arbitrary sleep time I check for port 5060 which is morereliable and faster. I tested this many times using different scenarios and
all worked. Note I tried to use the "lsof -i TCP:5060" command but it showsonly OPEN ports so it won't work.#!/bin/shwhile : ; doa=$(/usr/sbin/netstat -p tcp)if [[ "$a" != *sip* ]] ; then
breakfiecho "Port 5060 still in use - waiting for it to free up"echo "${a}"/bin/sleep 3done/usr/local/freeswitch/bin/freeswitch -nc -nonat
# a=$(/usr/sbin/lsof -i TCP:5060) <- only shows open ports# if [ "$a" = "" ] ; then
On Apr 3, 2012, at 8:53 AM, Mario G wrote:For anyone who may run into this see "FS shutdown not closing TCP portcauses TIME_WAIT problems" for follow up and solution.On Apr 2, 2012, at 1:33 PM, Mario G wrote:That's what I was thinking, trying to figure out how now. Will post a
solution when I get one.On Apr 2, 2012, at 1:28 PM, Anthony Minessale wrote:From what I see, sofia uses the REUSEADDR flag so I will bet its yetanother MAC specific thing.
I am not really sure what you can do since you tend to find issuesdeep inside libsofia-sip and its portability to OSX.Maybe make your restart script sleep a bit?
libs/sofia-sip/libsofia-sip-ua/tport/tport_type_tcp.c:su_setreuseaddr(socket, 1);
On Mon, Apr 2, 2012 at 3:13 PM, Mario G <mario_fs@mgtech.com> wrote:If FS is shutdown and started too quickly, the internal profile ip/port
stays in use and FS will fail to start it. After searching on the wen Ifound many references to TIME_WAIT but all fixes were to the program source.
So I am wondering if when FS/sofia shuts down they are not releasing theip/port for internal. If it's true, I found some source changes to solve it.
Google "TIME-WAIT" and you'll find lots of good stuff likehttp://serverfault.com/questions/329845/how-to-forcibly-close-a-socket-in-time-wait.
Apparently there is no way to free up the port manually. Help/commentsanyone?Mario G_________________________________________________________________________Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm
MSN:anthony_minessale@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900
_________________________________________________________________________
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-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
_________________________________________________________________________
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-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org