<div dir="ltr">







<p class=""><span class="">Hi Forum,</span></p><p class=""><span class="">I&#39;m launching calls using ESL originate command. Example:</span></p><p class=""><b><span class="">originate {ignore_early_media=false,bridge_early_media=false,originate_timeout=24,call_timeout=24,execute_on_answer_1=&#39;sched_hangup 18 ALLOTTED_TIMEOUT&#39;,origination_uuid=920a1b14-j02y-7bi9-kgq0-3c1u-920a291166,origination_caller_id_number=+55XXXXXXXXX,RECORD_STEREO=true,execute_on_answer_2=&#39;record_session /var/www/html/recordings/Y90I68RLWX_+55XXXXXXXXX_920a1b14-j02y-7bi9-kgq0-3c1u-920a291166.wav&#39;}sofia/gateway/twilio/</span>+55XXXXXXXXX handle_calls</b><br></p><p class=""><span class=""></span></p><p class=""><span class=""><span class="">I disabled </span></span><span class="">ignore_early_media from true to false.</span></p><p class=""><span class="">What is happening is that when I receive a 183 w/SDP and call is NOT ANSWERED I used to get </span>NO_ANSWER as reason code, now I get NORMAL_CLEARING even though call was never connected. My feeling is that after entering in tone detection and bridge the call is just following rules and end up in hangup rule which by default should send this reason. handle_calls<br></p><p class=""></p><ul><li>Dialplan: sofia/external/+XXXXXXXXXX Action answer() <br></li><li>Dialplan: sofia/external/+XXXXXXXXXX Action log(INFO handle_calls application match) <br></li><li>Dialplan: sofia/external/+XXXXXXXXXX Action set(fax_verbose=true) <br></li><li>Dialplan: sofia/external/+XXXXXXXXXX Action set(transfer_ringback=${us-ring}) <br></li><li>Dialplan: sofia/external/+XXXXXXXXXX Action spandsp_start_fax_detect(transfer &#39;fax&#39; 10 ced) <br></li><li>Dialplan: sofia/external/+XXXXXXXXXX Action spandsp_start_tone_detect(55) <br></li><li>Dialplan: sofia/external/+XXXXXXXXXX Action playback(silence_stream://20000) <br></li><li>Dialplan: sofia/external/+XXXXXXXXXX Action spandsp_stop_tone_detect() <br></li><li>Dialplan: sofia/external/+XXXXXXXXXX Action hangup() </li></ul><p></p><p class="">I know that during 183 w/SDP many things could happen (BUSY, REORDER, Announcement, RING BACK, etc). What is the recommended way to handle those situations?</p><p class="">For now Im using the following conditions to rewrite the reason code in my App:</p><p class=""></p><ul><li>call_progress_183sdp + ring_tone + no_200OK = NO_ANSWER<br></li><li>call_progress_183sdp + busy|reorder|sit tone + no_200OK = BUSY,INVALID_DESTINATION<br></li><li>call_progress_183sdp + no_tone + no_200OK = INVALID_NUMBER (Probably an announcement)<br></li></ul><p></p><p class=""><span class=""></span></p><p class="">Any pointers in how to make Freeswitch handle the above conditions internally?<br></p><p class=""><span class="">Thanks</span></p><p class=""><span class=""><br></span></p></div>