I have problem to clean close an outbound session.<div><br><div>I'm using the "esl_oop.h/esl_oop.cpp" files and my application is developed in c++ and at startup I do a "linger" command.</div><div><br>
</div><div>My event consuming loop is:</div><div><br></div><div>while (run)</div><div>{</div><div> ESLevent * event = connection.recvEventTimed(sleeptime);</div><div><br></div><div><br></div><div> ... event processing ...</div>
<div>}</div><div><br></div><div>This application handle an inbound call (legA), originate an outbound call (legB) and bridge the two calls.</div><div><br></div><div>The problem is present when the legA hangup the call: sometimes is received the content-type="text/disconnect-notice" (without receiving "CHANNEL_HANGUP") and the "recvEventTimed" exits with event=NULL.</div>
<div><br></div><div>In this case it's not possible to receive any event or send any other message to Freeswitch because the "connection.execute" fails.</div><div><br></div><div>In this situation, if I have originated (with '& park') an outbound call, this call remain in parked state and the application cannot hangup it.</div>
<div><br></div><div>What I'm doing wrong?</div><div><br></div><div></div></div>