Hi all,<br>I&#39;m trying to do the following scenario.<br>I&#39;ve created an Inbound socket. I issue the following command in the Inbound ESL<br><br>api originate {origination_caller_id_name=&#39;lakshmanan&#39;,origination_caller_id_number=227,call=1,user=2,type=test,id=1001,refid=847,enabled=0,ignore_early_media=true,originate_timeout=30}user/1006 202 XML default<br>
<br>My dialplan looks like follows:<br>  <br>       &lt;context name=&quot;default&quot;&gt;<br>                &lt;extension name=&quot;outbound_soc&quot;&gt;<br>                        &lt;condition field=&quot;destination_number&quot; expression=&quot;^.*$&quot;&gt;<br>
                                &lt;action application=&quot;set&quot; data=&quot;continue_on_fail=true&quot;/&gt;<br>                                &lt;action application=&quot;set&quot; data=&quot;bypass_media=false&quot;/&gt;<br>
                                &lt;action application=&quot;set&quot; data=&quot;ignore_early_media=true&quot;/&gt;<br>                                &lt;action application=&quot;set&quot; data=&quot;exec_after_bridge_app=park&quot;/&gt;<br>
                                &lt;action application=&quot;socket&quot; data=&quot;<a href="http://0.0.0.0:8447">0.0.0.0:8447</a> async full&quot;/&gt;<br>                        &lt;/condition&gt;<br>                &lt;/extension&gt;<br>
        &lt;/context&gt;<br><br>So once the user 1006 answers the call, it will connect to an Outbound socket.<br>And here is my program in perl for controlling the Outbound ESL.<br><br>use lib &#39;/root/freeswitch/libs/esl/perl/&#39;;<br>
require ESL;<br>use IO::Socket::INET;<br>my $ip = &quot;localhost&quot;;<br>my $sock = new IO::Socket::INET ( LocalHost =&gt; $ip,  LocalPort =&gt; &#39;8447&#39;,  Proto =&gt; &#39;tcp&#39;,  Listen =&gt; 1,  Reuse =&gt; 1 );<br>
die &quot;Could not create socket: $!\n&quot; unless $sock;<br><br>for(;;) {<br>        printf &quot;Going to wait for clients to connect\n\n&quot;;<br>        my $new_sock = $sock-&gt;accept();<br>        my $pid = fork();<br>
        if ($pid) {<br>                close($new_sock);<br>                next;<br>        }<br>        &amp;registerSignals();<br>        my $host = $new_sock-&gt;sockhost();<br>        my $fd = fileno($new_sock);<br><br>
        printf &quot;Before making a ESL connection $fd\n&quot;;<br><br>        my $con = new ESL::ESLconnection($fd);<br>        my $info = $con-&gt;getInfo();<br>        my $uuid = $info-&gt;getHeader(&quot;unique-id&quot;);<br>
        printf &quot;Connected call %s, from %s\n&quot;, $uuid, $info-&gt;getHeader(&quot;caller-caller-id-number&quot;);<br>        print &quot;BYE\n&quot;;<br>        close($new_sock);<br>}<br><br>sub registerSignals() {<br>
        foreach ( keys %SIG ) {<br>                $SIG{$_} = &#39;sig_Handler&#39;;<br>        }<br>}<br>sub sig_Handler() {<br>        my $handle = shift;<br>        print &quot;Got signal $handle\n&quot;;<br>        if($handle eq &quot;CHLD&quot;) {<br>
                wait();<br>        }<br>}<br><br>But as soon as the call comes to the Outbound ESL program, it receives SIGSEGV.<br>The child program prints the following:<br>       Before making a ESL connection 4<br>       Got signal SEGV<br>
<br><br>Can any one please tell me why this is happening??<br><br>And one more thing. If I execute the following API, it works fine as expected.<br><br>api originate {origination_caller_id_name=&#39;lakshmanan&#39;,origination_caller_id_number=227,call=1}user/1006 202 XML default<br>
<br>The child prints as follows:<br>Before making a ESL connection 4<br>Connected call 01200ab6-73bf-11df-af54-55cf82f02c9b, from 227<br><br><br><br>