<div dir="ltr">Hi,<div><br></div><div>Bump. Any hints on this?</div><div><br></div><div>Regards,</div><div><br></div><div>Rahman</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Rahman Duran <<a href="mailto:rahman.duran@erzurum.edu.tr">rahman.duran@erzurum.edu.tr</a>>, 26 Eki 2021 Sal, 09:14 tarihinde şunu yazdı:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I am using announcements for fail hungup causes like busy, no_answer etc. Here is my dial plan</div><div><br></div><div><extension name="local_accounts_freeswitch"><br> <condition regex="all"><br> <regex field="destination_number" expression="^[0-9]{4}$"/><br> <regex field="${local_user_exists}" expression="^true$|^TRUE$|^True$"/><br> <regex field="${santral_kontrol}" expression="^freeswitch$"/><br> <action application="set" inline="true" data="call_pickup_group=${user_data(${destination_number}@${domain_name} var call_pickup_group)}"/><br> <action application="hash" data="insert/${domain_name}-last_dial/${caller_id_number}/${destination_number}"/><br> <action application="hash" data="insert/${domain_name}-group_pickup_last_uuid/${call_pickup_group}/${uuid}"/><br> <action application="hash" data="insert/${domain_name}-pickup_last_uuid/${destination_number}/${uuid}"/><br> <action application="log" data="ep_codec_string -- ${ep_codec_string}" /><br> <action application="set" data="inherit_codec=true"/><br> <action application="export" data="nolocal:absolute_codec_string=${ep_codec_string}"/><br> <action application="set_profile_var" data="callee_id_name=${user_data(${destination_number}@${domain_name} var effective_caller_id_name)}"/><br> <action application="set" data="hangup_after_bridge=true"/><br> <action application="set" data="continue_on_fail=true"/><br> <action application="set" data="call_timeout=30"/><br> <action application="set" data="execute_on_answer=sched_hangup +21600 alloted_timeout" /><br> <action application="bridge" data="{origination_callee_id_name=${user_data(${destination_number}@${domain_name} var effective_caller_id_name)}}user/${destination_number}@${domain_name}"/><br> <action application="execute_extension" data="hata-${originate_disposition} XML hata_anonslari"/><br> </condition><br> </extension></div><div><br></div><div>And here is announcements context that I handle hangup causes:</div><div><br></div><div><include><br> <!-- Burada iç çağrılarda alınan hata durumlarının anonsları işlenecek.<br> --><br> <context name="hata_anonslari"><br> <!-- yerel dahili --><br> <extension name="error-causes-user_busy"><br> <condition field="destination_number" expression="^hata-USER_BUSY$"><br> <action application="export" data="cdr_hata_anonsu=USER_BUSY"/><br> <action application="pre_answer"/><br> <action application="playback" data="$${anons_dosya_yolu}/user_busy.wav"/><br> <action application="sleep" data="1000"/><br> <action application="hangup" data="${originate_disposition}"/><br> </condition><br> </extension><br> <extension name="error-causes-no_answer"><br> <condition field="destination_number" expression="^hata-NO_ANSWER$"><br> <action application="export" data="cdr_hata_anonsu=NO_ANSWER"/><br> <action application="pre_answer"/><br> <action application="playback" data="$${anons_dosya_yolu}/no_answer.wav"/><br> <action application="sleep" data="1000"/><br> <action application="hangup" data="${originate_disposition}"/><br> </condition><br> </extension><br> <extension name="error-causes-user_not_registered"><br> <condition field="destination_number" expression="^hata-USER_NOT_REGISTERED$"><br> <action application="export" data="cdr_hata_anonsu=USER_NOT_REGISTERED"/><br> <action application="pre_answer"/><br> <action application="playback" data="$${anons_dosya_yolu}/user_not_registered.wav"/><br> <action application="sleep" data="1000"/><br> <action application="hangup" data="${originate_disposition}"/><br> </condition><br> </extension><br> <extension name="error-causes-any"><br> <condition field="destination_number" expression="^hata-(.*)$"><br> <action application="export" data="cdr_hata_anonsu=${originate_disposition}"/><br> <action application="hangup" data="${originate_disposition}"/><br> </condition><br> </extension><br> <!-- context hata_anonslari sonu --><br> </context><br></include><br><br></div><div><br></div><div>The problem is if the calling leg does not listen the announcement to the end and hangup, CDR logs shows "Originator Cancel" as hangup cause. As I already know the real hangup cause, how can I override the CDR hangup cause with the real one? For now I am setting another variable (cdr_hata_anonsu) and added it to CDR logs, but if possible I want to fix this with a real solution.</div><div><br></div><div>Regards,</div><div><br></div><div>Rahman Duran</div></div>
</blockquote></div>