onsip-cordova
onsip-cordova copied to clipboard
One-way audio with PSTN to iOS 8
Caller hears sound from an iPad Mini Retina running iOS 8 but no sound from caller.
We're using a barebones Cordova application with only the OnSIP plugin. The index.html is that taken from this projects' readme.
Can provide logs but I don't immediately know what would be useful to anyway.
Any help would be appreciated.
Hi, I have updated the WebRTC libraries and SIP.js library. Try pulling that down and let me know if that resolves your issue. Thanks
Thank you for getting to this.
I run into the following issue when attempting to run the command that adds this plugin.
cordova plugin add https://github.com/onsip/onsip-cordova.git
Fetching plugin "https://github.com/onsip/onsip-cordova.git" via git clone
Installing "com.onsip.cordova" for ios
Error during processing of action! Attempting to revert...
Failed to install 'com.onsip.cordova':Error: Uh oh!
cannot find "/Users/asafreedman/CordovaProjects/demo/plugins/com.onsip.cordova/src/ios/PhoneRTCPlugin.m" ios
The same error occurs if I install the plugin and then run 'cordova platform add ios'.
I attempted this with a project that was newly created and had no other plugins as well.
Sorry about that. I missed the PhoneRTC library when compiling everything together. It should be in there now.
Thanks again. Got past that error but build fails using 'cordova run' to build for iOS. I'm on OS X 10.10. Project will successfully build if I 'cordova plugin remove com.onsip.cordova'. The log I've attached is from the first error statement to the end. Project builds successfully until that point.
/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCPlugin.m:82:29: error: property 'videoTrack' not found on object of type 'RTCEAGLVideoView *' remoteVideoView.videoTrack = remoteVideoTrack; ^ /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCPlugin.m:141:20: error: property 'videoTrack' not found on object of type 'RTCEAGLVideoView *' localVideoView.videoTrack = track; ^ /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCPlugin.m:150:25: error: property 'videoTrack' not found on object of type 'RTCEAGLVideoView *' remoteVideoView.videoTrack = track; ^ /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCPlugin.m:162:25: error: property 'videoTrack' not found on object of type 'RTCEAGLVideoView *' self.localVideoView.videoTrack = nil; ^ /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCPlugin.m:163:26: error: property 'videoTrack' not found on object of type 'RTCEAGLVideoView *' self.remoteVideoView.videoTrack = nil; ^ 5 errors generated.
CompileC build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/Objects-normal/armv7/PhoneRTCDelegate.o OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler cd /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios export LANG=en_US.US-ASCII export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/Users/asafreedman/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/mysql/bin" /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch armv7 -fmessage-length=116 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -fcolor-diagnostics -std=c99 -fobjc-arc -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-implicit-atomic-properties -Wno-receiver-is-weak -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wno-shorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -g -fvisibility=hidden -Wno-sign-conversion -miphoneos-version-min=6.0 -iquote /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/OnSIPDemo-generated-files.hmap -I/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/OnSIPDemo-own-target-headers.hmap -I/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/OnSIPDemo-all-target-headers.hmap -iquote /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/OnSIPDemo-project-headers.hmap -I/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/device/include -I/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/device/usr/local/lib/include -I/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/UninstalledProducts/include -I/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/device -I/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/DerivedSources/armv7 -I/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/DerivedSources -F/Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/device -include /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/sharedpch/OnSIPDemo-Prefix-dostbjrktjmpsjapjwxdheofhitk/OnSIPDemo-Prefix.pch -MMD -MT dependencies -MF /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/Objects-normal/armv7/PhoneRTCDelegate.d --serialize-diagnostics /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/Objects-normal/armv7/PhoneRTCDelegate.dia -c /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.m -o /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/Objects-normal/armv7/PhoneRTCDelegate.o /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.m:75:26: error: no visible @interface for 'RTCPeerConnection' declares the selector 'addStream:constraints:' [self.peerConnection addStream:lms constraints:[self constraints]]; ~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~ /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.m:5:17: warning: method 'resetUi' in protocol 'PHONERTCSendMessage' not implemented [-Wprotocol] @implementation PhoneRTCDelegate ^ In file included from /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.m:3: /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.h:24:1: note: method 'resetUi' declared here
- (void)resetUi; ^ /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.m:292:17: warning: method 'peerConnection:didOpenDataChannel:' in protocol 'RTCPeerConnectionDelegate' not implemented [-Wprotocol] @implementation PCObserver { ^ In file included from /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.m:3: In file included from /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.h:12: In file included from /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/RTCPeerConnection.h:28: /Users/asafreedman/CordovaProjects/onsip_demo/platforms/ios/OnSIPDemo/Plugins/com.onsip.cordova/RTCPeerConnectionDelegate.h:69:1: note: method 'peerConnection:didOpenDataChannel:' declared here
- (void)peerConnection:(RTCPeerConnection*)peerConnection ^ 2 warnings and 1 error generated.
** BUILD FAILED **
The following build commands failed: CompileC build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/Objects-normal/armv7/PhoneRTCPlugin.o OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCPlugin.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler CompileC build/OnSIPDemo.build/Debug-iphoneos/OnSIPDemo.build/Objects-normal/armv7/PhoneRTCDelegate.o OnSIPDemo/Plugins/com.onsip.cordova/PhoneRTCDelegate.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler (2 failures)
I'd be willing to Skype and screen share with your at any point if you're available.
It looks like you did not copy the build file. cp plugins/com.onsip.cordova/build platforms/ios/cordova/
'cordova run' still presents same logs as above in a new project.
I ran the following commands:
cordova create onsip_demo1 com.onsipdemo.demo OnSIPDemo Creating a new cordova project with name "OnSIPDemo" and id "com.onsipdemo.demo" at location "/Users/asafreedman/CordovaProjects/onsip_demo1" ip-192-168-1-4:CordovaProjects asafreedman$ cd onsip_demo1/ ip-192-168-1-4:onsip_demo1 asafreedman$ cordova platform add ios Creating ios project... ip-192-168-1-4:onsip_demo1 asafreedman$ cordova plugin add https://github.com/onsip/onsip-cordova.git Fetching plugin "https://github.com/onsip/onsip-cordova.git" via git clone Installing "com.onsip.cordova" for ios ip-192-168-1-4:onsip_demo1 asafreedman$ cp plugins/com.onsip.cordova/build platforms/ios/cordova/ ip-192-168-1-4:onsip_demo1 asafreedman$ cordova run
In a gist can you provide full logs and the build file from platforms/ios/cordova/
?
Here is a link to the gist with the build file at top and the logs at bottom.
https://gist.github.com/asafreedman/9d59da111fcd6a31bf96
Looks like XCode might be getting in the way. There are a few things that you need to do.
- Remove all traces of libCordova.a
- Open the project in XCode and choose Product > Clean from the menu.
- Go the build settings for both CordovaLib and your Cordova Project. Set the following settings:
Build Active Architecture Only: No
Valid Architectures: armv7
Once all of that is done you can try compiling again.
Still same issue when building in X Code.
Does it matter that you wiped the method and properties the compiler is balking at in commit 0af5c4636bb6780da4ce348f57ffa534977cce84 and never added them back?
Specifically 'videoTrack' for RTCEAGLVideoView and 'selector addStream:constraints:' in RTCPeerConnection.
It didn't look like they were replaced in the protocols you specified in the same commit for those files.
Did you grab the newest version? I just put them back in the last commit b2ed032
You added the four files in that commit.
You never added back the property 'videoTrack' to 'src/ios/RTCEAGLVideoView.h' which you changed in the commit I listed above.
The same for src/ios/RTCPeerConnection.h where the selector 'addStream:constraints:' was changed to simply 'addStream'.
The four files you added back reference both videoTrack and the missing selector. For instance PhoneRTCDelegate.m at line 75.
Thanks for pointing that out. I have reverted the webrtc library for the time being. I will have to spend some time to readdress that.
No problem. I wish I had the understanding you do to help you. Thank you for taking your time.
As a side note, src/ios/RTCPeerConnection.h
and src/ios/RTCEAGLVideoView.h
are generated by the Google WebRTC libraries and cannot be modified. It is our PhoneRTC libraries that will need to be modified.
Oh. I was unaware. I guess it makes sense that those changes could be missed then.
I was wrong in using 'your changes' and so on then. I apologize for placing the blame so squarely on you.