<div dir="ltr">Now, i make some changes, and until now it&#39;s running fine<br><br>I think the problem was when you declare interface as dead, like line 674 of gsmopen_protocol.cpp<br><div><br></div><div><a href="https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/src/mod/endpoints/mod_gsmopen/gsmopen_protocol.cpp">https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/src/mod/endpoints/mod_gsmopen/gsmopen_protocol.cpp</a><br><br><div>alarm_event(tech_pvt, ALARM_FAILED_INTERFACE, &quot;gsmopen_serial_monitor failed, declaring interface dead&quot;);</div><div>tech_pvt-&gt;active = 0;</div><div>-&gt;&gt;&gt;&gt; tech_pvt-&gt;name[0] = &#39;\0&#39;;<br><br>You make a \0 in interface name<br><br>So, when someone call remove_interface() in mod_gsmopen.cpp</div><div><br><a href="https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/src/mod/endpoints/mod_gsmopen/mod_gsmopen.cpp">https://freeswitch.org/stash/projects/FS/repos/freeswitch/browse/src/mod/endpoints/mod_gsmopen/mod_gsmopen.cpp</a><br><br>To grab the tech_pvt, the function check for strlen or compare GSMOPEN_INTERFACES[interface_id].name (line 322 and 329)<br><br>Then, we will not found interface (tech_pvt), because &quot;name&quot; is nothing</div><div><br>continuing, in line 336 it&#39;s check if there is a tech_pvt<br><br><div>if (!tech_pvt) {</div><div><span class="" style="white-space:pre">  D</span>EBUGA_GSMOPEN(&quot;interface &#39;%s&#39; does not exist\n&quot;, GSMOPEN_P_LOG, the_interface);</div><div>  goto end;</div><div>}<br><br>This check will jump the Close in line 385, causing a deadlock opened fd.<br>res = tech_pvt-&gt;serialPort_serial_control-&gt;Close();<br></div></div><div><br>So i comment every line when you set tech_pvt-&gt;name[0] = &#39;\0&#39;;<br><br>It&#39;s correct? Since when interface failed, and it&#39;s declared as died, the serial isn&#39;t closed, just marked as died, and the tty still opened causing a deadlock, if no one close this.<br><br><br><br><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-09-25 14:10 GMT-04:00 Luiz Fernando Softov <span dir="ltr">&lt;<a href="mailto:fernando@softov.com.br" target="_blank">fernando@softov.com.br</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I make a daemon, witch manage USB using kqueue and other things, so, every time i plug or unplug a modem, i make a event, like ARRIVE and LEAVE.<br><br>This daemon have a list of modems, correlate with ttys ids - U3G (U0.0, U0.1, U0.2) and UMODEM (U0 U1 U2)<br><br>So, when a modem ARRIVE, and it&#39;s &quot;attached&quot; (configured), i call a &quot;gsm reload&quot;.<br>When a modem LEAVE, i call a gsm remove interface_x.<br><br>Using mod_xml_curl, i have dynamic config.<br><br>I use events, like gsmopen_dump list, to manage and controll interfaces, like when user &quot;detach&quot; a modem.<br><br>If you want, send me a e-mail, i will give access to my system and you can see what i&#39;m talking about.<br><br><br>Anyway, i found things like in function<br><br>int gsmopen_serial_write_AT_noack(private_t *tech_pvt, const char *data)<br><br>// You make<br>LOKKA(tech_pvt-&gt;controldev_lock);<br><br>Then call gsmopen_serial_write_AT(tech_pvt, data), and inside gsmopen_serial_write_AT, when something is wrong, you make UNLOCKA(tech_pvt-&gt;controldev_lock); and return -1<br><br>But, you check if (gsmopen_serial_write_AT(tech_pvt, data) != (int) strlen(data)) {<br><br>Then, you make again UNLOCKA(tech_pvt-&gt;controldev_lock);<br><br>Why make two times UNLOCKA(tech_pvt-&gt;controldev_lock); ?<br><br>It&#39;s like<br>LOKKA(tech_pvt-&gt;controldev_lock);<br>UNLOCKA(tech_pvt-&gt;controldev_lock);<br>UNLOCKA(tech_pvt-&gt;controldev_lock);<br><br><br>Another is in<br>int gsmopen_serial_read_AT(private_t *tech_pvt, int look_for_ack, int timeout_usec, int timeout_sec, const char *expected_string, int expect_crlf)<br>You make a LOKKA(tech_pvt-&gt;controldev_lock);, but there is some returns (inside try catch), without UNLOCKA.<br><br>Sorry if i make some mistakes in my explanation, but i just want to undestand how this funcions works.<br><br>I disagree with &quot;Shaabir&quot; about this module is not <span style="font-size:12.8px">useable. I just think this need some changes to work fine.</span><br>I already test this module with 40 modems for 7 days, and it&#39;s work fine, until i grab a deadlock in USB.<br><br>Giovanni, if you have time to chat with me, i will be grateful.<br><br><br><br><br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2015-09-25 12:41 GMT-04:00 Giovanni Maruzzelli <span dir="ltr">&lt;<a href="mailto:gmaruzz@gmail.com" target="_blank">gmaruzz@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>for plugging and unplugging modems, that&#39;s a very difficult thing to manage, this is the best I can come out with (and probably does not work in freebsd):<br><br><a href="http://wiki.freeswitch.org/wiki/GSMopen#IMEI_and_IMSI_automatic_device_discovery_.28only_on_Linux.29_2" target="_blank">http://wiki.freeswitch.org/wiki/GSMopen#IMEI_and_IMSI_automatic_device_discovery_.28only_on_Linux.29_2</a><br><br></div>you&#39;re welcome to find a similar mechanism, and file a jira with a pull request, so it will be inserted in manline.<br><br></div>If your modifications only apply to freebsd, please use #ifdefs, so it still continue to compile and work in Linux.<span><font color="#888888"><br><br></font></span></div><span><font color="#888888">-giovanni<br><br></font></span></div><div class="gmail_extra"><span><br clear="all"><div><div>Sincerely,<br><br>Giovanni Maruzzelli<br>Cell : <a href="tel:%2B39-347-2665618" value="+393472665618" target="_blank">+39-347-2665618</a><br></div></div>
<br></span><div><div><div class="gmail_quote">On Fri, Sep 25, 2015 at 6:24 PM, Luiz Fernando Softov <span dir="ltr">&lt;<a href="mailto:fernando@softov.com.br" target="_blank">fernando@softov.com.br</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><span style="font-size:12.8px">I&#39;m using a USB with power supply.</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">But sometimes it&#39;s just happen. Sometimes user remove and plug modem again.</div><div style="font-size:12.8px"><br></div><span style="font-size:12.8px">I can&#39;t use Debian, because our system depends of FreeBSD, and we have a lot of source (daemons) running, based, on that platform. And we use kqueue, I think Debian don&#39;t have kqueue, it&#39;s like epool, but better, much better.</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Anyway, I don&#39;t That it&#39;s a kernel problem, because, since I have another daemon, attached in ttyx.0 (mod_gsmopen attach to ttyx.3), and when modem power off or &quot;reset&quot;, only ttyx.3 still locked.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I&#39;m trying to read the source to figure what&#39;s happening, but it&#39;s hard to read, not because the source is difficult, but because isn&#39;t organized.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I&#39;m thinking in rewrite the module, but if in future someone change something in original module I will need to check my source.</div><div style="font-size:12.8px"><div>There is another thing, <span style="font-size:small;background-color:rgba(255,255,255,0)">I don&#39;t know how things like apr_thread works, and what functions like switch_sleep(1000000) do and why using that.</span></div><div><br></div><div>Today I make some alterations where the module make a lock, LOKKA, there is some functions who don&#39;t have unlock, and another who only have unlock, sometimes two unlocks. So I will wait to see what will happen.</div><div><br></div><div>Now, here it&#39;s 3:00 am, and I&#39;m going to sleep, almost 19 hours awake up, trying to debug this module and another things.</div><div><br></div><div><br></div>Maybe you or someone have a time, to chat, or reply some e-mails, or maybe here, to explain some questions about the source (module)?</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">There&#39;s some lines marked with TODO, why?<br><div>And there is another version of this module?</div><div><font size="2"><span style="background-color:rgba(255,255,255,0)">Which the maximum number of modems that you already usage?</span></font></div></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">2015-09-25 7:53 GMT-04:00 Giovanni Maruzzelli <span dir="ltr">&lt;<a href="mailto:gmaruzz@gmail.com" target="_blank">gmaruzz@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>if you found problems, please open a jira issue, with all info to replicate the problem, as explained in gsmopen page.<br><br></div>It would be useful for us developers, and to me personally, being the person in charge of gsmopen.<br><br></div>Thanks in advance,<br><br></div>-giovanni<br></div><div class="gmail_extra"><br clear="all"><div><div>Sincerely,<br><br>Giovanni Maruzzelli<br>Cell : <a href="tel:%2B39-347-2665618" value="+393472665618" target="_blank">+39-347-2665618</a><br></div></div><div><div>
<br><div class="gmail_quote">On Fri, Sep 25, 2015 at 1:44 PM, Shabbir abbasi <span dir="ltr">&lt;<a href="mailto:shabbirabbasi92@gmail.com" target="_blank">shabbirabbasi92@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">mod_gsmopen  needs more development  work, i have tested it sometimes ago and found it is not useable , so now i am using  asterisk with chan_dongle better then gsmopen without usb HUB<br></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 25, 2015 at 11:11 AM, Giovanni Maruzzelli <span dir="ltr">&lt;<a href="mailto:gmaruzz@gmail.com" target="_blank">gmaruzz@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">This seems to be a kernel problem.</p>
<p dir="ltr">To have the most success chances: use a USB hub with power supply (eg, a USB hub that get electrical power from the wall socket).<br>
Also, use the reference.platform, debian 8 jessie, instead of freebsd.</p>
<p dir="ltr">-goovanni</p>
<p dir="ltr">sent from my mobile,<br>
Giovanni Maruzzelli<br>
cell: +39 347 266 56 18</p>
<div class="gmail_quote"><div><div>On Sep 25, 2015 7:19 AM, &quot;Luiz Fernando Softov&quot; &lt;<a href="mailto:fernando@softov.com.br" target="_blank">fernando@softov.com.br</a>&gt; wrote:<br type="attribution"></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><font style="font-size:12.8px" face="monospace, monospace">Hi, <br><br>I&#39;m using freeswitch 1.15 in Freebsd 10.1, with mod_gsmopen<br><br>FreeSWITCH Version 1.5.15b+git~20150407T231134Z~d55c4a053b~64bit (git d55c4a0 2015-04-07 23:11:34Z 64bit), whats happen, its the same with another versions like, 1.6, 1.4.19, etc<br><br>After sometime running freeswitch, i have this TTYs.<br></font><div style="font-size:12.8px"><font face="monospace, monospace"><br></font></div><div style="font-size:12.8px"><div><font face="monospace, monospace">crw-------   1 root  wheel      0x8e Sep 24 15:30 ttyU1.3</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x8f Sep 24 15:30 ttyU1.3.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x90 Sep 24 15:30 ttyU1.3.lock</font></div></div><div style="font-size:12.8px"><div><font face="monospace, monospace">crw-------   1 root  wheel      0x8e Sep 24 15:30 ttyU2.3</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x8f Sep 24 15:30 ttyU2.3.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x90 Sep 24 15:30 ttyU2.3.lock</font></div></div><div style="font-size:12.8px"><div><font face="monospace, monospace">crw-------   1 root  wheel      0x8e Sep 24 15:30 ttyU3.3</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x8f Sep 24 15:30 ttyU3.3.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x90 Sep 24 15:30 ttyU3.3.lock</font></div></div><div style="font-size:12.8px"><div><font face="monospace, monospace">crw-------   1 root  wheel      0x76 Sep 25 00:46 ttyU4.0</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x77 Sep 24 22:28 ttyU4.0.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x78 Sep 24 22:28 ttyU4.0.lock</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x7c Sep 24 22:28 ttyU4.1</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x7d Sep 24 22:28 ttyU4.1.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x7e Sep 24 22:28 ttyU4.1.lock</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x82 Sep 24 22:28 ttyU4.2</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x83 Sep 24 22:28 ttyU4.2.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x84 Sep 24 22:28 ttyU4.2.lock</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x8e Sep 24 22:28 ttyU4.3</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x8f Sep 24 22:28 ttyU4.3.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0x90 Sep 24 22:28 ttyU4.3.lock</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xa8 Sep 25 00:46 ttyU5.0</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xa9 Sep 24 22:28 ttyU5.0.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xaa Sep 24 22:28 ttyU5.0.lock</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xae Sep 24 22:28 ttyU5.1</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xaf Sep 24 22:28 ttyU5.1.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xb6 Sep 24 22:28 ttyU5.1.lock</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xba Sep 24 22:28 ttyU5.2</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xbb Sep 24 22:28 ttyU5.2.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xbc Sep 24 22:28 ttyU5.2.lock</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xc0 Sep 24 22:28 ttyU5.3</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xc1 Sep 24 22:28 ttyU5.3.init</font></div><div><font face="monospace, monospace">crw-------   1 root  wheel      0xc2 Sep 24 22:28 ttyU5.3.lock</font></div><div><font face="monospace, monospace"><br>As you can see, ttyU1.3, ttyU2.3, ttyU3.3 are USB deadlocks<br><br>I try to unload mod_gsmopen, but i receive a message that is in use<br>so i kill freeswitch, then ttyU1.3, ttyU2.3, ttyU3.3, are free and disappear (as well .init and .lock)<br><br>I try to figure out whats happening, with logs, alarms, but i can&#39;t.<br>Someone have the same problem, or know the solution?<br><br><br>ps.<br>Reading the list, i realize that few members use the module, or don&#39;t have problems.<br>If i am correct, is there any other way to use GSM modems or GSM, which is low cost?<br>Is there anyone who can guide me in some things about the code or tips?<br><br>ps 2.<br>sorry about my english</font></div></div><div><br></div>-- <br><div><div dir="ltr">Luiz Fernando Softov<br><a href="http://www.softov.com.br/" target="_blank">http://www.softov.com.br</a><br><a href="mailto:fernando@softov.com.br" target="_blank">fernando@softov.com.br</a><br></div></div>
</div>
<br></div></div>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br></div>
</div></div><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br></div></div></div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Luiz Fernando Softov<br><a href="http://www.softov.com.br/" target="_blank">http://www.softov.com.br</a><br><a href="mailto:fernando@softov.com.br" target="_blank">fernando@softov.com.br</a><br></div></div>
</div>
</div></div><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br></div></div></div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org" target="_blank">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" rel="noreferrer" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" rel="noreferrer" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" rel="noreferrer" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" rel="noreferrer" target="_blank">http://www.freeswitch.org</a><br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr">Luiz Fernando Softov<br><a href="http://www.softov.com.br/" target="_blank">http://www.softov.com.br</a><br><a href="mailto:fernando@softov.com.br" target="_blank">fernando@softov.com.br</a><br></div></div>
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Luiz Fernando Softov<br><a href="http://www.softov.com.br/" target="_blank">http://www.softov.com.br</a><br><a href="mailto:fernando@softov.com.br" target="_blank">fernando@softov.com.br</a><br></div></div>
</div>