diff --git a/Android.bp b/Android.bp
index c5141ca..501b438 100644
--- a/Android.bp
+++ b/Android.bp
@@ -27,6 +27,7 @@
     ],
     static_libs: [
         "androidx.annotation_annotation",
+        "androidx.core_core",
     ],
     libs: [
         "services",
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index d42dcff..ab067d9 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -63,6 +63,8 @@
     <uses-permission android:name="android.permission.WRITE_BLOCKED_NUMBERS"/>
     <uses-permission android:name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
     <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
+    <uses-permission android:name="android.permission.USE_COLORIZED_NOTIFICATIONS"/>
+    <uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
     <uses-permission android:name="com.android.phone.permission.ACCESS_LAST_KNOWN_CELL_ID"/>
     <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
 
diff --git a/res/drawable/gm_phonelink.xml b/res/drawable/gm_phonelink.xml
new file mode 100644
index 0000000..2ffba0e
--- /dev/null
+++ b/res/drawable/gm_phonelink.xml
@@ -0,0 +1,11 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="20dp"
+    android:height="20dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorControlNormal"
+    android:autoMirrored="true">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M5,6h16L21,4L5,4c-1.1,0 -2,0.9 -2,2v11L1,17v3h11v-3L5,17L5,6zM21,8h-6c-0.55,0 -1,0.45 -1,1v10c0,0.55 0.45,1 1,1h6c0.55,0 1,-0.45 1,-1L22,9c0,-0.55 -0.45,-1 -1,-1zM20,17h-4v-7h4v7z"/>
+</vector>
diff --git a/res/drawable/person_circle.xml b/res/drawable/person_circle.xml
new file mode 100644
index 0000000..e139b4f
--- /dev/null
+++ b/res/drawable/person_circle.xml
@@ -0,0 +1,13 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="48dp"
+    android:height="48dp"
+    android:viewportWidth="48"
+    android:viewportHeight="48">
+  <path
+      android:pathData="M21.094,0.92C22.839,-0.307 25.161,-0.307 26.906,0.92C28.031,1.71 29.428,2.009 30.777,1.746C32.868,1.339 34.989,2.287 36.086,4.12C36.794,5.302 37.95,6.145 39.288,6.456C41.363,6.938 42.917,8.671 43.177,10.794C43.345,12.163 44.059,13.406 45.156,14.236C46.856,15.524 47.574,17.742 46.952,19.788C46.551,21.107 46.7,22.534 47.365,23.741C48.397,25.612 48.154,27.931 46.758,29.546C45.857,30.587 45.416,31.951 45.535,33.326C45.72,35.457 44.559,37.476 42.629,38.381C41.384,38.965 40.429,40.03 39.981,41.335C39.287,43.357 37.408,44.727 35.279,44.766C33.906,44.79 32.601,45.374 31.664,46.382C30.211,47.946 27.939,48.431 25.979,47.596C24.714,47.057 23.286,47.057 22.021,47.596C20.061,48.431 17.789,47.946 16.336,46.382C15.399,45.374 14.094,44.79 12.721,44.766C10.592,44.727 8.713,43.357 8.019,41.335C7.571,40.03 6.616,38.965 5.371,38.381C3.441,37.476 2.28,35.457 2.465,33.326C2.584,31.951 2.143,30.587 1.242,29.546C-0.154,27.931 -0.397,25.612 0.635,23.741C1.3,22.534 1.449,21.107 1.048,19.788C0.427,17.742 1.144,15.524 2.844,14.236C3.941,13.406 4.655,12.163 4.823,10.794C5.083,8.671 6.637,6.938 8.712,6.456C10.05,6.145 11.206,5.302 11.914,4.12C13.011,2.287 15.132,1.339 17.223,1.746C18.572,2.009 19.969,1.71 21.094,0.92Z"
+      android:fillColor="#000000"/>
+  <path
+      android:pathData="M24.001,15.467C21.644,15.467 19.734,17.376 19.734,19.733C19.734,22.091 21.644,24 24.001,24C26.358,24 28.268,22.091 28.268,19.733C28.268,17.376 26.358,15.467 24.001,15.467ZM26.134,19.734C26.134,18.56 25.174,17.601 24,17.601C22.827,17.601 21.867,18.56 21.867,19.734C21.867,20.907 22.827,21.867 24,21.867C25.174,21.867 26.134,20.907 26.134,19.734ZM30.402,29.333C30.188,28.576 26.882,27.2 24.002,27.2C21.122,27.2 17.815,28.576 17.602,29.344V30.4H30.402V29.333ZM15.469,29.333C15.469,26.496 21.154,25.066 24.002,25.066C26.85,25.066 32.535,26.496 32.535,29.333V32.533H15.469V29.333Z"
+      android:fillColor="#ffffff"
+      android:fillType="evenOdd"/>
+</vector>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 79f29bf..fc36464 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -90,7 +90,7 @@
     <string name="answering_ends_other_managed_video_call" msgid="1988508241432031327">"መመለስ እየተካሄደ ያለ የቪዲዮ ጥሪዎን ይጨርሳል"</string>
     <string name="answer_incoming_call" msgid="2045888814782215326">"ይመልሱ"</string>
     <string name="decline_incoming_call" msgid="922147089348451310">"አትቀበል"</string>
-    <string name="cant_call_due_to_no_supported_service" msgid="1635626384149947077">"የዚህን ዓይነት ጥሪዎች የሚደግፉ መደወያ መለያዎች ስለሌሉ ጥሪ መደረግ አይችልም።"</string>
+    <string name="cant_call_due_to_no_supported_service" msgid="1635626384149947077">"የዚህን አይነት ጥሪዎች የሚደግፉ መደወያ መለያዎች ስለሌሉ ጥሪ መደረግ አይችልም።"</string>
     <string name="cant_call_due_to_ongoing_call" msgid="8004235328451385493">"በ<xliff:g id="OTHER_CALL">%1$s</xliff:g> ጥሪዎ ምክንያት ጥሪ መደረግ አይችልም።"</string>
     <string name="cant_call_due_to_ongoing_calls" msgid="6379163795277824868">"በ<xliff:g id="OTHER_CALL">%1$s</xliff:g> ጥሪዎችዎ ምክንያት ጥሪዎች መደረግ አይችሉም።"</string>
     <string name="cant_call_due_to_ongoing_unknown_call" msgid="8243532328969433172">"በሌላ መተግበሪያ ውስጥ ባለ ጥሪ ምክንያት ጥሪ መደረግ አይችልም።"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 75d3416..9226599 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -108,7 +108,7 @@
     <string name="phone_settings_call_blocking_txt" msgid="7311523114822507178">"কল অৱৰোধ"</string>
     <string name="phone_settings_number_not_in_contact_txt" msgid="2602249106007265757">"আপোনাৰ সর্ম্পকসূচীত নথকা"</string>
     <string name="phone_settings_number_not_in_contact_summary_txt" msgid="963327038085718969">"আপোনাৰ সর্ম্পকসূচীত নথকা নম্বৰ অৱৰোধ কৰক"</string>
-    <string name="phone_settings_private_num_txt" msgid="6339272760338475619">"ব্যক্তিগত"</string>
+    <string name="phone_settings_private_num_txt" msgid="6339272760338475619">"ব্য়ক্তিগত"</string>
     <string name="phone_settings_private_num_summary_txt" msgid="6755758240544021037">"যিসকল কল কৰোঁতাই তেওঁলোকৰ নম্বৰ প্ৰকাশ নকৰে তেওঁলোকক অৱৰোধ কৰক"</string>
     <string name="phone_settings_payphone_txt" msgid="5003987966052543965">"পে\'ফ\'ন"</string>
     <string name="phone_settings_payphone_summary_txt" msgid="3936631076065563665">"পে\'ফ\'নৰ পৰা অহা কল অৱৰোধ কৰক"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 883ce52..4af6351 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -25,7 +25,7 @@
     <string name="notification_missedCallsMsg" msgid="5055782736170916682">"<xliff:g id="NUM_MISSED_CALLS">%s</xliff:g> ચૂકી ગયેલા કૉલ"</string>
     <string name="notification_missedCallTicker" msgid="6731461957487087769">"<xliff:g id="MISSED_CALL_FROM">%s</xliff:g> નો કૉલ ચૂકી ગયાં"</string>
     <string name="notification_missedCall_call_back" msgid="7900333283939789732">"કૉલ બેક"</string>
-    <string name="notification_missedCall_message" msgid="4054698824390076431">"મેસેજ"</string>
+    <string name="notification_missedCall_message" msgid="4054698824390076431">"સંદેશ"</string>
     <string name="notification_disconnectedCall_title" msgid="1790131923692416928">"ડિસ્કનેક્ટ કરેલો કૉલ"</string>
     <string name="notification_disconnectedCall_body" msgid="600491714584417536">"ઇમર્જન્સી કૉલને કારણે <xliff:g id="CALLER">%s</xliff:g>નો કૉલ ડિસ્કનેક્ટ કરવામાં આવ્યો છે."</string>
     <string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"ઇમર્જન્સી કૉલને કારણે તમારો કૉલ ડિસ્કનેક્ટ કરવામાં આવ્યો છે."</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 29fdc4a..7c07654 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -75,10 +75,10 @@
     <string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"Тыйым уақытша алынды"</string>
     <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"Төтенше жағдай нөмірін терген немесе мәтіндік хабар жіберген соң, төтенше жағдай қызметтері сізге хабарласа алуы үшін тыйым алынады."</string>
     <string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"Қазір қайта қосу"</string>
-    <string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> блокталған"</string>
+    <string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> бөгелген"</string>
     <string name="blocked_numbers_number_unblocked_message" msgid="2933071624674945601">"<xliff:g id="UNBLOCKED_NUMBER">%1$s</xliff:g> бөгеуден шығарылды"</string>
     <string name="blocked_numbers_block_emergency_number_message" msgid="4198550501500893890">"Жедел қызмет нөмірін бөгеу мүмкін емес."</string>
-    <string name="blocked_numbers_number_already_blocked_message" msgid="2301270825735665458">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> бұрыннан блокталған."</string>
+    <string name="blocked_numbers_number_already_blocked_message" msgid="2301270825735665458">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> бұрыннан бөгелген."</string>
     <string name="toast_personal_call_msg" msgid="5817631570381795610">"Қоңырау шалу үшін жеке нөмір тергішті пайдалану"</string>
     <string name="notification_incoming_call" msgid="1233481138362230894">"<xliff:g id="CALL_VIA">%1$s</xliff:g> қоңырауы: <xliff:g id="CALL_FROM">%2$s</xliff:g>"</string>
     <string name="notification_incoming_video_call" msgid="5795968314037063900">"<xliff:g id="CALL_VIA">%1$s</xliff:g> бейне қоңырауы: <xliff:g id="CALL_FROM">%2$s</xliff:g>"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 68d8078..8109de2 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -53,7 +53,7 @@
     <string name="no_vm_number" msgid="2179959110602180844">"ಧ್ವನಿಮೇಲ್‌ ಸಂಖ್ಯೆಯು ಕಾಣೆಯಾಗಿದೆ"</string>
     <string name="no_vm_number_msg" msgid="1339245731058529388">"ಸಿಮ್‌ ಕಾರ್ಡ್‌ನಲ್ಲಿ ಯಾವುದೇ ಧ್ವನಿಮೇಲ್‌ ಸಂಖ್ಯೆಯನ್ನು ಸಂಗ್ರಹಿಸಿಲ್ಲ."</string>
     <string name="add_vm_number_str" msgid="5179510133063168998">"ಸಂಖ್ಯೆಯನ್ನು ಸೇರಿಸಿ"</string>
-    <string name="change_default_dialer_dialog_title" msgid="5861469279421508060">"<xliff:g id="NEW_APP">%s</xliff:g> ಅನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಫೋನ್ ಆ್ಯಪ್ ಆಗಿ ಮಾಡಬೇಕೆ?"</string>
+    <string name="change_default_dialer_dialog_title" msgid="5861469279421508060">"<xliff:g id="NEW_APP">%s</xliff:g> ಅನ್ನು ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಫೋನ್ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿ ಮಾಡುವುದೇ?"</string>
     <string name="change_default_dialer_dialog_affirmative" msgid="8604665314757739550">"ಡಿಫಾಲ್ಟ್ ಹೊಂದಿಸಿ"</string>
     <string name="change_default_dialer_dialog_negative" msgid="8648669840052697821">"ರದ್ದುಮಾಡಿ"</string>
     <string name="change_default_dialer_warning_message" msgid="8461963987376916114">"<xliff:g id="NEW_APP">%s</xliff:g> ಗೆ ನಿಮ್ಮ ಕರೆಗಳ ಎಲ್ಲಾ ಅಂಶಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಮತ್ತು ಕರೆಗಳನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ. ನೀವು ವಿಶ್ವಾಸವಿರಿಸಿರುವಂತಹ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಮಾತ್ರ ನಿಮ್ಮ ಡಿಫಾಲ್ಟ್ ಅಪ್ಲಿಕೇಶನ್ ಆಗಿ ಹೊಂದಿಸಬೇಕು."</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 689828e..afd8d0a 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -27,8 +27,8 @@
     <string name="notification_missedCall_call_back" msgid="7900333283939789732">"واپس کال کریں"</string>
     <string name="notification_missedCall_message" msgid="4054698824390076431">"پیغام"</string>
     <string name="notification_disconnectedCall_title" msgid="1790131923692416928">"کال غیر منسلک کر دیا گیا"</string>
-    <string name="notification_disconnectedCall_body" msgid="600491714584417536">"ایمرجنسی کال کی وجہ سے <xliff:g id="CALLER">%s</xliff:g> کی کال کو غیر منسلک کر دیا گیا ہے۔"</string>
-    <string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"ایمرجنسی کال لگائے جانے کی وجہ سے آپ کی کال غیر منسلک ہوگئی ہے۔"</string>
+    <string name="notification_disconnectedCall_body" msgid="600491714584417536">"ہنگامی کال کی وجہ سے <xliff:g id="CALLER">%s</xliff:g> کی کال کو غیر منسلک کر دیا گیا ہے۔"</string>
+    <string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"ہنگامی کال لگائے جانے کی وجہ سے آپ کی کال غیر منسلک ہوگئی ہے۔"</string>
     <string name="notification_audioProcessing_title" msgid="1619035039880584575">"پس منظر کی کال"</string>
     <string name="notification_audioProcessing_body" msgid="8811420157964118913">"<xliff:g id="AUDIO_PROCESSING_APP_NAME">%s</xliff:g> پس منظر میں کال پر کارروائی کر رہی ہے۔ یہ ایپ کال کے دوران آواز تک رسائی حاصل اور چلا سکتی ہے۔"</string>
     <string name="notification_incallservice_not_responding_title" msgid="5347557574288598548">"<xliff:g id="IN_CALL_SERVICE_APP_NAME">%s</xliff:g> نے جواب دینا بند کر دیا"</string>
@@ -46,7 +46,7 @@
     <string name="respond_via_sms_confirmation_format" msgid="2932395476561267842">"پیغام <xliff:g id="PHONE_NUMBER">%s</xliff:g> کو بھیج دیا گیا۔"</string>
     <string name="respond_via_sms_failure_format" msgid="5198680980054596391">"<xliff:g id="PHONE_NUMBER">%s</xliff:g> پر پیغام نہیں بھیجا جا سکا۔"</string>
     <string name="enable_account_preference_title" msgid="6949224486748457976">"کالنگ اکاؤنٹس"</string>
-    <string name="outgoing_call_not_allowed_user_restriction" msgid="3424338207838851646">"صرف ایمرجنسی کالز کی اجازت ہے۔"</string>
+    <string name="outgoing_call_not_allowed_user_restriction" msgid="3424338207838851646">"صرف ہنگامی کالز کی اجازت ہے۔"</string>
     <string name="outgoing_call_not_allowed_no_permission" msgid="8590468836581488679">"یہ ایپلی کیشن فون کی اجازت کے بغیر باہر جانے والی کالیں نہیں کر سکتی۔"</string>
     <string name="outgoing_call_error_no_phone_number_supplied" msgid="7665135102566099778">"کال کرنے کیلئے، ایک درست نمبر درج کریں۔"</string>
     <string name="duplicate_video_call_not_allowed" msgid="5754746140185781159">"اس وقت کال شامل نہیں کی جا سکتی ہے۔"</string>
@@ -73,11 +73,11 @@
     <string name="non_primary_user" msgid="315564589279622098">"صرف آلہ کا مالک مسدود کردہ نمبرز کو دیکھ سکتا ہے اور ان کا نظم کر سکتا ہے۔"</string>
     <string name="delete_icon_description" msgid="5335959254954774373">"غیر مسدود کریں"</string>
     <string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"مسدود کرنا عارضی طور پر آف ہے"</string>
-    <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"جب آپ کوئی ایمرجنسی نمبر ڈائل کرتے یا اسے متن بھیجتے ہیں تو انسداد کو آ‌ف کر دیا جاتا ہے تاکہ ایمرجنسی سروسز آپ سے رابطہ کر سکیں۔"</string>
+    <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"جب آپ کوئی ایمرجنسی نمبر ڈائل کرتے یا اسے متن بھیجتے ہیں تو انسداد کو آ‌ف کر دیا جاتا ہے تاکہ ہنگامی سروسز آپ سے رابطہ کر سکیں۔"</string>
     <string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"اب دوبارہ فعال کریں"</string>
     <string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> مسدود کر دیا گیا"</string>
     <string name="blocked_numbers_number_unblocked_message" msgid="2933071624674945601">"<xliff:g id="UNBLOCKED_NUMBER">%1$s</xliff:g> غیر مسدود کر دیا گیا"</string>
-    <string name="blocked_numbers_block_emergency_number_message" msgid="4198550501500893890">"ایمرجنسی نمبر مسدود کرنے سے قاصر۔"</string>
+    <string name="blocked_numbers_block_emergency_number_message" msgid="4198550501500893890">"ہنگامی نمبر مسدود کرنے سے قاصر۔"</string>
     <string name="blocked_numbers_number_already_blocked_message" msgid="2301270825735665458">"<xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g> پہلے ہی مسدود ہے۔"</string>
     <string name="toast_personal_call_msg" msgid="5817631570381795610">"کال کرنے کیلئے ذاتی ڈائلر استعمال ہو رہا ہے"</string>
     <string name="notification_incoming_call" msgid="1233481138362230894">"<xliff:g id="CALL_FROM">%2$s</xliff:g> کی جانب سے <xliff:g id="CALL_VIA">%1$s</xliff:g> کال"</string>
@@ -118,10 +118,10 @@
     <string name="phone_settings_unavailable_summary_txt" msgid="8221686031038282633">"کالز کو مسدود کریں جہاں یہ نمبر دستیاب نہ ہو"</string>
     <string name="phone_strings_call_blocking_turned_off_notification_title_txt" msgid="2895809176537908791">"کال مسدود کرنا"</string>
     <string name="phone_strings_call_blocking_turned_off_notification_text_txt" msgid="1713632946174016619">"کال مسدود کرنا غیر فعال ہو گیا ہے"</string>
-    <string name="phone_strings_emergency_call_made_dialog_title_txt" msgid="6629412508584507377">"ایمرجنسی کال کی گئی"</string>
-    <string name="phone_strings_emergency_call_made_dialog_call_blocking_text_txt" msgid="3140411733995271126">"ایمرجنسی حالت میں جواب دہندگان کو آپ سے رابطہ کرنے کی اجازت دینے کیلئے کال مسدود کرنا غیر فعال ہو گیا ہے۔"</string>
+    <string name="phone_strings_emergency_call_made_dialog_title_txt" msgid="6629412508584507377">"ہنگامی کال کی گئی"</string>
+    <string name="phone_strings_emergency_call_made_dialog_call_blocking_text_txt" msgid="3140411733995271126">"ہنگامی حالت میں جواب دہندگان کو آپ سے رابطہ کرنے کی اجازت دینے کیلئے کال مسدود کرنا غیر فعال ہو گیا ہے۔"</string>
     <string name="developer_title" msgid="9146088855661672353">"ٹیلی کام ڈویلپر مینیو"</string>
-    <string name="toast_emergency_can_not_pull_call" msgid="9074229465338410869">"ایمرجنسی کال کے دوران کالز نہیں لی جائیں گی۔"</string>
+    <string name="toast_emergency_can_not_pull_call" msgid="9074229465338410869">"ہنگامی کال کے دوران کالز نہیں لی جائیں گی۔"</string>
     <string name="cancel" msgid="6733466216239934756">"منسوخ کریں"</string>
     <string name="back" msgid="6915955601805550206">"پیچھے"</string>
     <string name="callendpoint_name_earpiece" msgid="7047285080319678594">"ایئر پیس"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index b422c73..e7b1a07 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -28,11 +28,11 @@
     <string name="notification_missedCall_message" msgid="4054698824390076431">"短訊"</string>
     <string name="notification_disconnectedCall_title" msgid="1790131923692416928">"已中斷的通話"</string>
     <string name="notification_disconnectedCall_body" msgid="600491714584417536">"因撥打緊急電話緣故，與<xliff:g id="CALLER">%s</xliff:g>的通話已中斷。"</string>
-    <string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"因撥打緊急電話緣故，你的通話已中斷。"</string>
+    <string name="notification_disconnectedCall_generic_body" msgid="5282765206349184853">"因撥打緊急電話緣故，您的通話已中斷。"</string>
     <string name="notification_audioProcessing_title" msgid="1619035039880584575">"背景通話"</string>
     <string name="notification_audioProcessing_body" msgid="8811420157964118913">"「<xliff:g id="AUDIO_PROCESSING_APP_NAME">%s</xliff:g>」正在處理背景中的通話。這個應用程式或會存取通話，或是在通話中播放音訊。"</string>
     <string name="notification_incallservice_not_responding_title" msgid="5347557574288598548">"<xliff:g id="IN_CALL_SERVICE_APP_NAME">%s</xliff:g>已停止回應"</string>
-    <string name="notification_incallservice_not_responding_body" msgid="9209308270131968623">"你使用了裝置隨付的手機應用程式來通話"</string>
+    <string name="notification_incallservice_not_responding_body" msgid="9209308270131968623">"您使用了裝置隨付的手機應用程式來通話"</string>
     <string name="accessibility_call_muted" msgid="2968461092554300779">"通話已靜音。"</string>
     <string name="accessibility_speakerphone_enabled" msgid="555386652061614267">"擴音器已啟用"</string>
     <string name="respond_via_sms_canned_response_1" msgid="6332561460870382561">"我現在不方便通話，有什麼事呢？"</string>
@@ -56,14 +56,14 @@
     <string name="change_default_dialer_dialog_title" msgid="5861469279421508060">"要將<xliff:g id="NEW_APP">%s</xliff:g>設為預設電話應用程式嗎？"</string>
     <string name="change_default_dialer_dialog_affirmative" msgid="8604665314757739550">"設為預設"</string>
     <string name="change_default_dialer_dialog_negative" msgid="8648669840052697821">"取消"</string>
-    <string name="change_default_dialer_warning_message" msgid="8461963987376916114">"「<xliff:g id="NEW_APP">%s</xliff:g>」將可撥打電話並控制所有相關功能。只有你信任的應用程式，才應設為預設手機應用程式。"</string>
+    <string name="change_default_dialer_warning_message" msgid="8461963987376916114">"「<xliff:g id="NEW_APP">%s</xliff:g>」將可撥打電話並控制所有相關功能。只有您信任的應用程式，才應設為預設手機應用程式。"</string>
     <string name="change_default_call_screening_dialog_title" msgid="5365787219927262408">"要將「<xliff:g id="NEW_APP">%s</xliff:g>」設為預設來電過濾應用程式嗎？"</string>
     <string name="change_default_call_screening_warning_message_for_disable_old_app" msgid="2039830033533243164">"「<xliff:g id="OLD_APP">%s</xliff:g>」無法再篩選來電。"</string>
-    <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"「<xliff:g id="NEW_APP">%s</xliff:g>」將可查看通訊錄以外來電者的相關資訊，並封鎖這些來電。只有你信任的應用程式才適合設為預設來電過濾應用程式。"</string>
+    <string name="change_default_call_screening_warning_message" msgid="9020537562292754269">"「<xliff:g id="NEW_APP">%s</xliff:g>」將可查看通訊錄以外來電者的相關資訊，並封鎖這些來電。只有您信任的應用程式才適合設為預設來電過濾應用程式。"</string>
     <string name="change_default_call_screening_dialog_affirmative" msgid="7162433828280058647">"設為預設"</string>
     <string name="change_default_call_screening_dialog_negative" msgid="1839266125623106342">"取消"</string>
     <string name="blocked_numbers" msgid="8322134197039865180">"已封鎖的號碼"</string>
-    <string name="blocked_numbers_msg" msgid="2797422132329662697">"你不會收到已封鎖號碼的來電或短訊。"</string>
+    <string name="blocked_numbers_msg" msgid="2797422132329662697">"您不會收到已封鎖號碼的來電或短訊。"</string>
     <string name="block_number" msgid="3784343046852802722">"新增號碼"</string>
     <string name="unblock_dialog_body" msgid="2723393535797217261">"要解除封鎖 <xliff:g id="NUMBER_TO_BLOCK">%1$s</xliff:g> 嗎？"</string>
     <string name="unblock_button" msgid="8732021675729981781">"解除封鎖"</string>
@@ -73,7 +73,7 @@
     <string name="non_primary_user" msgid="315564589279622098">"只有裝置擁有者可查看和管理已封鎖的號碼。"</string>
     <string name="delete_icon_description" msgid="5335959254954774373">"解除封鎖"</string>
     <string name="blocked_numbers_butter_bar_title" msgid="582982373755950791">"暫時關閉封鎖功能"</string>
-    <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"在你撥打或發短訊至緊急號碼後，封鎖功能會停用，以確保緊急服務可與你聯絡。"</string>
+    <string name="blocked_numbers_butter_bar_body" msgid="1261213114919301485">"在您撥打或發短訊至緊急號碼後，封鎖功能會停用，以確保緊急服務可與您聯絡。"</string>
     <string name="blocked_numbers_butter_bar_button" msgid="2704456308072489793">"立即重新啟用"</string>
     <string name="blocked_numbers_number_blocked_message" msgid="4314736791180919167">"已封鎖 <xliff:g id="BLOCKED_NUMBER">%1$s</xliff:g>"</string>
     <string name="blocked_numbers_number_unblocked_message" msgid="2933071624674945601">"已解除對 <xliff:g id="UNBLOCKED_NUMBER">%1$s</xliff:g> 的封鎖"</string>
@@ -82,17 +82,17 @@
     <string name="toast_personal_call_msg" msgid="5817631570381795610">"使用個人撥號器撥打電話"</string>
     <string name="notification_incoming_call" msgid="1233481138362230894">"來自<xliff:g id="CALL_FROM">%2$s</xliff:g>的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話"</string>
     <string name="notification_incoming_video_call" msgid="5795968314037063900">"來自<xliff:g id="CALL_FROM">%2$s</xliff:g>的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 視像通話"</string>
-    <string name="answering_ends_other_call" msgid="8653544281903986641">"如果接聽，你的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話將會結束"</string>
-    <string name="answering_ends_other_calls" msgid="3702302838456922535">"如果接聽，你的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話將會結束"</string>
-    <string name="answering_ends_other_video_call" msgid="8572022039304239958">"如果接聽，你的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 視像通話將會結束"</string>
-    <string name="answering_ends_other_managed_call" msgid="4031778317409881805">"如果接聽，你進行中的通話將會結束"</string>
-    <string name="answering_ends_other_managed_calls" msgid="3974069768615307659">"如果接聽，你進行中的通話將會結束"</string>
-    <string name="answering_ends_other_managed_video_call" msgid="1988508241432031327">"如果接聽，你進行中的視像通話將會結束"</string>
+    <string name="answering_ends_other_call" msgid="8653544281903986641">"如果接聽，您的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話將會結束"</string>
+    <string name="answering_ends_other_calls" msgid="3702302838456922535">"如果接聽，您的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 通話將會結束"</string>
+    <string name="answering_ends_other_video_call" msgid="8572022039304239958">"如果接聽，您的 <xliff:g id="CALL_VIA">%1$s</xliff:g> 視像通話將會結束"</string>
+    <string name="answering_ends_other_managed_call" msgid="4031778317409881805">"如果接聽，您進行中的通話將會結束"</string>
+    <string name="answering_ends_other_managed_calls" msgid="3974069768615307659">"如果接聽，您進行中的通話將會結束"</string>
+    <string name="answering_ends_other_managed_video_call" msgid="1988508241432031327">"如果接聽，您進行中的視像通話將會結束"</string>
     <string name="answer_incoming_call" msgid="2045888814782215326">"接聽"</string>
     <string name="decline_incoming_call" msgid="922147089348451310">"拒絕"</string>
     <string name="cant_call_due_to_no_supported_service" msgid="1635626384149947077">"沒有通話帳戶支援這類通話，因此無法撥打電話。"</string>
-    <string name="cant_call_due_to_ongoing_call" msgid="8004235328451385493">"由於你已在進行 <xliff:g id="OTHER_CALL">%1$s</xliff:g> 通話，因此無法撥打電話。"</string>
-    <string name="cant_call_due_to_ongoing_calls" msgid="6379163795277824868">"由於你已在進行 <xliff:g id="OTHER_CALL">%1$s</xliff:g> 通話，因此無法撥打電話。"</string>
+    <string name="cant_call_due_to_ongoing_call" msgid="8004235328451385493">"由於您已在進行 <xliff:g id="OTHER_CALL">%1$s</xliff:g> 通話，因此無法撥打電話。"</string>
+    <string name="cant_call_due_to_ongoing_calls" msgid="6379163795277824868">"由於您已在進行 <xliff:g id="OTHER_CALL">%1$s</xliff:g> 通話，因此無法撥打電話。"</string>
     <string name="cant_call_due_to_ongoing_unknown_call" msgid="8243532328969433172">"由於已在另一個應用程式中進行通話，因此無法撥打電話。"</string>
     <string name="notification_channel_incoming_call" msgid="5245550964701715662">"來電"</string>
     <string name="notification_channel_missed_call" msgid="7168893015283909012">"未接來電"</string>
@@ -100,11 +100,11 @@
     <string name="notification_channel_background_calls" msgid="7785659903711350506">"背景通話"</string>
     <string name="notification_channel_disconnected_calls" msgid="8228636543997645757">"已中斷的通話"</string>
     <string name="notification_channel_in_call_service_crash" msgid="7313237519166984267">"當機的手機應用程式"</string>
-    <string name="alert_outgoing_call" msgid="5319895109298927431">"如果撥打此電話，你的 <xliff:g id="OTHER_APP">%1$s</xliff:g> 通話將會結束。"</string>
+    <string name="alert_outgoing_call" msgid="5319895109298927431">"如果撥打此電話，您的 <xliff:g id="OTHER_APP">%1$s</xliff:g> 通話將會結束。"</string>
     <string name="alert_redirect_outgoing_call_or_not" msgid="665409645789521636">"選擇如何撥打此電話"</string>
     <string name="alert_place_outgoing_call_with_redirection" msgid="5221065030959024121">"使用「<xliff:g id="OTHER_APP">%1$s</xliff:g>」將通話重新導向"</string>
     <string name="alert_place_unredirect_outgoing_call" msgid="2467608535225764006">"使用我的電話號碼撥打"</string>
-    <string name="alert_redirect_outgoing_call_timeout" msgid="5568101425637373060">"<xliff:g id="OTHER_APP">%1$s</xliff:g>無法撥打電話。建議你使用其他通話重新導向應用程式，或向開發人員求助。"</string>
+    <string name="alert_redirect_outgoing_call_timeout" msgid="5568101425637373060">"<xliff:g id="OTHER_APP">%1$s</xliff:g>無法撥打電話。建議您使用其他通話重新導向應用程式，或向開發人員求助。"</string>
     <string name="phone_settings_call_blocking_txt" msgid="7311523114822507178">"來電封鎖"</string>
     <string name="phone_settings_number_not_in_contact_txt" msgid="2602249106007265757">"不在通訊錄中的號碼"</string>
     <string name="phone_settings_number_not_in_contact_summary_txt" msgid="963327038085718969">"封鎖不在通訊錄中的號碼"</string>
@@ -119,7 +119,7 @@
     <string name="phone_strings_call_blocking_turned_off_notification_title_txt" msgid="2895809176537908791">"來電封鎖"</string>
     <string name="phone_strings_call_blocking_turned_off_notification_text_txt" msgid="1713632946174016619">"已停用來電封鎖功能"</string>
     <string name="phone_strings_emergency_call_made_dialog_title_txt" msgid="6629412508584507377">"已撥緊急電話"</string>
-    <string name="phone_strings_emergency_call_made_dialog_call_blocking_text_txt" msgid="3140411733995271126">"已停用來電封鎖功能，以便救援人員與你聯絡。"</string>
+    <string name="phone_strings_emergency_call_made_dialog_call_blocking_text_txt" msgid="3140411733995271126">"已停用來電封鎖功能，以便救援人員與您聯絡。"</string>
     <string name="developer_title" msgid="9146088855661672353">"電信開發商選單"</string>
     <string name="toast_emergency_can_not_pull_call" msgid="9074229465338410869">"使用緊急電話期間無法接聽電話。"</string>
     <string name="cancel" msgid="6733466216239934756">"取消"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index d67df4b..ec278f0 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -321,6 +321,10 @@
     <string name="notification_channel_disconnected_calls">Disconnected calls</string>
     <!-- Notification channel name for a channel containing crashed phone apps service notifications. -->
     <string name="notification_channel_in_call_service_crash">Crashed phone apps</string>
+    <!-- Notification channel name for a channel containing notifications related to call streaming.
+         Call streaming is a feature where an app can use another device like a tablet to see and
+         control a call taking place on their phone. -->
+    <string name="notification_channel_call_streaming">Call streaming</string>
 
     <!-- Alert dialog content used to inform the user that placing a new outgoing call will end the
          ongoing call in the app "other_app". -->
@@ -395,4 +399,20 @@
     <string name="callendpoint_name_streaming">External</string>
     <!-- The user-visible name of the unknown new type CallEndpoint -->
     <string name="callendpoint_name_unknown">Unknown</string>
+
+    <!-- The content of a notification shown when a call is being streamed to another device.
+         Call streaming is a feature where a user can see and interact with a call from another
+         device like a tablet while the call takes place on their phone. -->
+    <string name="call_streaming_notification_body">Streaming audio to other device</string>
+    <!-- A notification action which is shown when a call is being streamed to another device.
+         Tapping the action will hang up the call.
+         Call streaming is a feature where a user can see and interact with a call from another
+         device like a tablet while the call takes place on their phone. -->
+    <string name="call_streaming_notification_action_hang_up">Hang up</string>
+    <!-- A notification action which is shown when a call is being streamed to another device.
+         Tapping the action will move the call back to the phone from the device it is being
+         streamed to.
+         Call streaming is a feature where a user can see and interact with a call from another
+         device like a tablet while the call takes place on their phone. -->
+    <string name="call_streaming_notification_action_switch_here">Switch here</string>
 </resources>
diff --git a/src/com/android/server/telecom/Call.java b/src/com/android/server/telecom/Call.java
index 6ae8834..7b0b697 100644
--- a/src/com/android/server/telecom/Call.java
+++ b/src/com/android/server/telecom/Call.java
@@ -534,6 +534,7 @@
     private boolean mWasHighDefAudio = false;
     private boolean mWasWifi = false;
     private boolean mWasVolte = false;
+    private boolean mDestroyed = false;
 
     // For conferences which support merge/swap at their level, we retain a notion of an active
     // call. This is used for BluetoothPhoneService.  In order to support hold/merge, it must have
@@ -929,6 +930,9 @@
     }
 
     public void destroy() {
+        if (mDestroyed) {
+            return;
+        }
         // We should not keep these bitmaps around because the Call objects may be held for logging
         // purposes.
         // TODO: Make a container object that only stores the information we care about for Logging.
@@ -939,6 +943,7 @@
         closeRttStreams();
 
         Log.addEvent(this, LogUtils.Events.DESTROYED);
+        mDestroyed = true;
     }
 
     private void closeRttStreams() {
@@ -999,6 +1004,9 @@
         s.append(SimpleDateFormat.getDateTimeInstance().format(new Date(getCreationTimeMillis())));
         s.append("]");
         s.append(isIncoming() ? "(MT - incoming)" : "(MO - outgoing)");
+        s.append("(User=");
+        s.append(getInitiatingUser());
+        s.append(")");
         s.append("\n\t");
 
         PhoneAccountHandle targetPhoneAccountHandle = getTargetPhoneAccount();
@@ -4116,6 +4124,15 @@
      * @param extras The extras.
      */
     public void onConnectionEvent(String event, Bundle extras) {
+        if (mIsTransactionalCall) {
+            // send the Event directly to the ICS via the InCallController listener
+            for (Listener l : mListeners) {
+                l.onConnectionEvent(this, event, extras);
+            }
+            // Don't run the below block since it applies to Calls that are attached to a
+            // ConnectionService
+            return;
+        }
         // Don't log call quality reports; they're quite frequent and will clog the log.
         if (!Connection.EVENT_CALL_QUALITY_REPORT.equals(event)) {
             Log.addEvent(this, LogUtils.Events.CONNECTION_EVENT, event);
diff --git a/src/com/android/server/telecom/CallAudioManager.java b/src/com/android/server/telecom/CallAudioManager.java
index 38e6b00..f52a966 100644
--- a/src/com/android/server/telecom/CallAudioManager.java
+++ b/src/com/android/server/telecom/CallAudioManager.java
@@ -795,7 +795,7 @@
                 .setHasHoldingCalls(mHoldingCalls.size() > 0)
                 .setHasAudioProcessingCalls(mAudioProcessingCalls.size() > 0)
                 .setIsTonePlaying(mIsTonePlaying)
-                .setIsStreaming(mStreamingCall != null)
+                .setIsStreaming((mStreamingCall != null) && (!mStreamingCall.isDisconnected()))
                 .setForegroundCallIsVoip(
                         mForegroundCall != null && isCallVoip(mForegroundCall))
                 .setSession(Log.createSubsession()).build();
diff --git a/src/com/android/server/telecom/CallStreamingController.java b/src/com/android/server/telecom/CallStreamingController.java
index 6276a7d..d90524d 100644
--- a/src/com/android/server/telecom/CallStreamingController.java
+++ b/src/com/android/server/telecom/CallStreamingController.java
@@ -87,6 +87,14 @@
             mStreamingCall = null;
             mTransactionalServiceWrapper = null;
             if (mConnection != null) {
+                // Notify service streaming stopped and then unbind.
+                try {
+                    mService.onCallStreamingStopped();
+                } catch (RemoteException e) {
+                    // Could not notify stop streaming; we're about to just unbind so this is
+                    // unfortunate but not the end of the world.
+                    Log.e(this, e, "resetController: failed to notify stop streaming.");
+                }
                 mContext.unbindService(mConnection);
                 mConnection = null;
             }
@@ -140,7 +148,7 @@
 
         @Override
         public CompletableFuture<VoipCallTransactionResult> processTransaction(Void v) {
-            Log.d(this, "processTransaction");
+            Log.i(this, "processTransaction");
             CompletableFuture<VoipCallTransactionResult> future = new CompletableFuture<>();
 
             if (mEnterInterception) {
@@ -178,9 +186,8 @@
         @SuppressLint("LongLogTag")
         @Override
         public CompletionStage<VoipCallTransactionResult> processTransaction(Void v) {
-            Log.d(this, "processTransaction");
+            Log.i(this, "processTransaction");
             CompletableFuture<VoipCallTransactionResult> future = new CompletableFuture<>();
-
             RoleManager roleManager = mContext.getSystemService(RoleManager.class);
             PackageManager packageManager = mContext.getPackageManager();
             if (roleManager == null || packageManager == null) {
@@ -198,7 +205,7 @@
                         VoipCallTransactionResult.RESULT_FAILED, MESSAGE));
                 return future;
             }
-
+            Log.i(this, "processTransaction: servicePackage=%s", holders.get(0));
             Intent serviceIntent = new Intent(CallStreamingService.SERVICE_INTERFACE);
             serviceIntent.setPackage(holders.get(0));
             List<ResolveInfo> infos = packageManager.queryIntentServicesAsUser(serviceIntent,
@@ -223,7 +230,7 @@
             Intent intent = new Intent(CallStreamingService.SERVICE_INTERFACE);
             intent.setComponent(serviceInfo.getComponentName());
 
-            mConnection =  new CallStreamingServiceConnection(mCall, mWrapper, future);
+            mConnection = new CallStreamingServiceConnection(mCall, mWrapper, future);
             if (!mContext.bindServiceAsUser(intent, mConnection, Context.BIND_AUTO_CREATE
                     | Context.BIND_FOREGROUND_SERVICE
                     | Context.BIND_SCHEDULE_LIKE_TOP_APP, mUserHandle)) {
@@ -232,7 +239,6 @@
                         VoipCallTransactionResult.RESULT_FAILED,
                         "STREAMING_FAILED_SENDER_BINDING_ERROR"));
             }
-
             return future;
         }
     }
@@ -249,7 +255,7 @@
         @SuppressLint("LongLogTag")
         @Override
         public CompletionStage<VoipCallTransactionResult> processTransaction(Void v) {
-            Log.d(this, "processTransaction");
+            Log.i(this, "processTransaction (unbindStreaming");
             CompletableFuture<VoipCallTransactionResult> future = new CompletableFuture<>();
 
             resetController();
@@ -280,11 +286,13 @@
                 case CallState.ON_HOLD:
                     transaction = new CallStreamingStateChangeTransaction(
                             StreamingCall.STATE_HOLDING);
+                    break;
                 case CallState.DISCONNECTING:
                 case CallState.DISCONNECTED:
                     Log.addEvent(call, LogUtils.Events.STOP_STREAMING);
                     transaction = new CallStreamingStateChangeTransaction(
                             StreamingCall.STATE_DISCONNECTED);
+                    break;
                 default:
                     // ignore
             }
@@ -374,13 +382,6 @@
         }
 
         private void clearBinding() {
-            try {
-                if (mService != null) {
-                    mService.onCallStreamingStopped();
-                }
-            } catch (RemoteException e) {
-                Log.e(this, e, "Exception when stop call streaming");
-            }
             resetController();
             if (!mFuture.isDone()) {
                 mFuture.complete(new VoipCallTransactionResult(
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index d457cc8..fa7c2b7 100644
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -41,10 +41,12 @@
 
 import android.Manifest;
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.app.ActivityManager;
 import android.app.AlertDialog;
 import android.app.KeyguardManager;
 import android.app.NotificationManager;
+import android.content.ActivityNotFoundException;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -53,6 +55,7 @@
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.ResolveInfoFlags;
+import android.content.pm.ResolveInfo;
 import android.content.pm.UserInfo;
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
@@ -77,7 +80,6 @@
 import android.provider.BlockedNumberContract;
 import android.provider.BlockedNumberContract.SystemContract;
 import android.provider.CallLog.Calls;
-import android.provider.DeviceConfig;
 import android.provider.Settings;
 import android.sysprop.TelephonyProperties;
 import android.telecom.CallAttributes;
@@ -113,6 +115,7 @@
 import android.widget.Button;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.app.IntentForwarderActivity;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.server.telecom.bluetooth.BluetoothRouteManager;
 import com.android.server.telecom.bluetooth.BluetoothStateReceiver;
@@ -132,6 +135,7 @@
 import com.android.server.telecom.stats.CallFailureCause;
 import com.android.server.telecom.ui.AudioProcessingNotification;
 import com.android.server.telecom.ui.CallRedirectionTimeoutDialogActivity;
+import com.android.server.telecom.ui.CallStreamingNotification;
 import com.android.server.telecom.ui.ConfirmCallDialogActivity;
 import com.android.server.telecom.ui.DisconnectedCallNotifier;
 import com.android.server.telecom.ui.IncomingCallNotifier;
@@ -448,6 +452,7 @@
     private final BlockedNumbersAdapter mBlockedNumbersAdapter;
     private final TransactionManager mTransactionManager;
     private final UserManager mUserManager;
+    private final CallStreamingNotification mCallStreamingNotification;
 
     private final ConnectionServiceFocusManager.CallsManagerRequester mRequester =
             new ConnectionServiceFocusManager.CallsManagerRequester() {
@@ -559,7 +564,8 @@
             Executor asyncTaskExecutor,
             BlockedNumbersAdapter blockedNumbersAdapter,
             TransactionManager transactionManager,
-            EmergencyCallDiagnosticLogger emergencyCallDiagnosticLogger) {
+            EmergencyCallDiagnosticLogger emergencyCallDiagnosticLogger,
+            CallStreamingNotification callStreamingNotification) {
 
         mContext = context;
         mLock = lock;
@@ -648,6 +654,7 @@
         mBlockedNumbersAdapter = blockedNumbersAdapter;
         mCallStreamingController = new CallStreamingController(mContext, mLock);
         mVoipCallMonitor = new VoipCallMonitor(mContext, mLock);
+        mCallStreamingNotification = callStreamingNotification;
 
         mListeners.add(mInCallWakeLockController);
         mListeners.add(statusBarNotifier);
@@ -669,6 +676,7 @@
         // this needs to be after the mCallAudioManager
         mListeners.add(mPhoneStateBroadcaster);
         mListeners.add(mVoipCallMonitor);
+        mListeners.add(mCallStreamingNotification);
 
         mVoipCallMonitor.startMonitor();
 
@@ -1414,6 +1422,15 @@
                     extras.getInt(CallAttributes.CALL_CAPABILITIES_KEY,
                             CallAttributes.SUPPORTS_SET_INACTIVE), true);
             call.setTargetPhoneAccount(phoneAccountHandle);
+            if (extras.containsKey(CallAttributes.DISPLAY_NAME_KEY)) {
+                CharSequence displayName = extras.getCharSequence(CallAttributes.DISPLAY_NAME_KEY);
+                if (!TextUtils.isEmpty(displayName)) {
+                    call.setCallerDisplayName(displayName.toString(),
+                            TelecomManager.PRESENTATION_ALLOWED);
+                }
+            }
+            // Incoming address was set via EXTRA_INCOMING_CALL_ADDRESS above.
+            call.setInitiatingUser(phoneAccountHandle.getUserHandle());
         }
 
         // Ensure new calls related to self-managed calls/connections are set as such. This will
@@ -1698,7 +1715,6 @@
         boolean isReusedCall;
         Uri handle = isConference ? Uri.parse("tel:conf-factory") : participants.get(0);
         Call call = reuseOutgoingCall(handle);
-
         PhoneAccount account =
                 mPhoneAccountRegistrar.getPhoneAccount(requestedAccountHandle, initiatingUser);
         Bundle phoneAccountExtra = account != null ? account.getExtras() : null;
@@ -1739,6 +1755,14 @@
                 call.setConnectionCapabilities(
                         extras.getInt(CallAttributes.CALL_CAPABILITIES_KEY,
                                 CallAttributes.SUPPORTS_SET_INACTIVE), true);
+                if (extras.containsKey(CallAttributes.DISPLAY_NAME_KEY)) {
+                    CharSequence displayName = extras.getCharSequence(
+                            CallAttributes.DISPLAY_NAME_KEY);
+                    if (!TextUtils.isEmpty(displayName)) {
+                        call.setCallerDisplayName(displayName.toString(),
+                                TelecomManager.PRESENTATION_ALLOWED);
+                    }
+                }
                 call.setTargetPhoneAccount(requestedAccountHandle);
             }
 
@@ -1974,23 +1998,21 @@
                                 return CompletableFuture.completedFuture(null);
                             }
                             if (accountSuggestions == null || accountSuggestions.isEmpty()) {
-                                if (isSwitchToManagedProfileDialogFlagEnabled()) {
-                                    Uri callUri = callToPlace.getHandle();
-                                    if (PhoneAccount.SCHEME_TEL.equals(callUri.getScheme())) {
-                                        int managedProfileUserId = getManagedProfileUserId(mContext,
-                                                initiatingUser.getIdentifier());
-                                        if (managedProfileUserId != UserHandle.USER_NULL
-                                                &&
-                                                mPhoneAccountRegistrar.getCallCapablePhoneAccounts(
-                                                        handle.getScheme(), false,
-                                                        UserHandle.of(managedProfileUserId),
-                                                        false).size()
-                                                        != 0) {
-                                            boolean dialogShown = showSwitchToManagedProfileDialog(
-                                                    callUri, initiatingUser, managedProfileUserId);
-                                            if (dialogShown) {
-                                                return CompletableFuture.completedFuture(null);
-                                            }
+                                Uri callUri = callToPlace.getHandle();
+                                if (PhoneAccount.SCHEME_TEL.equals(callUri.getScheme())) {
+                                    int managedProfileUserId = getManagedProfileUserId(mContext,
+                                            initiatingUser.getIdentifier());
+                                    if (managedProfileUserId != UserHandle.USER_NULL
+                                            &&
+                                            mPhoneAccountRegistrar.getCallCapablePhoneAccounts(
+                                                    handle.getScheme(), false,
+                                                    UserHandle.of(managedProfileUserId),
+                                                    false).size()
+                                                    != 0) {
+                                        boolean dialogShown = showSwitchToManagedProfileDialog(
+                                                callUri, initiatingUser, managedProfileUserId);
+                                        if (dialogShown) {
+                                            return CompletableFuture.completedFuture(null);
                                         }
                                     }
                                 }
@@ -2153,30 +2175,97 @@
         return UserHandle.USER_NULL;
     }
 
-    private boolean isSwitchToManagedProfileDialogFlagEnabled() {
-        return DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_DEVICE_POLICY_MANAGER,
-                "enable_switch_to_managed_profile_dialog", false);
-    }
-
     private boolean showSwitchToManagedProfileDialog(Uri callUri, UserHandle initiatingUser,
             int managedProfileUserId) {
-        try {
-            Intent showErrorIntent = new Intent(
-                    TelecomManager.ACTION_SHOW_SWITCH_TO_WORK_PROFILE_FOR_CALL_DIALOG, callUri);
-            showErrorIntent.addCategory(Intent.CATEGORY_DEFAULT);
-            showErrorIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-            showErrorIntent.putExtra(TelecomManager.EXTRA_MANAGED_PROFILE_USER_ID,
-                    managedProfileUserId);
-
-            if (mContext.getPackageManager().queryIntentActivitiesAsUser(showErrorIntent,
-                    ResolveInfoFlags.of(0), initiatingUser).size() != 0) {
-                mContext.startActivityAsUser(showErrorIntent, initiatingUser);
-                return true;
-            }
-        } catch (Exception e) {
-            Log.w(this, "Failed to launch switch to managed profile dialog");
+        // Note that the ACTION_CALL intent will resolve to Telecomm's UserCallActivity
+        // even if there is no dialer. Hence we explicitly check for whether a default dialer
+        // exists instead of relying on ActivityNotFound when sending the call intent.
+        if (TextUtils.isEmpty(
+                mDefaultDialerCache.getDefaultDialerApplication(managedProfileUserId))) {
+            Log.i(
+                    this,
+                    "Work profile telephony: default dialer app missing, showing error dialog.");
+            return maybeShowErrorDialog(callUri, managedProfileUserId, initiatingUser);
         }
-        return false;
+
+        UserManager userManager = mContext.getSystemService(UserManager.class);
+        if (userManager.isQuietModeEnabled(UserHandle.of(managedProfileUserId))) {
+            Log.i(
+                    this,
+                    "Work profile telephony: quiet mode enabled, showing error dialog");
+            return maybeShowErrorDialog(callUri, managedProfileUserId, initiatingUser);
+        }
+        Log.i(
+                this,
+                "Work profile telephony: show forwarding call to managed profile dialog");
+        return maybeRedirectToIntentForwarder(callUri, initiatingUser);
+    }
+
+    private boolean maybeRedirectToIntentForwarder(
+            Uri callUri,
+            UserHandle initiatingUser) {
+        // Note: This intent is selected to match the CALL_MANAGED_PROFILE filter in
+        // DefaultCrossProfileIntentFiltersUtils. This ensures that it is redirected to
+        // IntentForwarderActivity.
+        Intent forwardCallIntent = new Intent(Intent.ACTION_CALL, callUri);
+        forwardCallIntent.addCategory(Intent.CATEGORY_DEFAULT);
+        ResolveInfo resolveInfos =
+                mContext.getPackageManager()
+                        .resolveActivityAsUser(
+                                forwardCallIntent,
+                                ResolveInfoFlags.of(0),
+                                initiatingUser.getIdentifier());
+        // Check that the intent will actually open the resolver rather than looping to the personal
+        // profile. This should not happen due to the cross profile intent filters.
+        if (resolveInfos == null
+                || !resolveInfos
+                    .getComponentInfo()
+                    .getComponentName()
+                    .getShortClassName()
+                    .equals(IntentForwarderActivity.FORWARD_INTENT_TO_MANAGED_PROFILE)) {
+            Log.w(
+                    this,
+                    "Work profile telephony: Intent would not resolve to forwarder activity.");
+            return false;
+        }
+
+        try {
+            mContext.startActivityAsUser(forwardCallIntent, initiatingUser);
+            return true;
+        } catch (ActivityNotFoundException e) {
+            Log.e(this, e, "Unable to start call intent for work telephony");
+            return false;
+        }
+    }
+
+    private boolean maybeShowErrorDialog(
+            Uri callUri,
+            int managedProfileUserId,
+            UserHandle initiatingUser) {
+        Intent showErrorIntent =
+                    new Intent(
+                            TelecomManager.ACTION_SHOW_SWITCH_TO_WORK_PROFILE_FOR_CALL_DIALOG,
+                            callUri);
+        showErrorIntent.addCategory(Intent.CATEGORY_DEFAULT);
+        showErrorIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        showErrorIntent.putExtra(
+                TelecomManager.EXTRA_MANAGED_PROFILE_USER_ID, managedProfileUserId);
+        if (mContext.getPackageManager()
+                .queryIntentActivitiesAsUser(
+                        showErrorIntent,
+                        ResolveInfoFlags.of(0),
+                        initiatingUser)
+                .isEmpty()) {
+            return false;
+        }
+        try {
+            mContext.startActivityAsUser(showErrorIntent, initiatingUser);
+            return true;
+        } catch (ActivityNotFoundException e) {
+            Log.e(
+                    this, e,"Work profile telephony: Unable to show error dialog");
+            return false;
+        }
     }
 
     public void startConference(List<Uri> participants, Bundle clientExtras, String callingPackage,
@@ -6365,4 +6454,30 @@
     public CallStreamingController getCallStreamingController() {
         return mCallStreamingController;
     }
+
+    /**
+     * Given a call identified by call id, get the instance from the list of calls.
+     * @param callId the call id.
+     * @return the call, or null if not found.
+     */
+    public @Nullable Call getCall(@NonNull String callId) {
+        Optional<Call> foundCall = mCalls.stream().filter(
+                c -> c.getId().equals(callId)).findFirst();
+        if (foundCall.isPresent()) {
+            return foundCall.get();
+        } else {
+            return null;
+        }
+    }
+
+    /**
+     * Triggers stopping of call streaming for a call by launching a stop streaming transaction.
+     * @param call the call.
+     */
+    public void stopCallStreaming(@NonNull Call call) {
+        if (call.getTransactionServiceWrapper() == null) {
+            return;
+        }
+        call.getTransactionServiceWrapper().stopCallStreaming(call);
+    }
 }
diff --git a/src/com/android/server/telecom/LogUtils.java b/src/com/android/server/telecom/LogUtils.java
index 4e7546f..0d6acd5 100644
--- a/src/com/android/server/telecom/LogUtils.java
+++ b/src/com/android/server/telecom/LogUtils.java
@@ -224,6 +224,7 @@
         public static final String FLASH_NOTIFICATION_START = "FLASH_NOTIFICATION_START";
         public static final String FLASH_NOTIFICATION_STOP = "FLASH_NOTIFICATION_STOP";
         public static final String GAINED_FGS_DELEGATION = "GAINED_FGS_DELEGATION";
+        public static final String GAIN_FGS_DELEGATION_FAILED = "GAIN_FGS_DELEGATION_FAILED";
         public static final String LOST_FGS_DELEGATION = "LOST_FGS_DELEGATION";
         public static final String START_STREAMING = "START_STREAMING";
         public static final String STOP_STREAMING = "STOP_STREAMING";
diff --git a/src/com/android/server/telecom/Ringer.java b/src/com/android/server/telecom/Ringer.java
index cdacab0..45fb2af 100644
--- a/src/com/android/server/telecom/Ringer.java
+++ b/src/com/android/server/telecom/Ringer.java
@@ -626,10 +626,9 @@
     public boolean shouldRingForContact(Call call) {
         // avoid re-computing manager.matcherCallFilter(Bundle)
         if (call.wasDndCheckComputedForCall()) {
-            Log.v(this, "shouldRingForContact: returning computation from DndCallFilter.");
+            Log.i(this, "shouldRingForContact: returning computation from DndCallFilter.");
             return !call.isCallSuppressedByDoNotDisturb();
         }
-
         final Uri contactUri = call.getHandle();
         final Bundle peopleExtras = new Bundle();
         if (contactUri != null) {
@@ -637,13 +636,7 @@
             personList.add(new Person.Builder().setUri(contactUri.toString()).build());
             peopleExtras.putParcelableArrayList(Notification.EXTRA_PEOPLE_LIST, personList);
         }
-
-        // query NotificationManager
-        boolean shouldRing = mNotificationManager.matchesCallFilter(peopleExtras);
-        // store the suppressed status in the call object
-        call.setCallIsSuppressedByDoNotDisturb(!shouldRing);
-
-        return shouldRing;
+        return mNotificationManager.matchesCallFilter(peopleExtras);
     }
 
     private boolean hasExternalRinger(Call foregroundCall) {
diff --git a/src/com/android/server/telecom/TelecomBroadcastIntentProcessor.java b/src/com/android/server/telecom/TelecomBroadcastIntentProcessor.java
index 0be90e0..523b841 100644
--- a/src/com/android/server/telecom/TelecomBroadcastIntentProcessor.java
+++ b/src/com/android/server/telecom/TelecomBroadcastIntentProcessor.java
@@ -101,6 +101,10 @@
     public static final String ACTION_CANCEL_REDIRECTED_CALL =
             "com.android.server.telecom.CANCEL_REDIRECTED_CALL";
 
+    public static final String ACTION_HANGUP_CALL = "com.android.server.telecom.HANGUP_CALL";
+    public static final String ACTION_STOP_STREAMING =
+            "com.android.server.telecom.ACTION_STOP_STREAMING";
+
     public static final String EXTRA_USERHANDLE = "userhandle";
     public static final String EXTRA_REDIRECTION_OUTGOING_CALL_ID =
             "android.telecom.extra.REDIRECTION_OUTGOING_CALL_ID";
@@ -242,6 +246,26 @@
             } finally {
                 Log.endSession();
             }
+        } else if (ACTION_HANGUP_CALL.equals(action)) {
+            Log.startSession("TBIP.aHC", "streamingDialog");
+            try {
+                Call call = mCallsManager.getCall(intent.getData().getSchemeSpecificPart());
+                if (call != null) {
+                    mCallsManager.disconnectCall(call);
+                }
+            } finally {
+                Log.endSession();
+            }
+        } else if (ACTION_STOP_STREAMING.equals(action)) {
+            Log.startSession("TBIP.aSS", "streamingDialog");
+            try {
+                Call call = mCallsManager.getCall(intent.getData().getSchemeSpecificPart());
+                if (call != null) {
+                    mCallsManager.stopCallStreaming(call);
+                }
+            } finally {
+                Log.endSession();
+            }
         }
     }
 
diff --git a/src/com/android/server/telecom/TelecomSystem.java b/src/com/android/server/telecom/TelecomSystem.java
index 8477d49..d3ca0b7 100644
--- a/src/com/android/server/telecom/TelecomSystem.java
+++ b/src/com/android/server/telecom/TelecomSystem.java
@@ -48,6 +48,7 @@
 import com.android.server.telecom.components.UserCallIntentProcessor;
 import com.android.server.telecom.components.UserCallIntentProcessorFactory;
 import com.android.server.telecom.ui.AudioProcessingNotification;
+import com.android.server.telecom.ui.CallStreamingNotification;
 import com.android.server.telecom.ui.DisconnectedCallNotifier;
 import com.android.server.telecom.ui.IncomingCallNotifier;
 import com.android.server.telecom.ui.MissedCallNotifierImpl.MissedCallNotifierImplFactory;
@@ -350,6 +351,12 @@
                     mLock, timeoutsAdapter, clockProxy, emergencyCallDiagnosticLogger);
 
             TransactionManager transactionManager = TransactionManager.getInstance();
+
+            CallStreamingNotification callStreamingNotification =
+                    new CallStreamingNotification(mContext,
+                            packageName -> AppLabelProxy.Util.getAppLabel(
+                                    mContext.getPackageManager(), packageName), asyncTaskExecutor);
+
             mCallsManager = new CallsManager(
                     mContext,
                     mLock,
@@ -386,7 +393,8 @@
                     asyncTaskExecutor,
                     blockedNumbersAdapter,
                     transactionManager,
-                    emergencyCallDiagnosticLogger);
+                    emergencyCallDiagnosticLogger,
+                    callStreamingNotification);
 
             mIncomingCallNotifier = incomingCallNotifier;
             incomingCallNotifier.setCallsManagerProxy(new IncomingCallNotifier.CallsManagerProxy() {
diff --git a/src/com/android/server/telecom/TransactionalServiceWrapper.java b/src/com/android/server/telecom/TransactionalServiceWrapper.java
index d83e551..ec95f39 100644
--- a/src/com/android/server/telecom/TransactionalServiceWrapper.java
+++ b/src/com/android/server/telecom/TransactionalServiceWrapper.java
@@ -682,6 +682,7 @@
 
 
     public void stopCallStreaming(Call call) {
+        Log.i(this, "stopCallStreaming; callid=%s", call.getId());
         if (call != null && call.isStreaming()) {
             VoipCallTransaction stopStreamingTransaction = createStopStreamingTransaction(call);
             addTransactionsToManager(stopStreamingTransaction, new ResultReceiver(null));
diff --git a/src/com/android/server/telecom/ui/CallStreamingNotification.java b/src/com/android/server/telecom/ui/CallStreamingNotification.java
new file mode 100644
index 0000000..3f09bb1
--- /dev/null
+++ b/src/com/android/server/telecom/ui/CallStreamingNotification.java
@@ -0,0 +1,324 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.telecom.ui;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.app.Person;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.Icon;
+import android.net.Uri;
+import android.os.UserHandle;
+import android.telecom.Log;
+import android.telecom.PhoneAccount;
+import android.text.Spannable;
+import android.text.SpannableString;
+import android.text.TextUtils;
+import android.text.style.ForegroundColorSpan;
+import androidx.core.graphics.drawable.RoundedBitmapDrawable;
+import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
+
+import com.android.internal.annotations.GuardedBy;
+import com.android.server.telecom.AppLabelProxy;
+import com.android.server.telecom.Call;
+import com.android.server.telecom.CallsManagerListenerBase;
+import com.android.server.telecom.R;
+import com.android.server.telecom.TelecomBroadcastIntentProcessor;
+import com.android.server.telecom.components.TelecomBroadcastReceiver;
+
+import java.util.concurrent.Executor;
+
+/**
+ * Class responsible for tracking if there is a call which is being streamed and posting a
+ * notification which informs the user that a call is streaming.  The user has two possible actions:
+ * disconnect the call, bring the call back to the current device (stop streaming).
+ */
+public class CallStreamingNotification extends CallsManagerListenerBase implements Call.Listener {
+    // URI scheme used for data related to the notification actions.
+    public static final String CALL_ID_SCHEME = "callid";
+    // The default streaming notification ID.
+    private static final int STREAMING_NOTIFICATION_ID = 90210;
+    // Tag for streaming notification.
+    private static final String NOTIFICATION_TAG =
+            CallStreamingNotification.class.getSimpleName();
+
+    private final Context mContext;
+    private final NotificationManager mNotificationManager;
+    // Used to get the app name for the notification.
+    private final AppLabelProxy mAppLabelProxy;
+    // An executor that can be used to fire off async tasks that do not block Telecom in any manner.
+    private final Executor mAsyncTaskExecutor;
+    // The call which is streaming.
+    private Call mStreamingCall;
+    // Lock for notification post/remove -- these happen outside the Telecom sync lock.
+    private final Object mNotificationLock = new Object();
+
+    // Whether the notification is showing.
+    @GuardedBy("mNotificationLock")
+    private boolean mIsNotificationShowing = false;
+    @GuardedBy("mNotificationLock")
+    private UserHandle mNotificationUserHandle;
+
+    public CallStreamingNotification(@NonNull Context context,
+            @NonNull AppLabelProxy appLabelProxy,
+            @NonNull Executor asyncTaskExecutor) {
+        mContext = context;
+        mNotificationManager = context.getSystemService(NotificationManager.class);
+        mAppLabelProxy = appLabelProxy;
+        mAsyncTaskExecutor = asyncTaskExecutor;
+    }
+
+    @Override
+    public void onCallAdded(Call call) {
+        if (call.isStreaming()) {
+            trackStreamingCall(call);
+            enqueueStreamingNotification(call);
+        }
+    }
+
+    @Override
+    public void onCallRemoved(Call call) {
+        if (call == mStreamingCall) {
+            trackStreamingCall(null);
+            dequeueStreamingNotification();
+        }
+    }
+
+    /**
+     * Handles streaming state changes for a call.
+     * @param call the call
+     * @param isStreaming whether it is streaming or not
+     */
+    @Override
+    public void onCallStreamingStateChanged(Call call, boolean isStreaming) {
+        Log.i(this, "onCallStreamingStateChanged: call=%s, isStreaming=%b", call.getId(),
+                isStreaming);
+
+        if (isStreaming) {
+            trackStreamingCall(call);
+            enqueueStreamingNotification(call);
+        } else {
+            trackStreamingCall(null);
+            dequeueStreamingNotification();
+        }
+    }
+
+    /**
+     * Change the streaming call we are tracking.
+     * @param call the call.
+     */
+    private void trackStreamingCall(Call call) {
+        if (mStreamingCall != null) {
+            mStreamingCall.removeListener(this);
+        }
+        mStreamingCall = call;
+        if (mStreamingCall != null) {
+            mStreamingCall.addListener(this);
+        }
+    }
+
+    /**
+     * Enqueue an async task to post/repost the streaming notification.
+     * Note: This happens INSIDE the telecom lock.
+     * @param call the call to post notification for.
+     */
+    private void enqueueStreamingNotification(Call call) {
+        final Bitmap contactPhotoBitmap = call.getPhotoIcon();
+        mAsyncTaskExecutor.execute(() -> {
+            Icon contactPhotoIcon = null;
+            try {
+                contactPhotoIcon = Icon.createWithResource(mContext.getResources(),
+                        R.drawable.person_circle);
+            } catch (Exception e) {
+                // All loads of things can do wrong when working with bitmaps and images, so to
+                // ensure Telecom doesn't crash, lets try/catch to be sure.
+                Log.e(this, e, "enqueueStreamingNotification: Couldn't build avatar icon");
+            }
+            showStreamingNotification(call.getId(),
+                    call.getUserHandleFromTargetPhoneAccount(), call.getCallerDisplayName(),
+                    call.getHandle(), contactPhotoIcon,
+                    call.getTargetPhoneAccount().getComponentName().getPackageName(),
+                    call.getConnectTimeMillis());
+        });
+    }
+
+    /**
+     * Dequeues the call streaming notification.
+     * Note: This is yo be called within the Telecom sync lock to launch the task to remove the call
+     * streaming notification.
+     */
+    private void dequeueStreamingNotification() {
+        mAsyncTaskExecutor.execute(() -> hideStreamingNotification());
+    }
+
+    /**
+     * Show the call streaming notification.  This is intended to run outside the Telecom sync lock.
+     *
+     * @param callId the call ID we're streaming.
+     * @param userHandle the userhandle for the call.
+     * @param callerName the name of the caller/callee associated with the call
+     * @param callerAddress the address associated with the caller/callee
+     * @param photoIcon the contact photo icon if available
+     * @param appPackageName the package name for the app to post the notification for
+     * @param connectTimeMillis when the call connected (for chronometer in the notification)
+     */
+    private void showStreamingNotification(final String callId, final UserHandle userHandle,
+            String callerName, Uri callerAddress, Icon photoIcon, String appPackageName,
+            long connectTimeMillis) {
+        Log.i(this, "showStreamingNotification; callid=%s, hasPhoto=%b", callId, photoIcon != null);
+
+        // Use the caller name for the label if available, default to app name if none.
+        if (TextUtils.isEmpty(callerName)) {
+            // App did not provide a caller name, so default to app's name.
+            callerName = mAppLabelProxy.getAppLabel(appPackageName).toString();
+        }
+
+        // Action to hangup; this can use the default hangup action from the call style
+        // notification.
+        Intent hangupIntent = new Intent(TelecomBroadcastIntentProcessor.ACTION_HANGUP_CALL,
+                Uri.fromParts(CALL_ID_SCHEME, callId, null),
+                mContext, TelecomBroadcastReceiver.class);
+        PendingIntent hangupPendingIntent = PendingIntent.getBroadcast(mContext, 0, hangupIntent,
+                PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
+
+        // Action to switch here.
+        Intent switchHereIntent = new Intent(TelecomBroadcastIntentProcessor.ACTION_STOP_STREAMING,
+                Uri.fromParts(CALL_ID_SCHEME, callId, null),
+                mContext, TelecomBroadcastReceiver.class);
+        PendingIntent switchHerePendingIntent = PendingIntent.getBroadcast(mContext, 0,
+                switchHereIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
+
+        // Apply a span to the string to colorize it using the "answer" color.
+        Spannable spannable = new SpannableString(
+                mContext.getString(R.string.call_streaming_notification_action_switch_here));
+        spannable.setSpan(new ForegroundColorSpan(
+                com.android.internal.R.color.call_notification_answer_color), 0, spannable.length(),
+                Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
+
+        // Use the "phone link" icon per mock.
+        Icon switchHereIcon = Icon.createWithResource(mContext, R.drawable.gm_phonelink);
+        Notification.Action.Builder switchHereBuilder = new Notification.Action.Builder(
+                switchHereIcon,
+                spannable,
+                switchHerePendingIntent);
+        Notification.Action switchHereAction = switchHereBuilder.build();
+
+        // Notifications use a "person" entity to identify caller/callee.
+        Person.Builder personBuilder = new Person.Builder()
+                .setName(callerName);
+
+        // Some apps use phone numbers to identify; these are something the notification framework
+        // can lookup in contacts to provide more data
+        if (callerAddress != null && PhoneAccount.SCHEME_TEL.equals(callerAddress)) {
+            personBuilder.setUri(callerAddress.toString());
+        }
+        if (photoIcon != null) {
+            personBuilder.setIcon(photoIcon);
+        }
+        Person person = personBuilder.build();
+
+        // Call Style notification requires a full screen intent, so we'll just link in a null
+        // pending intent
+        Intent nullIntent = new Intent();
+        PendingIntent nullPendingIntent = PendingIntent.getBroadcast(mContext, 0, nullIntent,
+                PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
+
+        Notification.Builder builder = new Notification.Builder(mContext,
+                NotificationChannelManager.CHANNEL_ID_CALL_STREAMING)
+                // Use call style to get the general look and feel for the notification; it provides
+                // a hangup action with the right action already so we can leverage that.  The
+                // "switch here" action will be a custom action defined later.
+                .setStyle(Notification.CallStyle.forOngoingCall(person, hangupPendingIntent))
+                .setSmallIcon(R.drawable.ic_phone)
+                .setContentText(mContext.getString(
+                        R.string.call_streaming_notification_body))
+                // Report call time
+                .setWhen(connectTimeMillis)
+                .setShowWhen(true)
+                .setUsesChronometer(true)
+                // Set the full screen intent; this is just tricking notification manager into
+                // letting us use this style.  Sssh.
+                .setFullScreenIntent(nullPendingIntent, true)
+                .setColorized(true)
+                .addAction(switchHereAction);
+        Notification notification = builder.build();
+
+        synchronized(mNotificationLock) {
+            mIsNotificationShowing = true;
+            mNotificationUserHandle = userHandle;
+            try {
+                mNotificationManager.notifyAsUser(NOTIFICATION_TAG, STREAMING_NOTIFICATION_ID,
+                        notification, userHandle);
+            } catch (Exception e) {
+                // We don't want to crash Telecom if something changes with the requirements for the
+                // notification.
+                Log.e(this, e, "Notification post failed.");
+            }
+        }
+    }
+
+    /**
+     * Removes the posted streaming notification.  Intended to run outside the telecom lock.
+     */
+    private void hideStreamingNotification() {
+        Log.i(this, "hideStreamingNotification");
+        synchronized(mNotificationLock) {
+            if (mIsNotificationShowing) {
+                mIsNotificationShowing = false;
+                mNotificationManager.cancelAsUser(NOTIFICATION_TAG,
+                        STREAMING_NOTIFICATION_ID, mNotificationUserHandle);
+            }
+        }
+    }
+
+    public static Bitmap drawableToBitmap(@Nullable Drawable drawable, int width, int height) {
+        if (drawable == null) {
+            return null;
+        }
+
+        Bitmap bitmap;
+        if (drawable instanceof BitmapDrawable) {
+            bitmap = ((BitmapDrawable) drawable).getBitmap();
+        } else {
+            if (width > 0 || height > 0) {
+                bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
+            } else if (drawable.getIntrinsicWidth() <= 0 || drawable.getIntrinsicHeight() <= 0) {
+                // Needed for drawables that are just a colour.
+                bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
+            } else {
+                bitmap =
+                        Bitmap.createBitmap(
+                                drawable.getIntrinsicWidth(),
+                                drawable.getIntrinsicHeight(),
+                                Bitmap.Config.ARGB_8888);
+            }
+
+            Canvas canvas = new Canvas(bitmap);
+            drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
+            drawable.draw(canvas);
+        }
+        return bitmap;
+    }
+}
diff --git a/src/com/android/server/telecom/ui/NotificationChannelManager.java b/src/com/android/server/telecom/ui/NotificationChannelManager.java
index 58794a6..a0baa03 100644
--- a/src/com/android/server/telecom/ui/NotificationChannelManager.java
+++ b/src/com/android/server/telecom/ui/NotificationChannelManager.java
@@ -40,6 +40,7 @@
     public static final String CHANNEL_ID_AUDIO_PROCESSING = "TelecomBackgroundAudioProcessing";
     public static final String CHANNEL_ID_DISCONNECTED_CALLS = "TelecomDisconnectedCalls";
     public static final String CHANNEL_ID_IN_CALL_SERVICE_CRASH = "TelecomInCallServiceCrash";
+    public static final String CHANNEL_ID_CALL_STREAMING = "TelecomCallStreaming";
 
     private BroadcastReceiver mLocaleChangeReceiver = new BroadcastReceiver() {
         @Override
@@ -63,6 +64,7 @@
         createOrUpdateChannel(context, CHANNEL_ID_AUDIO_PROCESSING);
         createOrUpdateChannel(context, CHANNEL_ID_DISCONNECTED_CALLS);
         createOrUpdateChannel(context, CHANNEL_ID_IN_CALL_SERVICE_CRASH);
+        createOrUpdateChannel(context, CHANNEL_ID_CALL_STREAMING);
     }
 
     private void createOrUpdateChannel(Context context, String channelId) {
@@ -127,6 +129,14 @@
                 lights = true;
                 vibration = true;
                 sound = null;
+            case CHANNEL_ID_CALL_STREAMING:
+                name = context.getText(R.string.notification_channel_call_streaming);
+                importance = NotificationManager.IMPORTANCE_DEFAULT;
+                canShowBadge = false;
+                lights = false;
+                vibration = false;
+                sound = null;
+                break;
         }
 
         NotificationChannel channel = new NotificationChannel(channelId, name, importance);
diff --git a/src/com/android/server/telecom/voip/IncomingCallTransaction.java b/src/com/android/server/telecom/voip/IncomingCallTransaction.java
index c0bb93d..d35030c 100644
--- a/src/com/android/server/telecom/voip/IncomingCallTransaction.java
+++ b/src/com/android/server/telecom/voip/IncomingCallTransaction.java
@@ -17,6 +17,7 @@
 package com.android.server.telecom.voip;
 
 import static android.telecom.CallAttributes.CALL_CAPABILITIES_KEY;
+import static android.telecom.CallAttributes.DISPLAY_NAME_KEY;
 
 import android.os.Bundle;
 import android.telecom.CallAttributes;
@@ -80,6 +81,9 @@
         mExtras.putString(TelecomManager.TRANSACTION_CALL_ID_KEY, mCallId);
         mExtras.putInt(CALL_CAPABILITIES_KEY, callAttributes.getCallCapabilities());
         mExtras.putInt(TelecomManager.EXTRA_INCOMING_VIDEO_STATE, callAttributes.getCallType());
+        mExtras.putCharSequence(DISPLAY_NAME_KEY, callAttributes.getDisplayName());
+        mExtras.putParcelable(TelecomManager.EXTRA_INCOMING_CALL_ADDRESS,
+                callAttributes.getAddress());
         return mExtras;
     }
 }
diff --git a/src/com/android/server/telecom/voip/OutgoingCallTransaction.java b/src/com/android/server/telecom/voip/OutgoingCallTransaction.java
index 0b17da2..b2625e6 100644
--- a/src/com/android/server/telecom/voip/OutgoingCallTransaction.java
+++ b/src/com/android/server/telecom/voip/OutgoingCallTransaction.java
@@ -18,6 +18,7 @@
 
 import static android.Manifest.permission.CALL_PRIVILEGED;
 import static android.telecom.CallAttributes.CALL_CAPABILITIES_KEY;
+import static android.telecom.CallAttributes.DISPLAY_NAME_KEY;
 import static android.telecom.CallException.CODE_CALL_NOT_PERMITTED_AT_PRESENT_TIME;
 
 import android.content.Context;
@@ -126,6 +127,7 @@
         mExtras.putInt(CALL_CAPABILITIES_KEY, callAttributes.getCallCapabilities());
         mExtras.putInt(TelecomManager.EXTRA_START_CALL_WITH_VIDEO_STATE,
                 callAttributes.getCallType());
+        mExtras.putCharSequence(DISPLAY_NAME_KEY, callAttributes.getDisplayName());
         return mExtras;
     }
 }
diff --git a/src/com/android/server/telecom/voip/ParallelTransaction.java b/src/com/android/server/telecom/voip/ParallelTransaction.java
index 2762949..6176087 100644
--- a/src/com/android/server/telecom/voip/ParallelTransaction.java
+++ b/src/com/android/server/telecom/voip/ParallelTransaction.java
@@ -16,9 +16,11 @@
 
 package com.android.server.telecom.voip;
 
+import com.android.server.telecom.LoggedHandlerExecutor;
 import com.android.server.telecom.TelecomSystem;
 
 import java.util.List;
+import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**
@@ -33,15 +35,19 @@
     @Override
     public void start() {
         // post timeout work
-        mHandler.postDelayed(() -> {
+        CompletableFuture<Void> future = new CompletableFuture<>();
+        mHandler.postDelayed(() -> future.complete(null), TIMEOUT_LIMIT);
+        future.thenApplyAsync((x) -> {
             if (mCompleted.getAndSet(true)) {
-                return;
+                return null;
             }
             if (mCompleteListener != null) {
                 mCompleteListener.onTransactionTimeout(mTransactionName);
             }
             finish();
-        }, TIMEOUT_LIMIT);
+            return null;
+        }, new LoggedHandlerExecutor(mHandler, mTransactionName + "@" + hashCode()
+                + ".s", mLock));
 
         if (mSubTransactions != null && mSubTransactions.size() > 0) {
             TransactionManager.TransactionCompleteListener subTransactionListener =
@@ -52,16 +58,21 @@
                         public void onTransactionCompleted(VoipCallTransactionResult result,
                                 String transactionName) {
                             if (result.getResult() != VoipCallTransactionResult.RESULT_SUCCEED) {
-                                mHandler.post(() -> {
-                                    VoipCallTransactionResult mainResult =
-                                            new VoipCallTransactionResult(
-                                                    VoipCallTransactionResult.RESULT_FAILED,
-                                                    String.format("sub transaction %s failed",
-                                                            transactionName));
-                                    mCompleteListener.onTransactionCompleted(mainResult,
-                                            mTransactionName);
-                                    finish();
-                                });
+                                CompletableFuture.completedFuture(null).thenApplyAsync(
+                                        (x) -> {
+                                            VoipCallTransactionResult mainResult =
+                                                    new VoipCallTransactionResult(
+                                                            VoipCallTransactionResult.RESULT_FAILED,
+                                                            String.format(
+                                                                    "sub transaction %s failed",
+                                                                    transactionName));
+                                            mCompleteListener.onTransactionCompleted(mainResult,
+                                                    mTransactionName);
+                                            finish();
+                                            return null;
+                                        }, new LoggedHandlerExecutor(mHandler,
+                                                mTransactionName + "@" + hashCode()
+                                                        + ".oTC", mLock));
                             } else {
                                 if (mCount.decrementAndGet() == 0) {
                                     scheduleTransaction();
@@ -71,15 +82,20 @@
 
                         @Override
                         public void onTransactionTimeout(String transactionName) {
-                            mHandler.post(() -> {
-                                VoipCallTransactionResult mainResult = new VoipCallTransactionResult(
-                                        VoipCallTransactionResult.RESULT_FAILED,
-                                        String.format("sub transaction %s timed out",
-                                                transactionName));
-                                mCompleteListener.onTransactionCompleted(mainResult,
-                                        mTransactionName);
-                                finish();
-                            });
+                            CompletableFuture.completedFuture(null).thenApplyAsync(
+                                    (x) -> {
+                                        VoipCallTransactionResult mainResult =
+                                                new VoipCallTransactionResult(
+                                                VoipCallTransactionResult.RESULT_FAILED,
+                                                String.format("sub transaction %s timed out",
+                                                        transactionName));
+                                        mCompleteListener.onTransactionCompleted(mainResult,
+                                                mTransactionName);
+                                        finish();
+                                        return null;
+                                    }, new LoggedHandlerExecutor(mHandler,
+                                            mTransactionName + "@" + hashCode()
+                                                    + ".oTT", mLock));
                         }
                     };
             for (VoipCallTransaction transaction : mSubTransactions) {
diff --git a/src/com/android/server/telecom/voip/SerialTransaction.java b/src/com/android/server/telecom/voip/SerialTransaction.java
index 4c6d02e..5d5d1f3 100644
--- a/src/com/android/server/telecom/voip/SerialTransaction.java
+++ b/src/com/android/server/telecom/voip/SerialTransaction.java
@@ -16,9 +16,11 @@
 
 package com.android.server.telecom.voip;
 
+import com.android.server.telecom.LoggedHandlerExecutor;
 import com.android.server.telecom.TelecomSystem;
 
 import java.util.List;
+import java.util.concurrent.CompletableFuture;
 
 /**
  * A VoipCallTransaction implementation that its sub transactions will be executed in serial
@@ -36,15 +38,19 @@
     @Override
     public void start() {
         // post timeout work
-        mHandler.postDelayed(() -> {
+        CompletableFuture<Void> future = new CompletableFuture<>();
+        mHandler.postDelayed(() -> future.complete(null), TIMEOUT_LIMIT);
+        future.thenApplyAsync((x) -> {
             if (mCompleted.getAndSet(true)) {
-                return;
+                return null;
             }
             if (mCompleteListener != null) {
                 mCompleteListener.onTransactionTimeout(mTransactionName);
             }
             finish();
-        }, TIMEOUT_LIMIT);
+            return null;
+        }, new LoggedHandlerExecutor(mHandler, mTransactionName + "@" + hashCode()
+                + ".s", mLock));
 
         if (mSubTransactions != null && mSubTransactions.size() > 0) {
             TransactionManager.TransactionCompleteListener subTransactionListener =
@@ -54,16 +60,21 @@
                         public void onTransactionCompleted(VoipCallTransactionResult result,
                                 String transactionName) {
                             if (result.getResult() != VoipCallTransactionResult.RESULT_SUCCEED) {
-                                mHandler.post(() -> {
-                                    VoipCallTransactionResult mainResult =
-                                            new VoipCallTransactionResult(
-                                                    VoipCallTransactionResult.RESULT_FAILED,
-                                                    String.format("sub transaction %s failed",
-                                                            transactionName));
-                                    mCompleteListener.onTransactionCompleted(mainResult,
-                                            mTransactionName);
-                                    finish();
-                                });
+                                CompletableFuture.completedFuture(null).thenApplyAsync(
+                                        (x) -> {
+                                            VoipCallTransactionResult mainResult =
+                                                    new VoipCallTransactionResult(
+                                                            VoipCallTransactionResult.RESULT_FAILED,
+                                                            String.format(
+                                                                    "sub transaction %s failed",
+                                                                    transactionName));
+                                            mCompleteListener.onTransactionCompleted(mainResult,
+                                                    mTransactionName);
+                                            finish();
+                                            return null;
+                                        }, new LoggedHandlerExecutor(mHandler,
+                                                mTransactionName + "@" + hashCode()
+                                                        + ".oTC", mLock));
                             } else {
                                 if (mSubTransactions.size() > 0) {
                                     VoipCallTransaction transaction = mSubTransactions.remove(0);
@@ -77,15 +88,20 @@
 
                         @Override
                         public void onTransactionTimeout(String transactionName) {
-                            mHandler.post(() -> {
-                                VoipCallTransactionResult mainResult = new VoipCallTransactionResult(
-                                        VoipCallTransactionResult.RESULT_FAILED,
-                                        String.format("sub transaction %s timed out",
-                                                transactionName));
-                                mCompleteListener.onTransactionCompleted(mainResult,
-                                        mTransactionName);
-                                finish();
-                            });
+                            CompletableFuture.completedFuture(null).thenApplyAsync(
+                                    (x) -> {
+                                        VoipCallTransactionResult mainResult =
+                                                new VoipCallTransactionResult(
+                                                VoipCallTransactionResult.RESULT_FAILED,
+                                                String.format("sub transaction %s timed out",
+                                                        transactionName));
+                                        mCompleteListener.onTransactionCompleted(mainResult,
+                                                mTransactionName);
+                                        finish();
+                                        return null;
+                                    }, new LoggedHandlerExecutor(mHandler,
+                                            mTransactionName + "@" + hashCode()
+                                                    + ".oTT", mLock));
                         }
                     };
             VoipCallTransaction transaction = mSubTransactions.remove(0);
diff --git a/src/com/android/server/telecom/voip/TransactionManager.java b/src/com/android/server/telecom/voip/TransactionManager.java
index 773dfb8..228bdde 100644
--- a/src/com/android/server/telecom/voip/TransactionManager.java
+++ b/src/com/android/server/telecom/voip/TransactionManager.java
@@ -70,8 +70,8 @@
             @Override
             public void onTransactionCompleted(VoipCallTransactionResult result,
                     String transactionName){
-                Log.i(TAG, String.format("transaction completed: with result=[%d]",
-                        result.getResult()));
+                Log.i(TAG, String.format("transaction %s completed: with result=[%d]",
+                        transactionName, result.getResult()));
                 if (result.getResult() == TelecomManager.TELECOM_TRANSACTION_SUCCESS) {
                     receiver.onResult(result);
                 } else {
@@ -84,6 +84,7 @@
 
             @Override
             public void onTransactionTimeout(String transactionName){
+                Log.i(TAG, String.format("transaction %s timeout", transactionName));
                 receiver.onError(new CallException(transactionName + " timeout",
                         CODE_OPERATION_TIMED_OUT));
                 finishTransaction();
diff --git a/src/com/android/server/telecom/voip/VoipCallMonitor.java b/src/com/android/server/telecom/voip/VoipCallMonitor.java
index 2a81051..9254395 100644
--- a/src/com/android/server/telecom/voip/VoipCallMonitor.java
+++ b/src/com/android/server/telecom/voip/VoipCallMonitor.java
@@ -38,6 +38,7 @@
 import com.android.server.telecom.Call;
 import com.android.server.telecom.CallsManagerListenerBase;
 import com.android.server.telecom.LogUtils;
+import com.android.server.telecom.LoggedHandlerExecutor;
 import com.android.server.telecom.TelecomSystem;
 
 import java.util.ArrayList;
@@ -46,14 +47,15 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.CompletableFuture;
 
 public class VoipCallMonitor extends CallsManagerListenerBase {
 
-    private final List<Call> mPendingCalls;
+    private final List<Call> mNotificationPendingCalls;
     // Same notification may be passed as different object in onNotificationPosted and
     // onNotificationRemoved. Use its string as key to cache ongoing notifications.
-    private final Map<String, Call> mNotifications;
-    private final Map<PhoneAccountHandle, Set<Call>> mPhoneAccountHandleListMap;
+    private final Map<NotificationInfo, Call> mNotificationInfoToCallMap;
+    private final Map<PhoneAccountHandle, Set<Call>> mAccountHandleToCallMap;
     private ActivityManagerInternal mActivityManagerInternal;
     private final Map<PhoneAccountHandle, ServiceConnection> mServices;
     private NotificationListenerService mNotificationListener;
@@ -61,18 +63,20 @@
     private final HandlerThread mHandlerThread;
     private final Handler mHandler;
     private final Context mContext;
-    private List<StatusBarNotification> mPendingSBN;
+    private List<NotificationInfo> mCachedNotifications;
+    private TelecomSystem.SyncRoot mSyncRoot;
 
     public VoipCallMonitor(Context context, TelecomSystem.SyncRoot lock) {
+        mSyncRoot = lock;
         mContext = context;
         mHandlerThread = new HandlerThread(this.getClass().getSimpleName());
         mHandlerThread.start();
         mHandler = new Handler(mHandlerThread.getLooper());
-        mPendingCalls = new ArrayList<>();
-        mPendingSBN = new ArrayList<>();
-        mNotifications = new HashMap<>();
+        mNotificationPendingCalls = new ArrayList<>();
+        mCachedNotifications = new ArrayList<>();
+        mNotificationInfoToCallMap = new HashMap<>();
         mServices = new HashMap<>();
-        mPhoneAccountHandleListMap = new HashMap<>();
+        mAccountHandleToCallMap = new HashMap<>();
         mActivityManagerInternal = LocalServices.getService(ActivityManagerInternal.class);
 
         mNotificationListener = new NotificationListenerService() {
@@ -80,19 +84,21 @@
             public void onNotificationPosted(StatusBarNotification sbn) {
                 synchronized (mLock) {
                     if (sbn.getNotification().isStyle(Notification.CallStyle.class)) {
+                        NotificationInfo info = new NotificationInfo(sbn.getPackageName(),
+                                sbn.getUser());
                         boolean sbnMatched = false;
-                        for (Call call : mPendingCalls) {
-                            if (notificationMatchedCall(sbn, call)) {
-                                mPendingCalls.remove(call);
-                                mNotifications.put(sbn.toString(), call);
+                        for (Call call : mNotificationPendingCalls) {
+                            if (info.matchesCall(call)) {
+                                mNotificationPendingCalls.remove(call);
+                                mNotificationInfoToCallMap.put(info, call);
                                 sbnMatched = true;
                                 break;
                             }
                         }
                         if (!sbnMatched) {
-                            // notification may posted before we started to monitor the call, cache
+                            // notification may post before we started to monitor the call, cache
                             // this notification and try to match it later with new added call.
-                            mPendingSBN.add(sbn);
+                            mCachedNotifications.add(info);
                         }
                     }
                 }
@@ -101,14 +107,17 @@
             @Override
             public void onNotificationRemoved(StatusBarNotification sbn) {
                 synchronized (mLock) {
-                    mPendingSBN.remove(sbn);
-                    if (mNotifications.isEmpty()) {
+                    NotificationInfo info = new NotificationInfo(sbn.getPackageName(),
+                            sbn.getUser());
+                    mCachedNotifications.remove(info);
+                    if (mNotificationInfoToCallMap.isEmpty()) {
                         return;
                     }
-                    Call call = mNotifications.getOrDefault(sbn.toString(), null);
+                    Call call = mNotificationInfoToCallMap.getOrDefault(info, null);
                     if (call != null) {
-                        mNotifications.remove(sbn.toString(), call);
-                        stopFGSDelegation(call.getTargetPhoneAccount());
+                        // TODO: fix potential bug for multiple calls of same voip app.
+                        mNotificationInfoToCallMap.remove(info, call);
+                        stopFGSDelegation(call);
                     }
                 }
             }
@@ -142,13 +151,16 @@
 
         synchronized (mLock) {
             PhoneAccountHandle phoneAccountHandle = call.getTargetPhoneAccount();
-            Set<Call> callList = mPhoneAccountHandleListMap.computeIfAbsent(phoneAccountHandle,
+            Set<Call> callList = mAccountHandleToCallMap.computeIfAbsent(phoneAccountHandle,
                     k -> new HashSet<>());
             callList.add(call);
 
-            mHandler.post(
-                    () -> startFGSDelegation(call.getCallingPackageIdentity().mCallingPackagePid,
-                            call.getCallingPackageIdentity().mCallingPackageUid, call));
+            CompletableFuture.completedFuture(null).thenComposeAsync(
+                    (x) -> {
+                        startFGSDelegation(call.getCallingPackageIdentity().mCallingPackagePid,
+                                call.getCallingPackageIdentity().mCallingPackageUid, call);
+                        return null;
+                    }, new LoggedHandlerExecutor(mHandler, "VCM.oCA", mSyncRoot));
         }
     }
 
@@ -161,12 +173,12 @@
         synchronized (mLock) {
             stopMonitorWorks(call);
             PhoneAccountHandle phoneAccountHandle = call.getTargetPhoneAccount();
-            Set<Call> callList = mPhoneAccountHandleListMap.computeIfAbsent(phoneAccountHandle,
+            Set<Call> callList = mAccountHandleToCallMap.computeIfAbsent(phoneAccountHandle,
                     k -> new HashSet<>());
             callList.remove(call);
 
             if (callList.isEmpty()) {
-                stopFGSDelegation(phoneAccountHandle);
+                stopFGSDelegation(call);
             }
         }
     }
@@ -183,19 +195,22 @@
             ServiceConnection fgsConnection = new ServiceConnection() {
                 @Override
                 public void onServiceConnected(ComponentName name, IBinder service) {
-                    Log.addEvent(call, LogUtils.Events.GAINED_FGS_DELEGATION);
                     mServices.put(handle, this);
                     startMonitorWorks(call);
                 }
 
                 @Override
                 public void onServiceDisconnected(ComponentName name) {
-                    Log.addEvent(call, LogUtils.Events.LOST_FGS_DELEGATION);
                     mServices.remove(handle);
                 }
             };
             try {
-                mActivityManagerInternal.startForegroundServiceDelegate(options, fgsConnection);
+                if (mActivityManagerInternal
+                        .startForegroundServiceDelegate(options, fgsConnection)) {
+                    Log.addEvent(call, LogUtils.Events.GAINED_FGS_DELEGATION);
+                } else {
+                    Log.addEvent(call, LogUtils.Events.GAIN_FGS_DELEGATION_FAILED);
+                }
             } catch (Exception e) {
                 Log.i(this, "startForegroundServiceDelegate failed due to: " + e);
             }
@@ -203,21 +218,23 @@
     }
 
     @VisibleForTesting
-    public void stopFGSDelegation(PhoneAccountHandle handle) {
+    public void stopFGSDelegation(Call call) {
         synchronized (mLock) {
-            Log.i(this, "stopFGSDelegation of handle %s", handle);
-            Set<Call> calls = mPhoneAccountHandleListMap.get(handle);
+            Log.i(this, "stopFGSDelegation of call %s", call);
+            PhoneAccountHandle handle = call.getTargetPhoneAccount();
+            Set<Call> calls = mAccountHandleToCallMap.get(handle);
             if (calls != null) {
-                for (Call call : calls) {
-                    stopMonitorWorks(call);
+                for (Call c : calls) {
+                    stopMonitorWorks(c);
                 }
             }
-            mPhoneAccountHandleListMap.remove(handle);
+            mAccountHandleToCallMap.remove(handle);
 
             if (mActivityManagerInternal != null) {
                 ServiceConnection fgsConnection = mServices.get(handle);
                 if (fgsConnection != null) {
                     mActivityManagerInternal.stopForegroundServiceDelegate(fgsConnection);
+                    Log.addEvent(call, LogUtils.Events.LOST_FGS_DELEGATION);
                 }
             }
         }
@@ -234,33 +251,36 @@
     private void startMonitorNotification(Call call) {
         synchronized (mLock) {
             boolean sbnMatched = false;
-            for (StatusBarNotification sbn : mPendingSBN) {
-                if (notificationMatchedCall(sbn, call)) {
-                    mPendingSBN.remove(sbn);
-                    mNotifications.put(sbn.toString(), call);
+            for (NotificationInfo info : mCachedNotifications) {
+                if (info.matchesCall(call)) {
+                    mCachedNotifications.remove(info);
+                    mNotificationInfoToCallMap.put(info, call);
                     sbnMatched = true;
                     break;
                 }
             }
             if (!sbnMatched) {
                 // Only continue to
-                mPendingCalls.add(call);
-                mHandler.postDelayed(() -> {
-                    synchronized (mLock) {
-                        if (mPendingCalls.contains(call)) {
-                            Log.i(this, "Notification for voip-call %s haven't "
-                                    + "posted in time, stop delegation.", call.getId());
-                            stopFGSDelegation(call.getTargetPhoneAccount());
-                            mPendingCalls.remove(call);
-                        }
-                    }
-                }, 5000L);
+                mNotificationPendingCalls.add(call);
+                CompletableFuture<Void> future = new CompletableFuture<>();
+                mHandler.postDelayed(() -> future.complete(null), 5000L);
+                future.thenComposeAsync(
+                        (x) -> {
+                            if (mNotificationPendingCalls.contains(call)) {
+                                Log.i(this, "Notification for voip-call %s haven't "
+                                        + "posted in time, stop delegation.", call.getId());
+                                stopFGSDelegation(call);
+                                mNotificationPendingCalls.remove(call);
+                                return null;
+                            }
+                            return null;
+                        }, new LoggedHandlerExecutor(mHandler, "VCM.sMN", mSyncRoot));
             }
         }
     }
 
     private void stopMonitorNotification(Call call) {
-        mPendingCalls.remove(call);
+        mNotificationPendingCalls.remove(call);
     }
 
     @VisibleForTesting
@@ -273,15 +293,20 @@
         mNotificationListener = listener;
     }
 
-    private boolean notificationMatchedCall(StatusBarNotification sbn, Call call) {
-        String packageName = sbn.getPackageName();
-        UserHandle userHandle = sbn.getUser();
-        PhoneAccountHandle accountHandle = call.getTargetPhoneAccount();
+    private class NotificationInfo {
+        private String mPackageName;
+        private UserHandle mUserHandle;
 
-        return packageName != null &&
-                packageName.equals(call.getTargetPhoneAccount()
-                        .getComponentName().getPackageName())
-                && userHandle != null
-                && userHandle.equals(accountHandle.getUserHandle());
+        NotificationInfo(String packageName, UserHandle userHandle) {
+            mPackageName = packageName;
+            mUserHandle = userHandle;
+        }
+
+        boolean matchesCall(Call call) {
+            PhoneAccountHandle accountHandle = call.getTargetPhoneAccount();
+            return mPackageName != null && mPackageName.equals(
+                   accountHandle.getComponentName().getPackageName())
+                    && mUserHandle != null && mUserHandle.equals(accountHandle.getUserHandle());
+        }
     }
 }
diff --git a/src/com/android/server/telecom/voip/VoipCallTransaction.java b/src/com/android/server/telecom/voip/VoipCallTransaction.java
index a1cc13c..a952eb1 100644
--- a/src/com/android/server/telecom/voip/VoipCallTransaction.java
+++ b/src/com/android/server/telecom/voip/VoipCallTransaction.java
@@ -18,6 +18,7 @@
 
 import android.os.Handler;
 import android.os.HandlerThread;
+import android.telecom.Log;
 
 import com.android.server.telecom.LoggedHandlerExecutor;
 import com.android.server.telecom.TelecomSystem;
@@ -37,7 +38,7 @@
     protected Handler mHandler;
     protected TransactionManager.TransactionCompleteListener mCompleteListener;
     protected List<VoipCallTransaction> mSubTransactions;
-    private TelecomSystem.SyncRoot mLock;
+    protected TelecomSystem.SyncRoot mLock;
 
     public VoipCallTransaction(
             List<VoipCallTransaction> subTransactions, TelecomSystem.SyncRoot lock) {
@@ -54,33 +55,40 @@
 
     public void start() {
         // post timeout work
-        mHandler.postDelayed(() -> {
+        CompletableFuture<Void> future = new CompletableFuture<>();
+        mHandler.postDelayed(() -> future.complete(null), TIMEOUT_LIMIT);
+        future.thenApplyAsync((x) -> {
             if (mCompleted.getAndSet(true)) {
-                return;
+                return null;
             }
             if (mCompleteListener != null) {
                 mCompleteListener.onTransactionTimeout(mTransactionName);
             }
             finish();
-        }, TIMEOUT_LIMIT);
+            return null;
+        }, new LoggedHandlerExecutor(mHandler, mTransactionName + "@" + hashCode()
+                + ".s", mLock));
 
         scheduleTransaction();
     }
 
     protected void scheduleTransaction() {
+        LoggedHandlerExecutor executor = new LoggedHandlerExecutor(mHandler,
+                mTransactionName + "@" + hashCode() + ".pT", mLock);
         CompletableFuture<Void> future = CompletableFuture.completedFuture(null);
-        future.thenComposeAsync(this::processTransaction,
-                        new LoggedHandlerExecutor(mHandler, mTransactionName + "@"
-                                + hashCode() + ".pT", mLock))
-                .thenApplyAsync(
-                        (Function<VoipCallTransactionResult, Void>) result -> {
-                            mCompleted.set(true);
-                            if (mCompleteListener != null) {
-                                mCompleteListener.onTransactionCompleted(result, mTransactionName);
-                            }
-                            finish();
-                            return null;
-                        });
+        future.thenComposeAsync(this::processTransaction, executor)
+                .thenApplyAsync((Function<VoipCallTransactionResult, Void>) result -> {
+                    mCompleted.set(true);
+                    if (mCompleteListener != null) {
+                        mCompleteListener.onTransactionCompleted(result, mTransactionName);
+                    }
+                    finish();
+                    return null;
+                    }, executor)
+                .exceptionallyAsync((throwable -> {
+                    Log.e(this, throwable, "Error while executing transaction.");
+                    return null;
+                }), executor);
     }
 
     public CompletionStage<VoipCallTransactionResult> processTransaction(Void v) {
diff --git a/testapps/streamingtest/Android.bp b/testapps/streamingtest/Android.bp
new file mode 100644
index 0000000..bd0a582
--- /dev/null
+++ b/testapps/streamingtest/Android.bp
@@ -0,0 +1,31 @@
+//
+// Copyright (C) 2022 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+android_test {
+    name: "streamingTestApp",
+    static_libs: [
+        "androidx.legacy_legacy-support-v4",
+        "guava",
+    ],
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    privileged: true,
+}
diff --git a/testapps/streamingtest/AndroidManifest.xml b/testapps/streamingtest/AndroidManifest.xml
new file mode 100644
index 0000000..47e4abc
--- /dev/null
+++ b/testapps/streamingtest/AndroidManifest.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2023 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          coreApp="true"
+          package="com.android.server.telecom.streamingtest">
+
+    <uses-sdk android:minSdkVersion="28"
+              android:targetSdkVersion="33"/>
+
+    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
+    <uses-permission android:name="android.permission.CALL_AUDIO_INTERCEPTION"/>
+
+    <application android:label="Streaming Test App">
+        <uses-library android:name="android.test.runner"/>
+
+        <service android:name="com.android.server.telecom.streamingtest.StreamingService"
+                 android:exported="true"
+                 android:permission="android.permission.BIND_CALL_STREAMING_SERVICE">
+            <intent-filter>
+                <action android:name="android.telecom.CallStreamingService"/>
+            </intent-filter>
+        </service>
+    </application>
+</manifest>
diff --git a/testapps/streamingtest/src/com/android/server/telecom/streamingtest/StreamingService.java b/testapps/streamingtest/src/com/android/server/telecom/streamingtest/StreamingService.java
new file mode 100644
index 0000000..c76b349
--- /dev/null
+++ b/testapps/streamingtest/src/com/android/server/telecom/streamingtest/StreamingService.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server.telecom.streamingtest;
+
+import android.annotation.NonNull;
+import android.content.Intent;
+import android.telecom.CallStreamingService;
+import android.telecom.StreamingCall;
+import android.telecom.Log;
+
+public class StreamingService extends CallStreamingService {
+    @Override
+    public void onCallStreamingStarted(@NonNull StreamingCall call) {
+        Log.i(this, "onCallStreamingStarted: call %s", call);
+    }
+
+    @Override
+    public void onCallStreamingStopped() {
+        Log.i(this, "onCallStreamingStopped");
+    }
+
+    @Override
+    public void onCallStreamingStateChanged(int state) {
+        Log.i(this, "onCallStreamingStateChanged; state=%d", state);
+    }
+
+    @Override
+    public boolean onUnbind(Intent intent) {
+        Log.i(this, "onUnbind");
+        return false;
+    }
+}
diff --git a/testapps/transactionalVoipApp/res/values-af/strings.xml b/testapps/transactionalVoipApp/res/values-af/strings.xml
index 78abd1b..efcbdc0 100644
--- a/testapps/transactionalVoipApp/res/values-af/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-af/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API-toetsaktiwiteit"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transaksionele inoproepaktiwiteit"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registreer foonrekening"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Begin voorgronddiens (simuleer masjienvertaling + app op agtergrond)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Begin uitgaande oproep"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Begin inkomende oproep"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"oproep-id is nie gestel nie"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"antwoord"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ontkoppel"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Oorstuk"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Luidspreker"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"begin stroom"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-am/strings.xml b/testapps/transactionalVoipApp/res/values-am/strings.xml
index 2766bf8..b155a3a 100644
--- a/testapps/transactionalVoipApp/res/values-am/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-am/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"የግብይት ኤፒአይ ሙከራ እንቅስቃሴ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"በጥሪ እንቅስቃሴ ውስጥ ግብይታዊ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"የስልክ መለያ መዝግብ"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS ይጀምሩ (በዳራው ውስጥ MT + መተግበሪያን ያስመስላል)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"ወጪ ጥሪን ይጀምሩ"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ገቢ ጥሪን ይጀምሩ"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"የደዋይ መታወቂያ አልተቀናበረም"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"ወደ ገቢር ተቀናብሯል"</string>
-    <string name="answer" msgid="5423590397665409939">"መልስ"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"ወደ ገቢር ያልሆነ ተቀናብሯል"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ግንኙነትን ያቋርጡ"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ማዳመጫ"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"ድምጽ ማውጫ"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ብሉቱዝ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ዥረት ይጀምሩ"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ar/strings.xml b/testapps/transactionalVoipApp/res/values-ar/strings.xml
index 8a42e30..e6c7e6f 100644
--- a/testapps/transactionalVoipApp/res/values-ar/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ar/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"نشاط اختبار واجهة برمجة التطبيقات من خلال المعاملات"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"نشاط المعاملات أثناء المكالمة"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"تسجيل حساب الهاتف"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"‏بدء FGS (محاكاة الترجمة الآلية + التطبيق في الخلفية)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"بدء مكالمة صادرة"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"بدء مكالمة واردة"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"لم يتم ضبط رقم تعريف المكالمة"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"الإجابة"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"إلغاء الربط"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"سماعة الأذن"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"مكبّر الصوت"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"البلوتوث"</string>
-    <string name="start_stream" msgid="3567634786280097431">"بدء البث"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-as/strings.xml b/testapps/transactionalVoipApp/res/values-as/strings.xml
index 56014c4..995624a 100644
--- a/testapps/transactionalVoipApp/res/values-as/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-as/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"লেনদেন সম্বন্ধীয় API পৰীক্ষণৰ কাৰ্যকলাপ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"কলত হোৱা লেনদেন সম্বন্ধীয় কাৰ্যকলাপ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ফ\'নৰ একাউণ্ট পঞ্জীয়ন কৰক"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS আৰম্ভ কৰক (নেপথ্যত MT + এপ্ ছিমুলে’ট কৰক)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"বহিৰ্গামী কল আৰম্ভ কৰক"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"অন্তৰ্গামী কল আৰম্ভ কৰক"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"কলৰ আইডিটো ছেট কৰা হোৱা নাই"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"সক্ৰিয় হিচাপে ছেট কৰক"</string>
-    <string name="answer" msgid="5423590397665409939">"উত্তৰ দিয়ক"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"নিষ্ক্ৰিয় হিচাপে ছেট কৰক"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"সংযোগ বিচ্ছিন্ন কৰক"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ইয়েৰপিচ"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"স্পীকাৰ"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ব্লুটুথ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ষ্ট্ৰীম কৰিবলৈ আৰম্ভ কৰক"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-az/strings.xml b/testapps/transactionalVoipApp/res/values-az/strings.xml
index 14af0ab..db37f1b 100644
--- a/testapps/transactionalVoipApp/res/values-az/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-az/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Tranzaksiya ilə bağlı API test Fəaliyyəti"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Tranzaksiya üzrə Zəngdaxili Fəaliyyət"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Telefon Hesabını Qeydiyyatdan Keçirin"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS-ni başladın (arxa fonda MT + tətbiqini simulyasiya edin)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Gedən zəng başladın"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Gələn zəng başladın"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"zəng ID-si təyin olunmayıb"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"Aktiv kimi təyin edin"</string>
-    <string name="answer" msgid="5423590397665409939">"cavab"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"Qeyri-aktiv kimi təyin edin"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"əlaqəni kəsin"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Qulaqlıq"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Dinamik"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"yayıma başlayın"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-b+sr+Latn/strings.xml b/testapps/transactionalVoipApp/res/values-b+sr+Latn/strings.xml
index 3c4019c..9b02b9e 100644
--- a/testapps/transactionalVoipApp/res/values-b+sr+Latn/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-b+sr+Latn/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Aktivnost testiranja transakcionog API-ja"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Aktivnost poziva u vezi sa transakcijama"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registruj nalog telefona"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Pokreni FGS (simulirajte MT + aplikaciju u pozadini)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Započnite odlazni poziv"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Započnite dolazni poziv"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ID poziva nije podešen"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"odgovori"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"prekini vezu"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Slušalica"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Zvučnik"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"počnite da strimujete"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-be/strings.xml b/testapps/transactionalVoipApp/res/values-be/strings.xml
index 9decf62..81b06d2 100644
--- a/testapps/transactionalVoipApp/res/values-be/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-be/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Праверачныя дзеянні API трансакцый"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Дзеянні падчас выклікаў"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Зарэгістраваць уліковы запіс тэлефона"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Запусціць FGS (сімуляцыя MT + праграма ў фонавым рэжыме)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Пачаць выходны выклік"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Пачаць уваходны выклік"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ідэнтыфікатар выкліку не зададзены"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"адказаць"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"завяршыць выклік"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Навушнік"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Дынамік"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"пачаць перадачу плынню"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-bg/strings.xml b/testapps/transactionalVoipApp/res/values-bg/strings.xml
index 63b55f9..283fc24 100644
--- a/testapps/transactionalVoipApp/res/values-bg/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-bg/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Активност за тестване на API за транзакции"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Транзакционална активност в обаждане"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Регистриране на профила на телефона"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Стартиране на FGS (симулиране на MT + приложението на заден план)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Започване на изходящо обаждане"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Започване на входящо обаждане"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"идентификаторът на обаждането не е зададен"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"отговаряне"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"прекратяване на връзката"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Слушалка"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Високоговорител"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"започване на поточно предаване"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-bn/strings.xml b/testapps/transactionalVoipApp/res/values-bn/strings.xml
index b03123a..c4266d0 100644
--- a/testapps/transactionalVoipApp/res/values-bn/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-bn/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API টেস্ট সংক্রান্ত অ্যাক্টিভিটি"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"কল অ্যাক্টিভিটিতে হওয়া ট্রানজ্যাকশন"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ফোনের অ্যাকাউন্ট রেজিস্টার করুন"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS শুরু করুন (সিমুলেট MT + ব্যাকগ্রাউন্ডে থাকা অ্যাপ)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"আউটগোয়িং কল শুরু করুন"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ইনকামিং কল শুরু করুন"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"কলার আইডি সেট করা নেই"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"উত্তর দিন"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ডিসকানেক্ট করুন"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ইয়ারপিস"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"স্পিকার"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ব্লুটুথ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"স্ট্রিমিং শুরু করুন"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-bs/strings.xml b/testapps/transactionalVoipApp/res/values-bs/strings.xml
index e4cbb08..f993930 100644
--- a/testapps/transactionalVoipApp/res/values-bs/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-bs/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Aktivnost testa transakcijskog API-ja"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transakcijska aktivnost u pozivu"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registrirajte račun telefona"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Pokreni FGS (simuliraj MT i aplikaciju u pozadini)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Pokreni odlazni poziv"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Pokreni dolazni poziv"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ID poziva nije postavljen"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"postavi na Aktivno"</string>
-    <string name="answer" msgid="5423590397665409939">"odgovori"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"postavi na Neaktivno"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"prekini vezu"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Slušalica"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Zvučnik"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"pokreni prijenos"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ca/strings.xml b/testapps/transactionalVoipApp/res/values-ca/strings.xml
index 6780882..37561c8 100644
--- a/testapps/transactionalVoipApp/res/values-ca/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ca/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Activitat de prova de l\'API transaccional"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Activitat de transaccions durant la trucada"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registra el compte del telèfon"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Inicia FGS (simula MT + aplicació en segon pla)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Inicia una trucada sortint"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Inicia una trucada entrant"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"identificador de trucada no definit"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"defineix com a activa"</string>
-    <string name="answer" msgid="5423590397665409939">"respon"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"defineix com a inactiva"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"desconnecta"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Auricular"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Altaveu"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"inicia la reproducció en continu"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-cs/strings.xml b/testapps/transactionalVoipApp/res/values-cs/strings.xml
index 46a938b..189a846 100644
--- a/testapps/transactionalVoipApp/res/values-cs/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-cs/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Aktivita testování v transakčním rozhraní API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transakční aktivita během hovoru"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registrovat telefonní účet"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Spustit službu v popředí (simulovat MT a aplikaci v pozadí)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Zahájit odchozí hovor"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Zahájit příchozí hovor"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ID hovoru není nastaveno"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"odpověď"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"odpojit"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Sluchátko"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Reproduktor"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"zahájit streamování"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-da/strings.xml b/testapps/transactionalVoipApp/res/values-da/strings.xml
index e857f3e..c7f9be4 100644
--- a/testapps/transactionalVoipApp/res/values-da/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-da/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Testaktivitet for transaktions-API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transaktionsrelateret aktivitet i opkald"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registrer telefonkonto"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Start FGS (simuler maskinoversættelse + app i baggrunden)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Start udgående opkald"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Start indgående opkald"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"opkalds-id ikke konfigureret"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"Indstil som aktiv"</string>
-    <string name="answer" msgid="5423590397665409939">"svar"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"Indstil som inaktiv"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"afslut opkald"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Højttaler"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Højttaler"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"start med at streame"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-de/strings.xml b/testapps/transactionalVoipApp/res/values-de/strings.xml
index cf3116c..f7719b9 100644
--- a/testapps/transactionalVoipApp/res/values-de/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-de/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Testaktivität zur transaktionalen API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transaktionsaktivität bei aktiven Anruf"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Telefonkonto registrieren"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS starten (MT und App im Hintergrund simulieren)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Ausgehenden Anruf starten"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Eingehenden Anruf starten"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"Anrufer-ID nicht festgelegt"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"aktiv"</string>
-    <string name="answer" msgid="5423590397665409939">"annehmen"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"inaktiv"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"beenden"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Kopfhörer"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Lautsprecher"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"Streaming starten"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-el/strings.xml b/testapps/transactionalVoipApp/res/values-el/strings.xml
index d838d2e..7c83600 100644
--- a/testapps/transactionalVoipApp/res/values-el/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-el/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Δοκιμαστική δραστηριότητα API συναλλαγών"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Δραστηριότητα συναλλαγής στην κλήση"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Εγγραφή λογαριασμού τηλεφώνου"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Έναρξη FGS (προσομοίωση MT + εφαρμογή στο παρασκήνιο)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Έναρξη εξερχόμενης κλήσης"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Έναρξη εισερχόμενης κλήσης"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"δεν έχει οριστεί αναγνωριστικό κλήσης"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"απάντηση"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"αποσύνδεση"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Ακουστικό τηλεφώνου"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Ηχείο"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"έναρξη ροής"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-en-rAU/strings.xml b/testapps/transactionalVoipApp/res/values-en-rAU/strings.xml
index 5bfa1a1..abf4611 100644
--- a/testapps/transactionalVoipApp/res/values-en-rAU/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-en-rAU/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API test activity"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transactional in-call activity"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Register phone account"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Start FGS (simulate MT + app in background)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Start outgoing call"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Start incoming call"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"call ID not set"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"answer"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"disconnect"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Earpiece"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Speaker"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"start streaming"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-en-rGB/strings.xml b/testapps/transactionalVoipApp/res/values-en-rGB/strings.xml
index 5bfa1a1..abf4611 100644
--- a/testapps/transactionalVoipApp/res/values-en-rGB/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-en-rGB/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API test activity"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transactional in-call activity"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Register phone account"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Start FGS (simulate MT + app in background)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Start outgoing call"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Start incoming call"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"call ID not set"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"answer"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"disconnect"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Earpiece"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Speaker"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"start streaming"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-en-rIN/strings.xml b/testapps/transactionalVoipApp/res/values-en-rIN/strings.xml
index 5bfa1a1..abf4611 100644
--- a/testapps/transactionalVoipApp/res/values-en-rIN/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-en-rIN/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API test activity"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transactional in-call activity"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Register phone account"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Start FGS (simulate MT + app in background)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Start outgoing call"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Start incoming call"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"call ID not set"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"answer"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"disconnect"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Earpiece"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Speaker"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"start streaming"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-es-rUS/strings.xml b/testapps/transactionalVoipApp/res/values-es-rUS/strings.xml
index 3410a16..588150c 100644
--- a/testapps/transactionalVoipApp/res/values-es-rUS/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-es-rUS/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Actividad de prueba de la API transaccional"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Actividad transaccional en las llamadas"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registrar cuenta telefónica"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Iniciar FGS (simulación de TA y app en segundo plano)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Iniciar llamada saliente"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Iniciar llamada entrante"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"no se estableció el identificador de llamadas"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"responder"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"desconectar"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Auricular"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Bocina"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"Iniciar transmisión"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-es/strings.xml b/testapps/transactionalVoipApp/res/values-es/strings.xml
index 2ce1e81..0e290ae 100644
--- a/testapps/transactionalVoipApp/res/values-es/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-es/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Actividad de prueba de API transaccional"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Actividad transaccional durante la llamada"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registrar cuenta de teléfono"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Iniciar FGS (simular MT + aplicación en segundo plano)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Iniciar llamada saliente"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Iniciar llamada entrante"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"identificador de llamada no definido"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"Activar"</string>
-    <string name="answer" msgid="5423590397665409939">"responder"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"Desactivar"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"desconectar"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Auricular"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Altavoz"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"iniciar emisión"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-et/strings.xml b/testapps/transactionalVoipApp/res/values-et/strings.xml
index 477dec5..d9e9f97 100644
--- a/testapps/transactionalVoipApp/res/values-et/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-et/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Tehingupõhise API testimise tegevus"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Kõnesisene toimingutegevus"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Telefonikonto registreerimine"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Käivita FGS (simuleeri taustal MT-d ja rakendust)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Alusta väljuvat kõnet"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Alusta sissetulevat kõnet"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"helistaja ID pole seadistatud"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"vastus"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"katkesta ühendus"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Kuular"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Kõlar"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"käivita voogesitus"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-eu/strings.xml b/testapps/transactionalVoipApp/res/values-eu/strings.xml
index 962346f..379065e 100644
--- a/testapps/transactionalVoipApp/res/values-eu/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-eu/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transakzio bidezko APIen proba-jarduerak"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Deiko transakzio-jarduerak"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Erregistratu telefonoaren kontua"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Hasi FGS (simulatu itzulpen automatikoa + aplikazioa atzeko planoan)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Hasi irteerako dei bat simulatzen"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Hasi sarrerako dei bat simulatzen"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ez da ezarri deiaren identifikatzailea"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"erantzun"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"deskonektatu"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Aurikularrak"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Bozgorailua"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetootha"</string>
-    <string name="start_stream" msgid="3567634786280097431">"hasi zuzenean igortzen"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-fa/strings.xml b/testapps/transactionalVoipApp/res/values-fa/strings.xml
index bd9cddf..eb7b88e 100644
--- a/testapps/transactionalVoipApp/res/values-fa/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-fa/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"‏فعالیت آزمایشی Transactional API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"تبادلی در فعالیت تماس"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ثبت حساب تلفن"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"‏شروع FGS (شبیه‌سازی ترجمه ماشینی + برنامه در پس‌زمینه)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"شروع تماس خروجی"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"شروع تماس ورودی"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"شناسه تماس تنظیم نشده است"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"تنظیم به‌عنوان فعال"</string>
-    <string name="answer" msgid="5423590397665409939">"پاسخ"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"تنظیم به‌عنوان غیرفعال"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"قطع ارتباط"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"گوشی"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"بلندگو"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"بلوتوث"</string>
-    <string name="start_stream" msgid="3567634786280097431">"شروع جاری‌سازی"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-fi/strings.xml b/testapps/transactionalVoipApp/res/values-fi/strings.xml
index c95efcb..d64dbe2 100644
--- a/testapps/transactionalVoipApp/res/values-fi/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-fi/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Tapahtuman API-testitoiminta"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Tapahtuman puhelunaikainen toiminta"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Rekisteröi puhelintili"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Käynnistä FGS (simuloi MT + sovellus taustalla)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Aloita lähtevä puhelu"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Aloita saapuva puhelu"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"soittajan tunnusta ei asetettu"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"aseta aktiiviseksi"</string>
-    <string name="answer" msgid="5423590397665409939">"vastaa"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"aseta ei-aktiiviseksi"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"katkaise yhteys"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Kaiutin"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Kaiutin"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"aloita suoratoisto"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-fr-rCA/strings.xml b/testapps/transactionalVoipApp/res/values-fr-rCA/strings.xml
index 64df91c..173fc88 100644
--- a/testapps/transactionalVoipApp/res/values-fr-rCA/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-fr-rCA/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Activité de test de l\'API transactionnelle"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Activité transactionnelle durant l\'appel"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Inscrire un compte téléphonique"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Démarrer FGS (simuler TA + application en arrière-plan)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Démarrer un appel sortant"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Démarrer un appel entrant"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"identifiant de l\'appel non défini"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"répondre"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"déconnecter"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Écouteur"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Haut-parleur"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"démarrer une diffusion"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-fr/strings.xml b/testapps/transactionalVoipApp/res/values-fr/strings.xml
index f1d1bd7..8fcbe7d 100644
--- a/testapps/transactionalVoipApp/res/values-fr/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-fr/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Activité de test de l\'API transactionnelle"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Activité transactionnelle en cours d\'appel"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Enregistrer un compte de téléphonie"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Démarrer les services de premier plan (simuler la MT + l\'application en arrière-plan)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Démarrer un appel sortant"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Démarrer un appel entrant"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"affichage du numéro de l\'appelant non défini"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"Définir comme actif"</string>
-    <string name="answer" msgid="5423590397665409939">"réponse"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"Définir comme inactif"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"raccrocher"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Écouteur"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Haut-parleur"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"démarrer la diffusion"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-gl/strings.xml b/testapps/transactionalVoipApp/res/values-gl/strings.xml
index 76fbb34..9f98e24 100644
--- a/testapps/transactionalVoipApp/res/values-gl/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-gl/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Actividade de proba da API transaccional"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Actividade transaccional nas chamadas"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Rexistrar conta do teléfono"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Iniciar FGS (simular MT + aplicación en segundo plano)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Iniciar chamada saínte"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Iniciar chamada entrante"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"identificador de chamada non definido"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"responder"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"desconectar"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Auricular"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Altofalante"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"iniciar reprodución en tempo real"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-gu/strings.xml b/testapps/transactionalVoipApp/res/values-gu/strings.xml
index b0066da..d1db7a1 100644
--- a/testapps/transactionalVoipApp/res/values-gu/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-gu/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional APIના પરીક્ષણની પ્રવૃત્તિ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"કૉલમાંની વ્યવહારિક પ્રવૃત્તિ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ફોન એકાઉન્ટ રજિસ્ટર કરો"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS (MT સિમ્યુલેટ કરવું + બૅકગ્રાઉન્ડમાં ઍપ) શરૂ કરો"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"આઉટગોઇંગ કૉલ શરૂ કરો"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ઇનકમિંગ કૉલ શરૂ કરો"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"કૉલર ID સેટ કરેલું નથી"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"સક્રિય તરીકે સેટ કરો"</string>
-    <string name="answer" msgid="5423590397665409939">"જવાબ"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"નિષ્ક્રિય તરીકે સેટ કરો"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ડિસ્કનેક્ટ કરો"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ઇયરપીસ"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"સ્પીકર"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"બ્લૂટૂથ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"સ્ટ્રીમિંગ શરૂ કરો"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-hi/strings.xml b/testapps/transactionalVoipApp/res/values-hi/strings.xml
index a6e4a10..c6c2efb 100644
--- a/testapps/transactionalVoipApp/res/values-hi/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-hi/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API से जुड़ी टेस्ट गतिविधि"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"कॉल में क्लाइंट और सर्वर के बीच हुई बातचीत से जुड़ी गतिविधि"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Phone Account में रजिस्टर करें"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS शुरू करें (बैकग्राउंड में MT + ऐप्लिकेशन को सिम्युलेट करें)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"आउटगोइंग कॉल शुरू करें"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"इनकमिंग कॉल शुरू करें"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"कॉल आईडी सेट नहीं है"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"जवाब"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"डिसकनेक्ट करें"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ईयरपीस"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"स्पीकर"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ब्लूटूथ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"स्ट्रीमिंग शुरू करें"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-hr/strings.xml b/testapps/transactionalVoipApp/res/values-hr/strings.xml
index 768d378..de2e01d 100644
--- a/testapps/transactionalVoipApp/res/values-hr/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-hr/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Testna aktivnost API-ja za transakcije"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"transakcijska aktivnost u pozivu"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registracija telefonskog računa"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Pokretanje FGS-a (simulacija: MT i aplikacija u pozadini)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Pokretanje odlaznog poziva"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Pokretanje dolaznog poziva"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"id poziva nije postavljen"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"Postavljanje kao aktivno"</string>
-    <string name="answer" msgid="5423590397665409939">"odgovor"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"Postavljanje kao neaktivno"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"prekid veze"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Slušalica"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Zvučnik"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"pokretanje streaminga"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-hu/strings.xml b/testapps/transactionalVoipApp/res/values-hu/strings.xml
index cda3b7e..8b3b1bd 100644
--- a/testapps/transactionalVoipApp/res/values-hu/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-hu/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Tranzakciós API-teszttevékenység"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Hívás közbeni tranzakciós tevékenység"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Telefonáláshoz használt fiók regisztrálása"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Előtérben futó szolgáltatás indítása (gépi fordítás + alkalmazás szimulálása a háttérben)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Kimenő hívás indítása"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Bejövő hívás indítása"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"nincs beállítva hívásazonosító"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"válasz"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"leválasztás"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Fülhallgató"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Hangszóró"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"streamelés indítása"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-hy/strings.xml b/testapps/transactionalVoipApp/res/values-hy/strings.xml
index b56941f..9d19ce1 100644
--- a/testapps/transactionalVoipApp/res/values-hy/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-hy/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Գործարքային API-ների փորձարկման գործողություն"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Գործարքներ զանգի ժամանակ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Հեռախոսի հաշվի գրանցում"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Գործարկել FGS-ը (ՄԹ-ի սիմուլացիա + հավելված ֆոնային ռեժիմում)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Սկսել ելքային զանգ"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Սկսել մուտքային զանգ"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"զանգի նույնացուցիչ սահմանված չէ"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"ակտիվացնել"</string>
-    <string name="answer" msgid="5423590397665409939">"պատասխանել"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"ապակտիվացնել"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"անջատել"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Լսափող"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Բարձրախոս"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"սկսել հեռարձակում"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-in/strings.xml b/testapps/transactionalVoipApp/res/values-in/strings.xml
index e29fea7..3ab9c6f 100644
--- a/testapps/transactionalVoipApp/res/values-in/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-in/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Aktivitas pengujian API Transaksional"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Aktivitas Transaksi Dalam Panggilan"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Daftarkan Akun Ponsel"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Mulai FGS (simulasikan MT + aplikasi di latar belakang)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Mulai Panggilan Keluar"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Mulai Panggilan Masuk"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"id panggilan tidak ditetapkan"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setelAktif"</string>
-    <string name="answer" msgid="5423590397665409939">"jawab"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setelNonaktif"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"putuskan koneksi"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Earpiece"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Speaker"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"mulai streaming"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-is/strings.xml b/testapps/transactionalVoipApp/res/values-is/strings.xml
index 4ecb2ca..18c115d 100644
--- a/testapps/transactionalVoipApp/res/values-is/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-is/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Prófun á virkni forritaskila færslna"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Virkni í símtali"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Skrá símareikning"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Ræsa FGS (líkja eftir MT + forriti í bakgrunni)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Hefja hringt símtal"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Hefja símtal sem berst"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"númerabirting ekki stillt"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"svara"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"aftengja"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Eyrnatól"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Hátalari"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"hefja streymi"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-it/strings.xml b/testapps/transactionalVoipApp/res/values-it/strings.xml
index bb83aa1..be0f1ec 100644
--- a/testapps/transactionalVoipApp/res/values-it/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-it/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Attività di test dell\'API transazionale"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Attività di transazione durante la chiamata"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registra account telefono"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Avvia FGS (simulazione di MT + app in background)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Avvia chiamata in uscita"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Avvia chiamata in arrivo"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"id chiamata non impostato"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"risposta"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"disconnetti"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Auricolare"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Altoparlante"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"avvia streaming"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-iw/strings.xml b/testapps/transactionalVoipApp/res/values-iw/strings.xml
index 4de997e..87d8cba 100644
--- a/testapps/transactionalVoipApp/res/values-iw/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-iw/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API test Activity"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"בר ביצוע בפעילות השיחה"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"רישום חשבון הטלפון"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"‏הפעלת FGS (סימולציה של MT + אפליקציה ברקע)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"התחלת שיחה יוצאת"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"התחלת שיחה נכנסת"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"מזהה השיחה לא הוגדר"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"הגדרה כפעיל"</string>
-    <string name="answer" msgid="5423590397665409939">"תשובה"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"הגדרה כלא פעיל"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ניתוק"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"אוזניה"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"רמקול"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"התחלת השידור"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ja/strings.xml b/testapps/transactionalVoipApp/res/values-ja/strings.xml
index a5e8251..a924731 100644
--- a/testapps/transactionalVoipApp/res/values-ja/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ja/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API テスト アクティビティ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transactional 通話アクティビティ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"スマートフォン アカウントを登録"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS を開始（MT + アプリをバックグラウンドでシミュレート）"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"発信を開始"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"着信を開始"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"通話 ID が設定されていません"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"応答"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"切断"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"受話口"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"スピーカー"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ストリーミングを開始"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ka/strings.xml b/testapps/transactionalVoipApp/res/values-ka/strings.xml
index 671cffb..10b82dc 100644
--- a/testapps/transactionalVoipApp/res/values-ka/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ka/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"ტრანზაქციული API ტესტის აქტივობა"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"ტრანზაქციის ზარის აქტივობა"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ტელეფონის ანგარიშის რეგისტრაცია"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS-ის დაწყება (MT + აპის სიმულაცია ფონზე)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"დაიწყეთ გამავალი ზარი"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"დაიწყეთ შემომავალი ზარი"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"აბონენტის ID არ არის დაყენებული"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"პასუხი"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"კავშირის გაწყვეტა"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ყურმილი"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"დინამიკი"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"სტრიმინგის დაწყება"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-kk/strings.xml b/testapps/transactionalVoipApp/res/values-kk/strings.xml
index 2713491..6dd0236 100644
--- a/testapps/transactionalVoipApp/res/values-kk/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-kk/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Транзакциялық API сынағына қатысты әрекет"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Қоңыраулар тарихындағы транзакциялық қолданба"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Телефон аккаунтын тіркеу"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS-ті бастау (MT мен қолданбаны фонда симуляциялау)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Шығыс қоңырауын бастау"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Кіріс қоңырауын бастау"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"қоңырау идентификаторы орнатылмады"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"жауап беру"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ажырату"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Динамик"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Динамик"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"трансляцияны бастау"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-km/strings.xml b/testapps/transactionalVoipApp/res/values-km/strings.xml
index 13f4983..fadb82a 100644
--- a/testapps/transactionalVoipApp/res/values-km/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-km/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"សកម្មភាព​ធ្វើតេស្ត API ប្រតិបត្តិការ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"សកម្មភាពប្រតិបត្តិការ​នៅក្នុងការហៅទូរសព្ទ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ចុះឈ្មោះ​គណនី​ទូរសព្ទ"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"ចាប់ផ្ដើម FGS (ត្រាប់តាម MT + កម្មវិធី​នៅផ្ទៃខាងក្រោយ)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"ចាប់ផ្ដើម​ការហៅចេញ"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ចាប់ផ្ដើម​ការហៅ​ចូល"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"មិនបានកំណត់​លេខសម្គាល់​ការហៅទូរសព្ទទេ"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"ឆ្លើយ"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ផ្ដាច់"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ឧបករណ៍ស្ដាប់សំឡេង"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"ឧបករណ៍​បំពង​សំឡេង"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ប៊្លូធូស"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ចាប់ផ្ដើម​ការផ្សាយ"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-kn/strings.xml b/testapps/transactionalVoipApp/res/values-kn/strings.xml
index b994f92..21d5159 100644
--- a/testapps/transactionalVoipApp/res/values-kn/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-kn/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"ಟ್ರಾನ್ಸಾಕ್ಷನಲ್ API ಪರೀಕ್ಷಾ ಚಟುವಟಿಕೆ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"ಕರೆ ಚಟುವಟಿಕೆಯಲ್ಲಿ ಟ್ರಾನ್ಸಾಕ್ಷನಲ್"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ಫೋನ್ ಖಾತೆಯನ್ನು ನೋಂದಾಯಿಸಿ"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ (MT + ಆ್ಯಪ್ ಅನ್ನು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಅನುಕರಿಸಿ)."</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"ಹೊರಹೋಗುವ ಕರೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ಒಳಬರುವ ಕರೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ಕರೆಮಾಡುವವರ ID ಅನ್ನು ಸೆಟ್ ಮಾಡಿಲ್ಲ"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"ಉತ್ತರ"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ಡಿಸ್‌ಕನೆಕ್ಟ್"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ಇಯರ್‌ಪೀಸ್‌"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"ಸ್ಪೀಕರ್"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ಬ್ಲೂಟೂತ್"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ಸ್ಟ್ರೀಮ್ ಮಾಡುವುದನ್ನು ಪ್ರಾರಂಭಿಸಿ"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ko/strings.xml b/testapps/transactionalVoipApp/res/values-ko/strings.xml
index 9eb4556..efcce49 100644
--- a/testapps/transactionalVoipApp/res/values-ko/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ko/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"트랜잭션 API 테스트 활동"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"통화 중 거래 활동"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"전화 계정 등록"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS 시작(MT 및 백그라운드 앱 시뮬레이션)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"발신 전화 시작"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"수신 전화 시작"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"통화 ID가 설정되지 않음"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"활성으로 설정"</string>
-    <string name="answer" msgid="5423590397665409939">"답변"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"비활성으로 설정"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"연결 해제"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"스피커"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"스피커"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"블루투스"</string>
-    <string name="start_stream" msgid="3567634786280097431">"스트리밍 시작"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ky/strings.xml b/testapps/transactionalVoipApp/res/values-ky/strings.xml
index 577dcda..5e1abe4 100644
--- a/testapps/transactionalVoipApp/res/values-ky/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ky/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Транзакциялык API сыноосунун активдүүлүгү"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Чалуу учурундагы транзакциялар"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Телефон аккаунтун каттоо"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS\'ти иштетүү (фондо MT + колдонмону симуляциялоо)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Чыгуучу чалууну баштоо"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Кирүүчү чалууну баштоо"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"чалуунун идентификатору коюлган жок"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"жооп берүү"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ажыратуу"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Кулакчын"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Динамик"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"агымды баштоо"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-lo/strings.xml b/testapps/transactionalVoipApp/res/values-lo/strings.xml
index 69126d9..37ea968 100644
--- a/testapps/transactionalVoipApp/res/values-lo/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-lo/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"ກິດຈະກໍາການທົດສອບ API ທຸລະກໍາ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"ການເຄື່ອນໄຫວຂອງທຸລະກຳລະຫວ່າງການໂທ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ລົງທະບຽນບັນຊີໂທລະສັບ"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"ເລີ່ມ FGS (ຈຳລອງ MT + ແອັບໃນພື້ນຫຼັງ)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"ເລີ່ມສາຍໂທອອກ"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ເລີ່ມສາຍໂທເຂົ້າ"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ບໍ່ໄດ້ຕັ້ງໝາຍເລກຜູ້ໂທ"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"ຕັ້ງຄ່າເປັນນຳໃຊ້ຢູ່"</string>
-    <string name="answer" msgid="5423590397665409939">"ຄຳຕອບ"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"ຕັ້ງຄ່າເປັນບໍ່ໄດ້ນຳໃຊ້"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ຕັດການເຊື່ອມຕໍ່"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ຫູຟັງ"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"ລຳໂພງ"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ເລີ່ມການສະຕຣີມ"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-lt/strings.xml b/testapps/transactionalVoipApp/res/values-lt/strings.xml
index 91e51fe..576887a 100644
--- a/testapps/transactionalVoipApp/res/values-lt/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-lt/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Operacijų API testavimo veikla"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Operacijų skambutyje veikla"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Užregistruoti telefono paskyrą"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Pradėti FGS (modeliuoti MT ir programą fone)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Pradėti siunčiamąjį skambutį"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Pradėti gaunamąjį skambutį"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"skambučio ID nenustatytas"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"atsakyti"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"atsijungti"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Garsiakalbis prie ausies"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Garsiakalbis"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"pradėti srautinį perdavimą"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-lv/strings.xml b/testapps/transactionalVoipApp/res/values-lv/strings.xml
index ae6896f..8982951 100644
--- a/testapps/transactionalVoipApp/res/values-lv/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-lv/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transakciju API testa darbība"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Ar darījumiem saistītas darbības zvana laikā"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Reģistrēt tālruņa kontu"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Sākt FGS (simulēt mašīntulkojumu un lietotni fonā)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Sākt izejoša zvana simulāciju"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Sākt ienākoša zvana simulāciju"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"zvana ID nav iestatīts"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"atbildēt"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"pārtraukt"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Auss skaļrunis"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Skaļrunis"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"sākt straumēšanu"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-mk/strings.xml b/testapps/transactionalVoipApp/res/values-mk/strings.xml
index 8501eaf..4e4fddc 100644
--- a/testapps/transactionalVoipApp/res/values-mk/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-mk/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Активност на тестирање на API за трансакции"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Трансакциска активност во повикот"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Регистрирај телефонска сметка"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Започни FGS (симулирај MT + апликација во заднина)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Започни појдовен повик"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Започни дојдовен повик"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"не е поставен ID на повикувач"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"одговори"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"прекини врска"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Слушалка"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Звучник"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"започни стриминг"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ml/strings.xml b/testapps/transactionalVoipApp/res/values-ml/strings.xml
index 67e4e34..1de2525 100644
--- a/testapps/transactionalVoipApp/res/values-ml/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ml/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"ട്രാൻസാക്ഷണൽ API ടെസ്റ്റ് ആക്റ്റിവിറ്റി"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"ട്രാൻസാക്ഷണൽ ഇൻ കോൾ ആക്റ്റിവിറ്റി"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ഫോൺ അക്കൗണ്ട് രജിസ്റ്റർ ചെയ്യുക"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS ആരംഭിക്കുക (പശ്ചാത്തലത്തിൽ മെഷീൻ ട്രാൻസ്‌ലേഷൻ + ആപ്പ് സിമുലേറ്റ് ചെയ്യുക)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"ഔട്ട്‌ഗോയിംഗ് കോൾ ആരംഭിക്കുക"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ഇൻകമിംഗ് കോൾ ആരംഭിക്കുക"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"കോൾ ഐഡി സജ്ജീകരിച്ചിട്ടില്ല"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"സജീവമെന്ന് സജ്ജീകരിക്കുക"</string>
-    <string name="answer" msgid="5423590397665409939">"ഉത്തരം നൽകുക"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"സജീവമല്ലെന്ന് സജ്ജീകരിക്കുക"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"വിച്ഛേദിക്കുക"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ഇയർഫോൺ"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"സ്പീക്കർ"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"സ്‌ട്രീമിംഗ് ആരംഭിക്കുക"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-mn/strings.xml b/testapps/transactionalVoipApp/res/values-mn/strings.xml
index e4b6f36..a8fa6dd 100644
--- a/testapps/transactionalVoipApp/res/values-mn/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-mn/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Гүйлгээний API-н туршилтын үйл ажиллагаа"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Дуудлагын үйл ажиллагааны гүйлгээ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Утасны бүртгэл бүртгүүлэх"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS-г эхлүүлэх (дэвсгэрт MT + аппыг загварчлах)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Залгасан дуудлагыг эхлүүлэх"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Ирсэн дуудлагыг эхлүүлэх"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"дуудлагын ID-г тохируулаагүй"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"хариулах"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"салгах"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Чихний спикер"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Чанга яригч"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"дамжуулалтыг эхлүүлэх"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-mr/strings.xml b/testapps/transactionalVoipApp/res/values-mr/strings.xml
index dfb3184..08a5a99 100644
--- a/testapps/transactionalVoipApp/res/values-mr/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-mr/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"व्यावहारिक API चाचणी अ‍ॅक्टिव्हिटी"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"कॉल अ‍ॅक्टिव्हिटी यामधील व्यवहार"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"फोन खात्याची नोंदणी करा"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS सुरू करा (बॅकग्राउंडमध्ये MT + अ‍ॅप सिम्युलेट करा)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"आउटगोइंग कॉल सुरू करा"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"इनकमिंग कॉल सुरू करा"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"कॉल आयडी सेट केलेला नाही"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"उत्तर"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"‍डिस्कनेक्ट करा"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"इअरपिस"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"स्पीकर"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ब्लूटूथ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"स्ट्रीम करणे सुरू करा"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ms/strings.xml b/testapps/transactionalVoipApp/res/values-ms/strings.xml
index 3005391..aed28d0 100644
--- a/testapps/transactionalVoipApp/res/values-ms/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ms/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Aktiviti ujian API transaksi"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transaksi Aktiviti Dalam Panggilan"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Daftar Akaun Telefon"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Mulakan FGS (simulasi MT + apl pada latar)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Mulakan Panggilan Keluar"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Mulakan Panggilan Masuk"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ID panggilan tidak ditetapkan"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"jawab"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"putuskan sambungan"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Alat dengar"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Pembesar suara"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"mulakan penstriman"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-my/strings.xml b/testapps/transactionalVoipApp/res/values-my/strings.xml
index 818a3f7..b013242 100644
--- a/testapps/transactionalVoipApp/res/values-my/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-my/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"အသိအမှတ်ပြုမှုဆိုင်ရာ API စမ်းသပ်လုပ်ဆောင်ချက်"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"ခေါ်ဆိုမှုလုပ်ဆောင်ချက်ရှိ မှတ်တမ်းဆိုင်ရာ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ဖုန်းအကောင့် မှတ်ပုံတင်ရန်"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS (အသွင်တူ MT + နောက်ခံရှိ အက်ပ်) စတင်ရန်"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"အထွက် ခေါ်ဆိုမှု စတင်ရန်"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"အဝင်ခေါ်ဆိုမှု စတင်ရန်"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ခေါ်ဆိုမှု id သတ်မှတ်မထားပါ"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"ပြောနေသည်ဟု သတ်မှတ်ရန်"</string>
-    <string name="answer" msgid="5423590397665409939">"ဖြေကြားရန်"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"ပြောမနေပါဟု သတ်မှတ်ရန်"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ချိတ်ဆက်မှုဖြုတ်ရန်"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"တယ်လီဖုန်းနားခွက်"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"စပီကာ"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ဘလူးတုသ်"</string>
-    <string name="start_stream" msgid="3567634786280097431">"တိုက်ရိုက်လွှင့်ခြင်း စတင်ရန်"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-nb/strings.xml b/testapps/transactionalVoipApp/res/values-nb/strings.xml
index ab0353d..50e83ab 100644
--- a/testapps/transactionalVoipApp/res/values-nb/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-nb/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Testaktivitet for Transactional API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transaksjonell i samtale-aktivitet"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registrer telefonkonto"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Start FGS (simuler MT + app i bakgrunnen)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Start utgående anrop"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Start innkommende anrop"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"anrops-ID er ikke angitt"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"svar"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"koble fra"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Ørehøyttaler"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Høyttaler"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"start strømming"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ne/strings.xml b/testapps/transactionalVoipApp/res/values-ne/strings.xml
index 3a12a70..1934bd2 100644
--- a/testapps/transactionalVoipApp/res/values-ne/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ne/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API को परीक्षणसम्बन्धी गतिविधि"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"कलमा क्लाइन्ट र सर्भरबिच गरिएको कुराकानीसम्बन्धी क्रियाकलाप"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"फोन खाता दर्ता गर्नुहोस्"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS सुरु गर्नुहोस् (ब्याकग्राउन्डमा MT + एप सिमुलेट गर्नुहोस्)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"बहिर्गमन कल सुरु गर्नुहोस्"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"आगमन कल सुरु गर्नुहोस्"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"कल ID सेट गरिएको छैन"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"कल उठाउनुहोस्"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"डिस्कनेक्ट गर्नुहोस्"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"इयरपिस"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"स्पिकर"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ब्लुटुथ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"स्ट्रिम गर्न थाल्नुहोस्"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-nl/strings.xml b/testapps/transactionalVoipApp/res/values-nl/strings.xml
index 7c9ce32..ae14093 100644
--- a/testapps/transactionalVoipApp/res/values-nl/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-nl/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Testactiviteit Transactional API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Beveiligd gesprek"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Telefoonaccount registreren"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Service op de voorgrond (FGS) starten (MT + app op de achtergrond simuleren)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Uitgaand gesprek starten"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Inkomend gesprek starten"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"Beller-ID niet ingesteld"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"antwoord"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"loskoppelen"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Oortelefoon"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Speaker"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"streamen starten"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-or/strings.xml b/testapps/transactionalVoipApp/res/values-or/strings.xml
index 7a805f4..30d64e2 100644
--- a/testapps/transactionalVoipApp/res/values-or/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-or/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"ଟ୍ରାଞ୍ଜେକସନାଲ API ପରୀକ୍ଷଣର କାର୍ଯ୍ୟକଳାପ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"ଟ୍ରାଞ୍ଜେକସନାଲ ଇନ କଲ କାର୍ଯ୍ୟକଳାପ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ଫୋନ ଆକାଉଣ୍ଟର ପଞ୍ଜିକରଣ କରନ୍ତୁ"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS ଆରମ୍ଭ କରନ୍ତୁ (ପୃଷ୍ଠପଟରେ MT + ଆପକୁ ସିମୁଲେଟ କରନ୍ତୁ)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"ଆଉଟଗୋଇଂ କଲ ଆରମ୍ଭ କରନ୍ତୁ"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ଇନକମିଂ କଲ ଆରମ୍ଭ କରନ୍ତୁ"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"କଲ ID ସେଟ କରାଯାଇନାହିଁ"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"ଉତ୍ତର ଦିଅନ୍ତୁ"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ଡିସକନେକ୍ଟ କରନ୍ତୁ"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ଇୟରପିସ"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"ସ୍ପିକର"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ବ୍ଲୁଟୁଥ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ଷ୍ଟ୍ରିମିଂ ଆରମ୍ଭ କରନ୍ତୁ"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-pa/strings.xml b/testapps/transactionalVoipApp/res/values-pa/strings.xml
index 8293899..a5647f8 100644
--- a/testapps/transactionalVoipApp/res/values-pa/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-pa/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"ਲੈਣ-ਦੇਣ API ਜਾਂਚ ਸਰਗਰਮੀ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"ਲੈਣ-ਦੇਣ ਸੰਬੰਧੀ ਇਨ-ਕਾਲ ਸਰਗਰਮੀ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ਫ਼ੋਨ ਖਾਤਾ ਰਜਿਸਟਰ ਕਰੋ"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS ਸ਼ੁਰੂ ਕਰੋ (ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ MT + ਐਪ ਨੂੰ ਸਿਮੂਲੇਟ ਕਰੋ)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"ਆਊਟਗੋਇੰਗ ਕਾਲ ਸ਼ੁਰੂ ਕਰੋ"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ਇਨਕਮਿੰਗ ਕਾਲ ਸ਼ੁਰੂ ਕਰੋ"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ਕਾਲਰ ਆਈਡੀ ਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"ਜਵਾਬ"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ਈਯਰਪੀਸ"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"ਸਪੀਕਰ"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"ਬਲੂਟੁੱਥ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ਸਟ੍ਰੀਮਿੰਗ ਸ਼ੁਰੂ ਕਰੋ"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-pl/strings.xml b/testapps/transactionalVoipApp/res/values-pl/strings.xml
index 3cb8ac4..7318386 100644
--- a/testapps/transactionalVoipApp/res/values-pl/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-pl/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Czynność testowa dotycząca transakcji związanej z interfejsem API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Aktywność transakcyjna w trakcie rozmowy"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Zarejestruj konto telefonu"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Uruchom FGS (symulacja MT + aplikacja w tle)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Rozpocznij połączenie wychodzące"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Rozpocznij połączenie przychodzące"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"nie ustawiono ID rozmówcy"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"ustawAktywny"</string>
-    <string name="answer" msgid="5423590397665409939">"odpowiedź"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"ustawNieaktywny"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"rozłącz"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Słuchawka"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Głośnik"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"rozpocznij transmisję"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-pt-rPT/strings.xml b/testapps/transactionalVoipApp/res/values-pt-rPT/strings.xml
index 6c4f149..7bf7490 100644
--- a/testapps/transactionalVoipApp/res/values-pt-rPT/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-pt-rPT/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Atividade de teste da API transacional"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transacional na atividade da chamada"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registar conta do telemóvel"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Iniciar FGS (simular TA + app em segundo plano)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Iniciar chamada feita"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Iniciar chamada recebida"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ID da chamada não definido"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"atender"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"desligar"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Auricular"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Altifalante"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"Iniciar stream"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-pt/strings.xml b/testapps/transactionalVoipApp/res/values-pt/strings.xml
index 97bba50..88ca27f 100644
--- a/testapps/transactionalVoipApp/res/values-pt/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-pt/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Atividade de teste da API transacional"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Atividade em chamadas transacionais"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registrar conta telefônica"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Iniciar FGS (simular MT + app em segundo plano)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Iniciar ligação efetuada"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Iniciar ligação recebida"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"identificador de chamadas não definido"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"resposta"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"desconectar"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Minifone de ouvido"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Alto-falante"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"Iniciar transmissão"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ro/strings.xml b/testapps/transactionalVoipApp/res/values-ro/strings.xml
index bb630a8..9e713df 100644
--- a/testapps/transactionalVoipApp/res/values-ro/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ro/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Activitate de testare a API-ului tranzacțional"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Activitate tranzacțională în timpul apelului"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Înregistrează contul de telefon"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Pornește FGS (simulează MT + aplicația în fundal)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Inițiază un apel efectuat"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Inițiază un apel primit"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ID-ul apelului nu este setat"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"răspuns"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"deconectează"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Cască"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Difuzor"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"începe streamingul"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ru/strings.xml b/testapps/transactionalVoipApp/res/values-ru/strings.xml
index 87c06f1..68f5a84 100644
--- a/testapps/transactionalVoipApp/res/values-ru/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ru/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Активность тестирования API транзакций"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Транзакции во время вызовов"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Зарегистрировать аккаунт телефона"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Запустить активную службу (симуляция МП + приложение в фоновом режиме)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Начать исходящий вызов"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Начать входящий вызов"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"идентификатор вызова не задан"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"Активировать"</string>
-    <string name="answer" msgid="5423590397665409939">"ответить"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"Деактивировать"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"разъединить"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Динамик телефона"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Колонка"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"Начать трансляцию"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-si/strings.xml b/testapps/transactionalVoipApp/res/values-si/strings.xml
index c28e166..9ab0739 100644
--- a/testapps/transactionalVoipApp/res/values-si/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-si/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"ගනුදෙනු API පරීක්ෂණ ක්‍රියාකාරකම්"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"ඇමතුම් ක්‍රියාකාරකම්වල ගනුදෙනු"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"දුරකථන ගිණුම ලියාපදිංචි කරන්න"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS අරඹන්න (පසුබිමේ MT + යෙදුම අනුකරණය කරන්න)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"පිටතට යන ඇමතුම අරඹන්න"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"එන ඇමතුම අරඹන්න"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"අමතුම්කරුගේ id සකසා නැත"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"පිළිතුරු දෙන්න"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"විසන්ධි කරන්න"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"සවන් කඩ"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"ස්පීකරය"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"බ්ලූටූත්"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ප්‍රවාහය අරඹන්න"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-sk/strings.xml b/testapps/transactionalVoipApp/res/values-sk/strings.xml
index 5e76289..5b641e9 100644
--- a/testapps/transactionalVoipApp/res/values-sk/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-sk/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Testovacia aktivita transakčného rozhrania API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transakčná aktivita počas hovoru"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registrovať telefónny účet"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Spustiť FGS (simulácia MT a aplikácie na pozadí)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Začať odchádzajúci hovor"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Začať prichádzajúci hovor"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"identifikátor hovoru nie je nastavený"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"prijať"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"odpojiť"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Slúchadlo"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Reproduktor"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"spustiť streamovanie"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-sl/strings.xml b/testapps/transactionalVoipApp/res/values-sl/strings.xml
index 435eac9..16f522d 100644
--- a/testapps/transactionalVoipApp/res/values-sl/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-sl/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Preizkusna dejavnost transakcijskega API-ja"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transakcijska dejavnost v klicu"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registracija telefonskega računa"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Zaženi FGS (simuliraj strojni prevod + aplikacijo v ozadju)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Začni odhodni klic"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Začni dohodni klic"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"id klica ni nastavljen"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"Nastavi kot aktivno"</string>
-    <string name="answer" msgid="5423590397665409939">"sprejmi"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"Nastavi kot neaktivno"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"prekini klic"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Slušalka"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Zvočnik"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"začni pretočno predvajanje"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-sq/strings.xml b/testapps/transactionalVoipApp/res/values-sq/strings.xml
index 3d18edf..975477e 100644
--- a/testapps/transactionalVoipApp/res/values-sq/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-sq/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Aktiviteti i testimit të API-së së transaksioneve"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Aktivitet transaksioni brenda telefonatës"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Regjistro llogarinë e telefonit"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Nis shërbimin FGS (simulo përkthimin kompjuterik dhe aplikacionin në sfond)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Nis një telefonatë dalëse"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Nis një telefonatë hyrëse"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ID-ja e telefonatës nuk është caktuar"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"përgjigju"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"shkëput"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Receptori"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Altoparlanti"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"nis transmetimin"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-sr/strings.xml b/testapps/transactionalVoipApp/res/values-sr/strings.xml
index df6a08b..dd5a3c0 100644
--- a/testapps/transactionalVoipApp/res/values-sr/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-sr/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Активност тестирања трансакционог API-ја"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Активност позива у вези са трансакцијама"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Региструј налог телефона"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Покрени FGS (симулирајте MT + апликацију у позадини)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Започните одлазни позив"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Започните долазни позив"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ИД позива није подешен"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"одговори"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"прекини везу"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Слушалица"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Звучник"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"почните да стримујете"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-sv/strings.xml b/testapps/transactionalVoipApp/res/values-sv/strings.xml
index 51d300a..f97e5a9 100644
--- a/testapps/transactionalVoipApp/res/values-sv/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-sv/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Aktiviteten Test av transaktions-API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transaktioner i samtalsaktivitet"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Registrera telefonkonto"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Starta FGS (simulera MT + app i bakgrunden)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Starta utgående samtal"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Starta inkommande samtal"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"nummerpresentatör inte inställd"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"svara"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"koppla från"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Lur"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Högtalare"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"starta streaming"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-sw/strings.xml b/testapps/transactionalVoipApp/res/values-sw/strings.xml
index 3ad2501..acba9c3 100644
--- a/testapps/transactionalVoipApp/res/values-sw/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-sw/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Shughuli za jaribio la API ya Uthibitishaji"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Shughuli ya Muamala Kwenye Simu"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Sajili Akaunti ya Simu"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Anzisha FGS (kuiga Tafsiri ya Mashine na programu katika hali ya chinichini)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Anzisha Uigaji wa Simu Unayopiga"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Anzisha Uigaji wa Simu Uliyopigiwa"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"kitambulisho cha anayepiga hakijawekwa"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"jibu"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ondoa"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Spika ya sikioni"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Spika"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"anzisha kutiririsha"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ta/strings.xml b/testapps/transactionalVoipApp/res/values-ta/strings.xml
index 884291d..4a01a58 100644
--- a/testapps/transactionalVoipApp/res/values-ta/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ta/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API சோதனை செயல்பாடு"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"டிரான்சாக்‌ஷனல் இன் கால் ஆக்டிவிட்டி"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"மொபைல் கணக்கைப் பதிவுசெய்தல்"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGSஸைத் தொடங்கு (MT + ஆப்ஸைப் பின்னணியில் சிமுலேட் செய்)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"வெளிச்செல்லும் அழைப்பைத் தொடங்கு"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"உள்வரும் அழைப்பைத் தொடங்கு"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"அழைப்பு ஐடி அமைக்கப்படவில்லை"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"செயலில் அமை"</string>
-    <string name="answer" msgid="5423590397665409939">"பதில்"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"செயலற்ற நிலையில் அமை"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"துண்டி"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ஒலி கேட்கும் பகுதி"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"ஸ்பீக்கர்"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"புளூடூத்"</string>
-    <string name="start_stream" msgid="3567634786280097431">"ஸ்ட்ரீமிங்கைத் தொடங்கு"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-te/strings.xml b/testapps/transactionalVoipApp/res/values-te/strings.xml
index b926d1a..060086f 100644
--- a/testapps/transactionalVoipApp/res/values-te/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-te/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"లావాదేవీల API టెస్ట్ యాక్టివిటీ"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"కాల్ యాక్టివిటీలో లావాదేవీ"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ఫోన్ ఖాతాను రిజిస్టర్ చేయండి"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS (అనుకరణ MT + బ్యాక్‌గ్రౌండ్‌లో యాప్)ను ప్రారంభించండి"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"అవుట్‌గోయింగ్ కాల్‌ను ప్రారంభించండి"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"ఇన్‌కమింగ్ కాల్‌ను ప్రారంభించండి"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"కాల్ id సెట్ చేయబడలేదు"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"సమాధానం"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"డిస్‌కనెక్ట్ చేయండి"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ఇయర్‌పీస్"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"స్పీకర్"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"బ్లూటూత్"</string>
-    <string name="start_stream" msgid="3567634786280097431">"స్ట్రీమింగ్‌ను ప్రారంభించండి"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-th/strings.xml b/testapps/transactionalVoipApp/res/values-th/strings.xml
index a1a9803..09ad2c5 100644
--- a/testapps/transactionalVoipApp/res/values-th/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-th/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"กิจกรรมการทดสอบ API ธุรกรรม"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"กิจกรรมธุรกรรมระหว่างการโทร"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"ลงทะเบียนบัญชีของโทรศัพท์"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"เริ่ม FGS (จําลอง MT + แอปในพื้นหลัง)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"เริ่มสายโทรออก"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"เริ่มสายเรียกเข้า"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ไม่ได้ตั้งค่าหมายเลขผู้โทร"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"ตั้งค่าเป็นใช้งานอยู่"</string>
-    <string name="answer" msgid="5423590397665409939">"คำตอบ"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"ตั้งค่าเป็นไม่ใช้งาน"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ยกเลิกการเชื่อมต่อ"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"หูฟังโทรศัพท์"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"ลำโพง"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"บลูทูธ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"เริ่มสตรีมมิง"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-tl/strings.xml b/testapps/transactionalVoipApp/res/values-tl/strings.xml
index d3399ff..fa0bfe5 100644
--- a/testapps/transactionalVoipApp/res/values-tl/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-tl/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Aktibidad ng pansubok na Transactional API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Transaksyonal na In Call na Aktibidad"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Irehistro ang Phone Account"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Simulan ang FGS (i-simulate ang MT + app sa background)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Magsimula ng Papalabas na Tawag"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Magsimula ng Papasok na Tawag"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"hindi naitakda ang call id"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"sagutin"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"idiskonekta"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Earpiece"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Speaker"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"simulan ang streaming"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-tr/strings.xml b/testapps/transactionalVoipApp/res/values-tr/strings.xml
index d9a94ab..489f2e7 100644
--- a/testapps/transactionalVoipApp/res/values-tr/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-tr/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API test etkinliği"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Görüşme İçin İşlem Etkinliği"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Telefon Hesabını Kaydet"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Ön plan hizmetlerini (FGS) başlat (makine çevirisi + arka plandaki uygulamayı simüle et)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Giden Arama Başlat"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Gelen Arama Başlat"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"arama kimliği ayarlanmadı"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"yanıtla"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"bağlantıyı kes"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Kulaklık"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Hoparlör"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"yayın başlat"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-uk/strings.xml b/testapps/transactionalVoipApp/res/values-uk/strings.xml
index e08728c..ffae40d 100644
--- a/testapps/transactionalVoipApp/res/values-uk/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-uk/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Тестування API підтвердження"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Трансакції під час викликів"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Зареєструвати обліковий запис телефона"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Запустити активний сервіс (симуляція МП + додаток у фоновому режимі)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Почати вихідний виклик"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Почати вхідний виклик"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"ідентифікатор виклику не налаштовано"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"позначити як активний"</string>
-    <string name="answer" msgid="5423590397665409939">"відповідь"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"позначити як неактивний"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"від’єднати"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Динамік"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Колонка"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"Почати трансляцію"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-ur/strings.xml b/testapps/transactionalVoipApp/res/values-ur/strings.xml
index e0e0c6e..0f5de18 100644
--- a/testapps/transactionalVoipApp/res/values-ur/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-ur/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"‏ٹرانزیکشنل API ٹیسٹ کی سرگرمی"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"کال کی سرگرمی میں ٹرانزیکشنل"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"فون کے اکاؤنٹ کو رجسٹر کریں"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"‏FGS شروع کریں ( بیک گراؤنڈ میں MT +‎ ایپ کی نقل کریں)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"آؤٹ گوئنگ کال شروع کریں"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"اِن کمنگ کال شروع کریں"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"‏کال ID سیٹ نہیں ہے"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"فعال پر سیٹ کریں"</string>
-    <string name="answer" msgid="5423590397665409939">"جواب"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"غیر فعال پر سیٹ کریں"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"غیر منسلک کریں"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"ایئر پیس"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"اسپیکر"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"بلوٹوتھ"</string>
-    <string name="start_stream" msgid="3567634786280097431">"سلسلہ بندی شروع کریں"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-uz/strings.xml b/testapps/transactionalVoipApp/res/values-uz/strings.xml
index 5421322..f12eac7 100644
--- a/testapps/transactionalVoipApp/res/values-uz/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-uz/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Tranzaksiyaviy API sinovi faoliyati"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Chaqiruvda tranzaksiya faoliyati"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Telefon hisobini ro‘yxatdan o‘tkazish"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"FGS boshlash (MT + fonda ilova simulyatsiyasi)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Chiquvchi chaqiruvni boshlash"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Kiruvchi chaqiruvni boshlash"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"chaqiruv id belgilanmagan"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"javob berish"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"uzish"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Quloq karnaychasi"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Karnay"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"strimingni boshlash"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-vi/strings.xml b/testapps/transactionalVoipApp/res/values-vi/strings.xml
index 88362e4..a4b78a0 100644
--- a/testapps/transactionalVoipApp/res/values-vi/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-vi/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Hoạt động kiểm tra cho API Xác nhận trao đổi"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Hoạt động giao dịch trong cuộc gọi"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Đăng ký tài khoản điện thoại"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Khởi động FGS (mô phỏng MT + ứng dụng trong nền)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Bắt đầu cuộc gọi đi"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Bắt đầu cuộc gọi đến"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"chưa đặt mã cuộc gọi"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"Đặt thành đang hoạt động"</string>
-    <string name="answer" msgid="5423590397665409939">"trả lời"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"Đặt thành không hoạt động"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"ngắt kết nối"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Loa tai nghe"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Loa"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"bắt đầu phát trực tuyến"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-zh-rCN/strings.xml b/testapps/transactionalVoipApp/res/values-zh-rCN/strings.xml
index 4b816ba..3b64e5c 100644
--- a/testapps/transactionalVoipApp/res/values-zh-rCN/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-zh-rCN/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"事务性 API 测试活动"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"通话活动中的事务"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"注册电话帐号"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"启动 FGS（在后台模拟 MT + 应用）"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"开始去电"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"开始来电"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"未设置来电显示/本机号码"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"回复"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"断开连接"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"手机听筒"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"扬声器"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"蓝牙"</string>
-    <string name="start_stream" msgid="3567634786280097431">"开始直播"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-zh-rHK/strings.xml b/testapps/transactionalVoipApp/res/values-zh-rHK/strings.xml
index 5b80831..5f03449 100644
--- a/testapps/transactionalVoipApp/res/values-zh-rHK/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-zh-rHK/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Transactional API 測試活動"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"交易來電活動"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"註冊電話帳戶"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"開始 FGS (模擬 MT + 背景應用程式)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"開始撥出電話"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"開始來電"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"未設定來電顯示"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"設為使用中"</string>
-    <string name="answer" msgid="5423590397665409939">"接聽"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"設為停用"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"解除連結"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"聽筒"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"喇叭"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"藍牙"</string>
-    <string name="start_stream" msgid="3567634786280097431">"開始串流播放"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-zh-rTW/strings.xml b/testapps/transactionalVoipApp/res/values-zh-rTW/strings.xml
index b8a2045..aaad5a3 100644
--- a/testapps/transactionalVoipApp/res/values-zh-rTW/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-zh-rTW/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"交易 API 測試活動"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"通話活動交易資訊"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"註冊電話帳戶"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"啟動 FGS (在背景模擬機器翻譯和應用程式)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"開始模擬撥出電話"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"開始模擬來電"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"未設定通話 ID"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"設為使用中"</string>
-    <string name="answer" msgid="5423590397665409939">"接聽"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"設為閒置"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"掛斷"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"耳機"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"喇叭"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"藍牙"</string>
-    <string name="start_stream" msgid="3567634786280097431">"開始串流播放"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/res/values-zu/strings.xml b/testapps/transactionalVoipApp/res/values-zu/strings.xml
index 8e14895..199d54e 100644
--- a/testapps/transactionalVoipApp/res/values-zu/strings.xml
+++ b/testapps/transactionalVoipApp/res/values-zu/strings.xml
@@ -18,18 +18,31 @@
 <resources xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <string name="app_name" msgid="2907804426411305091">"Umsebenzi wokuhlolwa kwe-Transactional API"</string>
-    <string name="in_call_activity_name" msgid="7545884666442897585">"Okwenziwayo Emsebenzini Wekholi"</string>
+    <!-- no translation found for in_call_activity_name (7545884666442897585) -->
+    <skip />
     <string name="register_phone_account" msgid="1920315963082350332">"Bhalisa I-akhawunti Yefoni"</string>
-    <string name="start_foreground_service" msgid="8968755699895128574">"Qala ama-FGS (lingisa i-app ye-MT + ngemuva)"</string>
-    <string name="start_outgoing" msgid="1441644037370361864">"Qala ikholi ephumela ngaphandle"</string>
-    <string name="start_incoming" msgid="6444983300186361271">"Qala Ikholi Engenayo"</string>
-    <string name="get_call_id" msgid="5513943242738347108">"I-ID yekholi ayisethiwe"</string>
-    <string name="set_call_active" msgid="3365404393507589899">"I-setActive"</string>
-    <string name="answer" msgid="5423590397665409939">"impendulo"</string>
-    <string name="set_call_inactive" msgid="7106775211368705195">"I-setInactive"</string>
-    <string name="disconnect_call" msgid="1349412380315371385">"nqamula"</string>
-    <string name="request_earpiece_endpoint" msgid="6649571985089296573">"Isipikha sendlebe"</string>
-    <string name="request_speaker_endpoint" msgid="1033259535289845405">"Isipikha"</string>
-    <string name="request_bluetooth_endpoint" msgid="5933254250623451836">"I-Bluetooth"</string>
-    <string name="start_stream" msgid="3567634786280097431">"Qala ukusakaza-bukhoma"</string>
+    <!-- no translation found for start_foreground_service (8968755699895128574) -->
+    <skip />
+    <!-- no translation found for start_outgoing (1441644037370361864) -->
+    <skip />
+    <!-- no translation found for start_incoming (6444983300186361271) -->
+    <skip />
+    <!-- no translation found for get_call_id (5513943242738347108) -->
+    <skip />
+    <!-- no translation found for set_call_active (3365404393507589899) -->
+    <skip />
+    <!-- no translation found for answer (5423590397665409939) -->
+    <skip />
+    <!-- no translation found for set_call_inactive (7106775211368705195) -->
+    <skip />
+    <!-- no translation found for disconnect_call (1349412380315371385) -->
+    <skip />
+    <!-- no translation found for request_earpiece_endpoint (6649571985089296573) -->
+    <skip />
+    <!-- no translation found for request_speaker_endpoint (1033259535289845405) -->
+    <skip />
+    <!-- no translation found for request_bluetooth_endpoint (5933254250623451836) -->
+    <skip />
+    <!-- no translation found for start_stream (3567634786280097431) -->
+    <skip />
 </resources>
diff --git a/testapps/transactionalVoipApp/src/com/android/server/telecom/transactionalVoipApp/InCallActivity.java b/testapps/transactionalVoipApp/src/com/android/server/telecom/transactionalVoipApp/InCallActivity.java
index b868b70..3e53800 100644
--- a/testapps/transactionalVoipApp/src/com/android/server/telecom/transactionalVoipApp/InCallActivity.java
+++ b/testapps/transactionalVoipApp/src/com/android/server/telecom/transactionalVoipApp/InCallActivity.java
@@ -57,6 +57,11 @@
         setContentView(R.layout.in_call_activity);
 
         Bundle extras = getIntent().getExtras();
+        // Copy the extras with properties like call direction into the extras so the below
+        // code can access them.
+        if (extras != null && extras.containsKey(Utils.sEXTRAS_KEY)) {
+            extras.putAll(extras.getBundle(Utils.sEXTRAS_KEY));
+        }
         if (extras != null) {
             mCallDirection = extras.getInt(Utils.sCALL_DIRECTION_KEY, DIRECTION_INCOMING);
         }
@@ -211,7 +216,7 @@
                         Utils.PHONE_ACCOUNT_HANDLE,
                         mCallDirection,
                         "Alan Turing",
-                        Uri.parse("tel:6506959001")).build();
+                        Uri.parse("tel:+16506959001")).build();
 
         mTelecomManager.addCall(callAttributes, Runnable::run,
                 new OutcomeReceiver<CallControl, CallException>() {
diff --git a/tests/src/com/android/server/telecom/tests/CallAudioModeStateMachineTest.java b/tests/src/com/android/server/telecom/tests/CallAudioModeStateMachineTest.java
index d0a1d8b..d7854a5 100644
--- a/tests/src/com/android/server/telecom/tests/CallAudioModeStateMachineTest.java
+++ b/tests/src/com/android/server/telecom/tests/CallAudioModeStateMachineTest.java
@@ -117,7 +117,7 @@
         when(mCallAudioManager.startRinging()).thenReturn(false);
 
         sm.sendMessage(CallAudioModeStateMachine.START_CALL_STREAMING, new Builder()
-                .setHasActiveOrDialingCalls(false)
+                .setHasActiveOrDialingCalls(true)
                 .setHasRingingCalls(false)
                 .setHasHoldingCalls(false)
                 .setIsTonePlaying(false)
diff --git a/tests/src/com/android/server/telecom/tests/CallsManagerTest.java b/tests/src/com/android/server/telecom/tests/CallsManagerTest.java
index 22a850f..8a7d22c 100644
--- a/tests/src/com/android/server/telecom/tests/CallsManagerTest.java
+++ b/tests/src/com/android/server/telecom/tests/CallsManagerTest.java
@@ -125,6 +125,7 @@
 import com.android.server.telecom.callfiltering.BlockedNumbersAdapter;
 import com.android.server.telecom.callfiltering.CallFilteringResult;
 import com.android.server.telecom.ui.AudioProcessingNotification;
+import com.android.server.telecom.ui.CallStreamingNotification;
 import com.android.server.telecom.ui.DisconnectedCallNotifier;
 import com.android.server.telecom.ui.ToastFactory;
 import com.android.server.telecom.voip.TransactionManager;
@@ -257,6 +258,7 @@
     @Mock private Ringer.AccessibilityManagerAdapter mAccessibilityManagerAdapter;
     @Mock private BlockedNumbersAdapter mBlockedNumbersAdapter;
     @Mock private PhoneCapability mPhoneCapability;
+    @Mock private CallStreamingNotification mCallStreamingNotification;
 
     private CallsManager mCallsManager;
 
@@ -327,7 +329,8 @@
                 command -> command.run(),
                 mBlockedNumbersAdapter,
                 TransactionManager.getTestInstance(),
-                mEmergencyCallDiagnosticLogger);
+                mEmergencyCallDiagnosticLogger,
+                mCallStreamingNotification);
 
         when(mPhoneAccountRegistrar.getPhoneAccount(
                 eq(SELF_MANAGED_HANDLE), any())).thenReturn(SELF_MANAGED_ACCOUNT);
@@ -939,6 +942,64 @@
 
     @SmallTest
     @Test
+    public void testAnswerThirdCallWhenTwoCallsOnDifferentSims_disconnectsHeldCall() {
+        // Given an ongoing call on SIM1
+        Call ongoingCall = addSpyCall(SIM_1_HANDLE, CallState.ACTIVE);
+        doReturn(true).when(ongoingCall).can(Connection.CAPABILITY_SUPPORT_HOLD);
+        doReturn(CallState.ACTIVE).when(ongoingCall).getState();
+        when(mConnectionSvrFocusMgr.getCurrentFocusCall()).thenReturn(ongoingCall);
+
+        // And a held call on SIM2, which belongs to the same ConnectionService
+        Call heldCall = addSpyCall(SIM_2_HANDLE, CallState.ON_HOLD);
+        doReturn(CallState.ON_HOLD).when(heldCall).getState();
+
+        // on answering an incoming call on SIM1, which belongs to the same ConnectionService
+        Call incomingCall = addSpyCall(SIM_1_HANDLE, CallState.RINGING);
+        mCallsManager.answerCall(incomingCall, VideoProfile.STATE_AUDIO_ONLY);
+
+        // THEN the previous held call is disconnected
+        verify(heldCall).disconnect();
+
+        // and the ongoing call is held
+        verify(ongoingCall).hold();
+
+        // and the focus request is sent
+        verifyFocusRequestAndExecuteCallback(incomingCall);
+        // and the incoming call is answered
+        verify(incomingCall).answer(VideoProfile.STATE_AUDIO_ONLY);
+    }
+
+    @SmallTest
+    @Test
+    public void testAnswerThirdCallDifferentSimWhenTwoCallsOnSameSim_disconnectsHeldCall() {
+        // Given an ongoing call on SIM1
+        Call ongoingCall = addSpyCall(SIM_1_HANDLE, CallState.ACTIVE);
+        doReturn(true).when(ongoingCall).can(Connection.CAPABILITY_SUPPORT_HOLD);
+        doReturn(CallState.ACTIVE).when(ongoingCall).getState();
+        when(mConnectionSvrFocusMgr.getCurrentFocusCall()).thenReturn(ongoingCall);
+
+        // And a held call on SIM1
+        Call heldCall = addSpyCall(SIM_1_HANDLE, CallState.ON_HOLD);
+        doReturn(CallState.ON_HOLD).when(heldCall).getState();
+
+        // on answering an incoming call on SIM2, which belongs to the same ConnectionService
+        Call incomingCall = addSpyCall(SIM_2_HANDLE, CallState.RINGING);
+        mCallsManager.answerCall(incomingCall, VideoProfile.STATE_AUDIO_ONLY);
+
+        // THEN the previous held call is disconnected
+        verify(heldCall).disconnect();
+
+        // and the ongoing call is held
+        verify(ongoingCall).hold();
+
+        // and the focus request is sent
+        verifyFocusRequestAndExecuteCallback(incomingCall);
+        // and the incoming call is answered
+        verify(incomingCall).answer(VideoProfile.STATE_AUDIO_ONLY);
+    }
+
+    @SmallTest
+    @Test
     public void testAnswerCallWhenNoOngoingCallExisted() {
         // GIVEN a CallsManager with no ongoing call.
 
diff --git a/tests/src/com/android/server/telecom/tests/RingerTest.java b/tests/src/com/android/server/telecom/tests/RingerTest.java
index abbfe34..a02415c 100644
--- a/tests/src/com/android/server/telecom/tests/RingerTest.java
+++ b/tests/src/com/android/server/telecom/tests/RingerTest.java
@@ -435,42 +435,65 @@
     }
 
     /**
-     * assert {@link Ringer#shouldRingForContact(Call, Context) } sets the Call object with suppress
-     * caller
-     *
-     * @throws Exception; should not throw exception.
+     * test shouldRingForContact will suppress the incoming call if matchesCallFilter returns
+     * false (meaning DND is ON and the caller cannot bypass the settings)
      */
     @Test
-    public void testShouldRingForContact_CallSuppressed() throws Exception {
+    public void testShouldRingForContact_CallSuppressed() {
         // WHEN
         when(mockCall1.wasDndCheckComputedForCall()).thenReturn(false);
         when(mockCall1.getHandle()).thenReturn(Uri.parse(""));
-
         when(mContext.getSystemService(NotificationManager.class)).thenReturn(
                 mockNotificationManager);
+        // suppress the call
         when(mockNotificationManager.matchesCallFilter(any(Bundle.class))).thenReturn(false);
 
-        // THEN
+        // run the method under test
         assertFalse(mRingerUnderTest.shouldRingForContact(mockCall1));
-        verify(mockCall1, atLeastOnce()).setCallIsSuppressedByDoNotDisturb(true);
+
+        // THEN
+        // verify we never set the call object and matchesCallFilter is called
+        verify(mockCall1, never()).setCallIsSuppressedByDoNotDisturb(true);
+        verify(mockNotificationManager, times(1))
+                .matchesCallFilter(any(Bundle.class));
     }
 
     /**
-     * assert {@link Ringer#shouldRingForContact(Call, Context) } sets the Call object with ring
-     * caller
-     *
-     * @throws Exception; should not throw exception.
+     * test shouldRingForContact will alert the user of an incoming call if matchesCallFilter
+     * returns true (meaning DND is NOT suppressing the caller)
      */
     @Test
-    public void testShouldRingForContact_CallShouldRing() throws Exception {
+    public void testShouldRingForContact_CallShouldRing() {
         // WHEN
         when(mockCall1.wasDndCheckComputedForCall()).thenReturn(false);
         when(mockCall1.getHandle()).thenReturn(Uri.parse(""));
+        // alert the user of the call
         when(mockNotificationManager.matchesCallFilter(any(Bundle.class))).thenReturn(true);
 
-        // THEN
+        // run the method under test
         assertTrue(mRingerUnderTest.shouldRingForContact(mockCall1));
-        verify(mockCall1, atLeastOnce()).setCallIsSuppressedByDoNotDisturb(false);
+
+        // THEN
+        // verify we never set the call object and matchesCallFilter is called
+        verify(mockCall1, never()).setCallIsSuppressedByDoNotDisturb(false);
+        verify(mockNotificationManager, times(1))
+                .matchesCallFilter(any(Bundle.class));
+    }
+
+    /**
+     * ensure Telecom does not re-query the NotificationManager if the call object already has
+     * the result.
+     */
+    @Test
+    public void testShouldRingForContact_matchesCallFilterIsAlreadyComputed() {
+        // WHEN
+        when(mockCall1.wasDndCheckComputedForCall()).thenReturn(true);
+        when(mockCall1.isCallSuppressedByDoNotDisturb()).thenReturn(true);
+
+        // THEN
+        assertFalse(mRingerUnderTest.shouldRingForContact(mockCall1));
+        verify(mockCall1, never()).setCallIsSuppressedByDoNotDisturb(false);
+        verify(mockNotificationManager, never()).matchesCallFilter(any(Bundle.class));
     }
 
     @Test
diff --git a/tests/src/com/android/server/telecom/tests/VoipCallMonitorTest.java b/tests/src/com/android/server/telecom/tests/VoipCallMonitorTest.java
index 346b3d8..c9ea34f 100644
--- a/tests/src/com/android/server/telecom/tests/VoipCallMonitorTest.java
+++ b/tests/src/com/android/server/telecom/tests/VoipCallMonitorTest.java
@@ -197,7 +197,7 @@
         ServiceConnection conn2 = captor2.getValue();
         conn2.onServiceConnected(mHandle1User1.getComponentName(), service);
 
-        mMonitor.stopFGSDelegation(mHandle1User1);
+        mMonitor.stopFGSDelegation(call1);
         verify(mActivityManagerInternal, timeout(TIMEOUT).times(1))
                 .stopForegroundServiceDelegate(eq(conn2));
         conn2.onServiceDisconnected(mHandle1User1.getComponentName());
diff --git a/tests/src/com/android/server/telecom/tests/VoipCallTransactionTest.java b/tests/src/com/android/server/telecom/tests/VoipCallTransactionTest.java
index e2c7b7b..0a7e27d 100644
--- a/tests/src/com/android/server/telecom/tests/VoipCallTransactionTest.java
+++ b/tests/src/com/android/server/telecom/tests/VoipCallTransactionTest.java
@@ -62,7 +62,7 @@
         private int mType;
 
         public TestVoipCallTransaction(String name, long sleepTime, int type) {
-            super(mLock);
+            super(VoipCallTransactionTest.this.mLock);
             mName = name;
             mSleepTime = sleepTime;
             mType = type;
