メニュー

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

FAQ

Registration

  • これまでTwilioClient 1.2 SDKを使用しており、Programmable Voice SDKに移行したばかりです。 ケイパビリティートークンの使用すると「認証エラー」が表示されるのはなぜですか?
    • Programmable Voice SDKにおける認証には、Twilioアクセストークンと呼ばれる新しいトークン形式が必須です。 トークンを供給するエンドポイントでアプリケーションに対してアクセストークンを生成するよう更新してください。
  • アクセストークンを供給するエンドポイントを作成しましたが、着信通話のプッシュ通知に対する登録に失敗し続けるのはなぜですか?
    • Programmable Voice SDK用に、アクセストークンに VoiceGrant を追加しているか確認してください。
    • アクセストークンの作成に不正なAPIキーとシークレットを使用していた可能性があります。 APIキーが作成されたらこれを外部に公開しないよう管理してください。 またアクセストークンを作成するにはAPIキーとシークレット両方を使用してください。
    • Twilioによって許可されている最大有効期限は24時間、すなわち86,400秒です。 有効期限が <= (86400 -1) となっていることを確認してください。
    • APIキーとシークレットがメインアカウントとサブアカウントとの間で共有可能になっていません。
    • アクセストークンの identity が空ではないことを確認してください。
  • SDKが登録成功を知らせているにも関わらず、着信通話のプッシュ通知が受信されないのはなぜですか?
    • Twilio Programmable Voice iOS SDKでは、Twilioが開発者に代わってVoIPプッシュ通知を送信できるようにするため、AppleのVoIP Service証明書が必須です。 通常のAPNS証明書を使用する場合、TwilioはAppleのVoIP Serviceエンドポインとへのプッシュ通知の送信に失敗します。
    • VoIP Service証明書の作成には新鮮なCSR (証明書署名リクエスト) を使用してください。 前回のAPNS証明書の作成に使用されたCSRの使用は、VoIP Service証明書でサービスタイプの混乱を引き起こします。
    • 開発フェーズの期間中は、「sandbox」オプションのチェックをオンにした状態でプッシュクレデンシャルを作成し、Appのplistに「APS Environment: development」が存在するようにしてください。 AppのStoreへの申請準備が整ったら、plistを「APS Environment: production」に更新し、sandboxオプションのチェックをオフにした状態で別個のプッシュクレデンシャルを作成してください。
    • `PKPushRegistry を使用してリクエストされたデバイストークンを変更していないこと、そしてこれを登録方法として使用していることを確認してください。
    /* Obj-C */
    - (void)pushRegistry:(PKPushRegistry *)registry
            didUpdatePushCredentials:(PKPushCredentials *)credentials
                 forType:(NSString *)type {
        self.deviceToken = [credentials.token description];
        // Call registerWithAccessToken:deviceToken:completion: ...
    }
    /* Swift */
    func pushRegistry(_ registry: PKPushRegistry, didUpdate credentials: PKPushCredentials, forType type: PKPushType) {
        let deviceToken = (credentials.token as NSData).description
        self.deviceTokenString = deviceToken
        // Call registerWithAccessToken:deviceToken:completion: ...
    }

インストール

  • pod install を実行しましたが、最新バージョンのSDKが見つかりません
    • Cocoapods v1.xを使用している場合は、新バージョンのVoice SDKをインストールする前に pod repo update を実行してください。
  • 「Include of non-modular header inside framework module 'TwilioVoiceClient’ (フレームワークモジュール『TwilioVoiceClient』内に非モジュラーヘッダーが含まれています) という出力があり、Swift AppにCocoapodsを使用したSDKのインストールが行えません。
    • Cocoapodsライブラリーを最新バージョンに更新してください。

CallKit

  • CXStartCallAction リクエストを CXCallController に送信時に @"com.apple.CallKit.error.requesttransaction" - code: 1 エラーが発生し、SDKを使用して通話を発信できません。
    • AppのProject Settingsの Capabilities ページにアクセスし、Voice over IP オプションがオンになっているか確認してください。

Audio

  • 「failed to create audio device (オーディオデバイスの作成に失敗しました」というエラーが表示されるのはなぜですか?
    • Programmable Voice iOS SDKではシステムのオーディオデバイスのプロパティーにアクセスするため、AVAudioSession のカテゴリーが .playAndRecord である必要があります。 AVAudioSession に対して特別な操作の実行が必要な場合、通話の発着信に先立ってカテゴリーを .playAndRecord に戻すようにしてください。
  • 通話中にオーディオを録音できますか?
    • AVAudioRecorder を使用してアクティブな通話中にオーディオを録音することができますが、デバイスの入力ソースの録音のみが可能という制限があります。

役に立つツールとリンク集

How to file a support ticket or create a GitHub issue

弊社ではご意見やご質問、ことにデバッグに役立つ情報の添えられたものを歓迎し、迅速に診断およびお答えします。 Issueやサポートチケットの送信時には、以下についてお知らせいただけると幸いです:

  • 説明 - 実現しようとしていること、再現手順、発生し散る事象。
  • SDKのバージョン
  • SDKのverbose log - 弊社チームがデバッグを行う上で、SDKログは常に最良の資料になります。 SDKのログレベルの構成:
    /* Obj-C */
    [VoiceClient setLogLevel:TVOLogLevelVerbose];
    /* Swift */ 
    VoiceClient.logLevel = .verbose
  • TwilioのアカウントSID
  • TwilioのCall SID

役立つ情報をすべて収集したら、下記のリンクを使用してお問い合わせください:

サポートチケットよりGitHubでのIssueの発行 (英語) をお勧めします。 コミュニティー全体の利益となるためです。

GitHubのIssueにはいかなる機密情報も含めないようご注意ください。 認証トークン、署名用キーのシークレットなどが含まれます。 シークレットを共有する必要がある場合は、必ずtwilio_support@kddi-web.comにメールを送信するようにし、GitHubのIssueへの参照を含めるようにしてください。

Rate this page:

ヘルプが必要ですか?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.