What about the things I spent time suggesting in my last email?<br>Did you try them because I was actually curious if they made any impact.<br><br><br><div class="gmail_quote">On Thu, Dec 3, 2009 at 11:29 AM, eaf <span dir="ltr">&lt;<a href="mailto:erandr-junk@usa.net">erandr-junk@usa.net</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
I&#39;m sorry if I sounded that way. Did mean to. :)<br>
<br>
Yes, it&#39;s an embedded platform. It&#39;s an ALIX board with AMD Geode LX800 chip<br>
and 256MB of RAM. <a href="http://www.pcengines.ch/alix2d3.htm" target="_blank">http://www.pcengines.ch/alix2d3.htm</a><br>
<br>
Line offset difference is due to some minor logging changes I made to see<br>
who&#39;s allocating timers and how often. This way I found MOH streaming and<br>
that RTP still allocates timers even when it&#39;s set to none in the profile.<br>
<br>
I feel that this platform turned out to be underpowered for FS because it<br>
cannot meet its scheduling expectations. I guess, some degree of kernel<br>
tweaking or setting priorities will fix that. Meanwhile I just got rid of<br>
the SQLDB 1ms thread via -nosql command line option, split sofia worker 1ms<br>
thread in two (one blocked and waiting for new commands in the SQL queue,<br>
the other one checking registrations and gateways with 1sec interval), and<br>
don&#39;t know yet what to do about the timer thread.<br>
<br>
Again, I apologize for stupid or accusing questions, I&#39;m just trying to see<br>
how FS can be made friendlier to this board. Or the board be made friendlier<br>
to FS ;)<br>
<div class="im"><br>
<br>
Anthony Minessale-2 wrote:<br>
&gt;<br>
&gt; If you see that message then your machine/os/combo is having some problems<br>
&gt; keeping up.<br>
&gt; It&#39;s not the timer missing anything its the monotonic clock detecting a 1<br>
&gt; second or more differential from what its next prediction for the time<br>
&gt; should be.  The best way to trigger this would be to suspend FS with<br>
&gt; control-z or attach to it with gdb blocking the entire process,  that 1ms<br>
&gt; thread would have to miss 1000 iterations to trigger that warning.<br>
&gt;<br>
&gt; Btw, that error message is at line 471 not 473 so you are using modified<br>
&gt; code.<br>
&gt;<br>
&gt; Its possible your box has a bad monotonic timer, you can set<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div><div><div></div><div class="h5">&gt; under &lt;settings&gt; in switch.conf.xml<br>
&gt;<br>
&gt; We are now starting to guess you are using some small embedded type<br>
&gt; platform<br>
&gt; perhaps?<br>
&gt; I&#39;ve run FS even on a nokia n810 and never caused that message to fire.<br>
&gt;<br>
&gt; if 1 call can interrupt the cpu enough to  cause noticeable issues you<br>
&gt; might<br>
&gt; want to consider running the process at a<br>
&gt; greater priority by using the -hp command line arg or at least nice it<br>
&gt;<br>
&gt; Why don&#39;t you tell us the whole story about what OS/platform you are using<br>
&gt; here rather that form conjectures about what is wrong with our code that<br>
&gt; thousands of people are happy with.<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Thu, Dec 3, 2009 at 8:55 AM, eaf &lt;<a href="mailto:erandr-junk@usa.net">erandr-junk@usa.net</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Btw, I have these popping up in my logs from time to time:<br>
&gt;&gt;<br>
&gt;&gt; 2009-12-03 09:42:06.035294 [DEBUG] switch_core_state_machine.c:314<br>
&gt;&gt; (sofia/external/<a href="mailto:xxxxx@4.68.250.148">xxxxx@4.68.250.148</a>) Running State Change CS_HANGUP<br>
&gt;&gt; 2009-12-03 09:42:06.035294 [CRIT] switch_time.c:473 Virtual Migration<br>
&gt;&gt; Detected! Syncing Clock<br>
&gt;&gt;<br>
&gt;&gt; In this case an incoming call rang to both FS and Asterisk, Asterisk<br>
&gt;&gt; picked<br>
&gt;&gt; up, but the surge of activity made FS timer thread miss a beat or two.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; eaf wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Oh, it&#39;s not just one timer thread... Why, why is sql_thread keeps on<br>
&gt;&gt; &gt; checking for messages every millisecond? Couldn&#39;t there be some<br>
&gt;&gt; signalling<br>
&gt;&gt; &gt; implemented that will make the thread suspend on condition variable or<br>
&gt;&gt; a<br>
&gt;&gt; &gt; socket/pipe in between?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; #0  do_sleep (t=1000) at src/switch_time.c:109<br>
&gt;&gt; &gt; #1  0xb7e5e215 in switch_core_sql_thread (thread=0xb7586ae8, obj=0x0)<br>
&gt;&gt; at<br>
&gt;&gt; &gt; src/switch_core_sqldb.c:783<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Why does this sofia_profile_worker_thread keeps on looping checking for<br>
&gt;&gt; &gt; the queue? Have a semaphore!<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; #0  do_sleep (t=1000) at src/switch_time.c:109<br>
&gt;&gt; &gt; #1  0xb73a4701 in sofia_profile_worker_thread_run (thread=0x80f3a30,<br>
&gt;&gt; &gt; obj=0x80f2490) at sofia.c:978<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Nothing&#39;s happening on the box, but there are three threads that<br>
&gt;&gt; pretend<br>
&gt;&gt; &gt; to be actively busy with smth. Others at least sleep for hundreds of<br>
&gt;&gt; &gt; milliseconds, not for one.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; And there is even infrastructure present to do blocking pops: i.e. why<br>
&gt;&gt; &gt; couldn&#39;t sqldb thread do queue_pop() instead of queue_trypop()<br>
&gt;&gt; intermixed<br>
&gt;&gt; &gt; with 1ms sleeps? This looping is such a waste...<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; eaf wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; As I see it, switch_cond_next() currently is just a do_sleep(1000).<br>
&gt;&gt; Yes,<br>
&gt;&gt; &gt;&gt; it could be mapped to a 1ms timer, but &quot;#define DISABLE_1MS_COND&quot;<br>
&gt;&gt; &gt;&gt; overrides that.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Yeah, there is a global timestamp... It&#39;s easy to workaround that for<br>
&gt;&gt; RTP<br>
&gt;&gt; &gt;&gt; who calls switch_micro_time_now()... But if somebody accesses<br>
&gt;&gt; &gt;&gt; runtime.timestamp directly, it&#39;s gonna be tough to grep for that. If<br>
&gt;&gt; only<br>
&gt;&gt; &gt;&gt; this was C++...<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; I&#39;ll play around. Never liked polling too much. Never could&#39;ve guessed<br>
&gt;&gt; &gt;&gt; that polling could be so useful for scalability ;) My naive<br>
&gt;&gt; &gt;&gt; implementation would&#39;ve pulled timestamp via system calls and would&#39;ve<br>
&gt;&gt; &gt;&gt; done sleeping by passing exact interval to select() instead of syncing<br>
&gt;&gt; &gt;&gt; with a pacing thread. Which would be dead-quiet at idle time, but, of<br>
&gt;&gt; &gt;&gt; course, would stop scaling at some point due to excessive number of<br>
&gt;&gt; &gt;&gt; system calls.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Thanks.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Michael Jerris wrote:<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; In short.  No, you can not for many reasons. The milisecond tic is<br>
&gt;&gt; &gt;&gt;&gt; used throughout the code even when there is not any calls up.  You<br>
&gt;&gt; can<br>
&gt;&gt; &gt;&gt;&gt; grep for switch_cond_next if you would like to see where but it is<br>
&gt;&gt; &gt;&gt;&gt; required to keep our global timestamp and for pacing the scheduler<br>
&gt;&gt; &gt;&gt;&gt; among other services that run all the time.<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; Mike<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; On Dec 2, 2009, at 7:31 PM, eaf &lt;<a href="mailto:erandr-junk@usa.net">erandr-junk@usa.net</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; Can I reduce resolution of that timer thread 10 times? I mean, I<br>
&gt;&gt; &gt;&gt;&gt;&gt; glanced<br>
&gt;&gt; &gt;&gt;&gt;&gt; through the code, and see that among others (are there others?) RTP<br>
&gt;&gt; &gt;&gt;&gt;&gt; and IVR<br>
&gt;&gt; &gt;&gt;&gt;&gt; set up their timers that are subsequently managed by this thread.<br>
&gt;&gt; &gt;&gt;&gt;&gt; RTP timers<br>
&gt;&gt; &gt;&gt;&gt;&gt; should be eliminated by that setting you&#39;ve suggested. IVR timers<br>
&gt;&gt; &gt;&gt;&gt;&gt; are set at<br>
&gt;&gt; &gt;&gt;&gt;&gt; 20ms... So, if the thread is set to wake up every 10ms instead of<br>
&gt;&gt; &gt;&gt;&gt;&gt; 1ms it<br>
&gt;&gt; &gt;&gt;&gt;&gt; should be able to wake up those IVR timers just fine. Right?<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; That&#39;s a cool design to have one dedicated thread that maintains<br>
&gt;&gt; &gt;&gt;&gt;&gt; accurate<br>
&gt;&gt; &gt;&gt;&gt;&gt; timing and then broadcasts via condition variables to hundreds of<br>
&gt;&gt; &gt;&gt;&gt;&gt; other<br>
&gt;&gt; &gt;&gt;&gt;&gt; threads events that they can register for. I&#39;m sure it&#39;s one of the<br>
&gt;&gt; &gt;&gt;&gt;&gt; reasons<br>
&gt;&gt; &gt;&gt;&gt;&gt; why FS scales so much better than Asterisk. But for poor low-end<br>
&gt;&gt; &gt;&gt;&gt;&gt; setups that<br>
&gt;&gt; &gt;&gt;&gt;&gt; sit in the closet, eat only 6W of power and hardly ever run more<br>
&gt;&gt; &gt;&gt;&gt;&gt; than two<br>
&gt;&gt; &gt;&gt;&gt;&gt; calls at the same time, can I hack it somehow to be more UNIX-<br>
&gt;&gt; &gt;&gt;&gt;&gt; friendly? I.e.<br>
&gt;&gt; &gt;&gt;&gt;&gt; make it stuck in select() or recv() when there is nothing to do,<br>
&gt;&gt; call<br>
&gt;&gt; &gt;&gt;&gt;&gt; clock_gettime() right from the thread that wants and when it wants<br>
&gt;&gt; &gt;&gt;&gt;&gt; to know<br>
&gt;&gt; &gt;&gt;&gt;&gt; current time?<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; Say, what if that thread is made to suspend on a condition variable<br>
&gt;&gt; &gt;&gt;&gt;&gt; in case<br>
&gt;&gt; &gt;&gt;&gt;&gt; if there are no timers registered in TIMER_MATRIX? Then, if some<br>
&gt;&gt; other<br>
&gt;&gt; &gt;&gt;&gt;&gt; thread comes up and adds its timer into the matrix, it could wake up<br>
&gt;&gt; &gt;&gt;&gt;&gt; the<br>
&gt;&gt; &gt;&gt;&gt;&gt; timer thread and enjoy accurate timing as needed, on demand? And in-<br>
&gt;&gt; &gt;&gt;&gt;&gt; between<br>
&gt;&gt; &gt;&gt;&gt;&gt; the calls, when there is no RTP or IVR, it will all go silent? I<br>
&gt;&gt; mean,<br>
&gt;&gt; &gt;&gt;&gt;&gt; sitting on a wait queue in the kernel is way better than go back and<br>
&gt;&gt; &gt;&gt;&gt;&gt; forth<br>
&gt;&gt; &gt;&gt;&gt;&gt; incrementing counters that nobody even needs at the moment?<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; Anthony Minessale-2 wrote:<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; idle is a 4 letter word to a realtime application.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; The core keeps a single high-priority thread to keep 1ms timing and<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; expands<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; that broadcasting<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; to hundreds or thousand of threads who need accurate timing.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; Your choppy audio is caused by linksys lying about the packet len<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; that<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; it&#39;s<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; using and we set our timer<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; to the wrong speed.<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; --<br>
&gt;&gt; &gt;&gt;&gt;&gt; View this message in context:<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; <a href="http://old.nabble.com/Choppy-sound-with-PCMU-tp26594250p26619085.html" target="_blank">http://old.nabble.com/Choppy-sound-with-PCMU-tp26594250p26619085.html</a><br>
&gt;&gt; &gt;&gt;&gt;&gt; Sent from the Freeswitch-users mailing list archive at Nabble.com.<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; &gt;&gt;&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; &gt;&gt;&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; &gt;&gt;&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-</a><br>
&gt;&gt; &gt;&gt;&gt;&gt; users<br>
&gt;&gt; &gt;&gt;&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; &gt;&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; &gt;&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; &gt;&gt;&gt; UNSUBSCRIBE:<br>
&gt;&gt; <a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; &gt;&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; View this message in context:<br>
&gt;&gt; <a href="http://old.nabble.com/Choppy-sound-with-PCMU-tp26594250p26627246.html" target="_blank">http://old.nabble.com/Choppy-sound-with-PCMU-tp26594250p26627246.html</a><br>
&gt;&gt; Sent from the Freeswitch-users mailing list archive at Nabble.com.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; FreeSWITCH-users mailing list<br>
&gt;&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt;&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt;&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt;&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Anthony Minessale II<br>
&gt;<br>
&gt; FreeSWITCH <a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org/</a><br>
&gt; ClueCon <a href="http://www.cluecon.com/" target="_blank">http://www.cluecon.com/</a><br>
&gt; Twitter: <a href="http://twitter.com/FreeSWITCH_wire" target="_blank">http://twitter.com/FreeSWITCH_wire</a><br>
&gt;<br>
&gt; AIM: anthm<br>
</div></div>&gt; <a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a> &lt;<a href="mailto:MSN%253Aanthony_minessale@hotmail.com">MSN%3Aanthony_minessale@hotmail.com</a>&gt;<br>
&gt; GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a>&lt;<a href="mailto:PAYPAL%253Aanthony.minessale@gmail.com">PAYPAL%3Aanthony.minessale@gmail.com</a>&gt;<br>
<div class="im">&gt; IRC: <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch<br>
&gt;<br>
&gt; FreeSWITCH Developer Conference<br>
</div>&gt; <a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a> &lt;<a href="mailto:sip%253A888@conference.freeswitch.org">sip%3A888@conference.freeswitch.org</a>&gt;<br>
<div class="im">&gt; <a href="http://iax:guest@conference.freeswitch.org/888" target="_blank">iax:guest@conference.freeswitch.org/888</a><br>
</div>&gt; <a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a>&lt;<a href="mailto:googletalk%253Aconf%252B888@conference.freeswitch.org">googletalk%3Aconf%2B888@conference.freeswitch.org</a>&gt;<br>

&gt; pstn:213-799-1400<br>
&gt;<br>
<div class="im">&gt; _______________________________________________<br>
&gt; FreeSWITCH-users mailing list<br>
&gt; <a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
&gt; <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
&gt; UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
&gt; <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
&gt;<br>
&gt;<br>
<br>
--<br>
</div>View this message in context: <a href="http://old.nabble.com/Choppy-sound-with-PCMU-tp26594250p26629856.html" target="_blank">http://old.nabble.com/Choppy-sound-with-PCMU-tp26594250p26629856.html</a><br>
<div><div></div><div class="h5">Sent from the Freeswitch-users mailing list archive at Nabble.com.<br>
<br>
<br>
_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br>
Twitter: <a href="http://twitter.com/FreeSWITCH_wire">http://twitter.com/FreeSWITCH_wire</a><br><br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a href="http://iax:guest@conference.freeswitch.org/888">iax:guest@conference.freeswitch.org/888</a><br>
<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>pstn:213-799-1400<br>