Ứng dụng cuộc gọi giả hoạt động thế nào? Giải thích công nghệ
Từ CallKit đến giọng AI: góc nhìn kỹ thuật dễ hiểu về cách ứng dụng cuộc gọi giả mô phỏng cuộc gọi đến thật trên iPhone và Android, và vì sao khoảng cách công nghệ lại quan trọng.
BTác giả: Baptiste Garcia
Trong bài này
Trả lời ngắn gọn
Ứng dụng cuộc gọi giả hoạt động bằng cách kích hoạt một cuộc gọi đến được mô phỏng, hoàn toàn ngay trên điện thoại của bạn. Những ứng dụng tốt nhất dùng framework CallKit của Apple để hiển thị màn hình cuộc gọi thật của iOS, đầy đủ nhạc chuông, hiển thị trên màn hình khóa và có cả trong mục cuộc gọi gần đây. Các ứng dụng kém hơn chỉ hiện một thông báo hoặc lớp phủ tự vẽ. Cuộc gọi không bao giờ đi qua mạng điện thoại, nên chẳng có gì để truy vết. Các ứng dụng hiện đại còn bổ sung giọng AI, hẹn giờ và thậm chí kích hoạt từ Apple Watch để bạn không cần chạm vào điện thoại.Có lẽ bạn đã từng thấy một ứng dụng cuộc gọi giả hoạt động, trong một video TikTok chỉ cách thoát thân hay khi một người bạn chuồn khỏi bữa tiệc. Nhưng thực chất bên trong, nó hoạt động thế nào? Câu trả lời thú vị hơn bạn nghĩ, vì khoảng cách giữa một ứng dụng rẻ tiền dựa trên thông báo và một ứng dụng xây dựng trên framework cuộc gọi gốc của Apple là rất lớn. Chính khoảng cách đó quyết định người ngồi đối diện sẽ tin hay nhìn thấu ngay lập tức.
Bài viết này giải thích phần công nghệ thật sự phía sau: điều gì xảy ra khi điện thoại “đổ chuông”, vì sao có ứng dụng trông y hệt cuộc gọi thật còn có ứng dụng lộ rõ là giả, và vai trò của giọng AI, tính năng hẹn giờ cũng như kích hoạt từ thiết bị đeo. Nếu bạn vẫn đang làm quen với khái niệm này, bài giải thích cuộc gọi giả thực chất là gì là điểm khởi đầu tốt.
Điều gì xảy ra khi ứng dụng cuộc gọi giả đổ chuông?
Ở mức cơ bản nhất, ứng dụng cuộc gọi giả chỉ làm một việc: báo cho hệ điều hành của điện thoại rằng có một cuộc gọi đến, dù thật ra không có ai gọi cả. Trên iPhone, tiêu chuẩn vàng là framework CallKit của Apple. Khi một ứng dụng gọi phương thức reportNewIncomingCall của CallKit, iOS coi đó là một cuộc gọi VoIP thật. Hệ thống tiếp quản và hiển thị giao diện cuộc gọi đến gốc, chính là giao diện toàn màn hình bạn thấy với FaceTime, WhatsApp hay bất kỳ ứng dụng gọi điện nào khác.
Đây không phải lớp phủ hay ảnh chụp màn hình cuộc gọi. Đó là màn hình cuộc gọi thật của hệ thống, do chính iOS hiển thị. Nghĩa là nó hoạt động y hệt: đổ chuông trên màn hình khóa, phát âm thanh qua loa thoại hoặc loa ngoài, hiện tên và ảnh người gọi bạn đã cài đặt, và sau khi bạn “nghe máy” rồi “cúp máy”, cuộc gọi xuất hiện trong tab Gần đây của ứng dụng Điện thoại. Về hình ảnh, không có gì khác biệt, vì iOS hiển thị đúng màn hình mà nó vẫn dùng cho cuộc gọi thật.
Ứng dụng CallKit và ứng dụng dựa trên thông báo: vì sao điều này quan trọng
Không phải ứng dụng cuộc gọi giả nào cũng dùng CallKit, và những ứng dụng bỏ qua nó cho kết quả kém hơn thấy rõ. Dưới đây là so sánh hai cách làm.
Ứng dụng dùng CallKit (hàng thật)
- iOS hiển thị màn hình cuộc gọi thật của hệ thống, gồm cả nút xanh Chấp nhận và nút đỏ Từ chối, ảnh người gọi và nền làm mờ.
- Cuộc gọi đổ chuông trên màn hình khóa, nên nó hoạt động cả khi bạn không cầm điện thoại. Điều này cực kỳ quan trọng để cuộc gọi trông đáng tin: chẳng ai cầm điện thoại lên, mở một ứng dụng rồi mới có cuộc gọi đến.
- Một mục trong danh sách gần đây được tạo tự động. Nếu sau đó có ai liếc qua danh sách cuộc gọi gần đây, họ sẽ thấy một mục nhật ký cuộc gọi trông bình thường. Bạn tò mò liệu mục đó có gây rắc rối gì không? Bài viết cuộc gọi giả có hiện trong lịch sử cuộc gọi không sẽ nói chi tiết.
- Âm thanh phát qua loa thoại y như cuộc gọi thật, nên giọng nói ở đầu dây bên kia nghe tự nhiên và phát ra đúng vị trí.
Ứng dụng dựa trên thông báo hoặc lớp phủ
- Ứng dụng tự vẽ một màn hình cuộc gọi giả bên trong cửa sổ của chính nó. Thoạt nhìn có thể thuyết phục, nhưng chỉ khi ứng dụng đang mở và hiển thị trên màn hình.
- Không đổ chuông trên màn hình khóa. Nếu điện thoại đang khóa hoặc ở chế độ ngủ, cùng lắm bạn chỉ nhận được một biểu ngữ thông báo. Nó chẳng giống cuộc gọi đến chút nào, và ai từng dùng điện thoại năm phút cũng sẽ nhận ra.
- Không có mục trong danh sách gần đây. Cuộc gọi không để lại dấu vết gì trong nhật ký cuộc gọi tích hợp của iOS, và đó là sơ hở nếu có ai tình cờ xem.
- Âm thanh thường phát qua kênh đa phương tiện thay vì loa thoại, nghĩa là âm lượng được điều khiển bằng thanh âm lượng phương tiện chứ không phải âm lượng cuộc gọi. Chi tiết nhỏ, nhưng nó thay đổi cách âm thanh phát ra.
Kết luận rất đơn giản: nếu ứng dụng không dùng CallKit (trên iPhone), màn kịch chỉ thuyết phục khi bạn đang nhìn chằm chằm vào ứng dụng. Ngay khi điện thoại khóa hoặc có ai liếc ngang qua màn hình, mọi thứ sẽ bị lộ.
Mô phỏng VoIP diễn ra ngay trên máy như thế nào
Từ “VoIP” có thể khiến bạn nghĩ rằng cuộc gọi đang đi qua internet, nhưng trong một ứng dụng cuộc gọi giả, không có cuộc trò chuyện nào được truyền đi cả. CallKit ban đầu được xây dựng cho các ứng dụng như WhatsApp hay Signal, vốn nhận cuộc gọi VoIP thật qua internet. Ứng dụng cuộc gọi giả dùng cùng API đó nhưng không có ai ở đầu dây bên kia. Hãy hình dung như bạn tự gửi một lá thư cho chính mình qua hộp thư nội bộ trong nhà.
Đây là trình tự đơn giản hóa của những gì diễn ra:
- Bạn hẹn giờ một cuộc gọi trong ứng dụng, chọn tên liên hệ, ảnh, nhạc chuông và độ trễ (ví dụ “đổ chuông sau 30 giây”).
- Đến giờ hẹn. Khi đếm ngược về 0, ứng dụng báo cho CallKit một cuộc gọi đến mới với các thông tin bạn đã cài đặt.
- iOS tiếp quản. Hệ thống hiển thị màn hình cuộc gọi, phát nhạc chuông qua loa và làm điện thoại rung. Bạn thấy cùng giao diện mà mọi người thấy với bất kỳ cuộc gọi nào.
- Bạn nghe máy. Khi bạn vuốt hoặc chạm vào nút xanh, ứng dụng có thể phát âm thanh: một kịch bản thu sẵn, một giọng do AI tạo ra, hoặc im lặng (nếu bạn muốn tự nói hết).
- Bạn cúp máy. Cuộc gọi kết thúc, một mục trong danh sách gần đây được tạo, và thế là xong. Không có số nào được quay và không có nhà mạng nào tham gia.
Vì không có cuộc gọi nào thật sự được thực hiện, nhà mạng của bạn không lưu bản ghi cuộc gọi nào, và chẳng có gì để bộ lọc cuộc gọi rác hay cơ sở dữ liệu nhận diện số gọi đến gắn cờ. Đây là điểm khác biệt then chốt giữa cuộc gọi giả và giả mạo số người gọi, một công nghệ hoàn toàn khác (và thường là bất hợp pháp).
Giọng AI và phát âm thanh
Những ứng dụng cuộc gọi giả đời đầu chỉ phát một file âm thanh đơn giản, có khi chỉ vài giây một giọng chung chung nói “a lô?”. Lúc cấp bách thì cũng tạm được, nhưng nó có nghĩa là bạn đang nói chuyện với một bản ghi âm chẳng linh hoạt chút nào. Nếu bạn ngừng sai lúc hay nói điều gì đó bản ghi không khớp được, màn kịch sẽ bắt đầu lộ sơ hở.
Các ứng dụng hiện đại tiếp cận theo cách khác. Chúng dùng công cụ chuyển văn bản thành giọng nói và đôi khi cả mô hình giọng AI hoàn chỉnh để tạo ra phần nói của người gọi. Bạn viết (hoặc chọn) một kịch bản cho người ở đầu dây bên kia, và ứng dụng tổng hợp giọng nói nghe tự nhiên, hợp ngữ cảnh. Một số ứng dụng còn cho bạn chọn nhiều kiểu giọng: nam, nữ, trẻ, lớn tuổi hoặc có một chất giọng vùng miền nhất định.
Kết quả là âm thanh phát qua loa thoại trong suốt cuộc gọi, có những khoảng ngừng để bạn đáp lời tự nhiên. Vì CallKit định tuyến âm thanh cuộc gọi qua kênh gọi điện của máy, giọng nói phát ra từ loa thoại ở phía trên điện thoại, đúng chỗ giọng người gọi thật sẽ phát ra. Ai đứng gần bạn sẽ nghe thấy tiếng nói lào xào, y như khi bạn nghe một cuộc gọi thật.
Nếu bạn muốn thử viết kịch bản cho phía bên kia của cuộc trò chuyện, công cụ tạo kịch bản cuộc gọi giả miễn phí của chúng tôi giúp bạn soạn một đoạn hội thoại nghe tự nhiên chỉ trong vài giây.
Hẹn giờ và các cách kích hoạt
Với cuộc gọi giả, thời điểm là tất cả. Nếu bạn phải rút điện thoại ra, mở ứng dụng và bấm nút ngay trước mặt người mà bạn đang muốn thoát khỏi, mọi thứ sẽ đổ vỡ. Vì thế, hẹn giờ là một trong những tính năng quan trọng nhất của bất kỳ ứng dụng cuộc gọi giả nào.
Phiên bản đơn giản nhất là bộ đếm ngược: đặt độ trễ năm phút, cất điện thoại đi và chờ nó đổ chuông. Các ứng dụng nâng cao hơn cho phép lên lịch kiểu lịch hẹn, tức là chọn ngày và giờ cụ thể. Điều này hữu ích khi bạn biết trước một cuộc họp hay bữa tối có thể kéo dài và bạn muốn có sẵn lối thoát vào lúc, chẳng hạn, 20 giờ 15.
Rồi còn có kích hoạt từ thiết bị đeo. Ví dụ, Introscape cho phép bạn kích hoạt cuộc gọi giả từ Apple Watch. Một cú chạm kín đáo trên cổ tay và ba giây sau điện thoại bắt đầu đổ chuông. Không ai thấy bạn động vào điện thoại cả. Điều này đặc biệt hữu ích trong những tình huống giao tiếp mà chỉ riêng việc rút điện thoại ra cũng đã trông đáng ngờ.
Một chi tiết đáng biết về iPhone: iOS giới hạn những gì ứng dụng được làm khi chạy nền, nên một ứng dụng làm tốt sẽ chuẩn bị trước để đổ chuông đúng giờ, kể cả khi màn hình đang khóa và ứng dụng đã đóng. Khi điện thoại đang khóa và không có mạng, các cuộc gọi hẹn giờ trước hơn 30 giây sẽ kém ổn định hơn; lúc đó, một bộ đếm ngược ngắn hoặc kích hoạt thủ công (như chạm trên Watch) là lựa chọn đáng tin cậy.
Tích hợp màn hình khóa và chế độ Không làm phiền
Một cuộc gọi đến thật hoạt động theo cách rất riêng: nó làm sáng màn hình khóa, hiện giao diện toàn màn hình và phát nhạc chuông (hoặc chỉ rung nếu iPhone đang ở chế độ im lặng). Một ứng dụng cuộc gọi giả chất lượng dùng CallKit tái hiện được tất cả những điều này, vì chính iOS đảm nhận việc hiển thị chứ không phải ứng dụng.
Có vài hành vi ở cấp hệ thống đáng tìm hiểu:
- Màn hình khóa. Cuộc gọi CallKit đổ chuông trên màn hình khóa y như FaceTime hay WhatsApp. Bạn không cần mở khóa điện thoại để thấy hay nghe máy. Đây là dấu hiệu lớn nhất phân biệt ứng dụng tốt với ứng dụng kém.
- Không làm phiền / chế độ Tập trung. Nếu bạn đang bật Không làm phiền hoặc một chế độ Tập trung, iOS có thể chặn thông báo cuộc gọi tùy theo cài đặt của bạn. Giống như một cuộc gọi VoIP thật, cuộc gọi giả tuân theo mọi quy tắc bạn đã đặt. Nếu muốn cuộc gọi đến được, hãy đảm bảo cài đặt Tập trung cho phép nó.
- Chế độ im lặng. Khi nút gạt im lặng đang bật, điện thoại sẽ rung nhưng không đổ chuông thành tiếng, y như với một cuộc gọi thật. Nếu bạn cần tiếng chuông vang lên (để màn diễn thuyết phục hơn), hãy tắt chế độ im lặng từ trước.
Muốn xem toàn bộ trải nghiệm trông và nghe ra sao trước khi tải bất cứ thứ gì? Demo cuộc gọi giả miễn phí trên trình duyệt của chúng tôi mô phỏng toàn bộ diễn biến cuộc gọi để bạn cảm nhận được thời điểm và cách hiển thị.
Còn Android thì sao?
Android không có thứ tương đương chính xác với CallKit, nên bức tranh đa dạng hơn. Những ứng dụng cuộc gọi giả chân thực nhất trên Android kết hợp framework Telecom (API ConnectionService) với lớp phủ tự thiết kế để bắt chước màn hình cuộc gọi gốc của máy. Vì mỗi hãng (Samsung, Pixel, OnePlus, Xiaomi) có thiết kế màn hình cuộc gọi riêng, một số ứng dụng cung cấp nhiều “giao diện” để cuộc gọi giả khớp với đúng mẫu điện thoại của bạn.
Android cũng có một quyền gọi là Hiển thị trên các ứng dụng khác (còn gọi là quyền lớp phủ). Các ứng dụng dựa vào quyền này có thể hiện màn hình cuộc gọi đè lên mọi thứ đang chạy, kể cả màn hình khóa. Tuy nhiên, nếu người dùng chưa cấp quyền này, hoặc nhà sản xuất điện thoại hạn chế mạnh hoạt động chạy nền, cuộc gọi giả có thể hoàn toàn không xuất hiện khi màn hình đang tắt.
Nguyên tắc chung vẫn giống iPhone: ứng dụng tích hợp càng sâu với hệ thống gọi điện của máy, kết quả càng thuyết phục. Chỉ là trên Android bạn phải tính tới nhiều biến số hơn, vì hệ sinh thái phân mảnh hơn.
Quyền riêng tư và an toàn
Vì cuộc gọi giả diễn ra hoàn toàn trên máy, nó đặt ra ít vấn đề về quyền riêng tư hơn nhiều so với bạn tưởng. Đây là những điểm chính:
- Không dùng mạng điện thoại. Không có cuộc gọi nào được thực hiện và không có số nào được quay. Cuộc gọi chỉ tồn tại trên thiết bị của bạn, và chút dữ liệu cần thiết để hẹn giờ cuộc gọi được bí danh hóa.
- Không giả mạo số người gọi. Giả mạo số là gửi một số người gọi bị làm giả tới điện thoại của người khác. Cuộc gọi giả làm điều ngược lại: nó làm điện thoại của chính bạn đổ chuông với cái tên do bạn chọn. Điện thoại của người khác không bị ảnh hưởng gì.
- Mục cuộc gọi gần đây chỉ nằm trên máy. Mục nhật ký cuộc gọi xuất hiện sau khi bạn cúp máy chỉ tồn tại trên thiết bị của bạn. Nó không được đồng bộ với nhà mạng và không ai thấy được nếu không cầm trực tiếp điện thoại của bạn.
- Biết dữ liệu giọng nói đi đâu. Giọng AI được tạo từ kịch bản bạn nhập, rồi được phát trên điện thoại của bạn. Một ứng dụng đáng tin sẽ cho bạn biết nó làm gì với đoạn văn bản đó.
Để tìm hiểu kỹ hơn liệu ai đó có thể phát hiện cuộc gọi sau khi sự việc đã qua hay không, bài viết người khác có nhận ra đó là cuộc gọi giả không phân tích cả khía cạnh hình ảnh lẫn hành vi.
Nguồn và tài liệu tham khảo
- Apple Developer: CallKit: tài liệu chính thức của Apple về framework cho phép ứng dụng hiển thị giao diện cuộc gọi đến gốc, báo cuộc gọi cho hệ thống và tích hợp với danh sách cuộc gọi gần đây của máy.
- Apple Developer: reportNewIncomingCall: phương thức CallKit cụ thể kích hoạt thông báo cuộc gọi đến trên iOS, lời gọi API duy nhất khiến cuộc gọi giả trông y hệt cuộc gọi thật.
- Android Developer: ConnectionService: thành phần tương đương của Android để tích hợp với hệ thống gọi điện, được các ứng dụng cuộc gọi giả chân thực nhất trên Android sử dụng.
Ý chính cần nhớ
- Ứng dụng dùng CallKit hiển thị màn hình cuộc gọi thật của iOS vì chính iOS vẽ giao diện, khiến cuộc gọi giả trông y hệt cuộc gọi thật.
- Ứng dụng dựa trên thông báo bỏ qua CallKit và chỉ hoạt động khi ứng dụng đang mở, nên màn kịch đổ bể ngay trên màn hình khóa.
- Bản thân cuộc gọi diễn ra trên máy: không qua mạng điện thoại, không qua nhà mạng và không có gì để truy vết.
- Giọng AI, hẹn giờ và kích hoạt từ Apple Watch biến một tiếng chuông giả đơn giản thành lối thoát thuyết phục, không cần chạm vào điện thoại.