@telnyx/react-voice-commons-sdk 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/TelnyxVoiceCommons.podspec +31 -31
  3. package/ios/CallKitBridge.m +43 -43
  4. package/ios/CallKitBridge.swift +874 -879
  5. package/ios/VoicePnBridge.m +30 -30
  6. package/ios/VoicePnBridge.swift +86 -86
  7. package/lib/callkit/callkit-coordinator.d.ts +110 -117
  8. package/lib/callkit/callkit-coordinator.js +664 -727
  9. package/lib/callkit/callkit.d.ts +41 -41
  10. package/lib/callkit/callkit.js +252 -242
  11. package/lib/callkit/index.js +15 -47
  12. package/lib/callkit/use-callkit.d.ts +19 -19
  13. package/lib/callkit/use-callkit.js +270 -310
  14. package/lib/context/TelnyxVoiceContext.d.ts +9 -9
  15. package/lib/context/TelnyxVoiceContext.js +10 -13
  16. package/lib/hooks/use-callkit-coordinator.d.ts +9 -17
  17. package/lib/hooks/use-callkit-coordinator.js +45 -50
  18. package/lib/hooks/useAppReadyNotifier.js +13 -15
  19. package/lib/hooks/useAppStateHandler.d.ts +6 -11
  20. package/lib/hooks/useAppStateHandler.js +95 -110
  21. package/lib/hooks/useNetworkStateHandler.d.ts +0 -0
  22. package/lib/hooks/useNetworkStateHandler.js +0 -0
  23. package/lib/index.d.ts +3 -21
  24. package/lib/index.js +50 -201
  25. package/lib/internal/CallKitHandler.d.ts +6 -6
  26. package/lib/internal/CallKitHandler.js +96 -104
  27. package/lib/internal/callkit-manager.d.ts +57 -57
  28. package/lib/internal/callkit-manager.js +299 -316
  29. package/lib/internal/calls/call-state-controller.d.ts +73 -86
  30. package/lib/internal/calls/call-state-controller.js +263 -307
  31. package/lib/internal/session/session-manager.d.ts +71 -75
  32. package/lib/internal/session/session-manager.js +360 -424
  33. package/lib/internal/user-defaults-helpers.js +49 -39
  34. package/lib/internal/voice-pn-bridge.d.ts +114 -12
  35. package/lib/internal/voice-pn-bridge.js +212 -5
  36. package/lib/models/call-state.d.ts +46 -44
  37. package/lib/models/call-state.js +70 -68
  38. package/lib/models/call.d.ts +161 -133
  39. package/lib/models/call.js +454 -382
  40. package/lib/models/config.d.ts +11 -18
  41. package/lib/models/config.js +37 -35
  42. package/lib/models/connection-state.d.ts +10 -10
  43. package/lib/models/connection-state.js +16 -16
  44. package/lib/telnyx-voice-app.d.ts +28 -28
  45. package/lib/telnyx-voice-app.js +463 -481
  46. package/lib/telnyx-voip-client.d.ts +167 -167
  47. package/lib/telnyx-voip-client.js +385 -390
  48. package/package.json +11 -4
  49. package/src/callkit/callkit-coordinator.ts +18 -34
  50. package/src/hooks/useNetworkStateHandler.ts +0 -0
  51. package/src/internal/calls/call-state-controller.ts +81 -58
  52. package/src/internal/session/session-manager.ts +42 -26
  53. package/src/internal/voice-pn-bridge.ts +250 -2
  54. package/src/models/call-state.ts +8 -1
  55. package/src/models/call.ts +119 -5
  56. package/src/telnyx-voice-app.tsx +87 -40
  57. package/src/telnyx-voip-client.ts +15 -3
  58. package/src/types/telnyx-sdk.d.ts +16 -2
package/CHANGELOG.md ADDED
@@ -0,0 +1,42 @@
1
+ # CHANGELOG.md
2
+
3
+ ## [0.1.2](https://github.com/team-telnyx/react-native-voice-commons/releases/tag/0.1.2) (2025-11-04)
4
+
5
+ ### Enhancement
6
+
7
+ • Comprehensive package README with integration examples
8
+ • Documentation for credential-based and token-based authentication
9
+ • Native integration guides for Android (MainActivity) and iOS (AppDelegate)
10
+ • Examples for push notification setup
11
+ • Troubleshooting section
12
+
13
+ ### Bug Fixing
14
+
15
+ • Package metadata and npm publishing configuration
16
+
17
+ ## [0.1.1](https://github.com/team-telnyx/react-native-voice-commons/releases/tag/0.1.1) (2025-11-02)
18
+
19
+ ### Enhancement
20
+
21
+ • Initial npm package release
22
+ • Core VoIP client (`TelnyxVoipClient`)
23
+ • TelnyxVoiceApp component for React Native lifecycle management
24
+ • CallKit integration for iOS native call UI
25
+ • Android ConnectionService support
26
+ • Push notification handling (FCM for Android, APNs for iOS)
27
+ • Reactive state streams with RxJS
28
+ • Call management APIs (make, answer, hold, mute, transfer, hangup)
29
+ • Connection state management
30
+ • Call state machine
31
+ • Automatic reconnection logic
32
+ • Session management
33
+ • TypeScript type definitions
34
+
35
+ ## [0.1.0](https://github.com/team-telnyx/react-native-voice-commons/releases/tag/0.1.0) (2025-11-01)
36
+
37
+ ### Enhancement
38
+
39
+ • Initial development version
40
+ • Basic VoIP functionality
41
+ • Call management
42
+ • State management interfaces
@@ -1,32 +1,32 @@
1
- require 'json'
2
-
3
- package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
-
5
- Pod::Spec.new do |s|
6
- s.name = 'TelnyxVoiceCommons'
7
- s.version = package['version']
8
- s.summary = package['description']
9
- s.description = package['description']
10
- s.homepage = package['homepage']
11
- s.license = package['license']
12
- s.platforms = { :ios => '13.0' }
13
- s.swift_version = '5.4'
14
- s.author = package['author']
15
- s.source = { :git => package['repository']['url'], :tag => "#{s.version}" }
16
-
17
- s.source_files = "ios/**/*.{h,m,swift}"
18
- s.requires_arc = true
19
-
20
- # Dependencies
21
- s.dependency 'React'
22
- s.dependency 'React-Core'
23
-
24
- # WebRTC Framework dependency
25
- s.dependency 'JitsiWebRTC', '~> 124.0.0'
26
-
27
- # iOS Frameworks
28
- s.frameworks = 'CallKit', 'PushKit', 'AVFoundation'
29
-
30
- # Compiler flags for Swift
31
- s.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1'
1
+ require 'json'
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, 'package.json')))
4
+
5
+ Pod::Spec.new do |s|
6
+ s.name = 'TelnyxVoiceCommons'
7
+ s.version = package['version']
8
+ s.summary = package['description']
9
+ s.description = package['description']
10
+ s.homepage = package['homepage']
11
+ s.license = package['license']
12
+ s.platforms = { :ios => '13.0' }
13
+ s.swift_version = '5.4'
14
+ s.author = package['author']
15
+ s.source = { :git => package['repository']['url'], :tag => "#{s.version}" }
16
+
17
+ s.source_files = "ios/**/*.{h,m,swift}"
18
+ s.requires_arc = true
19
+
20
+ # Dependencies
21
+ s.dependency 'React'
22
+ s.dependency 'React-Core'
23
+
24
+ # WebRTC Framework dependency
25
+ s.dependency 'JitsiWebRTC', '~> 124.0.0'
26
+
27
+ # iOS Frameworks
28
+ s.frameworks = 'CallKit', 'PushKit', 'AVFoundation'
29
+
30
+ # Compiler flags for Swift
31
+ s.compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1'
32
32
  end
@@ -1,44 +1,44 @@
1
- #import <React/RCTBridgeModule.h>
2
- #import <React/RCTEventEmitter.h>
3
-
4
- @interface RCT_EXTERN_MODULE(CallKitBridge, RCTEventEmitter)
5
-
6
- RCT_EXTERN_METHOD(startOutgoingCall:(NSString *)callUUID
7
- handle:(NSString *)handle
8
- displayName:(NSString *)displayName
9
- resolver:(RCTPromiseResolveBlock)resolve
10
- rejecter:(RCTPromiseRejectBlock)reject)
11
-
12
- RCT_EXTERN_METHOD(reportIncomingCall:(NSString *)callUUID
13
- handle:(NSString *)handle
14
- displayName:(NSString *)displayName
15
- resolver:(RCTPromiseResolveBlock)resolve
16
- rejecter:(RCTPromiseRejectBlock)reject)
17
-
18
- RCT_EXTERN_METHOD(answerCall:(NSString *)callUUID
19
- resolver:(RCTPromiseResolveBlock)resolve
20
- rejecter:(RCTPromiseRejectBlock)reject)
21
-
22
- RCT_EXTERN_METHOD(endCall:(NSString *)callUUID
23
- resolver:(RCTPromiseResolveBlock)resolve
24
- rejecter:(RCTPromiseRejectBlock)reject)
25
-
26
- RCT_EXTERN_METHOD(reportCallConnected:(NSString *)callUUID
27
- resolver:(RCTPromiseResolveBlock)resolve
28
- rejecter:(RCTPromiseRejectBlock)reject)
29
-
30
- RCT_EXTERN_METHOD(reportCallEnded:(NSString *)callUUID
31
- reason:(NSNumber *)reason
32
- resolver:(RCTPromiseResolveBlock)resolve
33
- rejecter:(RCTPromiseRejectBlock)reject)
34
-
35
- RCT_EXTERN_METHOD(updateCall:(NSString *)callUUID
36
- displayName:(NSString *)displayName
37
- handle:(NSString *)handle
38
- resolver:(RCTPromiseResolveBlock)resolve
39
- rejecter:(RCTPromiseRejectBlock)reject)
40
-
41
- RCT_EXTERN_METHOD(getActiveCalls:(RCTPromiseResolveBlock)resolve
42
- rejecter:(RCTPromiseRejectBlock)reject)
43
-
1
+ #import <React/RCTBridgeModule.h>
2
+ #import <React/RCTEventEmitter.h>
3
+
4
+ @interface RCT_EXTERN_MODULE(CallKitBridge, RCTEventEmitter)
5
+
6
+ RCT_EXTERN_METHOD(startOutgoingCall:(NSString *)callUUID
7
+ handle:(NSString *)handle
8
+ displayName:(NSString *)displayName
9
+ resolver:(RCTPromiseResolveBlock)resolve
10
+ rejecter:(RCTPromiseRejectBlock)reject)
11
+
12
+ RCT_EXTERN_METHOD(reportIncomingCall:(NSString *)callUUID
13
+ handle:(NSString *)handle
14
+ displayName:(NSString *)displayName
15
+ resolver:(RCTPromiseResolveBlock)resolve
16
+ rejecter:(RCTPromiseRejectBlock)reject)
17
+
18
+ RCT_EXTERN_METHOD(answerCall:(NSString *)callUUID
19
+ resolver:(RCTPromiseResolveBlock)resolve
20
+ rejecter:(RCTPromiseRejectBlock)reject)
21
+
22
+ RCT_EXTERN_METHOD(endCall:(NSString *)callUUID
23
+ resolver:(RCTPromiseResolveBlock)resolve
24
+ rejecter:(RCTPromiseRejectBlock)reject)
25
+
26
+ RCT_EXTERN_METHOD(reportCallConnected:(NSString *)callUUID
27
+ resolver:(RCTPromiseResolveBlock)resolve
28
+ rejecter:(RCTPromiseRejectBlock)reject)
29
+
30
+ RCT_EXTERN_METHOD(reportCallEnded:(NSString *)callUUID
31
+ reason:(NSNumber *)reason
32
+ resolver:(RCTPromiseResolveBlock)resolve
33
+ rejecter:(RCTPromiseRejectBlock)reject)
34
+
35
+ RCT_EXTERN_METHOD(updateCall:(NSString *)callUUID
36
+ displayName:(NSString *)displayName
37
+ handle:(NSString *)handle
38
+ resolver:(RCTPromiseResolveBlock)resolve
39
+ rejecter:(RCTPromiseRejectBlock)reject)
40
+
41
+ RCT_EXTERN_METHOD(getActiveCalls:(RCTPromiseResolveBlock)resolve
42
+ rejecter:(RCTPromiseRejectBlock)reject)
43
+
44
44
  @end