はじめに
公式電話番号を使った発信アプリや、セキュアな通話機能を持つモバイルアプリケーションを開発する際、**「本当に許可されたユーザー(端末)からの発信か?」**を担保することは非常に重要です。
本記事では、Vonage CPaaSが提供する多要素認証API「Verify V2」を用いてAndroid端末の認証を行い、認証に成功した端末からのみVonageの電話番号を使って外線発信(PSTN発信)を可能にするデモアプリケーションを紹介します。
リポジトリURL: masayukimiyazawa/verify-inappvoice-andoid-app-demo
デモアプリの概要
このデモアプリは、Androidネイティブ環境において以下の2つのコア機能を組み合わせた実践的なショーケースです。
-
Verify V2による端末(ユーザー)認証
アプリ利用開始時に本人確認を行い、不正な利用を防ぎます。 -
Vonage Client SDKを利用した外線発信
認証を通過した端末に対し、Vonageの電話番号と回線を紐付け、アプリから一般の電話番号(PSTN)へ発信できるソフトフォン機能を提供します。
想定されるユースケース
-
ビジネス向けの内線・外線アプリ
社員の個人スマホからでも、代表番号や部門番号を通知して顧客に電話をかけられるセキュアな通話アプリ。 -
プラットフォームの匿名通話機能
デリバリーや配車サービスなど、エンドユーザー同士が互いの電話番号を知ることなく、プラットフォーム側のVonage番号を介して通話する仕組みのフロントエンドとして。
主な処理フロー
このデモアプリでは、利用者がアプリを立ち上げてから通話を開始するまで、以下のようなステップを踏みます。
1. 認証の開始 (Verify V2)
ユーザーがアプリ上で電話番号等の情報を入力し、認証をリクエストします。Vonage Verify V2 APIを通じて、OTP(ワンタイムパスワード)が送信されます。
2. コードの入力と照合
ユーザーは受け取ったOTPをアプリ画面に入力します。バックエンド(またはAPI)でコードの検証が行われ、成功すると該当端末が「正当なユーザー」として認可されます。
3. VoIPセッションの確立
認証成功後、アプリはVonage Client SDK(Voice機能)の初期化とログインを行います。これにより、端末はVonageネットワーク上のエンドポイントとして通話が可能な状態になります。
4. 外線発信 (Outbound Call)
ユーザーがアプリのダイヤルパッド等から通話先の電話番号を入力して発信します。発信はインターネット(VoIP)経由でVonageプラットフォームに届き、そこからVonageの電話番号を送信元(Caller ID)として、指定された一般電話(PSTN)へと接続されます。
技術スタック
本デモは以下の技術要素で構成されています。
- プラットフォーム: Android (Kotlin)
-
API / SDK:
- Vonage Verify V2 API: 安全かつオムニチャネル対応のワンタイムパスワード生成・検証。
- Vonage Client SDK (Android): アプリ内へのVoIP機能の組み込み、および外線通話の制御。
試してみるには
ご自身の環境でデモを動かすための基本的な手順についての詳細はリポジトリの README.md をご参照ください。