2016-11-12 8 views
1

エラーがTwilioボイスクライアントのユーザーを登録しようとしているときに、私は次のエラーを取得しています

    :ここ

    [ERROR VoiceClient] Inside register:deviceToken:completion:, failed to register for Twilio push notifications. Error:Failed to register. Code: 6.

    が設定され

  • プッシュ認証がTwilioに登録されています。 VoIPプッシュ証明書が登録されており、プッシュの種類はプロダクションモードのみです。アプリIDが「com.bundle.appIDX」であるとします。
  • 正しいプッシュ資格情報がIpMessagingGrantオブジェクトに供給されるようにサーバー側が設定されています。
  • クライアント側では、次のコードが実行されます。 VoiceClient.sharedInstance().register(withAccessToken: self.accessToken, deviceToken: self.voipToken)
  • これはすぐ上のエラーで失敗します。
  • TwilioVoiceClientにバージョン '= 2.0.0-beta4'を使用し、twilio-nodeサーバー側コンポーネント(https://github.com/twilio/twilio-node/tree/2.9.1)にバージョン '2.9.1'を使用しています。
  • "このクレデンシャルを使用してサンドボックスAPNに送信する"オプションを試してみましたが結果はありません。
  • アプリID「com.bundle.appIDX」のクライアント側で、開発プロファイルとプロビジョニングプロファイルの両方を使用して試行しました。

本当にVoIPをサポートしていますか?はいの場合、この設定で何が間違っている可能性がありますか?

ありがとう、 Guven。 私は今、手動VoiceGrantを作成:ヴィクトルの指導の後

======= 編集。キープロパティの値を'voice'に設定しました。助成金は次のようになります:

{ 
    outgoing_application_sid: 'APXX', 
    push_credential_sid: 'CRXX', 
    endpoint_id: 'XX' 
} 

登録エラーが発生しています。

これは、それは2.11.0バージョンでどのように見えるかあるので、私はまた、このフォーマットを試してみました:

{ outgoing: { application_sid: 'APXX' }, 
    push_credential_sid: 'CRXX', 
    endpoint_id: 'XX' 
} 

問題があるかもしれない任意のアイデア?同様に、クラウドコードを取り付ける:

var accessToken = new twilio.AccessToken("ACXX", "SKXX", "PPXX", accessTokenOptions); 

    var voiceGrantConfig = {"outgoingApplicationSid": "APXX", 
           "endpointId": clientName, 
           "pushCredentialSid": "CRXX"}; 

    var voiceGrant = new VoiceGrant(voiceGrantConfig); 
    voiceGrant.key = "voice"; 
    console.log(voiceGrant.toPayload()); 
    accessToken.addGrant(voiceGrant); 

    var token = accessToken.toJwt(); 

編集2:私は実際には2.11.0-ノードをtwilioにアップグレードし、まだエラーを取得しています。ここにjwtを生成する直前のアクセストークンがあります。

AccessToken { 
    accountSid: 'ACXX', 
    keySid: 'SKXX', 
    secret: 'PPXX', 
    ttl: 86400, 
    identity: undefined, 
    nbf: undefined, 
    grants: 
    [ VoiceGrant { 
     outgoingApplicationSid: 'APXX', 
     outgoingApplicationParams: undefined, 
     pushCredentialSid: 'CRXX', 
     endpointId: 'XX' } ] } 
+1

こんにちは、アクセストークンを使用していることを確認できますか:機能トークンではなくhttps://www.twilio.com/docs/api/rest/access-tokens:https://www.twilio.com/ docs/api/client/capability-tokens? –

+0

@MeganSpeirちょっとメガン、はい私はそれを確認することができます。私は同様にアクセストークンにIpMessagingGrantを追加しています。しかしそれは問題かもしれません。 2.9.1 twilio-nodeにはVoiceGrantがなく、バージョン2.11.0でのみ導入されています。 – Guven

答えて

3

は、あなたが "声" 助成金を必要とする

を[グベンからのフィードバックに基づいて編集します]。さもなければあなたの要求は音声プロダクトに拒否される。署名する前に手動でセクションをJSONに追加するか、2.11.0バージョンにアップグレードする必要があります。具体的には、トークンは次のようになります。

{ 
    "sub": "ACxxxx", 
    "iss": "SKxxxx", 
    "grants": { 
    "voice": { 
     "outgoing": { 
     "application_sid": "APxxxx" 
     }, 
     "push_credential_sid": "CRxxxxx" 
    }, 
    "identity": "voice_test" 
    }, 
    "jti": "SKxxxxx", 
    "exp": 1479315711 
} 

「identity」要素も同様です。これはあなたのユーザーの識別子です。通常、ユーザ名またはシステム内のユーザレコードのID。

quickstart appに正しいトークンを生成するためのコードサンプルをチェックしてください(これはPythonで書かれていますが、どうやって起動するのがよいか分かります)。

+0

これはまさに私が探していたものです、Viktorに感謝します。私は本当にTwilioのサポートに失望しています、それは2日で、これまでの回答はありませんでした。私はこれが複雑なケースではないと思う。ドキュメントは本当に改善することができます。 – Guven

+0

こんにちはヴィクトール、まだ問題があるようですが、私は私の質問を更新しました。どうぞご覧ください。 – Guven

関連する問題