@telnyx/react-voice-commons-sdk 0.1.6 → 0.1.7-beta.0
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.
- package/README.md +24 -24
- package/ios/CallKitBridge.m +1 -1
- package/ios/CallKitBridge.swift +1 -11
- package/ios/README.md +2 -2
- package/lib/callkit/callkit-coordinator.js +6 -2
- package/lib/internal/calls/call-state-controller.d.ts +9 -0
- package/lib/internal/calls/call-state-controller.js +51 -24
- package/lib/telnyx-voice-app.js +127 -151
- package/lib/telnyx-voip-client.d.ts +21 -0
- package/lib/telnyx-voip-client.js +30 -0
- package/package.json +4 -2
- package/src/callkit/callkit-coordinator.ts +8 -2
- package/src/internal/calls/call-state-controller.ts +56 -24
- package/src/telnyx-voice-app.tsx +154 -170
- package/src/telnyx-voip-client.ts +31 -0
- package/android/build/.transforms/35d64beab84343a7420320f8057c40b9/results.bin +0 -1
- package/android/build/.transforms/35d64beab84343a7420320f8057c40b9/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/results.bin +0 -1
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/BuildConfig.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/CallForegroundService$Companion.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/CallForegroundService.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxFirebaseMessagingService.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxMainActivity$Companion.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxMainActivity.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxNotificationActionReceiver.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxNotificationHelper$Companion.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxNotificationHelper.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/VoicePnBridgeModule$Companion.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/VoicePnBridgeModule.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/VoicePnBridgePackage.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/VoicePnManager.dex +0 -0
- package/android/build/.transforms/81896f393ea3c2e44a76283db01ad461/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/.transforms/8ebc6907344eccd2b9c23d903854d4fb/results.bin +0 -1
- package/android/build/.transforms/8ebc6907344eccd2b9c23d903854d4fb/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/results.bin +0 -1
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/BuildConfig.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxFirebaseMessagingService.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxMainActivity$Companion.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxMainActivity.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxNotificationActionReceiver.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxNotificationHelper$Companion.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/TelnyxNotificationHelper.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/VoicePnBridgeModule.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/VoicePnBridgePackage.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/telnyx/react_voice_commons/VoicePnManager.dex +0 -0
- package/android/build/.transforms/af1ab9e262e91ec4942977987fb9a0ae/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/generated/source/buildConfig/debug/com/telnyx/react_voice_commons/BuildConfig.java +0 -10
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -42
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/telnyx_react-voice-commons-sdk_debug.kotlin_module +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/telnyx/react_voice_commons/BuildConfig.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +0 -2
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -75
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -42
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/telnyx_react-voice-commons-sdk_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/CallForegroundService$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/CallForegroundService.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/TelnyxFirebaseMessagingService.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/TelnyxMainActivity$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/TelnyxMainActivity.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/TelnyxNotificationActionReceiver.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/TelnyxNotificationHelper$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/TelnyxNotificationHelper.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/VoicePnBridgeModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/VoicePnBridgeModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/VoicePnBridgePackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/telnyx/react_voice_commons/VoicePnManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +0 -1
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -82
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/telnyx_react-voice-commons-sdk_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/CallForegroundService$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/CallForegroundService.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/TelnyxFirebaseMessagingService.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/TelnyxMainActivity$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/TelnyxMainActivity.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/TelnyxNotificationActionReceiver.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/TelnyxNotificationHelper$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/TelnyxNotificationHelper.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/VoicePnBridgeModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/VoicePnBridgeModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/VoicePnBridgePackage.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/telnyx/react_voice_commons/VoicePnManager.class +0 -0
- package/android/local.properties +0 -8
package/README.md
CHANGED
|
@@ -51,7 +51,7 @@ export default function App() {
|
|
|
51
51
|
|
|
52
52
|
### Core Components
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
### 1. VoIP Client Configuration
|
|
55
55
|
|
|
56
56
|
```tsx
|
|
57
57
|
const voipClient = createTelnyxVoipClient({
|
|
@@ -65,7 +65,7 @@ const voipClient = createTelnyxVoipClient({
|
|
|
65
65
|
- **`enableAppStateManagement: true`** - **Optional (default: true)**: Enables automatic background/foreground app state management. When enabled, the library automatically disconnects when the app goes to background (unless there's an active call) and handles reconnection logic. Set to `false` if you want to handle app lifecycle manually.
|
|
66
66
|
- **`debug: true`** - **Optional**: Enables detailed logging for connection states, call transitions, and push notification processing. Useful for development and troubleshooting.
|
|
67
67
|
|
|
68
|
-
|
|
68
|
+
### 2. TelnyxVoiceApp Wrapper
|
|
69
69
|
|
|
70
70
|
The `TelnyxVoiceApp` component handles:
|
|
71
71
|
|
|
@@ -74,7 +74,7 @@ The `TelnyxVoiceApp` component handles:
|
|
|
74
74
|
- Login state management with automatic reconnection
|
|
75
75
|
- Background client management for push notifications
|
|
76
76
|
|
|
77
|
-
|
|
77
|
+
### 3. Reactive State Management
|
|
78
78
|
|
|
79
79
|
```tsx
|
|
80
80
|
// Listen to connection state
|
|
@@ -93,7 +93,7 @@ call.callState$.subscribe((state) => {
|
|
|
93
93
|
});
|
|
94
94
|
```
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
### 4. Call Management
|
|
97
97
|
|
|
98
98
|
```tsx
|
|
99
99
|
// Make a call
|
|
@@ -112,9 +112,9 @@ await call.hangup();
|
|
|
112
112
|
|
|
113
113
|
The library supports both credential-based and token-based authentication with automatic persistence for seamless reconnection.
|
|
114
114
|
|
|
115
|
-
|
|
115
|
+
### Authentication Methods
|
|
116
116
|
|
|
117
|
-
|
|
117
|
+
### 1. Credential-Based Authentication
|
|
118
118
|
|
|
119
119
|
```tsx
|
|
120
120
|
import { createCredentialConfig } from '@telnyx/react-voice-commons-sdk';
|
|
@@ -127,7 +127,7 @@ const config = createCredentialConfig('your_sip_username', 'your_sip_password',
|
|
|
127
127
|
await voipClient.login(config);
|
|
128
128
|
```
|
|
129
129
|
|
|
130
|
-
|
|
130
|
+
### 2. Token-Based Authentication
|
|
131
131
|
|
|
132
132
|
```tsx
|
|
133
133
|
import { createTokenConfig } from '@telnyx/react-voice-commons-sdk';
|
|
@@ -140,11 +140,11 @@ const config = createTokenConfig('your_jwt_token', {
|
|
|
140
140
|
await voipClient.loginWithToken(config);
|
|
141
141
|
```
|
|
142
142
|
|
|
143
|
-
|
|
143
|
+
### Automatic Storage & Reconnection
|
|
144
144
|
|
|
145
145
|
The library automatically stores authentication data securely for seamless reconnection. **You don't need to manually manage these storage keys** - the library handles everything internally.
|
|
146
146
|
|
|
147
|
-
|
|
147
|
+
### Internal Storage (Managed Automatically)
|
|
148
148
|
|
|
149
149
|
The library uses these AsyncStorage keys internally:
|
|
150
150
|
|
|
@@ -155,7 +155,7 @@ The library uses these AsyncStorage keys internally:
|
|
|
155
155
|
|
|
156
156
|
**Note**: These are managed automatically by the library. You only need to call `login()` once, and the library will handle storage and future reconnections.
|
|
157
157
|
|
|
158
|
-
|
|
158
|
+
### Auto-Reconnection
|
|
159
159
|
|
|
160
160
|
```tsx
|
|
161
161
|
// Automatically reconnects using internally stored credentials or token
|
|
@@ -176,7 +176,7 @@ if (!success) {
|
|
|
176
176
|
|
|
177
177
|
**Demo App Note**: When using the library in a demo application, the `TelnyxLoginForm` component may do additional storage for UI convenience (pre-filling login forms). This is separate from the library's internal authentication storage and is not required for production apps.
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
### Manual Storage Management (Advanced Use Only)
|
|
180
180
|
|
|
181
181
|
If you need to clear stored authentication data manually:
|
|
182
182
|
|
|
@@ -198,9 +198,9 @@ await AsyncStorage.multiRemove([
|
|
|
198
198
|
|
|
199
199
|
The library provides complete native integration for both platforms. These integrations are required for production apps using the library.
|
|
200
200
|
|
|
201
|
-
|
|
201
|
+
### Android Integration
|
|
202
202
|
|
|
203
|
-
|
|
203
|
+
### 1. MainActivity Setup
|
|
204
204
|
|
|
205
205
|
Your app's MainActivity should extend `TelnyxMainActivity` for automatic push notification handling:
|
|
206
206
|
|
|
@@ -225,7 +225,7 @@ The `TelnyxMainActivity` provides:
|
|
|
225
225
|
- Proper lifecycle management for VoIP functionality
|
|
226
226
|
- Integration with `VoicePnManager` for push notification state
|
|
227
227
|
|
|
228
|
-
|
|
228
|
+
### 2. Push Notification Setup
|
|
229
229
|
|
|
230
230
|
1. Place `google-services.json` in the project root
|
|
231
231
|
2. Register background message handler:
|
|
@@ -239,9 +239,9 @@ messaging().setBackgroundMessageHandler(async (remoteMessage) => {
|
|
|
239
239
|
});
|
|
240
240
|
```
|
|
241
241
|
|
|
242
|
-
|
|
242
|
+
### iOS Integration
|
|
243
243
|
|
|
244
|
-
|
|
244
|
+
### 1. AppDelegate Setup
|
|
245
245
|
|
|
246
246
|
Your AppDelegate only needs to implement `PKPushRegistryDelegate` for VoIP push notifications. CallKit integration is automatically handled by CallBridge:
|
|
247
247
|
|
|
@@ -277,13 +277,13 @@ public class AppDelegate: ExpoAppDelegate, PKPushRegistryDelegate {
|
|
|
277
277
|
|
|
278
278
|
**Note**: CallKit integration (CXProvider, CXProviderDelegate, audio session management) is automatically handled by the internal CallBridge component. You don't need to implement any CallKit delegate methods manually.
|
|
279
279
|
|
|
280
|
-
|
|
280
|
+
### 2. VoIP Push Certificate Setup
|
|
281
281
|
|
|
282
282
|
- Configure VoIP push certificates in your Apple Developer account
|
|
283
283
|
- The `TelnyxVoipPushHandler` automatically handles token registration and push processing
|
|
284
284
|
- CallKit integration is automatically managed by CallBridge - no manual setup required
|
|
285
285
|
|
|
286
|
-
|
|
286
|
+
### Key Native Features Integrated
|
|
287
287
|
|
|
288
288
|
1. **Push Notification Handling**: Both platforms handle background push notifications properly
|
|
289
289
|
2. **Native Call UI**: CallKit (iOS, managed by CallBridge) and ConnectionService (Android) integration
|
|
@@ -416,15 +416,15 @@ npx expo run:ios
|
|
|
416
416
|
|
|
417
417
|
### Common Integration Issues
|
|
418
418
|
|
|
419
|
-
|
|
419
|
+
### Double Login
|
|
420
420
|
|
|
421
421
|
Ensure you're not calling login methods manually when using `TelnyxVoiceApp` with auto-reconnection enabled.
|
|
422
422
|
|
|
423
|
-
|
|
423
|
+
### Background Disconnection
|
|
424
424
|
|
|
425
425
|
Check if `enableAutoReconnect` is set appropriately for your use case in the `TelnyxVoiceApp` configuration.
|
|
426
426
|
|
|
427
|
-
|
|
427
|
+
### Push Notifications Not Working
|
|
428
428
|
|
|
429
429
|
- **Android**:
|
|
430
430
|
- Verify `google-services.json` is in the correct location and Firebase is properly configured
|
|
@@ -436,19 +436,19 @@ Check if `enableAutoReconnect` is set appropriately for your use case in the `Te
|
|
|
436
436
|
- Check that `TelnyxVoipPushHandler.initializeVoipRegistration()` is called in `didFinishLaunchingWithOptions`
|
|
437
437
|
- **Both**: Check that background message handlers are properly registered
|
|
438
438
|
|
|
439
|
-
|
|
439
|
+
### Native Integration Issues
|
|
440
440
|
|
|
441
441
|
- **Android**: Ensure MainActivity extends `TelnyxMainActivity` for proper intent handling
|
|
442
442
|
- **iOS**: Verify AppDelegate implements `PKPushRegistryDelegate` and delegates to `TelnyxVoipPushHandler`
|
|
443
443
|
- **CallKit**: On iOS, CallKit integration is automatically handled by CallBridge - no manual setup required
|
|
444
444
|
|
|
445
|
-
|
|
445
|
+
### Audio Issues
|
|
446
446
|
|
|
447
447
|
- **iOS**: Audio session management is automatically handled by CallBridge
|
|
448
448
|
- **Android**: Verify ConnectionService is properly configured for audio routing
|
|
449
449
|
- **Both**: Ensure proper audio permissions are granted
|
|
450
450
|
|
|
451
|
-
|
|
451
|
+
### Memory Leaks
|
|
452
452
|
|
|
453
453
|
Ensure you're unsubscribing from RxJS observables in your React components:
|
|
454
454
|
|
package/ios/CallKitBridge.m
CHANGED
|
@@ -28,7 +28,7 @@ RCT_EXTERN_METHOD(reportCallConnected:(NSString *)callUUID
|
|
|
28
28
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
29
29
|
|
|
30
30
|
RCT_EXTERN_METHOD(reportCallEnded:(NSString *)callUUID
|
|
31
|
-
reason:(NSNumber *)reason
|
|
31
|
+
reason:(nonnull NSNumber *)reason
|
|
32
32
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
33
33
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
34
34
|
|
package/ios/CallKitBridge.swift
CHANGED
|
@@ -358,15 +358,7 @@ import React
|
|
|
358
358
|
)
|
|
359
359
|
}
|
|
360
360
|
|
|
361
|
-
|
|
362
|
-
let audioSession = AVAudioSession.sharedInstance()
|
|
363
|
-
do {
|
|
364
|
-
try audioSession.setCategory(.playAndRecord, mode: .voiceChat)
|
|
365
|
-
NSLog("Succeeded to activate audio session")
|
|
366
|
-
} catch {
|
|
367
|
-
NSLog("Failed to activate audio session: \(error)")
|
|
368
|
-
}
|
|
369
|
-
}
|
|
361
|
+
|
|
370
362
|
|
|
371
363
|
private func observeAppDelegate() {
|
|
372
364
|
// Automatically hook into app lifecycle if needed
|
|
@@ -760,8 +752,6 @@ import React
|
|
|
760
752
|
|
|
761
753
|
NSLog("[TelnyxVoipPushHandler] ✅ CallKit provider ready, reporting incoming call")
|
|
762
754
|
|
|
763
|
-
// Configure audio session before reporting the call
|
|
764
|
-
//callKitManager.configureAudioSession()
|
|
765
755
|
|
|
766
756
|
// Store call data manually and report to CallKit
|
|
767
757
|
let isAppRunning = CallKitBridge.shared != nil
|
package/ios/README.md
CHANGED
|
@@ -32,7 +32,7 @@ Add the following to your iOS app's `Info.plist`:
|
|
|
32
32
|
|
|
33
33
|
### 2. AppDelegate Integration
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
### Option A: Easy Integration (Recommended)
|
|
36
36
|
|
|
37
37
|
Import and use the `TelnyxVoiceAppDelegate` protocol:
|
|
38
38
|
|
|
@@ -77,7 +77,7 @@ extension AppDelegate: PKPushRegistryDelegate {}
|
|
|
77
77
|
extension AppDelegate: CXProviderDelegate {}
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
|
|
80
|
+
### Option B: Manual Integration
|
|
81
81
|
|
|
82
82
|
If you prefer to implement the delegates manually:
|
|
83
83
|
|
|
@@ -320,6 +320,12 @@ class CallKitCoordinator {
|
|
|
320
320
|
console.log('CallKitCoordinator: End action already being processed, skipping duplicate');
|
|
321
321
|
return;
|
|
322
322
|
}
|
|
323
|
+
if (this.endedCalls.has(callKitUUID)) {
|
|
324
|
+
console.log('CallKitCoordinator: Call already ended, skipping duplicate end action');
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
// Mark as ended immediately to prevent any duplicate processing
|
|
328
|
+
this.endedCalls.add(callKitUUID);
|
|
323
329
|
const call = this.callMap.get(callKitUUID);
|
|
324
330
|
if (!call) {
|
|
325
331
|
console.warn('CallKitCoordinator: No WebRTC call found for CallKit end action', {
|
|
@@ -598,9 +604,7 @@ class CallKitCoordinator {
|
|
|
598
604
|
* Clean up call mappings and listeners
|
|
599
605
|
*/
|
|
600
606
|
cleanupCall(callKitUUID) {
|
|
601
|
-
// Remove from all tracking sets
|
|
602
607
|
this.processingCalls.delete(callKitUUID);
|
|
603
|
-
this.endedCalls.delete(callKitUUID);
|
|
604
608
|
this.connectedCalls.delete(callKitUUID);
|
|
605
609
|
// Get the call before removing it
|
|
606
610
|
const call = this.callMap.get(callKitUUID);
|
|
@@ -31,6 +31,15 @@ export declare class CallStateController {
|
|
|
31
31
|
* Current active call (synchronous access)
|
|
32
32
|
*/
|
|
33
33
|
get currentActiveCall(): Call | null;
|
|
34
|
+
/**
|
|
35
|
+
* Access any active call tracked by the client.
|
|
36
|
+
* A call will be accessible until it has ended (transitioned to the ENDED state).
|
|
37
|
+
* This matches the TelnyxRTC `getCall(callId)` method for multi-call support.
|
|
38
|
+
*
|
|
39
|
+
* @param callId The unique identifier of a call.
|
|
40
|
+
* @returns The Call object that matches the requested callId, or null if not found.
|
|
41
|
+
*/
|
|
42
|
+
getCall(callId: string): Call | null;
|
|
34
43
|
/**
|
|
35
44
|
* Set a call to connecting state (used for push notification calls when answered via CallKit)
|
|
36
45
|
* @param callId The ID of the call to set to connecting state
|
|
@@ -18,7 +18,7 @@ class CallStateController {
|
|
|
18
18
|
this._calls = new rxjs_1.BehaviorSubject([]);
|
|
19
19
|
this._callMap = new Map();
|
|
20
20
|
this._disposed = false;
|
|
21
|
-
console.log('
|
|
21
|
+
console.log('CallStateController: Constructor called - instance created');
|
|
22
22
|
// Don't set up client listeners here - client doesn't exist yet
|
|
23
23
|
// Will be called when client is available
|
|
24
24
|
}
|
|
@@ -69,6 +69,17 @@ class CallStateController {
|
|
|
69
69
|
) || null
|
|
70
70
|
);
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Access any active call tracked by the client.
|
|
74
|
+
* A call will be accessible until it has ended (transitioned to the ENDED state).
|
|
75
|
+
* This matches the TelnyxRTC `getCall(callId)` method for multi-call support.
|
|
76
|
+
*
|
|
77
|
+
* @param callId The unique identifier of a call.
|
|
78
|
+
* @returns The Call object that matches the requested callId, or null if not found.
|
|
79
|
+
*/
|
|
80
|
+
getCall(callId) {
|
|
81
|
+
return this._callMap.get(callId) || null;
|
|
82
|
+
}
|
|
72
83
|
/**
|
|
73
84
|
* Set a call to connecting state (used for push notification calls when answered via CallKit)
|
|
74
85
|
* @param callId The ID of the call to set to connecting state
|
|
@@ -99,14 +110,11 @@ class CallStateController {
|
|
|
99
110
|
* This should be called by the session manager after client creation
|
|
100
111
|
*/
|
|
101
112
|
initializeClientListeners() {
|
|
102
|
-
console.log('
|
|
103
|
-
console.log(
|
|
104
|
-
'🔧 CallStateController: Current client exists:',
|
|
105
|
-
!!this._sessionManager.telnyxClient
|
|
106
|
-
);
|
|
113
|
+
console.log('CallStateController: initializeClientListeners called');
|
|
114
|
+
console.log('CallStateController: Current client exists:', !!this._sessionManager.telnyxClient);
|
|
107
115
|
this._setupClientListeners();
|
|
108
116
|
// CallKit integration now handled by CallKitCoordinator
|
|
109
|
-
console.log('
|
|
117
|
+
console.log('CallStateController: Using CallKitCoordinator for CallKit integration');
|
|
110
118
|
}
|
|
111
119
|
/**
|
|
112
120
|
* Initiate a new outgoing call
|
|
@@ -170,24 +178,24 @@ class CallStateController {
|
|
|
170
178
|
* Set up event listeners for the Telnyx client
|
|
171
179
|
*/
|
|
172
180
|
_setupClientListeners() {
|
|
173
|
-
console.log('
|
|
181
|
+
console.log('CallStateController: Setting up client listeners...');
|
|
174
182
|
if (!this._sessionManager.telnyxClient) {
|
|
175
|
-
console.log('
|
|
183
|
+
console.log('CallStateController: No telnyxClient available yet, skipping listener setup');
|
|
176
184
|
return;
|
|
177
185
|
}
|
|
178
|
-
console.log('
|
|
186
|
+
console.log('CallStateController: TelnyxClient found, setting up incoming call listener');
|
|
179
187
|
console.log(
|
|
180
|
-
'
|
|
188
|
+
'CallStateController: Client instance:',
|
|
181
189
|
this._sessionManager.telnyxClient.constructor.name
|
|
182
190
|
);
|
|
183
191
|
// Listen for incoming calls
|
|
184
192
|
this._sessionManager.telnyxClient.on('telnyx.call.incoming', (telnyxCall, msg) => {
|
|
185
|
-
console.log('
|
|
193
|
+
console.log('CallStateController: Incoming call received:', telnyxCall.callId);
|
|
186
194
|
this._handleIncomingCall(telnyxCall, msg, false);
|
|
187
195
|
});
|
|
188
196
|
// Listen for reattached calls (after network reconnection)
|
|
189
197
|
this._sessionManager.telnyxClient.on('telnyx.call.reattached', (telnyxCall, msg) => {
|
|
190
|
-
console.log('
|
|
198
|
+
console.log('CallStateController: Reattached call received:', telnyxCall.callId);
|
|
191
199
|
this._handleIncomingCall(telnyxCall, msg, true);
|
|
192
200
|
});
|
|
193
201
|
// Verify listeners are set up
|
|
@@ -196,14 +204,33 @@ class CallStateController {
|
|
|
196
204
|
const reattachedListeners =
|
|
197
205
|
this._sessionManager.telnyxClient.listenerCount('telnyx.call.reattached');
|
|
198
206
|
console.log(
|
|
199
|
-
'
|
|
207
|
+
'CallStateController: Listeners registered - incoming:',
|
|
200
208
|
incomingListeners,
|
|
201
209
|
'reattached:',
|
|
202
210
|
reattachedListeners
|
|
203
211
|
);
|
|
204
|
-
// Listen for
|
|
205
|
-
|
|
206
|
-
|
|
212
|
+
// Listen for call state changes from the TelnyxRTC client (multi-call support)
|
|
213
|
+
this._sessionManager.telnyxClient.on('telnyx.call.stateChanged', (telnyxCall, state) => {
|
|
214
|
+
console.log(
|
|
215
|
+
'CallStateController: Call state changed from TelnyxRTC:',
|
|
216
|
+
telnyxCall.callId,
|
|
217
|
+
state
|
|
218
|
+
);
|
|
219
|
+
// Find our wrapper call and update if needed
|
|
220
|
+
const call = this.findCallByTelnyxCall(telnyxCall);
|
|
221
|
+
if (call) {
|
|
222
|
+
console.log(
|
|
223
|
+
'CallStateController: Found wrapper call, state sync handled by Call subscription'
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
// Listen for call removal events from TelnyxRTC (multi-call support)
|
|
228
|
+
this._sessionManager.telnyxClient.on('telnyx.call.removed', (callId) => {
|
|
229
|
+
console.log('CallStateController: Call removed from TelnyxRTC:', callId);
|
|
230
|
+
// The call cleanup is already handled by our call state subscription
|
|
231
|
+
// This event is informational for logging/debugging
|
|
232
|
+
});
|
|
233
|
+
console.log('CallStateController: Client listeners set up successfully');
|
|
207
234
|
}
|
|
208
235
|
/**
|
|
209
236
|
* Handle incoming call or reattached call
|
|
@@ -211,20 +238,20 @@ class CallStateController {
|
|
|
211
238
|
_handleIncomingCall(telnyxCall, inviteMsg, isReattached = false) {
|
|
212
239
|
const callId = telnyxCall.callId || this._generateCallId();
|
|
213
240
|
console.log(
|
|
214
|
-
'
|
|
241
|
+
'CallStateController: Handling incoming call:',
|
|
215
242
|
callId,
|
|
216
243
|
'isReattached:',
|
|
217
244
|
isReattached
|
|
218
245
|
);
|
|
219
|
-
console.log('
|
|
220
|
-
console.log('
|
|
246
|
+
console.log('CallStateController: TelnyxCall object:', telnyxCall);
|
|
247
|
+
console.log('CallStateController: Invite message:', inviteMsg);
|
|
221
248
|
// For reattached calls, remove existing call and create new one
|
|
222
249
|
if (isReattached && this._callMap.has(callId)) {
|
|
223
|
-
console.log('
|
|
250
|
+
console.log('CallStateController: Removing existing call for reattachment');
|
|
224
251
|
const existingCall = this._callMap.get(callId);
|
|
225
252
|
if (existingCall) {
|
|
226
253
|
console.log(
|
|
227
|
-
'
|
|
254
|
+
'CallStateController: Existing call state before removal:',
|
|
228
255
|
existingCall.currentState
|
|
229
256
|
);
|
|
230
257
|
this._removeCall(callId);
|
|
@@ -242,7 +269,7 @@ class CallStateController {
|
|
|
242
269
|
callerNumber = inviteMsg.params.caller_id_number || '';
|
|
243
270
|
callerName = inviteMsg.params.caller_id_name || '';
|
|
244
271
|
console.log(
|
|
245
|
-
'
|
|
272
|
+
'CallStateController: Extracted caller info from invite - Number:',
|
|
246
273
|
callerNumber,
|
|
247
274
|
'Name:',
|
|
248
275
|
callerName
|
|
@@ -252,7 +279,7 @@ class CallStateController {
|
|
|
252
279
|
callerNumber = telnyxCall.remoteCallerIdNumber || '';
|
|
253
280
|
callerName = telnyxCall.remoteCallerIdName || '';
|
|
254
281
|
console.log(
|
|
255
|
-
'
|
|
282
|
+
'CallStateController: Extracted caller info from TelnyxCall - Number:',
|
|
256
283
|
callerNumber,
|
|
257
284
|
'Name:',
|
|
258
285
|
callerName
|