look for switch_api_execute. Not sure this makes the most sense in your case when you already have native curl access<span></span><br><br>On Thursday, March 17, 2016, Chris Mandra <<a href="mailto:mandra@gmail.com">mandra@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><font face="arial, helvetica, sans-serif"><br></font><div><font face="arial, helvetica, sans-serif"><br></font></div>Thanks for responding Anthony!<br>I may just use mod curl instead of native bc it has the functionality I need. How can I find info on how to use the api interface - maybe examples of how<br>to use the api interface from c or c++?<div class="gmail_extra"><font face="arial, helvetica, sans-serif">Freeswitch is an amazing thing. Thanks for making it available to regular people. </font></div><div class="gmail_extra"><font face="arial, helvetica, sans-serif">Thanks!</font></div><div class="gmail_extra"><font face="arial, helvetica, sans-serif">chris</font></div><div class="gmail_extra"><font face="arial, helvetica, sans-serif"><br></font><div class="gmail_quote"><font face="arial, helvetica, sans-serif">On Thu, Mar 17, 2016 at 12:25 AM, Anthony Minessale <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','anthony.minessale@gmail.com');" target="_blank">anthony.minessale@gmail.com</a>></span> wrote:<br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><font face="arial, helvetica, sans-serif">Via one of the exposed interfaces like api interface etc.</font><div><font face="arial, helvetica, sans-serif">Why do you need mod_curl and native curl at the same time?</font><div><div><font face="arial, helvetica, sans-serif"><span></span><br><br>On Wednesday, March 16, 2016, Chris Mandra <<a href="javascript:_e(%7B%7D,'cvml','mandra@gmail.com');" target="_blank">mandra@gmail.com</a>> wrote:<br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><font face="arial, helvetica, sans-serif">Thanks for the responses guys. I have another question: I need to call mod_curl api from my module. What's the proper way to call a module from a module?</font><div><font face="arial, helvetica, sans-serif">thanks, chris</font></div></div><div class="gmail_extra"><font face="arial, helvetica, sans-serif"><br></font><div class="gmail_quote"><font face="arial, helvetica, sans-serif">On Wed, Mar 16, 2016 at 4:54 PM, Anthony Minessale <span dir="ltr"><<a>anthony.minessale@gmail.com</a>></span> wrote:<br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><font face="arial, helvetica, sans-serif">If you use more threads you just need to make sure the objects are properly scoped. For instance, if you want to use a session from the other thread you need to read lock it for the life of the thread. Objects shared need to be dynamically allocated and properly mutexed etc.<span></span></font><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif">Whatever thread you call curl from will be used for the whole curl operation.</font><div><div><font face="arial, helvetica, sans-serif"><br><br>On Wednesday, March 16, 2016, Michael Jerris <<a>mike@jerris.com</a>> wrote:<br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div style="word-wrap:break-word"><font face="arial, helvetica, sans-serif">depends on your needs. The concern would be trying to access those objects across threads potentially could cause issues depending on if they are syncronized or not, easier to just not do it and not have the concern. Anthony is suggesting looking at how we do it in other places. Life cycle could be an issue, are you destroying things too early?</font><div><font face="arial, helvetica, sans-serif"><br></font><div><blockquote type="cite"><div><font face="arial, helvetica, sans-serif">On Mar 16, 2016, at 5:00 AM, Chris Mandra <<a>mandra@gmail.com</a>> wrote:</font></div><font face="arial, helvetica, sans-serif"><br></font><div><font face="arial, helvetica, sans-serif"><span style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">Thanks for responding Anthony. Can you tell me this:</span><span style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"></span><br style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><font size="2" style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="background-color:rgba(255,255,255,0)">Should curl calls be done in separate thread or is it ok to do them in the main thread of modules?</span></font><br style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">On Tuesday, March 15, 2016, Chris Mandra <</span><a style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">mandra@gmail.com</a><span style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">> wrote:</span><br style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"></font><blockquote class="gmail_quote" style="font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><font face="arial, helvetica, sans-serif"><br>Should curl calls be done in separate thread or is it ok to do them in the main thread of modules?<span></span><br>On Tuesday, March 15, 2016, Anthony Minessale <<a>anthony.minessale@gmail.com</a>> wrote:<br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><font face="arial, helvetica, sans-serif">Curl is used in a few places and is not unstable. Study some of those mods and maybe you can see how to use it in a typical situation. Probably its related to memory management or lifecycle of objects you may be using.<span></span><br><br>On Tuesday, March 15, 2016, Chris Mandra <<a>mandra@gmail.com</a>> wrote:<br></font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><font face="arial, helvetica, sans-serif">Hey guys, I'm working on a simple media bug module using FS 1.6. When a call comes in I'm calling switch_curl doing an http get. </font></div><div><p><font face="arial, helvetica, sans-serif"><span>In switch_standard_app I use switch_curl and invoke switch_curl_easy_perform </span>and exit after that.</font></p><p><font face="arial, helvetica, sans-serif">Calling switch_curl seems very unstable. It's crashing free switch most of the time. Are there any things I should be looking for related to this? I'm wondering if maybe this is a threading issue? Any ideas?</font></p></div><div><div><font face="arial, helvetica, sans-serif">I've included some backtraces</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><div><font face="arial, helvetica, sans-serif">Thanks, chris</font></div></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><p><span><font face="arial, helvetica, sans-serif">(gdb) bt</font></span></p><p><span><font face="arial, helvetica, sans-serif">#0 0x00007f8f00c59cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56</font></span></p><p><span><font face="arial, helvetica, sans-serif">#1 0x00007f8f00c5d0d8 in __GI_abort () at abort.c:89</font></span></p><p><span><font face="arial, helvetica, sans-serif">#2 0x00007f8f00c96394 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7f8f00da4b28 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175</font></span></p><p><span><font face="arial, helvetica, sans-serif">#3 0x00007f8f00ca266e in malloc_printerr (ptr=<optimized out>, str=0x7f8f00da0c19 "free(): invalid pointer", action=1) at malloc.c:4996</font></span></p><p><span><font face="arial, helvetica, sans-serif">#4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840</font></span></p><p><span><font face="arial, helvetica, sans-serif">#5 0x00007f8f01334567 in switch_log_node_free (pnode=pnode@entry=0x7f8eb2b1f158) at src/switch_log.c:136</font></span></p><p><span><font face="arial, helvetica, sans-serif">#6 0x00007f8eeb192a24 in read_packet (listener=listener@entry=0x7f8ebc027898, event=event@entry=0x7f8eb2b1f7f0, timeout=timeout@entry=0) at mod_event_socket.c:1361</font></span></p><p><span><font face="arial, helvetica, sans-serif">#7 0x00007f8eeb1988a0 in listener_run (thread=<optimized out>, obj=0x7f8ebc027898) at mod_event_socket.c:2719</font></span></p><p><span><font face="arial, helvetica, sans-serif">#8 0x00007f8f01544430 in dummy_worker (opaque=0x7f8eb2be4868) at threadproc/unix/thread.c:151</font></span></p><p><span><font face="arial, helvetica, sans-serif">#9 0x00007f8f00ff0182 in start_thread (arg=0x7f8eb2b20700) at pthread_create.c:312</font></span></p><p><span><font face="arial, helvetica, sans-serif">#10 0x00007f8f00d1d47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111</font></span></p><p><font face="arial, helvetica, sans-serif"><span><i></i></span><br></font></p><p><span><a href="https://soniccloud.slack.com/archives/D02UEC39S/p1458078254000027" target="_blank"><font face="arial, helvetica, sans-serif"><i>[</i><span><i></i></span></font></a></span></p><p><span><a href="https://soniccloud.slack.com/archives/D02UEC39S/p1458078254000027" target="_blank"><font face="arial, helvetica, sans-serif">5:44<span></span></font></a></span></p><p><span><a href="https://soniccloud.slack.com/archives/D02UEC39S/p1458078254000027" target="_blank"><font face="arial, helvetica, sans-serif"><i>]</i><span><i></i></span></font></a></span></p><p><span><font face="arial, helvetica, sans-serif">(gdb) bt full</font></span></p><p><span><font face="arial, helvetica, sans-serif">#0 0x00007f8f00c59cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56</font></span></p><p><span><font face="arial, helvetica, sans-serif"> resultvar = 0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> pid = 18329</font></span></p><p><span><font face="arial, helvetica, sans-serif"> selftid = 18421</font></span></p><p><span><font face="arial, helvetica, sans-serif">#1 0x00007f8f00c5d0d8 in __GI_abort () at abort.c:89</font></span></p><p><span><font face="arial, helvetica, sans-serif"> save_stage = 2</font></span></p><p><span><font face="arial, helvetica, sans-serif"> act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}</font></span></p><p><span><font face="arial, helvetica, sans-serif"> sigs = {__val = {32, 0 <repeats 15 times>}}</font></span></p><p><span><font face="arial, helvetica, sans-serif">#2 0x00007f8f00c96394 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7f8f00da4b28 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175</font></span></p><p><span><font face="arial, helvetica, sans-serif"> ap = {{gp_offset = 40, fp_offset = 32654, overflow_arg_area = 0x7f8eb2b1f010, reg_save_area = 0x7f8eb2b1efa0}}</font></span></p><p><span><font face="arial, helvetica, sans-serif"> fd = 2</font></span></p><p><span><font face="arial, helvetica, sans-serif"> on_2 = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> list = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> nlist = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> cp = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> written = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif">#3 0x00007f8f00ca266e in malloc_printerr (ptr=<optimized out>, str=0x7f8f00da0c19 "free(): invalid pointer", action=1) at malloc.c:4996</font></span></p><p><span><font face="arial, helvetica, sans-serif"> buf = "00007f8ed0036700"</font></span></p><p><span><font face="arial, helvetica, sans-serif"> cp = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif">#4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3840</font></span></p><p><span><font face="arial, helvetica, sans-serif"> size = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> fb = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> nextchunk = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> nextsize = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> nextinuse = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> prevsize = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> bck = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> fwd = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> errstr = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> locked = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif">#5 0x00007f8f01334567 in switch_log_node_free (pnode=pnode@entry=0x7f8eb2b1f158) at src/switch_log.c:136</font></span></p><p><span><font face="arial, helvetica, sans-serif"> node = 0x7f8ed8012ab0</font></span></p><p><span><font face="arial, helvetica, sans-serif">#6 0x00007f8eeb192a24 in read_packet (listener=listener@entry=0x7f8ebc027898, event=event@entry=0x7f8eb2b1f7f0, timeout=timeout@entry=0) at mod_event_socket.c:1361</font></span></p><p><span><font face="arial, helvetica, sans-serif"> dnode = 0x7f8ed8012ab0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> do_sleep = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> mlen = 0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> bytes = 0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> mbuf = 0x7f8ecc1ebfc0 ""</font></span></p><p><span><font face="arial, helvetica, sans-serif"> buf = "Content-Type: log/data\nContent-Length: 88\nLog-Level: 7\nText-Channel: 3\nLog-File: param_hps_strategy.cpp\nLog-Func: retrieve\nLog-Line: 115\nUser-Data: \347@\247\a\n\n\000\n\n\000\065-418f-a6d1-9dc8f48e0cf9\n\n\000\000\071\n\n\000c8f48e0cf9"...</font></span></p><p><span><font face="arial, helvetica, sans-serif"> len = 88</font></span></p><p><span><font face="arial, helvetica, sans-serif"> status = SWITCH_STATUS_BREAK</font></span></p><p><span><font face="arial, helvetica, sans-serif"> count = 0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> elapsed = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> start = 1457966137</font></span></p><p><span><font face="arial, helvetica, sans-serif"> pop = 0x7f8ed8012ab0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> ptr = 0x7f8ecc1ebfc0 ""</font></span></p><p><span><font face="arial, helvetica, sans-serif"> crcount = 0 '\000'</font></span></p><p><span><font face="arial, helvetica, sans-serif"> buf_len = 2048</font></span></p><p><span><font face="arial, helvetica, sans-serif"> channel = 0x0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> clen = 0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> __PRETTY_FUNCTION__ = "read_packet"</font></span></p><p><span><font face="arial, helvetica, sans-serif"> __func__ = "read_packet"</font></span></p><p><span><font face="arial, helvetica, sans-serif">#7 0x00007f8eeb1988a0 in listener_run (thread=<optimized out>, obj=0x7f8ebc027898) at mod_event_socket.c:2719</font></span></p><p><span><font face="arial, helvetica, sans-serif"> listener = 0x7f8ebc027898</font></span></p><p><span><font face="arial, helvetica, sans-serif"> buf = '\000' <repeats 1023 times></font></span></p><p><span><font face="arial, helvetica, sans-serif"> len = 1024</font></span></p><p><span><font face="arial, helvetica, sans-serif"> status = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> event = 0x0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> reply = "\000OK log level [7]", '\000' <repeats 493 times></font></span></p><p><span><font face="arial, helvetica, sans-serif"> session = 0x0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> channel = 0x0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> revent = 0x0</font></span></p><p><span><font face="arial, helvetica, sans-serif"> var = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> locked = 1</font></span></p><p><span><font face="arial, helvetica, sans-serif"> __PRETTY_FUNCTION__ = "listener_run"</font></span></p><p><span><font face="arial, helvetica, sans-serif"> __func__ = "listener_run"</font></span></p><p><span><font face="arial, helvetica, sans-serif">#8 0x00007f8f01544430 in dummy_worker (opaque=0x7f8eb2be4868) at threadproc/unix/thread.c:151</font></span></p><p><span><font face="arial, helvetica, sans-serif"> thread = 0x7f8eb2be4868</font></span></p><p><span><font face="arial, helvetica, sans-serif">#9 0x00007f8f00ff0182 in start_thread (arg=0x7f8eb2b20700) at pthread_create.c:312</font></span></p><p><span><font face="arial, helvetica, sans-serif"> __res = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> pd = 0x7f8eb2b20700</font></span></p><p><span><font face="arial, helvetica, sans-serif"> now = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140250860095232, -640791540281233069, 0, 0, 140250860095936, 140250860095232, 578173923610734931, 577994035108262227}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}</font></span></p><p><span><font face="arial, helvetica, sans-serif"> not_first_call = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> pagesize_m1 = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> sp = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> freesize = <optimized out></font></span></p><p><span><font face="arial, helvetica, sans-serif"> __PRETTY_FUNCTION__ = "start_thread"</font></span></p><p><span><font face="arial, helvetica, sans-serif">#10 0x00007f8f00d1d47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111</font></span></p><p><span><font face="arial, helvetica, sans-serif">No locals</font></span></p></div></div></div></blockquote><font face="arial, helvetica, sans-serif"><br></font></blockquote></blockquote></div></blockquote></div><font face="arial, helvetica, sans-serif"><br></font></div></div></blockquote></div></div></div><font face="arial, helvetica, sans-serif"><br></font><div><div><font face="arial, helvetica, sans-serif"><br>-- <br></font><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font face="arial, helvetica, sans-serif">Anthony Minessale II ♬ @anthmfs ♬ @FreeSWITCH ♬</font><div><font face="arial, helvetica, sans-serif"><br></font><div><font face="arial, helvetica, sans-serif">☞ <a href="http://freeswitch.org/" target="_blank">http://freeswitch.org/</a> ☞ <a href="http://cluecon.com/" target="_blank">http://cluecon.com/</a> ☞ <a href="http://twitter.com/FreeSWITCH" target="_blank">http://twitter.com/FreeSWITCH</a></font></div><div><div><font face="arial, helvetica, sans-serif">☞ <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch ☞ <u><a href="http://freeswitch.org/g+" target="_blank">http://freeswitch.org/g+</a></u><br><br></font></div><div><font face="arial, helvetica, sans-serif">ClueCon Weekly Development Call <br></font></div><div><font face="arial, helvetica, sans-serif">☎ <a>sip:888@conference.freeswitch.org</a> ☎ <a href="tel:%2B19193869900" value="+19193869900" target="_blank">+19193869900</a> </font></div><div><font face="arial, helvetica, sans-serif"><br></font></div></div></div><div><a href="https://www.youtube.com/watch?v=9XXgW34t40s" style="color:rgb(17,85,204)" target="_blank"><font face="arial, helvetica, sans-serif">https://www.youtube.com/watch?v=9XXgW34t40s</font></a></div><div><font face="arial, helvetica, sans-serif"><a href="https://www.youtube.com/watch?v=NLaDpGQuZDA" target="_blank">https://www.youtube.com/watch?v=NLaDpGQuZDA</a><br></font></div></div></div></div></div></div><font face="arial, helvetica, sans-serif"><br>
</font></div></div><font face="arial, helvetica, sans-serif"><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a>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>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></font></blockquote></div><font face="arial, helvetica, sans-serif"><br><br clear="all"></font><div><font face="arial, helvetica, sans-serif"><br></font></div><font face="arial, helvetica, sans-serif">-- <br></font><div><font face="arial, helvetica, sans-serif">mandra<br>c:<a href="tel:410.258.5281" value="+14102585281" target="_blank">410.258.5281</a></font></div>
</div>
</blockquote></div></div></div><div><div><font face="arial, helvetica, sans-serif"><br><br>-- <br></font><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font face="arial, helvetica, sans-serif">Anthony Minessale II ♬ @anthmfs ♬ @FreeSWITCH ♬</font><div><font face="arial, helvetica, sans-serif"><br></font><div><font face="arial, helvetica, sans-serif">☞ <a href="http://freeswitch.org/" target="_blank">http://freeswitch.org/</a> ☞ <a href="http://cluecon.com/" target="_blank">http://cluecon.com/</a> ☞ <a href="http://twitter.com/FreeSWITCH" target="_blank">http://twitter.com/FreeSWITCH</a></font></div><div><div><font face="arial, helvetica, sans-serif">☞ <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch ☞ <u><a href="http://freeswitch.org/g+" target="_blank">http://freeswitch.org/g+</a></u><br><br></font></div><div><font face="arial, helvetica, sans-serif">ClueCon Weekly Development Call <br></font></div><div><font face="arial, helvetica, sans-serif">☎ <a href="javascript:_e(%7B%7D,'cvml','sip:888@conference.freeswitch.org');" target="_blank">sip:888@conference.freeswitch.org</a> ☎ <a href="tel:%2B19193869900" value="+19193869900" target="_blank">+19193869900</a> </font></div><div><font face="arial, helvetica, sans-serif"><br></font></div></div></div><div><a href="https://www.youtube.com/watch?v=9XXgW34t40s" style="color:rgb(17,85,204)" target="_blank"><font face="arial, helvetica, sans-serif">https://www.youtube.com/watch?v=9XXgW34t40s</font></a></div><div><font face="arial, helvetica, sans-serif"><a href="https://www.youtube.com/watch?v=NLaDpGQuZDA" target="_blank">https://www.youtube.com/watch?v=NLaDpGQuZDA</a><br></font></div></div></div></div></div></div><font face="arial, helvetica, sans-serif"><br>
</font></div></div><font face="arial, helvetica, sans-serif"><br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="javascript:_e(%7B%7D,'cvml','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="javascript:_e(%7B%7D,'cvml','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></font></blockquote></div><font face="arial, helvetica, sans-serif"><br><br clear="all"></font><div><font face="arial, helvetica, sans-serif"><br></font></div><font face="arial, helvetica, sans-serif">-- <br></font><div><font face="arial, helvetica, sans-serif">mandra<br>c:410.258.5281</font></div>
</div></div>
</blockquote>