【问题标题】:Paging protocol, Telocator Alphanumeric Protocol, "TAP", over TCP/IP?寻呼协议、远程定位器字母数字协议、“TAP”、基于 TCP/IP?
【发布时间】:2012-02-06 18:37:38
【问题描述】:

这不是“Test Anything Protocol”,而是“Telocator Alphanumeric Protocol”。

供应商告诉我有一个 IP 地址和端口可用于向其发送“TAP 消息”。

但是,供应商没有提供有关如何格式化这些消息的其他文档,只是一遍又一遍地坚持认为这是足够的信息。只需“向 IP 端口发送 TAP 消息”....

有人可以就这可能意味着什么以及此消息的格式可能是什么样子提供任何想法吗?不确定它是 XML/ASCII/BINARY,还是通过 HTTP(S) 运行的。

谢谢!

【问题讨论】:

  • 我想你想找一个新的供应商。没有文件,没有支持让杰克成为一个愤怒的男孩

标签: tcp telephony custom-paging


【解决方案1】:

TAP 是一种串行协议。您可以从http://www.phoner.de/TAP_V1P8.PDF 下载 pdf。它旨在通过 PSTN(电话线)运行;您拨打网络提供商并上传您的短信和收件人号码,然后挂断。然后网络提供商发送消息。

说实话,这已经是一项过时的技术了。在英国,O2 于 2012 年 3 月结束了其 TAP 服务,只留下了 Vodafone 服务(这似乎也有一段时间没有工作了)。据我所知,其他国家也有类似的故事。您最好查看 SMS 网关服务,例如 Clickatell,或电子邮件到 SMS 服务。在这个智能手机和推送电子邮件的时代,我怀疑纯电子邮件通知最终会占据主导地位。

【讨论】:

    【解决方案2】:

    这个问题被问到已经有一段时间了,3 年多,但是医院客户也遇到了同样的问题,仍然有这样的寻呼机系统,还说我们已经给了你 ip 和 port 让它工作。

    使用 php 打开到服务器和端口的套接字连接。然后发送所需的 TAP 命令并从服务器获取响应。

    我的目标服务器不需要用户名或密码即可登录,而不是读取响应并循环等待它们,这可以通过 socket_read($socket, 1024); 完成。在发送下一个命令之前,我只是暂停了脚本两秒钟。当我关闭套接字并最终让服务器在发送消息序列结束后执行此操作时,服务器不喜欢它。如果您省略消息结尾部分,您可以发送多条消息,但是我必须处理的服务器崩溃了很多,下面对我有用。客户将在 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);
    };
    

    【讨论】:

      【解决方案3】:

      我正在查看 TAP 协议的服务器端。但是,在我的研究中,我发现以下客户端对您发送 TAP 消息很有用。

      蜂鸣器(Windows 版): http://rsug.itd.umich.edu/software/beepage/

      哔声(Unix 版本): 在 sourceforge 中搜索 beepage

      空中信使: http://www.fileheap.com/software-air-messenger-lite-download-27994.html

      你可以谷歌 TAP 规范来了解它的含义。

      【讨论】:

        猜你喜欢
        • 2017-11-25
        • 2018-06-25
        • 2012-02-05
        • 2011-03-19
        • 2012-10-17
        • 1970-01-01
        • 1970-01-01
        • 2011-05-24
        • 1970-01-01
        相关资源
        最近更新 更多