送信者 ID を使用していてもインドの受信者がメッセージを受信できないのはなぜですか?

所要時間2分
0

送信者 ID を使用して Amazon Simple Notification Service (Amazon SNS) 経由でインドの番号にショートメッセージサービス (SMS) テキストを送信できません。

簡単な説明

インドの受信者にメッセージを送信する場合、Amazon SNS はデフォルトで、International Long Distance Operator (ILDO) ルートを使用してメッセージを送信します。これらのメッセージは、ランダムな数値 ID から送信されたかのように見えます。

**注:**インドに対して ILDO 接続を使用している場合、テキストメッセージの送信料金はローカルルートよりも高くなります。

ローカルルートでメッセージを送信するには、SNS を使用して SMS メッセージを公開するときに、事前に登録されたアルファベットの送信者 ID を使用してください。ユースケースとメッセージテンプレートは、Distributed Ledger Technology (DLT) ポータルを通じて Telecom Regulatory Authority of India (TRAI) に登録してください。詳細については、「インドの送信者 ID 登録要件」を参照してください。SNS Publish API リクエストを使用して、登録した送信者 ID でテキストメッセージを送信できます。

注:

  • Amazon SNS コンソールを使用してメッセージを公開する場合は、エンティティ IDテンプレート ID など、インドに固有の属性を使用してください。
  • SNS Publish API を使用する場合は、MessageAttributes パラメータを追加して AWS.MM.SMS.EntityIdAWS.MM.SMS.TemplateId などの値を設定します。詳細については、「メッセージの送信 (AWS SDK)」を参照してください。

解決策

送信者 ID の使用中の SMS 配信の問題を特定してトラブルシューティングするには、次の手順に従ってください。

送信者 ID が登録されている AWS リージョンと、テキストメッセージの送信に使用されている AWS リージョンを確認します。

複数の地域における SNS サービスでの送信者 ID のサポートについては、「サポートされている地域と国」を参照してください。送信者 ID が登録されているのと同じ AWS リージョンを使用してメッセージを送信します。

正しい送信者 ID と、対応するエンティティ ID とテンプレート ID を必ず含めてください。

EntityIdTemplateId が正しいことを確認してください。DLT ポータルから受け取った値を確認してください。

Python(Boto3) Publish API 呼び出しの例:

import boto3

client = boto3.client('sns')
response = client.publish(
        PhoneNumber='+91xxxxxxxxxx',
        Message="Registered Test Message",
        MessageAttributes={
            'AWS.MM.SMS.EntityId': {
                'DataType': 'String',
                'StringValue': '<EntityId>'
            },
            'AWS.MM.SMS.TemplateId': {
                'DataType': 'String',
                'StringValue': '<TemplateId>'
            },
            'AWS.SNS.SMS.SenderID': {
                'DataType': 'String',
                'StringValue': '<SenderID>'
            },
            'AWS.SNS.SMS.SMSType': {
                'DataType': 'String',
                'StringValue': 'Transactional'
            }
        }
)

**注:****<EntityId>登録したエンティティ ID に置き換え、<TemplateId>登録したテンプレート ID に置き換えて、<SenderID>**登録した送信者 ID に置き換えてください。他の言語については、対応する言語固有の AWS SDK ページを参照してください。

Amazon CloudWatch ログをオンにしてから、SMS 配信ログを表示します

詳細については、「SMS メッセージの Amazon SNS トピック配信ログにアクセスするにはどうすればよいですか?」を参照してください。SMS 配信ログから、以下の providerResponse 通知を確認します。

  • 電話で SMS がブロックされました
  • 通信事業者によってスパムとしてブロックされました
  • 通信事業者がこのメッセージをブロックしました

メッセージの内容が DLT ポータルに登録されているテンプレートと一致しない場合、通信事業者とプロバイダーがメッセージをブロックする可能性があります。または、登録されているテンプレートと異なる文字が含まれている場合、メッセージをブロックする可能性があります。詳細については、「通信事業者が SMS メッセージをブロックする理由」と「テンプレートマッチングの問題」を参照してください。

ダウンストリームのプロバイダーと通信事業者の問題を確認する

ダウンストリームの潜在的な問題をトラブルシューティングするには、Amazon SNS のサポートケースを作成します。サポートケースには以下の情報を提供してください。

  • SMS メッセージを送信するために送信者 ID を登録した AWS リージョン
  • 登録されたテンプレートを含む DLT ポータルの CSV ファイル
  • SMS ログの 3 つまたは 4 つのサンプル。ログには、各番号の失敗した SMS メッセージのメッセージ ID (およびタイムスタンプとタイムゾーン) が含まれます。これらのログサンプルは 48 ~ 72 時間以上前のものであってはなりません。

**注:**インドでは、プロモーション用 SMS メッセージは、インド標準時 (IST) の午前 9 時から午後 9 時のみに配信できます。この時間外に送信されたメッセージは、配信されない可能性があります。

AWS公式
AWS公式更新しました 10ヶ月前
コメントはありません