<div dir="ltr"><div id="gmail-:1e2" class="gmail-Am gmail-aO9 gmail-Al editable gmail-LW-avf gmail-tS-tW gmail-tS-tY" aria-label="İleti Gövdesi" role="textbox" aria-multiline="true" tabindex="1" style="direction:ltr;min-height:85px"><div dir="ltr">I already tried to set hangup_cause in my "error anouncement" dialplan extension. But as A leg hangup before playback ends, Freeswitch does not execute remaining actions in the "error anouncement" dialplan extension so it does not work.<div><br></div><div>In "freeradius" configuration, I can write dynamic templates for access and accounting logs like this "%{%{Aruba-Location-Id}:-%{%{Siemens-AP-Name}:-none}}" This will evaluates first "Aruba-Location-Id" and use its value. If it is empty or not exists, then it lookup for "Siemens-AP-Name". If it is empty than it uses string "none".</div><div><br></div><div>I hoped for some dynamic markup language in Freeswitch csv_cdr module so I can write a template for my needs. I don't want to use xml_cdr because all I need is to key-value based cdr logs sent to syslog (graylog) and analysed there.  If this is not possible I will try to use xml_cdr but this will add more complexity and I fear I will loose cdr records is http server is down and Freeswitch continue to operate.</div><div><br></div><div>P.S. I already log both a and b legs so this is not about legs.</div><div><br clear="all"><div><div dir="ltr" class="gmail_signature"><div dir="ltr">Rahman Duran<br><br></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">David Villasmil <<a href="mailto:david.villasmil.work@gmail.com">david.villasmil.work@gmail.com</a>>, 9 Kas 2021 Sal, 02:46 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="auto">I’ve never tried actually manually setting the reason after hangup, you may want to try that.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 8 Nov 2021 at 19:03, Rahman Duran <<a href="mailto:rahman.duran@erzurum.edu.tr" target="_blank">rahman.duran@erzurum.edu.tr</a>> wrote:<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 David,<div><br></div><div>You are right but I don't want or need to change any freeswitch internals. All I need is to fiddle with cdr. So I wonder if the CSV CDR template has any dynamic mechanism to use on variables. For example can I say "if variable A is not empty use A, else use variable B" in the CDR template?</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">David Villasmil <<a href="mailto:david.villasmil.work@gmail.com" target="_blank">david.villasmil.work@gmail.com</a>>, 6 Kas 2021 Cmt, 05:07 tarihinde şunu yazdı:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">The fact is A is hanging up the call. I don’t think you can actually change this without changing FS source code to override it.</div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 6 Nov 2021 at 01:20, Rahman Duran <<a href="mailto:rahman.duran@erzurum.edu.tr" target="_blank">rahman.duran@erzurum.edu.tr</a>> wrote:<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>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" target="_blank">rahman.duran@erzurum.edu.tr</a>>, 26 Eki 2021 Sal, 09:14 tarihinde şunu yazdı:<br></div></div><div class="gmail_quote"><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>
_________________________________________________________________________<br>
<br>
The FreeSWITCH project is sponsored by SignalWire <a href="https://signalwire.com" rel="noreferrer" target="_blank">https://signalwire.com</a><br>
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.<br>
Build your next product on our scalable cloud platform.<br>
<br>
Join our online community to chat in real time <a href="https://signalwire.community" rel="noreferrer" target="_blank">https://signalwire.community</a><br>
<br>
Professional FreeSWITCH Services<br>
<a href="mailto:sales@freeswitch.com" target="_blank">sales@freeswitch.com</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="https://freeswitch.com/oss" rel="noreferrer" target="_blank">https://freeswitch.com/oss</a><br>
<a href="https://freeswitch.org/confluence" rel="noreferrer" target="_blank">https://freeswitch.org/confluence</a><br>
<a href="https://cluecon.com" rel="noreferrer" target="_blank">https://cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a></blockquote></div></div>-- <br><div dir="ltr"><div dir="ltr"><div>Regards,</div><div><br></div>David Villasmil<div>email: <a href="mailto:david.villasmil.work@gmail.com" target="_blank">david.villasmil.work@gmail.com</a></div><div>phone: +34669448337</div></div></div>
_________________________________________________________________________<br>
<br>
The FreeSWITCH project is sponsored by SignalWire <a href="https://signalwire.com" rel="noreferrer" target="_blank">https://signalwire.com</a><br>
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.<br>
Build your next product on our scalable cloud platform.<br>
<br>
Join our online community to chat in real time <a href="https://signalwire.community" rel="noreferrer" target="_blank">https://signalwire.community</a><br>
<br>
Professional FreeSWITCH Services<br>
<a href="mailto:sales@freeswitch.com" target="_blank">sales@freeswitch.com</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="https://freeswitch.com/oss" rel="noreferrer" target="_blank">https://freeswitch.com/oss</a><br>
<a href="https://freeswitch.org/confluence" rel="noreferrer" target="_blank">https://freeswitch.org/confluence</a><br>
<a href="https://cluecon.com" rel="noreferrer" target="_blank">https://cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a></blockquote></div>
_________________________________________________________________________<br>
<br>
The FreeSWITCH project is sponsored by SignalWire <a href="https://signalwire.com" rel="noreferrer" target="_blank">https://signalwire.com</a><br>
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.<br>
Build your next product on our scalable cloud platform.<br>
<br>
Join our online community to chat in real time <a href="https://signalwire.community" rel="noreferrer" target="_blank">https://signalwire.community</a><br>
<br>
Professional FreeSWITCH Services<br>
<a href="mailto:sales@freeswitch.com" target="_blank">sales@freeswitch.com</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="https://freeswitch.com/oss" rel="noreferrer" target="_blank">https://freeswitch.com/oss</a><br>
<a href="https://freeswitch.org/confluence" rel="noreferrer" target="_blank">https://freeswitch.org/confluence</a><br>
<a href="https://cluecon.com" rel="noreferrer" target="_blank">https://cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a></blockquote></div></div>-- <br><div dir="ltr"><div dir="ltr"><div>Regards,</div><div><br></div>David Villasmil<div>email: <a href="mailto:david.villasmil.work@gmail.com" target="_blank">david.villasmil.work@gmail.com</a></div><div>phone: +34669448337</div></div></div>
_________________________________________________________________________<br>
<br>
The FreeSWITCH project is sponsored by SignalWire <a href="https://signalwire.com" rel="noreferrer" target="_blank">https://signalwire.com</a><br>
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.<br>
Build your next product on our scalable cloud platform.<br>
<br>
Join our online community to chat in real time <a href="https://signalwire.community" rel="noreferrer" target="_blank">https://signalwire.community</a><br>
<br>
Professional FreeSWITCH Services<br>
<a href="mailto:sales@freeswitch.com" target="_blank">sales@freeswitch.com</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="https://freeswitch.com/oss" rel="noreferrer" target="_blank">https://freeswitch.com/oss</a><br>
<a href="https://freeswitch.org/confluence" rel="noreferrer" target="_blank">https://freeswitch.org/confluence</a><br>
<a href="https://cluecon.com" rel="noreferrer" target="_blank">https://cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a></blockquote></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">David Villasmil <<a href="mailto:david.villasmil.work@gmail.com">david.villasmil.work@gmail.com</a>>, 9 Kas 2021 Sal, 02:46 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="auto">I’ve never tried actually manually setting the reason after hangup, you may want to try that.</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, 8 Nov 2021 at 19:03, Rahman Duran <<a href="mailto:rahman.duran@erzurum.edu.tr" target="_blank">rahman.duran@erzurum.edu.tr</a>> wrote:<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 David,<div><br></div><div>You are right but I don't want or need to change any freeswitch internals. All I need is to fiddle with cdr. So I wonder if the CSV CDR template has any dynamic mechanism to use on variables. For example can I say "if variable A is not empty use A, else use variable B" in the CDR template?</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">David Villasmil <<a href="mailto:david.villasmil.work@gmail.com" target="_blank">david.villasmil.work@gmail.com</a>>, 6 Kas 2021 Cmt, 05:07 tarihinde şunu yazdı:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto">The fact is A is hanging up the call. I don’t think you can actually change this without changing FS source code to override it.</div><div dir="auto"><br></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 6 Nov 2021 at 01:20, Rahman Duran <<a href="mailto:rahman.duran@erzurum.edu.tr" target="_blank">rahman.duran@erzurum.edu.tr</a>> wrote:<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>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" target="_blank">rahman.duran@erzurum.edu.tr</a>>, 26 Eki 2021 Sal, 09:14 tarihinde şunu yazdı:<br></div></div><div class="gmail_quote"><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>
_________________________________________________________________________<br>
<br>
The FreeSWITCH project is sponsored by SignalWire <a href="https://signalwire.com" rel="noreferrer" target="_blank">https://signalwire.com</a><br>
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.<br>
Build your next product on our scalable cloud platform.<br>
<br>
Join our online community to chat in real time <a href="https://signalwire.community" rel="noreferrer" target="_blank">https://signalwire.community</a><br>
<br>
Professional FreeSWITCH Services<br>
<a href="mailto:sales@freeswitch.com" target="_blank">sales@freeswitch.com</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="https://freeswitch.com/oss" rel="noreferrer" target="_blank">https://freeswitch.com/oss</a><br>
<a href="https://freeswitch.org/confluence" rel="noreferrer" target="_blank">https://freeswitch.org/confluence</a><br>
<a href="https://cluecon.com" rel="noreferrer" target="_blank">https://cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a></blockquote></div></div>-- <br><div dir="ltr"><div dir="ltr"><div>Regards,</div><div><br></div>David Villasmil<div>email: <a href="mailto:david.villasmil.work@gmail.com" target="_blank">david.villasmil.work@gmail.com</a></div><div>phone: +34669448337</div></div></div>
_________________________________________________________________________<br>
<br>
The FreeSWITCH project is sponsored by SignalWire <a href="https://signalwire.com" rel="noreferrer" target="_blank">https://signalwire.com</a><br>
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.<br>
Build your next product on our scalable cloud platform.<br>
<br>
Join our online community to chat in real time <a href="https://signalwire.community" rel="noreferrer" target="_blank">https://signalwire.community</a><br>
<br>
Professional FreeSWITCH Services<br>
<a href="mailto:sales@freeswitch.com" target="_blank">sales@freeswitch.com</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="https://freeswitch.com/oss" rel="noreferrer" target="_blank">https://freeswitch.com/oss</a><br>
<a href="https://freeswitch.org/confluence" rel="noreferrer" target="_blank">https://freeswitch.org/confluence</a><br>
<a href="https://cluecon.com" rel="noreferrer" target="_blank">https://cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a></blockquote></div>
_________________________________________________________________________<br>
<br>
The FreeSWITCH project is sponsored by SignalWire <a href="https://signalwire.com" rel="noreferrer" target="_blank">https://signalwire.com</a><br>
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.<br>
Build your next product on our scalable cloud platform.<br>
<br>
Join our online community to chat in real time <a href="https://signalwire.community" rel="noreferrer" target="_blank">https://signalwire.community</a><br>
<br>
Professional FreeSWITCH Services<br>
<a href="mailto:sales@freeswitch.com" target="_blank">sales@freeswitch.com</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="https://freeswitch.com/oss" rel="noreferrer" target="_blank">https://freeswitch.com/oss</a><br>
<a href="https://freeswitch.org/confluence" rel="noreferrer" target="_blank">https://freeswitch.org/confluence</a><br>
<a href="https://cluecon.com" rel="noreferrer" target="_blank">https://cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a></blockquote></div></div>-- <br><div dir="ltr"><div dir="ltr"><div>Regards,</div><div><br></div>David Villasmil<div>email: <a href="mailto:david.villasmil.work@gmail.com" target="_blank">david.villasmil.work@gmail.com</a></div><div>phone: +34669448337</div></div></div>
_________________________________________________________________________<br>
<br>
The FreeSWITCH project is sponsored by SignalWire <a href="https://signalwire.com" rel="noreferrer" target="_blank">https://signalwire.com</a><br>
Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.<br>
Build your next product on our scalable cloud platform.<br>
<br>
Join our online community to chat in real time <a href="https://signalwire.community" rel="noreferrer" target="_blank">https://signalwire.community</a><br>
<br>
Professional FreeSWITCH Services<br>
<a href="mailto:sales@freeswitch.com" target="_blank">sales@freeswitch.com</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="https://freeswitch.com/oss" rel="noreferrer" target="_blank">https://freeswitch.com/oss</a><br>
<a href="https://freeswitch.org/confluence" rel="noreferrer" target="_blank">https://freeswitch.org/confluence</a><br>
<a href="https://cluecon.com" rel="noreferrer" target="_blank">https://cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" rel="noreferrer" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="https://freeswitch.com" rel="noreferrer" target="_blank">https://freeswitch.com</a></blockquote></div>