jefflinwood / cordova-plugin-twiliovoicesdk Goto Github PK
View Code? Open in Web Editor NEWPhoneGap/Cordova Plugin for Twilio Programmable Voice SDK
License: MIT License
PhoneGap/Cordova Plugin for Twilio Programmable Voice SDK
License: MIT License
GCMRegistrationService, VoiceInstanceIDListenerService and VoiceGCMListenerService services does not run even after device initialization is done successfully. Any Idea?
Everthing is working fine, and i needed to implement twilio sdk for voice, so instaaled this plugin with parameters of app name etc.
Getting phonegap build error on online app builder on https://build.phonegap.com/apps/xxxxx/builds
** ARCHIVE FAILED **
The following build commands failed:
CompileC /Library/Developer/Xcode/DerivedData/ManageQuick-algbtxoodiiterevwywvypwmcnnu/Build/Intermediates.noindex/ArchiveIntermediates/ManageQuick/IntermediateBuildFilesPath/ManageQuick.build/Release-iphoneos/ManageQuick.build/Objects-normal/armv7/TwilioVoicePlugin.o ManageQuick/Plugins/cordova-plugin-twiliovoicesdk/TwilioVoicePlugin.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Error code 65 for command: xcodebuild with args: -xcconfig,/private/project/cordova/build-release.xcconfig,-workspace,ManageQuick.xcworkspace,-scheme,ManageQuick,-configuration,Release,-destination,generic/platform=iOS,-archivePath,ManageQuick.xcarchive,archive,CONFIGURATION_BUILD_DIR=/private/project/build/device,SHARED_PRECOMPS_DIR=/private/project/build/sharedpch,-UseModernBuildSystem=0
More:
fatal error: module 'TwilioVoice' not found
@import TwilioVoice;
The following errors have occurred:
• In Android on 11-01-2018 at 19:04:31 - Error installing Cordova plugin: https://github.com/jefflinwood/twilio-voice-phonegap-plugin.git. Your plugin does not support this Cordova version.
trying to run your plugin in Cordova 8.0.0 , cordova android 7.0.0
Both plugins have the GcmReceiver
Hello Jeff
Thanks for your effort in making this plugin available.
I was looking to use your plugin for my ionic cordova project but I just noticed this from Twilio:
"Please note that older versions of the Programmable Voice Android library prior to 2.0.4 are deprecated and will stop working on September 13, 2018."
Do you expect you will have a new version out by then? I'm going to look into what it might take to get the plugin where I need it, but I don't have a good feel for what kind of effort that is going to be.
Jay
while connecting a call it showing a error invalid access token but token is valid and also checked by web or jwt.io it is showing following error
Call Did Fail with Error: <TVOCall: 0x17d02200>, Twilio Error 20102
Allow developers to provide their own ringtone, CallKit App Name, and logo (for CallKit and for Notifications) via JS in the plugin.
Ideally ringtone and logo would be in the www directory.
Should be public boolean isRinging() {
instead of public booleanisRinging() {
Found this when trying to build a project that depends on this package.
Investigate the race condition between ondeviceready and an incoming connection
When I tried installing this plugin, All I got was
You need to download __Twilio Voice SDK for iOS__ from https://media.twiliocdn.com/sdk/ios/voice/releases/3.1.0/twilio-voice-ios-3.1.0.tar.bz2. Uncompress the download - you will need to follow two steps that plugman can not do yet:
* Add the Twilio Voice framework (TwilioVoice.framework) to your Xcode project
* Add the Twilio Voice framework (TwilioVoice.framework) as an embedded binary to your Xcode project
Most of people use Cordova project because either they don't AND don't want to know a thing about native languages or even though they know some but don't want to bother with them.
just "ADD" to Xcode project was not so much helpful to me, cause I am the former.
spent hours looking into native developments to understand the concept of framework and how to add or embed....
closely I read a few threads on how to do it in the Cordova way
https://stackoverflow.com/questions/36650522/custom-cordova-plugin-add-framework-to-embedded-binaries
or documents on the native way of opening up the xcode and doing all the steps.
none worked for me.
The example project seems dead and does not contain any infomation on that either.
I'm out of hints. please kindly point me to the right direction.
Thanks.
Either support ring tones internally, or support them through CallKit
Android - Version 3
iOS - Version 5
Hello,
My team is currently utilizing an older version of this plugin in an Ionic 1 application. It works great as it is using GCM, but we needed to update our project to utilize FCM instead of GCM due to the latest Android device updates ... newer Android devices utilizing NotificationChannels, call notifications aren't going through as a result. GCM is officially being deprecated next April, as well.
We integrated the latest changes to the plugin with the GCM to FCM migration into our project. Outgoing calls from the application are working successfully, but incoming calls to the application are unsuccessful
For incoming calls, we can see the call record go into the Twilio Console, but there is no notification or indication to the user. It does not ring for the user who is making the call, but instead an automated message is played saying that they user that they are trying to call is unavailable.
We spent a bit of time trying to debug the plugin, but we're having issues seeing any of the plugin logs Android Studio.
I felt if I could see what was going on inside the plugin, I could try to resolve the issue.
I copied down below a bit of information about our project:
node - 6.9.1 (the project cannot go above this)
cordova - 7.0.0
cordova-android - 6.3.0 (the project cannot go above this, as a result, we can’t go above phonegap-push-plugin 2.1.3. We have attempted this with different plugin versions i.e 2.0.0 2.1.0 as well)
gradle - 3.5.1
If anyone has worked on this, or have ran into this issue that could provide insight that would be very appreciated! Or if you need more detailed information about our configuration let me know.
Thank you.
Hi, @jefflinwood currently I'm facing an issue that is incoming call is not working I mean the outgoing call is working fine but if I'm calling from one device to another of different identity access token than incoming to that device is not working, no call notification or the dialog is appearing.
build fails with firebase-messaging version being out of sync with google-services plugin
Steps to reproduce
Android Studio project detected
ANDROID_HOME=D:\Android\sdk
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_144
studio
Subproject Path: CordovaLib
Subproject Path: app
publishNonDefault is deprecated and has no effect anymore. All variants are now published.
The Task.leftShift(Closure) method has been deprecated and is scheduled to be removed in Gradle 5.0. Please use Task.doLast(Action) instead.
at build_x0i9bhxs9cb37waag3lzgqsm.run(D:\wamp\www\demo\platforms\android\app\build.gradle:145)
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
Could not find google-services.json while looking in [src/nullnull/debug, src/debug/nullnull, src/nullnull, src/debug, src/nullnullDebug]
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
Could not find google-services.json while looking in [src/nullnull/release, src/release/nullnull, src/nullnull, src/release, src/nullnullRelease]
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
:CordovaLib:preBuild UP-TO-DATE
:CordovaLib:preDebugBuild UP-TO-DATE
:CordovaLib:compileDebugAidl UP-TO-DATE
:CordovaLib:compileDebugRenderscript UP-TO-DATE
:CordovaLib:checkDebugManifest UP-TO-DATE
:CordovaLib:generateDebugBuildConfig UP-TO-DATE
:CordovaLib:prepareLintJar UP-TO-DATE
:CordovaLib:generateDebugResValues UP-TO-DATE
:CordovaLib:generateDebugResources UP-TO-DATE
:CordovaLib:packageDebugResources UP-TO-DATE
:CordovaLib:platformAttrExtractor UP-TO-DATE
:CordovaLib:processDebugManifest UP-TO-DATE
:CordovaLib:processDebugResources
:CordovaLib:generateDebugSources
:CordovaLib:javaPreCompileDebug UP-TO-DATE
:CordovaLib:compileDebugJavaWithJavacNote: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
:CordovaLib:processDebugJavaRes NO-SOURCE
:CordovaLib:transformClassesAndResourcesWithPrepareIntermediateJarsForDebug
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:compileDebugAidl UP-TO-DATE
:CordovaLib:packageDebugRenderscript NO-SOURCE
:app:compileDebugRenderscript UP-TO-DATE
:app:checkDebugManifest UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:prepareLintJar UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:processDebugGoogleServices
FAILURE: Build failed with an exception.
Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 11.6.2.
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Get more help at https://help.gradle.org
BUILD FAILED in 7s
Found firebase-messaging:10.2.1, but version 11.6.2 is needed for the google-services plugin.
:app:processDebugGoogleServices FAILED
21 actionable tasks: 4 executed, 17 up-to-date
cmd: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
FAILURE: Build failed with an exception.
Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 11.6.2.
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Get more help at https://help.gradle.org
BUILD FAILED in 7s
I have successfully created dummy apps with the simple demo code and successfully made calls from app => PSTN in the past.
If I try to change the <framework src="com.google.firebase:firebase-messaging:10.2.1" />
to version 11.6.2 in plugin.xml it will build but crash when calling Twilio.TwilioVoiceClient.call(token, params)
Hoping someone can help me out a bit here, thanks.
It was working good untill i updated my IOS,
i checked error on Xcode console, it gives below error
....SIP registration failed, status=403 (Forbidden)
Need to address this
Hi @jefflinwood,
When I installed the Cordova package I've noticed that there is a code difference between the master branch and the Cordova package. I think you need to update the package in Cordova website to fix the issue.
SohrabZ@Green-Goblet:~/Documents/Codes/talk/src-cordova|develop⚡
⇒ cordova plugin add cordova-plugin-twiliovoicesdk --variable INCOMING_CALL_APP_NAME="Talk"
Installing "cordova-plugin-twiliovoicesdk" for ios
You need to download __Twilio Voice SDK for iOS__ from https://media.twiliocdn.com/sdk/ios/voice/releases/2.0.1/twilio-voice-ios-2.0.1.tar.bz2. Uncompress the download - you will need to follow two steps that plugman can not do yet:
* Add the Twilio Voice framework (TwilioVoice.framework) to your Xcode project
* Add the Twilio Voice framework (TwilioVoice.framework) as an embedded binary to your Xcode project
Adding cordova-plugin-twiliovoicesdk to package.json
iOS engine integration for Cordova - iOS 4.3
iOS version - 10 (for CallKit)
Android version - 16 (for Programmable Voice SDK)
We tried implementing the Push notification for Android but it isnt working, anyone have any solutions for this issue?
We used the following steps to configure the push notification
https://www.twilio.com/docs/notify/configure-android-push-notifications
Please help with this issue.
on android it is not working, shows below error :
halted due to an error
com.getkeepsafe.relinker.MissingLibraryException: lib/armeabi/libvoice.so
at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:85)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:180)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:51)
at com.twilio.voice.UserAgent.loadLibrary(UserAgent.java:261)
at com.twilio.voice.UserAgent.(UserAgent.java:57)
at com.twilio.voice.UserAgent.get(UserAgent.java:107)
at com.twilio.voice.CallCommandHandlerImpl.run(CallCommandHandlerImpl.java:50)
can you please provide libvoice.so for below architectures
├── arm64-v8a
│ └── libvoice.so
├── armeabi-v7a
│ └── libvoice.so
├── armeabi
│ └── libvoice.so
├── x86
│ └── libvoice.so
└── x86_64
└── libvoice.so
May require iOS 10 and above for plugin
Hey All,
I wanted to post and ask if anybody has experienced any echo during a call. If so, how did you resolve this? Is this plugin utilizing any of Twilios echo cancellation software? I have also submitted a ticket to Twilio asking about the echo cancellation software as well.
I'm utilizing this plugin for an Ionic 1 (specifically version 1.3.1) project to connect to Twilio to make phone calls. The plugin works great! Able to connect and everything is running smoothly on iOS and Android.
I have noticed during testing that this happens more on Android devices. Not sure if this is related.
If you need me to provide any more information please let me know. Thank you! :)
Hi jefflinwood,
I Appreciate your good work and contributions.
I've a doubt. Lately, I've been trying to achieve an incoming call but nothing turn up to be successful.
Some questions like:
Can I use FCM sender_id instead of GCM sender_Id ?
As per Twilio documentation (https://github.com/twilio/voice-quickstart-android#migrating-from-gcm-to-fcm) GCM is migrated to FCM.
On Initializing the device, I can see "Registered Voice Client" but non of the Twilio Services is seen running. Can You please?
Thanks
TwilioPlugin.Device.prototype.setup = function(token) {
// Take a token and instantiate a new device object
var error = function(error) {
if(delegate['ondeviceerror']) delegate'ondeviceerror'
if(delegate['onconnectionerror']) delegate'onconnectionerror'
}
var success = function(callback) {
var argument = callback['arguments'] || new TwilioPlugin.Connection();
if (delegate[callback['callback']]) delegate[callback['callback']](argument);
}
Cordova.exec(success, error, "TCPlugin", "deviceSetup", [token]);
}
Getting "Class not found" as error on error call back.
Any solution for that.
Steps to repeat:
Leave app running
Reboot phone
Do not open app as icon
Send incoming call request
CallKit screen will show after a delay
Cordova app will load, but will not be initialized.
I just received a call and declined it a number of times. I don't see the log that should come from NSLog(@"Call Invite Cancelled: %@", [callInvite description]);
.
Also (unsurprisingly) the callback that I submitted to callinvitecanceled
doesn't run after I decline a call.
Hello sir
please see attached screenshot
i am using ionic cli to create build and i have installed push with valid credentials . now when incoming call comes i am not able to receive any notification or incoming event in foreground app running .
Can you please help me to figure our issue ?
here is my ionic info details:
Thanks in advance
I noticed your latest commits and the the newest download has FCM and is working with Twilio 2.7. Is this ready. I am using it and it is working for iOS but I'm getting a ring no answer for Android. It may be an issue with my Twilio/Firebase setup but before I got into the weeds I though I would check with you to see if it's ready on your end.
If so is there any additional setup I need to be aware of?
Thanks for all your effort.
Jay
Add an Android plugin
Hi, i have APNs enabled and testing for the "incoming call". Incoming call is not working (it seems because everything is working fine).
When I add this plugin to my dependencies there is always an additional entry "cordova-plugin-twiliovoice" to the normal "twilio-voice-phonegap-plugin". This should not happen because my CI build fails because of this now.
I have just installed the cordova-plugin-twiliovoicesdk in ionic 4 application but now i'm really frustrated that how to use this plugin and import in ionic 4 application
Don't use the Twilio Voice for PhoneGap except as a default.
Test the final version of the plugin on Nougat for any permissions issues.
Hello Sir
We are creating build using phonegap cli 7.0.1
and it created apk fine but for ios it says
Like
Error - The following 3rd-party plugin is causing the build to fail and may need to be updated to a newer version: com.phonegap.plugins.twiliovoice
And for android it also not works . APK created fine but when i try to call it throw error like
Generic Error.
So can you please help me for this issues.
Thanks
Regards
This may require some work with the Cordova iOS Framework to support multiple Cocoapods pod spec sources
Hi @jefflinwood ,
I'm Using your plugin in Ionic 4 Application and i have done all the things and device is ready and calls are made but not receiving while i have tried to get notification from firebase and notification are receiving on device but not call.
Above are my ionic configurations.
it'll be great if you can look and help me out.
Support speaker mode, either through CallKit or through some way
Hi @jefflinwood
I want to integrate this plugin into my Ionic 4 app. Could you please provide setup instructions so that I can get started with this plugin.
Thank you
I want to receive a twilio token, use it to initialize the client, and then send a request to the server to make a test call as soon as my twilio client is ready.
I run the initialize method and the twilio client is created, but there is no promise/callback/event that I can use to indicate that the initialization is complete
Either (1) have the initialize method return a promise or accept a callback as an argument, or (2) trigger an event when the client is initialized.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.