2016-04-20 4 views
0

現在、私たちはSMSCに接続して着信SMSを受信するためにKannelを使用しています。Kannel - POST_URLからショートコードを取得

セットアップが正常にメッセージをCGI Perlスクリプトに転送します。ただし、宛先アドレス(この場合はショートコード)は空です。 SMSCにはいくつかのショートコードが設定されているため、ショートコードを介してメッセージが送信されたことを知る必要があります。

現在の構成は以下の通りです:

group = sms-service 
keyword =default 
accept-x-kannel-headers=true 
post-url= "http://127.0.0.1:8990/cgi-bin/test_shortcode.cgi?MSISDN=%p&MSG=%a&SC=%P" 
max-messages =1 
catch-all=yes 
concatenation = 1 
omit-empty = true 
send-sender=true 

paramがSCは空の文字列を受け取ります。

SMSCログファイルにチェックし、ショートが実際DESTINATION_ADDRとして発見された:

2016-04-20 14:48:56 [20307] [6] DEBUG: dest_addr_ton: 0 = 0x00000000 
2016-04-20 14:48:56 [20307] [6] DEBUG: dest_addr_npi: 1 = 0x00000001 
2016-04-20 14:48:56 [20307] [6] DEBUG: destination_addr: "27626" 

これが起こっているとどのように我々はのparamとしてショートを得ることができる理由上の任意のアイデア?

ありがとうございました

答えて

1

Kannelソースを確認して問題が見つかりました。 。Kannelは、SMSを送信するための構成のシーケンスを読み取り、およびこれらの設定はMOがで来ている宛先番号に置き換えられますが判明私が見つけた設定は次のとおりです。

  1. 私-数
  2. global-送信者
  3. 偽造、送信者

設定の各レベルはfaked-senderが有効になり、すべての3が設定されている、すなわち場合は、前のものを上書きします。上記3を解説することにより、post-urlリクエストでパラメータ%Pから正しいshortcode値を取得できます。

これを投稿すると、誰かに役立つでしょう。

関連する問題