ASP.NET モバイル Web アプリケーションでの SMS サービス


Author:


Balamurali バラジ MVP

コミュニティ ソリューション コンテンツの免責事項


MICROSOFT CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, OR ACCURACY OF THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN. ALL SUCH INFORMATION AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, WORKMANLIKE EFFORT, TITLE AND NON-INFRINGEMENT. YOU SPECIFICALLY AGREE THAT IN NO EVENT SHALL MICROSOFT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OF OR INABILITY TO USE THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE, EVEN IF MICROSOFT OR ANY OF ITS SUPPLIERS HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES.

概要


SMS サービスの包括的なノウハウについて説明し、web の開発に使用するツールは、ASP.NET でのモバイル アプリケーションをベースします。 .NET compact framework で使用可能な SMS のサービスに必要なコンポーネントを使用しても処理します。

アノテーションの理由


この資料 mobile.net アプリケーションでの SMS サービスを使用する方法について明確にすることが目的です。 開発者は役に立つアプリケーションでこのサービスを使用しての背後にある基本的な概念を理解するうえで

コメントの要約


この資料では、SMS および機能の詳細について説明します。 さまざまな方法で処理しても、SMS を使用するには、.net アプリケーションを有効にします。

はじめに


SMS – ショート メッセージ サービスは、開発コミュニティで話題単語はかなり最近では。 .NET 環境に関しては、開発者は、web サイトから SMS を送受信するためのソリューションを見つけることに実際には。 Web アプリケーションの大部分に組み込まれているインスタント対応の携帯電話の番号に簡単なテキストを送信するユーザーを有効にする SMS の機能があります。 速度、精度と生産性の向上には、SMS は、さまざまなワイヤレス サービスの間で最も成功したサービスの 1 つです。

SMS の機能


SMS は、ボイス メールの通知、fax サービス、着信音、ゲームなどのワイヤレス デバイスに多数のデータ サービスを提供することができます。SMS は、TM の (テキスト メッセージング サービス) もあります。 ワイヤレス テキスト メッセージは、モバイル デバイスに送信できる最大 256 個の文字の短い文字列です。 英数字からなる番号をサポートしているデバイスをポケットベルで使用された最初にテキスト メッセージング サービスが、発見場所、携帯電話でも。モバイル ワイヤレス キャリアの多くが、非常に困難に SMS とその機能のサポート技術情報のソースを取得する開発者のためです。 多くの理由で SMS メッセージの処理のさまざまなモードを使用します。 理由の 1 つは、非常にそれ自体のコストが関与しています。 一部の通信事業者は、TCP/IP を使用して SMS を送受信できる SMS の API を開発します。 いくつか他のユーザーは、簡単なネットワーク ページング プロトコル (ための SNPP)、ワイヤレス通信トランスポート プロトコル (WCTP)、短いメッセージのピアにピア (SMPP) などのプロトコルを使用します。 いくつかの通信事業者は、ここで、簡易メール転送プロトコル (SMTP)、短いテキスト メッセージを送信する電子メール インターフェイスを公開します。 この例では、デバイスの電話番号またはページの id 番号、無線通信事業者の特別なドメインと電子メール アドレスになります。 たとえば、依存サービスの電話は、3135551212@mobile の電子メール アドレスがあります。Reliance.net。

SMS のすべてのアプリケーション統合の要件


SMS 機能を使用するための前提条件は、SMS ゲートウェイです。 Web インターフェイスまたは API を使用してモバイル ネットワーク (サービス プロバイダー) と SMS へのアクセス権を持つことができます。 それらが提供する、SMS サーバーと連携するための Api のセットを使用しています。 もう一度、このメッセージを送信して、サービスを提供することのコストが含まれます。 または、いくつかの携帯電話 web サイトの web サイトを使用して SMS を送受信することがあります。 ユーザーに SMS サービスを提供するためには、そのサイトにポストできる ASP.NET web ページを開発することができます。 インドで、、、、SMS と SMPP (短いメッセージのピア ツー ピア) の通信プロトコルを使用して企業と高ボリュームの SMSC のリンクに関連するサービスを提供するいくつかの web サイトです。SMSC (ショート メッセージ サービス センター) では、GSM ネットワークで携帯電話との間のメッセージ転送を制御します。 だけでなく短いテキスト メッセージですが、また fax、音声またはメールが含まれます。 メッセージを配信して、それぞれの受信者が、現在使用できません、充電中の場合に一時的に格納します。 ネットワークごとに少なくとも 1 つの SMSC があります。3 番目のオプションは、送信することができますを使用して SMS の web サービスへのサブスクリプションを検討していますまたはアプリケーションに SMS を受信します。 行きます

GPRS


インターネット電子メール サービスを提供する GPRS (一般的なパケット無線サービス) を使用すると、SMS サービスを提供できます。 最も単純なアプリケーションでの SMS サービスを提供することになります。GPRS では、データ ネットワークへの継続的なワイヤレス接続と、お気に入りの情報とエンターテインメント ・ サービスへのアクセスが容易になります。 インターネット プロトコル (IP) ベースのネットワーク経由でデータを送受信するために使用する携帯電話が可能です。 に加えて、SMS、WAP、MMS、SMS のような他のサービスのプロトコルでは、Java と PC に関する情報を (たとえば、インターネットと電子メールなど) もサポートされて GPRS で。SMS ゲートウェイのサービスとは異なりインターネット e メール ・ サービスのストア メールボックスのサービスを使用してメッセージ。 電子メールが実際に格納されていると、ユーザーが携帯電話で通知を取得しに収集、転送、ダイヤルインで、メールを取得することができます。 ゲートウェイ サービスは、単に SMTP (インターネット ・ メール ・ プロトコル) からメッセージを SMS に変換して SMS センターに送信、ワイヤレス電子メール プラットフォームを提供します。 多くの場合、新しい電子メールを受信するには、インターネット メール ユーザーやって通知、携帯電話にします。 定期的にダイヤルインし、自分のメールボックスをチェックする必要があります。 ただし、SMS や GPRS などの警告のメカニズムでインターネットの電子メール システムにリンクして、新しい電子メールを受信したときユーザーに通知することができます。

.NET アプリケーションでの SMS サービス


ASP.NET モバイル コントロールとも呼ばれるマイクロソフトのモバイル インターネット Toolkit (MMIT) は、.NET Framework と ASP.NET により、開発者は携帯電話や Pda などの複数のデバイスを対象とするモバイルの Web アプリケーションを作成する拡張です。 MMIT は、アプリケーション ロジックに集中し、実行時に UI のレンダリングを終了するのには開発者を解放します。 MMIT をインストールするには、Microsoft.NET Framework 1.0 またはそれ以降のバージョンがある必要があります。 MMIT が ASP.NET の拡張機能であるために、IIS を実行している必要もあります。 モバイル アプリケーションは、次の 2 種類のことです。 Web ベースとベースのデバイス。  Web では、ベースのモバイル アプリケーションの Web サーバーでは通常、サーバー上で実行され、インターネット電子メール メッセージが提供するインターネットおよび SMS のサービスをモバイル デバイスでアクセスされます。  デバイスの特定のモバイル アプリケーションは、スタンドアロンで実行するアプリケーション、デバイス自体には、インターネットへのアクセスの有無にかかわらずです。 このタイプのアプリケーションは、Microsoft は、.NET Framework の縮小バージョンを提供しています: .NET Compact Framework (.NET CF)。

.NET CF のアプリケーションでの SMS サービス


.NET compact Framework アプリケーションは、Pocket Pc、スマート フォン、Pda などのデバイスをターゲットします。 Windows CE に基づいています。 コアは、スマート デバイスのシステムの機能の設定し、アプリケーションは、COREDLL で使用します。DLL. 次の dll もあります: AYGShell.dll: Pocket PC のシェル functionsCommCtrl.dll – の共通コントロール libWinSock.dll – Windows SocketsPhone.dll-の高度電話 controlSMS.dll-SMS の API は、Win32 を呼び出すための .NET CF で使用可能なプラットフォーム呼び出しのサポートを使用してメッセージングアンマネージ dll の API 関数が、C# または VB.NET CF アプリケーションから SMS を送信できます。 SmsOpen 関数は、SMS メッセージング コンポーネントを開きます。HRESULT SmsOpen (const LPCTSTR ptsMessageProtocol、const の DWORD dwMessageModes、SMS_HANDLE * 定数 psmshHandle、ハンドル * 定数 phMessageAvailableEvent)。ptsMessageProtocol は、使用する場合は、その SMS プロトコルを示す文字列です。 dwMessageModes では、送信または受信モードにするかどうかを指定します。 psmshHandle は SMS のセッションのハンドルへのポインター、関数が正常に返す場合にのみ有効です。 phMessageAvailableEvent は、次のメッセージが読み取り可能なタイミングを判断するのに使用できる Win32 イベント ハンドルへのハンドルです。 関連付ける名前空間では、DllImport 属性を使用して、コードで関数を宣言ことができます。
 [DllImport("sms.dll")]   private static extern IntPtr SmsOpen(String ptsMessageProtocol,     IntPtr dwMessageModes, ref IntPtr psmshHandle, IntPtr     phMessageAvailableEvent); 
SmsSendMessage 関数では、携帯電話番号にメッセージを送信します。 HRESULT SmsSendMessage (const の SMS_HANDLE smshHandle では、定数 SMS_ADDRESS * 定数 psmsaSMSCAddress は、定数 SMS_ADDRESS * 定数 psmsaDestinationAddress は、const SYSTEMTIME * 定数 pstValidityPeriod は、const バイト * pbData の定数、定数の DWORD dwDataSize 定数バイト *const pbProviderSpecificData、const DWORD dwProviderSpecificDataSize、const SMS_DATA_ENCODING smsdeDataEncoding、SMS_MESSAGE_ID、const の DWORD dwOptions * psmsmidMessageID)。smshHandle は、SmsOpen、psmshHandle で返されたハンドルです。 psmsaSMSCAddress は、使用する SMS メッセージ センターは、指定する省略可能なパラメーターです。 NULL を使用する場合は、ユーザーのデフォルトの SMSMC が使用されます。 psmsaDestinationAddress では、メッセージの配信先です。 過去の中にあるメッセージも有効になって、SMS の送信に時間があるという点で、標準の SYSTEMTIME 構造体から pstValidityPeriod が中断されます。 メッセージのデータ部分のバイト表現を示します。 NULL を指定できます。 dwDataSize は、メッセージのデータ部分のバイト単位のサイズです。 pbProviderSpecificData は、SMS が正常に送信するようにするのには、一部のプロバイダーで必要な追加情報です。 dwProviderSpecificDataSize は、前述のフィールドのバイト単位のサイズです。 smsdeDataEncoding は、上記 SMS_DATA_ENCODING の列挙内にあるオプションです。 dwOptions は、1 つの試行後、SMS が失敗またはルーターを使用するまでに再配信することを可能にする (現在) の 2 つのフラグです。psmsmidMessageID は null 以外である場合はこの関数が正常に返されます。 として、マネージ コードで使用しました
 [DllImport("sms.dll")]private static extern IntPtr SmsSendMessage(IntPtr smshHandle, IntPtr  psmsaSMSCAddress, IntPtr psmsaDestinationAddress, IntPtr  pstValidityPeriod, byte[] pbData, IntPtr dwDataSize, byte[]  pbProviderSpecificData, IntPtr dwProviderSpecificDataSize,  SMS_DATA_ENCODING smsdeDataEncoding, IntPtr dwOptions,  IntPtr  psmsmidMessageID); 
SmsClose 関数は、SMS メッセージのサービス要求を閉じます。 HRESULT SmsClose (const SMS_HANDLE oCommandBarPopup)。
 In our code we declare it as [DllImport("sms.dll")]   private static extern IntPtr SmsClose(IntPtr smshHandle); 
 

ASP.NET モバイル Web アプリケーションでの SMS サービス


このサンプルでは、www.webservicex.com からの既存の web サービスを使用します。 SMS を送信するための Web サービス定義言語 (WSDL) のリンクが用意されています。 CF.NET アプリケーションで次の web サービスへの web 参照を追加する必要があります: http://www.webservicex.net/SendSMS.asmx
 Private void SendMessage(string MobileNumber, string  FromEmailAddress, string  Message){localhost.SendSMS smsService = New localhost.SendSMS(); try{            bool result = smsService.SendMessage(someMobileNumber, myemaidid, myMessage);             if (result == True)                MessageBox.Show("The message was sent", "SMS Messaging");            else                MessageBox.Show("The message was not sent", "SMS Messaging");    catch (SoapException ex)        MessageBox.Show("An exception occured.  " & ex.Detail.InnerText, "SMS Messaging");} }
 

まとめ


SMS サービスを提供するアプリケーションの開発は、単純な作業ではありません。 .NET 環境でのモバイル アプリケーションを開発するためにシステムでは、適切なツールとコンポーネントをインストールしなければなりません。 モバイル ベースの SMS サービスを開発する場合、SMS ゲートウェイ ソフトウェアのコンポーネントに依存する必要がありますか、行うことができますそれらを使用する既存の web サービスを使用します。 さまざまなモバイル デバイスを別のセットとして付属している AT コマンドを使用するアプリケーションに SMS 機能を提供するには、最高に別の方法があります。 これはこの資料では説明しません。場合は、SMS サービスのアプリケーション ベースのデバイスを開発するか、Visual Studio .NET 2003年 2005 に付属している .NET compact framework の進むことができますインターネットからダウンロードすることができます。 ここでもう一度、ほとんどの SMS サービスの開発に必要な dll コンポーネントは .NET CF. を期待してこの記事を読む楽しみでは利用できない、Windows CE 4.2/5.0 SDK ツールキットを使用して利用可能です。 コメントや提案があれば、お気軽に私にお問い合わせください。