複数の SMSC SMPP 接続を作成しました。
構成後、SMS を送信しましたが、SMS はランダムな SMSC で送信されます。
送信したい smpp で sms を送信するように kannel を制御するにはどうすればよいですか。
デフォルトでは、Kannel は、接続されているすべての SMSC 間でラウンドロビン方式でメッセージをルーティングします。
特定の SMSC へのルーティングを制御する 3 つの SMSC パラメータがあります。
denied-smsc-id SMSC ID がこのリストのいずれかの ID と等しい SMS メッセージは、この SMSC にルーティングされることはありません。複数のエントリはセミコロン (';') で区切ります
allowed-smsc-idこのリストは前のリストと反対です。このリストに SMSC ID を持つ SMS メッセージだけが、この SMSC にルーティングされます。複数のエントリはセミコロン (';') で区切ります
preferred-smsc-idこのリストの SMSC ID を持つ SMS メッセージは、優先としてその ID のない SMSC ではなく、この SMSC に送信されます。複数のエントリはセミコロン (';') で区切ります
これらの変数を調整することで、非常に単純なルーティング シナリオから非常に複雑なルーティング シナリオまでを作成できます。
以下は非常に基本的な例です。
2 つのSMSC がsmsc1
ありsmsc2
、SMS メッセージをその 2 つの SMSC のいずれかにルーティングしたいとします。kannel 構成ファイルに、次の行を追加します。
group = smsc
smsc-id = smsc1
allowed-smsc-id = smsc1
group = smsc
smsc-id = smsc2
allowed-smsc-id = smsc2
これで、kannel sendms インターフェイスへのリクエストで送信する smsc を指定できます。
GET /kannel/sendsms?smsc=SMSC_ID&to=TO&text=TEXT
ここで、SMSC_ID はまたは のsmsc1
いずれかsmsc2
です。
この例では、GET 要求で smsc を指定しない場合、sms はsmsc1
orのどのルールにも一致smsc2
せず、送信されません。次のsendms-userグループ変数を使用して、すべての発信メッセージで使用されるデフォルトの SMSC を設定することで、これを回避できます。
group = sendsms-user
default-smsc = smsc1
別のオプションは、denied-smsc-id
変数を使用することです。
group = smsc
smsc-id = smsc1
denied-smsc-id = smsc2
group = smsc
smsc-id = smsc2
denied-smsc-id = smsc1
この構成では、HTTP 要求で smsc を指定すると、sms はその ID を持つ smsc にルーティングされますが、指定しない場合、Kannel は と の間のラウンドロビンにフォールバックしsmsc1
ますsmsc2
。
より高度な用途:
Kannel のルーティングとより複雑なシナリオをより深く理解するには、次のスレッドもチェックしてください。
http://old.nabble.com/Routing-of-outgoing-sms-td19723248.html
kannelサーバーへの送信で送信するsmscを指定できます。次に例を示します。
GET /cgi-bin/sendsms?smsc=$smsc&username=$user&password=$password&to=$receipient&text=$text&dlr-mask=$dlrMask&dlr-url=$dlrUrl
kannel.confのどこに$smsc
一致する必要がありますかsmsc-id
ここのドキュメント、「表6-16。SMSプッシュ(send-sms)CGI変数」の下。