[Freeswitch-dev] Is 3PCC broken in FreeSWITCH Version 1.10.6?

Brian West brian at freeswitch.com
Mon Sep 20 14:21:16 UTC 2021


But reports and PR's exist in github, Here isn't so much helpful.

https://github.com/freeswitch/

/b


On Sun, Sep 19, 2021 at 6:30 PM KageDS <alan at kageds.com> wrote:

> So to answer my own question, yes it does seem to be broken, the
> following patch fixes it but I'm not sure if this is the right thing to do:
>
>
> diff --git a/src/mod/endpoints/mod_sofia/sofia.c
> b/src/mod/endpoints/mod_sofia/sofia.c
> index b76a804..29f233d 100644
> --- a/src/mod/endpoints/mod_sofia/sofia.c
> +++ b/src/mod/endpoints/mod_sofia/sofia.c
> @@ -6532,15 +6532,20 @@ static void
> sofia_handle_sip_r_invite(switch_core_session_t *session, int status
>                  switch_channel_clear_flag(channel, CF_REQ_MEDIA);
>
>                  if (status < 200) {
> -                       if (switch_core_session_get_partner(session,
> &other_session) == SWITCH_STATUS_SUCCESS) {
> - if(switch_core_session_compare(session, other_session)) {
> -                                       private_object_t *other_tech_pvt
> = switch_core_session_get_private(other_session);
> -                                       if
> (sofia_test_flag(other_tech_pvt, TFLAG_3PCC)) {
> - sofia_set_flag_locked(tech_pvt, TFLAG_SKIP_EARLY);
> -                                       }
> -                               }
> - switch_core_session_rwunlock(other_session);
> -                       }
> +//
> +// **AlanE**
> +// The following code sets TFLAG_SKIP_EARLY for the b-leg of a call
> with a 3PCC on the a-leg
> +// this then later on causes the call to fail with no write codec error
> +// Just commenting the code out seems to fix the issue
> +//                     if (switch_core_session_get_partner(session,
> &other_session) == SWITCH_STATUS_SUCCESS) {
> +// if(switch_core_session_compare(session, other_session)) {
> +//                                     private_object_t *other_tech_pvt
> = switch_core_session_get_private(other_session);
> +//                                     if
> (sofia_test_flag(other_tech_pvt, TFLAG_3PCC)) {
> +// sofia_set_flag_locked(tech_pvt, TFLAG_SKIP_EARLY);
> +//                                     }
> +//                             }
> +// switch_core_session_rwunlock(other_session);
> +//                     }
>
>                          if (sofia_test_flag(tech_pvt, TFLAG_SKIP_EARLY)) {
>                                  return;
>
>
> _________________________________________________________________________
>
> 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-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> https://freeswitch.com



-- 

Brian West | Co-founder and Developer

Need Commercial support? email sales at freeswitch.com

FreeSWITCH Solutions | 17345 Civic Drive #2531 Brookfield, WI 53045
<https://maps.google.com/?q=17345+Civic+Drive+%232531+Brookfield,+WI+53045&entry=gmail&source=g>

Email: brian at freeswitch.com

Mobile: 918-424-9378

Website: https://www.FreeSWITCH.com <https://www.freeswitch.com/>

[image: https://www.facebook.com/signalwireinc?src=email]
<https://www.facebook.com/freeswitch> [image:
https://twitter.com/freeswitch] <https://twitter.com/freeswitch>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20210920/5600ab07/attachment.html>


More information about the FreeSWITCH-dev mailing list