Call Flow Apps not working since Upgrade - Raspberry Pi

Status
Not open for further replies.

Rich_M

Free User
Joined
Nov 23, 2020
Messages
5
Reaction score
0
Hi All,

Call Flow Apps has stopped working for me since upgrading today to 16.0.7.1078

When I call the DID or allocated internal extension, the call just gets dropped. It was all definitely working this morning before the upgrade.

On the activity log, I get: [CM503003]: Call(C:20): Call to <sip:eek:[email protected]:0> has failed; Cause: 487 Request Terminated/INVITE from 127.0.0.1:5483

When I look at the /var/lib/3cxpbx/Instance1/Data/Logs 3CXCallFlow.log files I can see:

12:07:26.081|754|0007|Exc|System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.IO.IOException: Error loading native library "/usr/lib/3cxpbx/libgrpc_csharp_ext.x86.so".

Obviously that's a bit odd because I didn't think it should be using an x86 library on an ARM Raspberry Pi(!!)

My first thought was maybe something in the upgrade script not setting the architecture correctly and defaulting to x86, but given that nobody else (yet) has posted anything, maybe it's just me who's experiencing this?

Any help would be massively appreciated!

Thanks in advance,

Rich
 
I think you use an old version of the CFD?
 
Thanks for the reply.

I've been using CFD v16.6.53 - which appears the be the latest version :(
 
I've been doing a bit of digging and it's related to the presence of the Google Text-To-Speech API. When I remove it from the 'online services' menu, everything works (obviously apart from the text-to-speech bits.....) here's the full log file:

2020/12/09 11:08:15.787|755|0008|Exc|System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.IO.IOException: Error loading native library "/usr/lib/3cxpbx/libgrpc_csharp_ext.x86.so". /usr/lib/3cxpbx/libgrpc_csharp_ext.x86.so: cannot open shared object file: No such file or directory
at Grpc.Core.Internal.UnmanagedLibrary..ctor(String[] libraryPathAlternatives)
at Grpc.Core.Internal.NativeExtension.LoadUnmanagedLibrary()
at Grpc.Core.Internal.NativeExtension.LoadNativeMethods()
at Grpc.Core.Internal.NativeExtension..ctor()
at Grpc.Core.Internal.NativeExtension.Get()
at Grpc.Core.Internal.NativeMethods.Get()
at Grpc.Core.GrpcEnvironment.GrpcNativeInit()
at Grpc.Core.GrpcEnvironment..ctor()
at Grpc.Core.GrpcEnvironment.AddRef()
at Grpc.Core.Channel..ctor(String target, ChannelCredentials credentials, IEnumerable`1 options)
at Google.Api.Gax.Grpc.GrpcCore.GrpcCoreAdapter.CreateChannelImpl(String endpoint, ChannelCredentials credentials, GrpcChannelOptions options)
at Google.Api.Gax.Grpc.GrpcAdapter.CreateChannel(String endpoint, ChannelCredentials credentials, GrpcChannelOptions options)
at Google.Api.Gax.Grpc.ClientBuilderBase`1.CreateChannel(String endpoint, ChannelCredentials credentials)
at Google.Api.Gax.Grpc.ClientBuilderBase`1.CreateCallInvoker()
at Google.Cloud.TextToSpeech.V1.TextToSpeechClientBuilder.BuildImpl()
at Google.Cloud.TextToSpeech.V1.TextToSpeechClientBuilder.Build()
at CallFlow.CFD.GoogleCloudTextToSpeechEngine..ctor(GoogleCloudSettings settings)
at _3002_7.Main..ctor()
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.ConstructorInfo.Invoke(Object[] parameters)
at CallFlow.ScriptBase`1.createNew(ICall call)
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
at CallFlow.ScriptingHost.GetInstance(ICall theCall, String scriptName)
at CallFlowCore.ScriptingService.ScriptRunner.updateConnection(ActiveConnection connection)


Thanks,

Richard
 
your PI installation is debian9 (pi3B+) or debian10(pi4)
 
Debian 10 (Buster) on a Pi 4
 
@Rich_M
We have been looking into this and indeed there seems to be a problem when using the Google Speech-to-Text and Text-to-Speech on RPi's (Debian amd64 and Windows are fine).

What is puzzling us a bit is the fact you say that before the update to Update 7, that it worked.
We made a simple project with STT and TTS components and we found that this issue exists also on the RPi on Update 6.

When you were on Update 6 and it worked, you were also using the same RPi device, right?

Would it be possible also to send me the project you are using in a PM, without credentials of course, so we can test it here and see if there is something else we are missing?
 
Hi Nick,

I'm not sure what version I was on pre-update, and I don't think I can work it out as, while trying to work out what the issue was, I wiped the Pi SD card and did a fresh install!

I only set up the device on 22/11/2020 and don't remember seeing any updates since, so would think I was on U6.

Will PM you the project that was working pre-update - it just has a PostreSQL lookup and a couple of TTS component.

Thanks for your help!

Rich
 
If you set it up on the 22/11/2020 then I agree you most likely had Update 6.

Thanks!
 
Ok, so the issues seems to be that the C library used is indeed that it is a x86/x64, but of course for Raspberry Pi, a Arm library is needed.

For the time being this is affecting the Google Text-to-Speech and Google Speech-to-Text services as the same library is used for both.

For Text-to-Speech on RPi for the time being, what you could do for now is use the Amazon Poly service which seems to be working fine, which uses a different library.
 
Just a small update on this, we managed to find a library that does what we need and we plan on fixing the Google STT and TTS of CFD for Arm for the next major uprate.
 
  • Like
Reactions: Evolute IT
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,990
Messages
590,161
Members
164,925
Latest member
batarong