Correctly. This is the general usage for any ESL connection, regardless of the client&#39;s language.<div><br></div><div>Setting your own UUID is optional, but does avoid a race condition where you might miss events for the call before you manage to subscribe for them.</div>

<div><br></div><div>Just another note: use the originate API and execute it with the bgapi ESL command - the command will return instantly and let you collect the events before the orginate succeeds/fails.</div><div><br>
</div>
<div>Also connect in async mode.</div><div><br></div><div>If you&#39;re initiating multiple calls I also highly recommend you write your system in such a way that worker script(s) connect via ESL and keep persistent connections open. Originate multiple calls through the same socket. It&#39;ll result in fewer connections open which&#39;ll be better load-wise, and since connections will already be open will save a few ms on starting the call up. On the client it means fewer processes running, so fewer context-switches therefore will scale better client-side as well as server-side. And of course there&#39;s a limit on the number of processes too.</div>

<div><br></div><div>-Steve</div><div><br></div><div><br><br><div class="gmail_quote">On 21 January 2013 22:17, Hector Geraldino <span dir="ltr">&lt;<a href="mailto:Hector.Geraldino@ipsoft.com" target="_blank">Hector.Geraldino@ipsoft.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I&#39;m not a perl expert, but in general I think you need to follow this pattern:<br>
<br>
1) Establish the connection to FreeSWITCH, you&#39;ll be using the event socket on inbound mode<br>
2) Start listening for the events you want to capture (send the &#39;event plain all&#39; or &#39;event plain CHANNEL_ANSWER DTMF CHANNEL_HANGUP ...&#39; command)<br>
3) Create an uuid (by sending the create_uuid command) so you can identify which call you&#39;ll be listening events for<br>
4) Add a filter for this uuid, so you&#39;ll only receive events for this call over this connection (filter Unique-ID + uuid)<br>
5) originate the call: {origination_uuid= + uuid}sofia/internal/NXX@GATEWAY<br>
<br>
Check this simple perl example:<br>
<br>
<a href="http://wiki.freeswitch.org/wiki/Event_Socket_Library#Simple_Perl_Example" target="_blank">http://wiki.freeswitch.org/wiki/Event_Socket_Library#Simple_Perl_Example</a><br>
<div class="HOEnZb"><div class="h5"><br>
<br>
-----Original Message-----<br>
From: <a href="mailto:freeswitch-users-bounces@lists.freeswitch.org">freeswitch-users-bounces@lists.freeswitch.org</a> [mailto:<a href="mailto:freeswitch-users-bounces@lists.freeswitch.org">freeswitch-users-bounces@lists.freeswitch.org</a>] On Behalf Of Matthias Cramer<br>


Sent: Monday, January 21, 2013 10:20 AM<br>
To: <a href="mailto:freeswitch-users@lists.freeswitch.org">freeswitch-users@lists.freeswitch.org</a><br>
Subject: [Freeswitch-users] Make a call with Perl<br>
<br>
Hi All<br>
<br>
I try to make a Perl Script which calls a certain external Phone number.<br>
It then should wait until someone picks up and play a sound file The user on the other end then needs to confirm the call with a pin Then another sound file should be played and the the call should be terminated.<br>
<br>
I tried several ways with ESL and originate. But I allays end up with a call I have no control over. I can read DTMF but can not hang up the call or play a second file.<br>
<br>
I think I am going in to a wrong direction.<br>
<br>
Any hints ?<br>
<br>
Regards<br>
<br>
  Matthias<br>
<br>
--<br>
Matthias Cramer / mc322-ripe   Senior Network &amp; Security Engineer<br>
iway AG                        Phone <a href="tel:%2B41%2043%20500%201111" value="+41435001111">+41 43 500 1111</a><br>
Badenerstrasse 569             Fax   <a href="tel:%2B41%2044%20271%203535" value="+41442713535">+41 44 271 3535</a><br>
CH-8048 Zürich                 <a href="http://www.iway.ch/" target="_blank">http://www.iway.ch/</a><br>
GnuPG 1024D/2D208250 = DBC6 65B6 7083 1029 781E  3959 B62F DF1C 2D20 8250<br>
<br>
<br>
</div></div><div class="HOEnZb"><div class="h5">_________________________________________________________________________<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>