<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"><span style="font-family:arial,sans-serif;font-size:13px">... how I listen for these events. Is it just a case of polling the<br>

</span><span style="font-family:arial,sans-serif;font-size:13px">socket for them at frequent enough intervals?</span></blockquote><div><br></div><div>You subscribe to the events you&#39;re interested in with &#39;events&#39;</div>

<div><a href="http://wiki.freeswitch.org/wiki/Event_socket#event">http://wiki.freeswitch.org/wiki/Event_socket#event</a></div><div><br></div><div>There&#39;s no polling involved. FS will send all subscribed events through the socket, you just need to receive them. Use select()/poll()/equivalent to detect when data has arrived.</div>

<div><br></div><div>Since you already have xml_cdr working that would be the best place to collect it, if you can add an extra DB insert in the handler.</div><div><br></div><div>-Steve</div><div class="gmail_extra"><br><br>

<div class="gmail_quote">On 29 November 2012 11:58, Richard Gration <span dir="ltr">&lt;<a href="mailto:richgration@gmail.com" target="_blank">richgration@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">

Hi,<br>
<br>
Thanks for your reply. I was wondering ...<br>
<div class="im"><br>
&gt; If you listen to events then you should be able to reliably receive a hangup<br>
&gt; event containing the variables if you are still connected at that time.<br>
<br>
</div>... how I listen for these events. Is it just a case of polling the<br>
socket for them at frequent enough intervals?<br>
<div class="im"><br>
&gt; If you want a 100% reliable method use CDRs.<br>
&gt;<br>
&gt; mod_xml_cdr can submit call CDRs to a webserver just after call hangup. The<br>
&gt; XML is verbose and will contain a full call history and all channel<br>
&gt; variables. Because it&#39;s submitted ASAP you get the results in real time and<br>
&gt; reliable. If the module can&#39;t submit the CDRs it writes them to an error<br>
&gt; folder on disk where you can resubmit them.<br>
&gt;<br>
&gt; Real time seems useful for your use-case, as your script would just need to<br>
&gt; check your DB whether the CDR had been submitted yet. The channel UUID can<br>
&gt; either be captured from events or specified in advance in the originate<br>
&gt; (originate_uuid). There&#39;s a uuid api call to generate them for you. I&#39;d<br>
&gt; suggest looking at this method.<br>
<br>
</div>This is all great info, thanks :-) I&#39;m capturing the uuid from the<br>
response from the originate command, that&#39;s no problem.<br>
<br>
The box I&#39;m doing this on is being a B2BUA for us at the moment. The<br>
CDRs are already being HTTP POSTed to a URL, I can&#39;t change that as<br>
our billing depends on it. I can see the channel variable coming<br>
though in the POST content, so maybe I can frob the CDR script to give<br>
me what I want.<br>
<br>
Thanks again for the info.<br>
<div class="HOEnZb"><div class="h5"><br>
Cheers,<br>
Rich<br>
<br>
--<br>
Once our basic material needs are met - in my utopia, anyway - life<br>
becomes a perpetual celebration in which everyone has a talent to<br>
contribute. But we cannot levitate ourselves into that blessed<br>
condition by wishing it. We need to brace ourselves for a struggle<br>
against terrifying obstacles, both of our own making and imposed by<br>
the natural world. And the first step is to recover from the delusion<br>
that is positive thinking.<br>
       -- Barbara Ehrenreich<br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><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></div>