[Freeswitch-users] Issue with Enterprise originate and 487 "ORIGINATOR_CANCEL".

Peter Steinbach lists at telefaks.de
Thu Oct 21 15:20:20 UTC 2021


Hello,


this is a long lasting issue I firstly posted in 2017 and lastly saw in
2019 in this thread, and I am happy to announce, that we have found a
solution for this.

Here is the patch, which works pretty well in our environment

===================================================================================================

--- freeswitch_orig/src/switch_ivr_originate.c    2021-10-20
12:51:04.863328041 +0200
+++ freeswitch/src/switch_ivr_originate.c    2021-10-20
12:54:15.764616280 +0200
@@ -1789,7 +1789,13 @@
         if (cancel_cause && *cancel_cause > 0) {
             handles[i].cancel_cause = *cancel_cause;
         } else {
-            handles[i].cancel_cause = SWITCH_CAUSE_LOSE_RACE;
+            if ((hp!=NULL) && (hp->cause==SWITCH_CAUSE_SUCCESS)) {
//Was this call taken by another destination?
+                //Yes, the race was lost
+                handles[i].cancel_cause = SWITCH_CAUSE_LOSE_RACE;
+            } else {
+                //No, something else happened, probably Originator
Cancel   
+                handles[i].cancel_cause = SWITCH_CAUSE_ORIGINATOR_CANCEL;
+            }
         }
     }
===================================================================================================


Can someone retest this and check this in?


-- 
With kind regards
Peter Steinbach 

Telefaks Services GmbH
mailto:lists (att) telefaks.de
Internet: www.telefaks.de

Am 22.05.19 um 21:14 schrieb Jai Rangi:
> All,
> Running into a small issue with group calling, when the original
> caller hang up, phones dont show that call as missed call, cause of
> wrong reason code from freeswitch.
> Scenario:
>
>   * Caller -> FS (Groupcall) to 101 and 102
>   * Phones ring
>   * Caller hangup
>   * Phones should see missed calls,
>   * But free-switch send cancel with Reason: SIP;cause=200;text="Call
>     completed elsewhere", where is should send Reason:
>     SIP;cause=487;text="ORIGINATOR_CANCEL".
>
> Here is what my bridge data.
>
> bridge(<all_threads=true,absolute_codec_string=PCMU,PCMA,G729,group_confirm_file=playback
> /usr/local/freeswitch/sound/ivr/1443458342.wav,group_confirm_key=exec>{sip_cid_type=rpid,ignore_early_media=true,originate_timeout=30}[leg_timeout=20
> ]user/101 at 192.168.5.50:_:[ignore_early_media=true,leg_timeout=20
> ]user/102 at 192.168.5.50 <mailto:102 at 192.168.5.50>)
>
> If I send
> bridge(<all_threads=true,absolute_codec_string=PCMU,PCMA,G729,group_confirm_file=playback
> /usr/local/freeswitch/sound/ivr/1443458342.wav,group_confirm_key=exec>{sip_cid_type=rpid,ignore_early_media=true,originate_timeout=30}[leg_timeout=20
> ]user/101 at 192.168.5.50 <mailto:101 at 192.168.5.50>
>
> Everything works fine.
> I see some old posts but no resolution.
> Freeswitch version on Debian 8.9
> FreeSWITCH (Version 1.6.16 git 3da6bd0 2017-04-07 16:49:13Z 64bit)
>
> Any idea or suggestion for workaround? 
>
> Jai
>
>
>
>
>
>
>
> _________________________________________________________________________
>
> The FreeSWITCH project is sponsored by SignalWire https://signalwire.com
> Enhance your FreeSWITCH install with disruptive priced SMS and PSTN services.
> Build your next product on our scalable cloud platform.
>
> Join our online community to chat in real time https://signalwire.community
>
> Professional FreeSWITCH Services
> sales at freeswitch.com
> https://freeswitch.com
>
> Official FreeSWITCH Sites
> https://freeswitch.com/oss
> https://freeswitch.org/confluence
> https://cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> https://freeswitch.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20211021/b72cb14d/attachment-0001.html>


More information about the FreeSWITCH-users mailing list