web-dev-qa-db-ja.com

独自のSMS Gatewayを構築

リモートシステムを実行しており、SMSを介してサーバーにステータスを通知できるようにしたいと考えています。独自のSMSゲートウェイ(または独自のGSMネットワーク)を設定することは可能ですか?したがって、支払う必要はありません for SMS =プロバイダー?

これは可能ですか?その場合は、必要なハードウェアと開始方法をお知らせください。

オペレーターAがオペレーターBにSMSを送信したい場合、オペレーターBにセントを支払う必要はありません。次のようなサービス:Atompark.com、clickatell、... etc

ご注意ください:Linuxシステム、モデムGSM、有効なSIMを使用してsmsゲートウェイを構築する方法は知っていますが、smsメッセージを送信するために料金を支払う必要がない方法を探しています...

仕組み

あなた>>> Forwarding Aggregator >>> SMS Aggregator >>>モバイルオペレーター>>>モバイル会社>>>お客様

3つの主要な関係者がプロセス全体に関与しています:

1.モバイルオペレーター: SMSC(ショートメッセージサービスセンター)を管理します。 AT&T、Sprint/NEXTEL、T-Mobile USA、U.S.Cellular、およびVerizon Wirelessは、全世界の主要なモバイルオペレーターのほんの一部です。彼らはすべての主要な携帯電話会社と深いつながりを持っています。それらのほとんどは、パネルに800〜950の通信/モバイル会社があります。すべてのメッセージはSMSアグリゲーターを介してそれらに届き、受信者のモバイル会社に転送され、最終的に受信者に送信されます。

モバイルオペレーターになるためのコスト:兆でない場合は10億ドルのビジネス。

2. SMSアグリゲーター: mBlox、air2web、およびmotricityはその一部です。彼らはモバイル事業者と深いつながりを持っています。

SMSアグリゲーターになるためのコスト:数百万

3.転送アグリゲーター/ SMSゲートウェイ: Clickatell、Twilio、esendex、および他のいくつかはSMS Gateway APIを提供しており、ほとんどの開発者はClickatellを使用してSMS APIをアプリに統合しています。国ごとに異なる料金を請求します(すべての国で固定料金はありません)。 100,000件のメッセージに対して(国際的に)およそ600〜700ドルかかります。

転送アグリゲーターになるためのコスト:数百万

結論:私は無料のソリューションに取り組んでいますが、今日まで世界中に無料でバルクメッセージを送信する無料の信頼できるソリューションはありません。そのため、無料のソリューションの検索に時間を無駄にすることはありません。これを実現するには、新しいテクノロジーを考案する必要があります。

国内で無料で、または少しのお金を使ってバルクメッセージを送信する多くのオプションがありますが、国際的にメッセージを送信する予定の場合、これを達成することはできません。

通常、どのフォーラムにもコメントを追加することは避けますが、この男性は本当に私に足を踏み入れることを強制しました。彼がコメントしたのは次のとおりです: " "

25
Junaid K.

Raspberry PiまたはOrange piをドングルで使用できます。その後、ATコマンドを使用できます。

このコマンドを使用してドングルを接続し、正しいモードとして接続しているかどうかを確認できます。

Sudo lsusb 

次に、python code execute ATコマンドを使用します。

sMSを送信すると、このコードを使用できます

def sendsms(number,text):
    ser.flushInput()
    ser.flushOutput()
    ser.write('AT+CMGF=1\r\n')
    sleep(1)
    ser.write('AT+CMGS="%s"\r\n' % number)
    sleep(1)
    ser.write('%s' % text)
    sleep(1)
    ser.write(ascii.ctrl('z'))
    sleep(1)
    ser.flushInput()
    ser.flushOutput()
    print "Text: %s  \nhas been sent to: %s" %(text,number)

未読のSMSを読む

def read_unread_sms():
ser.write('AT+CMGF=1\r\n')
sleep(2)
ser.write('AT+CMGL="ALL"\r\n')
sleep(5)
a = ser.readlines()
z=[]
y=[]
for x in a:
    if x.startswith('+CMGL:'):
        r=a.index(x)
        t=r+1
        z.append(r)
        z.append(t)
for x in z:
    y.append(a[x])
##Following line changed modem back to PDU mode
ser.write('AT+CMGF=0\r\n')
return y 

sMSゲートウェイのロガーファイルを作成する場合は「logger」を使用できます。未読メッセージをapiに送信する場合は、「request」モジュールを使用できます。

7

オペレータが提供する電子メールからSMSへのシステムは別として、これを行う「無料の」方法はありません。

SMSをオペレーターBに送信したいが、オペレーターBにセントを支払わない

これは、Bが他の方向に送信されるメッセージに対してAに支払わないという事実とバランスが取れています。国際的に彼らはしばしばdo pay SMSインターコネクト料金。

...独自のSMSゲートウェイを設定

はい。ただし、GSMネットワーク上のSMSCにアクセスして、メッセージを直接送信するか、SIMを搭載したデバイス経由で送信する必要があります。

または当社独自のGSMネットワーク

実用的ではありません.

6
Alex K.

適切なテキストメッセージを送信する無料の方法はありませんが、サーバー用のGSMモジュールを購入する方が良いかもしれません(ラック内のUSBは理想的ではありませんが、適切なハードウェア拡張バスがあるはずです)。サードパーティの中間サーバーに依存してこれらのメッセージを送信するのではなく、モジュール自体にクエリを実行して、かなりのお金を節約します。

私はこれ自体は理解していませんが、私のサービスにテキストメッセージを送信するためのこの計画を作成しました。それは圧倒的に安いオプションでした。

4
Mikulas Dite