<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Anthony,<div>adding <span class="Apple-style-span" style="font-family: Consolas; font-size: 10px; ">switch_core_session_soft_unlock(session); </span>below<span class="Apple-style-span" style="font-family: Consolas; font-size: 10px; "> </span><span class="Apple-style-span" style="font-family: Consolas; font-size: 10px; ">switch_core_session_rwunlock(session);</span></div><div><span class="Apple-style-span" style="font-family: Consolas; font-size: 10px; "><br></span></div><div><font class="Apple-style-span" face="Consolas" size="2"><br></font></div><div>moves the call state from CS_SOFT_EXEC to CS_HANGUP but the channel still persists waiting on external entities. I am calling mod_shout to play an audio on the channel earlier in the session.</div><div><br></div><div>I dont know if that helps.</div><div><br></div><div>Thanks!</div><div>Phillip<br><div><div>On Aug 31, 2012, at 4:16 PM, Phillip Boles wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Sorry Yes using the latest.<br><br>Using commit a8ce9ac29f3ba000bf42ab2286be04cc7bf9f509<br>Author: Anthony Minessale <<a href="mailto:anthm@freeswitch.org">anthm@freeswitch.org</a>><br>Date: Thu Aug 30 17:17:15 2012 -0500<br><br>Changes made switch_cpp.cpp starting at Line 1000<br>switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Calling CoreSession::destroy\n");<br> if (session) {<br> switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "We still have valid session\n");<br><br> if (!channel) {<br> switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Channel is undefined! Trying to get it!\n");<br><br> channel = switch_core_session_get_channel(session);<br> }<br><br> if (channel) {<br> switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG,<br> "%s destroy/unlink session from object\n", switch_channel_get_name(channel));<br> switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG,<br> "%s destroy/unlink uuid\n", switch_channel_get_uuid(channel));<br> switch_channel_set_private(channel, "CoreSession", NULL);<br> if (switch_channel_up(channel) && switch_test_flag(this, S_HUP) && !switch_channel_test_flag(channel, CF_TRANSFER)) {<br> switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);<br> }<br> } else {<br> switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Channel is undefined! We Failed to get it!\n");<br> }<br><br> [CRIT] switch_cpp.cpp:1000 Calling CoreSession::destroy<br> [CRIT] switch_cpp.cpp:1002 We still have valid session<br> [DEBUG] switch_cpp.cpp:1011 sofia/external/12146635351 destroy/unlink session from object<br> [DEBUG] switch_cpp.cpp:1013 83451093-e04f-49c1-9f55-5dd966bc4ba9 destroy/unlink uuid<br> [DEBUG] switch_core_state_machine.c:92 sofia/external/XXXXXXXXXX Standard REPORTING, cause: NORMAL_CLEARING<br> [DEBUG] switch_core_state_machine.c:703 (sofia/external/XXXXXXXXXX ) State REPORTING going to sleep<br> [DEBUG] switch_core_state_machine.c:423 (sofia/external/XXXXXXXXXX ) State Change CS_REPORTING -> CS_DESTROY<br> [DEBUG] switch_core_session.c:1210 Send signal sofia/external/XXXXXXXXXX [BREAK]<br> [DEBUG] switch_core_session.c:1415 Session 2 (sofia/external/XXXXXXXXXX ) Locked, Waiting on external entities<br><br><br><br>channel remains hung<br><br>P<br><br>On Aug 31, 2012, at 12:26 PM, Anthony Minessale wrote:<br><br><blockquote type="cite">1) You did not answer the question if you are on latest GIT HEAD. If<br></blockquote><blockquote type="cite">you are on anything else update...<br></blockquote><blockquote type="cite">2) Add some debugging to switch_cpp.cpp about line 1000<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">use lines like this to follow the code paths when you call destroy<br></blockquote><blockquote type="cite">switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "BLAH\n");<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">The part I am concerned with is when you call destroy you dont see the<br></blockquote><blockquote type="cite">log line you should:<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG,<br></blockquote><blockquote type="cite"> "%s destroy/unlink session from<br></blockquote><blockquote type="cite">object\n", switch_channel_get_name(channel));<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">This makes me wonder if you are some older version...<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">On Fri, Aug 31, 2012 at 11:57 AM, Phillip Boles<br></blockquote><blockquote type="cite"><<a href="mailto:freeswitch-users@vocalspace.com">freeswitch-users@vocalspace.com</a>> wrote:<br></blockquote><blockquote type="cite"><blockquote type="cite">var session = ManagedSession.OriginateHandleHangup(s, dialString, ts, (y)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">=> {<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">try {<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Log.WriteLine(<a href="http://LogLevel.Info">LogLevel.Info</a>, "Hanging UP: "+ y.GetUuid());<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">y.SetAutoHangup(true);<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">y.flushDigits();<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">y.flushEvents();<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">y.destroy();<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">y.Dispose();<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">GC.Collect();<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">} catch( Exception ) {<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Log.WriteLine(LogLevel.Critical, "Exception While Trying to handup");<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">}<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">});<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Changes yield no fix. Neither .Dispose() or .destroy() separately or<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">together destroy the channel. I see in the log the hangup<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">11da29f3-2d9e-4b74-a439-a96ba60f2db1 but this is what I get from show<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">channels.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">The last log lines of the debug is:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">2012-08-31 11:25:52.109393 [DEBUG] switch_core_state_machine.c:407<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">(sofia/external/XXXXXXXXXX) State Change CS_REPORTING -> CS_DESTROY<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">2012-08-31 11:25:52.109393 [DEBUG] switch_core_session.c:1224 Send signal<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">sofia/external/XXXXXXXXXX [BREAK]<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">2012-08-31 11:25:52.109393 [DEBUG] switch_core_session.c:1424 Session 1<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">(sofia/external/XXXXXXXXXX) Locked, Waiting on external entities<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:freeswitch@fs03.int.colo">freeswitch@fs03.int.colo</a>> show channels<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">11da29f3-2d9e-4b74-a439-a96ba60f2db1,outbound,2012-08-31<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">11:25:24,1346430324,sofia/external/12146635351,CS_SOFT_EXECUTE,Vocalspace,2223334444,,12146635351,,,,default,PCMU,8000,64000,PCMU,8000,64000,,fs03.int.colo,,,ACTIVE,Outbound<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Call,12146635351,,,,<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:freeswitch@fs03.int.colo">freeswitch@fs03.int.colo</a>> uuid_kill 11da29f3-2d9e-4b74-a439-a96ba60f2db1<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">-ERR No Such Channel!<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">I am calling this from "managed CustomModule.Api"<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Calling GC.Collect() later in the execution does not resolve either.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">//------------------------------------------------------<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">// Entrypoint for blocking API execution<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">//------------------------------------------------------<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">public void Execute (ApiContext context) {<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"> context.Arguments, context.Event == null ? "<none>" :<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">context.Event.GetEventType ()));<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">// this contains the above code<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Run(ParseArguments(context.Arguments));<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">GC.Collect();<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">}<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Thanks!<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Suggestions appreciated.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">On Aug 30, 2012, at 5:22 PM, Dave R. Kompel wrote:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Actually, all the managed objects are derived from IDisposable, so you<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">should use the .Dispose() method, and let the wrapper do it's job.<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">________________________________<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">From: Anthony Minessale [mailto:anthony.minessale@gmail.com]<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">To: FreeSWITCH Users Help [mailto:freeswitch-users@lists.freeswitch.org]<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Sent: Thu, 30 Aug 2012 13:48:07 -0700<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Subject: Re: [Freeswitch-users] Problem with originated calls hanging in<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">CS_SOFT_EXEC state<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">destroy method should have a log line about (destroy/unlink session from<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">object)<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">try calling your garbage collector, this is common issue with scripts<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">and make sure you are on latest GIT build<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">On Thu, Aug 30, 2012 at 3:24 PM, Phillip Boles<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><<a href="mailto:freeswitch-users@vocalspace.com">freeswitch-users@vocalspace.com</a>> wrote:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Sorry for the excessive logs. Here is my call to originate.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">var session = ManagedSession.OriginateHandleHangup(s, dialString, ts, (y)<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">=> {<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">try {<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Log.WriteLine(<a href="http://LogLevel.Info">LogLevel.Info</a>, "Hanging UP: "+ y.GetUuid());<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">y.SetAutoHangup(true);<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">y.destroy();<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">} catch( Exception ) {<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Log.WriteLine(LogLevel.Critical, "Exception While Trying to handup");<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">}<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">});<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">My hangup callback is getting hit and I am destroying the session<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">2012-08-28 10:49:27.296108 [INFO] switch_cpp.cpp:1227 Handing UP:<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">e315f2e8-1fa8-4fd9-849b-f687dad8aed5<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">This is the only call on the system as it is a develpment machine and I<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">see<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">the call state being changed.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">2012-08-28 10:49:27.296108 [DEBUG] switch_core_state_machine.c:79<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">sofia/external/XXXXXXXXXXX Standard REPORTING, cause: NORMAL_CLEARING<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">2012-08-28 10:49:27.296108 [DEBUG] switch_core_state_machine.c:682<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">(sofia/external/XXXXXXXXXXX) State REPORTING going to sleep<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">2012-08-28 10:49:27.296108 [DEBUG] switch_core_state_machine.c:407<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">(sofia/external/XXXXXXXXXXX) State Change CS_REPORTING -> CS_DESTROY<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">If I call show channels after the above output it show there is a session<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">sitting in CS_SOFT_EXEC corresponding to UUID<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">e315f2e8-1fa8-4fd9-849b-f687dad8aed5.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Is there something else I need to do to release the lock on this session<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">to<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">let the resources be reclaimed.<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Thanks!<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Phillip<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">_________________________________________________________________________<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Professional FreeSWITCH Consulting Services:<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitchsolutions.com">http://www.freeswitchsolutions.com</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="http://www.cudatel.com">http://www.cudatel.com</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">Official FreeSWITCH Sites<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="http://wiki.freeswitch.org">http://wiki.freeswitch.org</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="http://www.cluecon.com">http://www.cluecon.com</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">FreeSWITCH-users mailing list<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">--<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Anthony Minessale II<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Twitter: <a href="http://twitter.com/FreeSWITCH_wire">http://twitter.com/FreeSWITCH_wire</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">AIM: anthm<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">MSN:anthony_minessale@hotmail.com<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">FreeSWITCH Developer Conference<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="sip:888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">googletalk:conf+888@conference.freeswitch.org<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">pstn:+19193869900<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">_________________________________________________________________________<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Professional FreeSWITCH Consulting Services:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitchsolutions.com">http://www.freeswitchsolutions.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.cudatel.com">http://www.cudatel.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Official FreeSWITCH Sites<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://wiki.freeswitch.org">http://wiki.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.cluecon.com">http://www.cluecon.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">FreeSWITCH-users mailing list<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">_________________________________________________________________________<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Professional FreeSWITCH Consulting Services:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitchsolutions.com">http://www.freeswitchsolutions.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.cudatel.com">http://www.cudatel.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Official FreeSWITCH Sites<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://wiki.freeswitch.org">http://wiki.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.cluecon.com">http://www.cluecon.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">FreeSWITCH-users mailing list<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">_________________________________________________________________________<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Professional FreeSWITCH Consulting Services:<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitchsolutions.com">http://www.freeswitchsolutions.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.cudatel.com">http://www.cudatel.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">Official FreeSWITCH Sites<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://wiki.freeswitch.org">http://wiki.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.cluecon.com">http://www.cluecon.com</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">FreeSWITCH-users mailing list<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite">UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote></blockquote><blockquote type="cite"><blockquote type="cite"><br></blockquote></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">-- <br></blockquote><blockquote type="cite">Anthony Minessale II<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br></blockquote><blockquote type="cite">ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br></blockquote><blockquote type="cite">Twitter: <a href="http://twitter.com/FreeSWITCH_wire">http://twitter.com/FreeSWITCH_wire</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">AIM: anthm<br></blockquote><blockquote type="cite">MSN:anthony_minessale@hotmail.com<br></blockquote><blockquote type="cite">GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<br></blockquote><blockquote type="cite">IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">FreeSWITCH Developer Conference<br></blockquote><blockquote type="cite"><a href="sip:888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br></blockquote><blockquote type="cite">googletalk:conf+888@conference.freeswitch.org<br></blockquote><blockquote type="cite">pstn:+19193869900<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_________________________________________________________________________<br></blockquote><blockquote type="cite">Professional FreeSWITCH Consulting Services:<br></blockquote><blockquote type="cite"><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br></blockquote><blockquote type="cite"><a href="http://www.freeswitchsolutions.com">http://www.freeswitchsolutions.com</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br></blockquote><blockquote type="cite"><a href="http://www.cudatel.com">http://www.cudatel.com</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Official FreeSWITCH Sites<br></blockquote><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote><blockquote type="cite"><a href="http://wiki.freeswitch.org">http://wiki.freeswitch.org</a><br></blockquote><blockquote type="cite"><a href="http://www.cluecon.com">http://www.cluecon.com</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">FreeSWITCH-users mailing list<br></blockquote><blockquote type="cite"><a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br></blockquote><blockquote type="cite"><a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br></blockquote><blockquote type="cite">UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br></blockquote><blockquote type="cite"><a href="http://www.freeswitch.org">http://www.freeswitch.org</a><br></blockquote><br><br>_________________________________________________________________________<br>Professional FreeSWITCH Consulting Services:<br><a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>http://www.freeswitchsolutions.com<br><br>FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>http://www.cudatel.com<br><br>Official FreeSWITCH Sites<br>http://www.freeswitch.org<br>http://wiki.freeswitch.org<br>http://www.cluecon.com<br><br>FreeSWITCH-users mailing list<br>FreeSWITCH-users@lists.freeswitch.org<br>http://lists.freeswitch.org/mailman/listinfo/freeswitch-users<br>UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users<br>http://www.freeswitch.org<br></div></blockquote></div><br></div></body></html>