2012-02-06 8 views
0

これは「テスト用の何らかのプロトコル」ではなく、「テロケータのアルファベット順のプロトコル」です。ページングプロトコル、Telocator英数字プロトコル、「TAP」、over TCP/IP?

「TAPメッセージ」を送信するために使用できるIPアドレスとポートがベンダーからあると言われました。

しかし、ベンダーはこれらのメッセージのフォーマット方法に関する他のドキュメントを提供しておらず、単に十分な情報であることを何度も繰り返し主張してきました。 「IPポートにTAPメッセージを送信する」だけ... ....

このメッセージがどのような意味を持ち、このメッセージの形式がどのようになるかについて、他の人から意見をいただけますか?それがXML/ASCII/BINARYであるかどうかは分かりませんが、HTTP(S)または何を介して実行しますか。

ありがとうございます!

+0

新しいベンダーを探したいと思います。何の証拠もなく、ジャックは怒っている少年になる – BozoJoe

答えて

0

私はTAPプロトコルのサーバー側を見ています。しかし、私の研究では、以下のクライアントがTAPメッセージを送信するのに役立つことがわかりました。

Beepage(Windows版): http://rsug.itd.umich.edu/software/beepage/

Beepage(Unixのバージョン):beepageため 検索sourceforgeの

エアメッセンジャー:あなたはそれが何を意味するのか確認するためにTAP仕様をグーグルことができ http://www.fileheap.com/software-air-messenger-lite-download-27994.html

3

TAPはシリアルプロトコルです。 http://www.phoner.de/TAP_V1P8.PDFからpdfをダウンロードできます。 PSTN(電話回線)上で動作するように設計されています。ネットワークプロバイダにダイヤルして、テキストメッセージと受信者番号をアップロードし、ハングアップします。その後、ネットワークプロバイダはメッセージを送信します。

正にこれはすでに廃止された技術です。ここでは、英国のO2は、2012年3月末にTAPサービスを中止しました。ボーダフォンサービスだけが残っています(どちらもしばらくは働いていないようです)。私が集めることから、それは他の国でも同様の話です。あなたは、ClickatellのようなSMSゲートウェイサービス、またはSMSサービスへの電子メールを見る方が良いでしょう。スマートフォンとプッシュ電子メールのこの時代に、私は純粋な電子メール通知が最終的に引き継ぐと思う。

1

この質問は3年前に尋ねられたので、しばらくしていますが、このようなポケットベルシステムを持っている病院のクライアントにも同じ問題がありました。

サーバーとポートへのソケット接続を開くために使用されるphp。次に、必要なTAPコマンドを送信し、サーバーから応答を取得します。

私が対象としていたサーバは、ログインにユーザ名やパスワードを必要とせず、socket_read($ socket、1024)で行うことができるレスポンスとループを読み込むのではなく、待っていました。スクリプトを2秒間一時停止してから、次のコマンドを送信しました。私がソケットを閉じたときにサーバーがそれを気に入らず、メッセージシーケンスの終わりを送信した後にサーバーにこれをさせることになりました。メッセージ部分の最後を省略すると、複数のメッセージを送信することができますが、処理しなければならなかったサーバーが多くクラッシュして、以下が私のために働いていました。クライアントは6ヶ月の時間で新しいシステムを買うでしょう。したがって、これ以上検討しないでください。

//$msg_to = the pager number 
//$msg_text = the message 
//$host = ip of server 
//$port = port number 

$message = chr(2).$msg_to.chr(13).$msg_text.chr(13).chr(3); 
$checksum = calcChecksum($message); 
$message .= $checksum.chr(13); 
$CR = chr(13); 
$end = chr(27).chr(4).chr(13); //<ESC><EOT><CR> 
$login = chr(27)."PG1".chr(13); //<ESC>PG1thepwd<CR> 
//- <ACK><CR><ESC>[p<CR> check for [p 

$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket"); 
$result = socket_connect($socket, $host, $port) or die("Could not connect to server"); 
sleep(1); stream_set_timeout($socket, 5); 
socket_write($socket, $CR, strlen($CR)) or die("Could not send <CR> to server"); 
sleep(2); 
socket_write($socket, $message, strlen($message)) or die("Could not send message to server"); 
sleep(2); 
socket_write($socket, $end, strlen($end)) or die("Could not send end to server"); 

function calcChecksum($message) { 
$split = str_split($message); $sum = 0; 
foreach ($split as $value) { $numb = ord($value); $sum += $numb; } 
$d3 = 48 + $sum - intval($sum/16) * 16; 
$sum = intval($sum/16); 
$d2 = 48 + $sum - intval($sum/16) * 16; 
$sum = intval($sum/16); 
$d1 = 48 + $sum - intval($sum/16) * 16; 
return chr($d1).chr($d2).chr($d3); 
};