SMSトランスポートを使ってパソコンのCOMポート(又はUSB, BlueTooth等)い接続されている携帯電話にSMSメッセージを送信することができます。
このプロバイダは携帯電話と接続するために、SMSLibライブラリ(http://smslib.sourceforge.net/)を利用します。このトランスポート・プロバイダを利用する前に、SMSLibライブラリをインストールすてください。インストレーションに付いてはhttp://smslib.sourceforge.net/howto_java_installation.shtmlを参照してください。
正常にメッセージを受信するために、携帯電話の受信ボックスを消化する必要がある場合もあります。
SMSコネクタ・プロパティ
| プロパティ |
説明 |
デフォルト |
必須 |
| pollingFrequency |
携帯電話をポールする間隔(ミリ秒) |
60000ミリ秒 |
× |
| gsmCom |
パソコンに携帯電話を接続するのに使うCOMポート。 |
COM40 |
× |
| gsmBaudrate |
携帯電話と通信するボーレート。 |
57600 |
× |
| gsmManufacturer |
携帯電話の製造元。 |
Nokia |
× |
| gsmModel |
携帯電話のモデル。 |
|
× |
| deleteReadMessages |
SMSコネクタが受信したSMSを削除するか。 |
false |
× |
| reconnect |
ポール毎及びSMSの送受信毎の前後に接続を再接続・切断 |
false |
× |
以下は設定の例です:
<connectorname="smsConnector"className="org.mule.providers.sms.SmsConnector">
<properties>
<propertyname="pollingFrequency"value="120000"/>
<propertyname="gsmCom"value="COM40"/>
<propertyname="gsmBaudrate"value="57600"/>
<propertyname="gsmManufacturer"value="Nokia"/>
<propertyname="gsmModel"value="Nokia6230i"/>
<propertyname="deleteReadMessages"value="true"/>
<propertyname="reconnect"value="false"/>
</properties>
</connector>
現バージョンではプロパティ「reconnect」を false に設定して、携帯電話に接続する時にコネクタが接続するように設定してください。ただし、この設定の場合は、1回の接続中に受信又は送信することしかできません。送受信する必要がある場合は、プロパティ「reconnect」を true に設定してください。この場合は、メッセージの送受信毎に接続・切断します。
SMSエンドポイント
SMSメッセージを送信するのに必要な情報はESB Muleメッセージ(下の参照)に指定するか、エンドポイント・アドレスに指定します:
sms://+32496250169
上の例は相手先の電話番号です。ESB MuleメッセージにSmsProperties.SMS_SENDERプロパティが設定されている場合は、エンドポイントに指定されているアドレスは無視されます。
SMSメッセージの受信/ポーリング
新しいメッセージは定期的に携帯電話から読み込まれます:
<mule-descriptorname="smsPoller"implementation="org.mule.components.simple.BridgeComponent">
<inbound-router>
<endpointaddress="sms://+32496250169"/>
</inbound-router>
<outbound-router>
<routerclassName="org.mule.routing.outbound.OutboundPassThroughRouter">
<endpointaddress="stream://System.out"/>
</router>
</outbound-router>
</mule-descriptor>
ESB Muleの受信メッセージにはmessage.getProperty("propertyName")を使って次の情報を取得することができます:
| SMSProperties.SMS_DATE |
受信したSMSの日付。 |
| SMSProperties.SMS_ENCODING |
受信したSMSのエンコーディング。 |
| SMSProperties.SMS_ID |
受信したSMSの携帯電話ID。 |
| SMSProperties.SMS_SENDER |
受信したSMSの形態電話の電話番号。 |
SMSメッセージを送信
<mule-descriptorname="smsSender"implementation="org.mule.components.simple.BridgeComponent">
<inbound-router>
<endpointaddress="stream://System.in"/>
</inbound-router>
<outbound-router>
<routerclassName="org.mule.routing.outbound.OutboundPassThroughRouter">
<endpointaddress="sms://+32496250169"/>
</router>
</outbound-router>
</mule-descriptor>
送信SMSメッセージには次のプロパティを設定することができます:
| SMSProperties.SMS_STATUSREPORT |
SMSメッセージを送信後に、ステータス・レポートを受信するか。 |
| SMSProperties.SMS_RECEIVER |
SMSメッセージの相手先。このプロパティを設定すると、エンドポイントに設定したアドレスは無視されます。 |
| SMS_RECEIVER.SMS_FLASH |
SMSメッセージをフラッシュ・メッセージとして送信するか。フラッシュ・メッセージとして送信すると、携帯電話の画面にメッセージが直接表示されます。 |