使用 VoIP 应答调制解调器
我有一个应用程序,其中在美国各地有大约 10,000 件监控设备,这些设备定期拨入一组 32 条电话线。我有两个 16 行接收器,每个接收器应答呼叫并临时存储一个小的字母字符串。然后,我有一台计算机轮询接收器并解析字符串并将其复制到数据库中。
我希望用 VoIP 解决方案替换电话线和接收器,并重写软件来解析数据字符串。
关于从哪里开始有什么想法吗?
I have an application where I have about 10,000 pieces of monitoring equipment across the US that periodically dials into a bank of 32 phone lines. I have two receivers of 16 lines each that answer the call and temporarily stores a small alpha string. I then have a computer that polls the receivers and parses the string and copies it to a database.
I am looking to replace the phone lines and the receivers with a voip solution and rewrite the software to parse the data string.
Any ideas on where to get started?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
Tom 关于 Asterisk 的建议对于整个系统来说是一个很好的建议。
但是,您仍然需要将从远程设备发送的数据从音频信号解码为数据信号。该任务就是调制解调器的“dem”部分所代表的内容(调制/解调)。要么使用固定的硬件/软件包(就像您目前使用商用调制解调器所做的那样)来执行此操作,要么必须自己在软件中模拟调制解调器,如果您自己尝试的话,至少编码起来会非常棘手(堆)通用调制解调器解决方案必须遵守的标准,而且解决方案需要实时工作)
对于软件方法可以从本页开始 Linmodems.org(只是我在谷歌上看到的内容,是根据你的问题提示的)。或者在谷歌上大量搜索软件调制解调器。获取其他人的代码是此类代码的最佳方法:)
Tom's suggestion about Asterisk is a good one for the overall system.
However you will still need to decode the data sent from your remote equipment from an audio signal to a data signal. That task is what the "dem" part of Modem stands for (Modulate/Demodulate). Either you do this with a canned hardware/software package (as you are currently doing with a commercial modem) or you have to emulate the modem in software yourself which will be extremely tricky to code at the very least if you attempt it yourself (heaps of standards that you have to comply with for a general modem solution, plus the solution needs to work in real time)
For the software approach could start with this page Linmodems.org (just a something I saw on google prompted by your question). Alternatively do lots of searches on google for software modems. Getting someone else's code is the best approach for this sort of code :)
无论你最终做什么,我怀疑这都将是相当习惯的。
Asterisk PBX 可能是一个不错的起点。
Whatever you end up doing I suspect it will be rather custom.
A good place to start is probably Asterisk PBX.
我认为您不想想要更换客户端站点的调制解调器(服务器端最简单的事情是每个客户端都有自己的 IP 软件堆栈,并使用其调制解调器来呼叫 ISP并建立互联网连接,然后使用 TCP 或 UDP 或 HTTP 或其他方式与您的服务器通信)。
假设您在客户端站点上没有 IP 功能,Google 搜索建议相关技术称为“Modem over IP”或“MoIP”(维基百科似乎将其与“Mobile over IP”混淆)。
VoIP 由用于信令(例如,用于呼叫建立和呼叫终止)的SIP 以及一些在呼叫建立时用于流量(编码语音)的编解码器(例如H.323)组成。
我猜测 MoIP 可以保留 SIP 信令,但需要使用一些不同的编解码器。
V.150 IP 调制解调器白皮书 看起来像是对技术。不知道有哪些卖家。
I take it you don't want to replace the modems at the client sites (the easiest thing on the server side would be each clients had its own IP software stack, and used its modem to call an ISP and establish an internet connection, and then talk to your server using TCP or UDP or HTTP or whatever).
Assuming that you don't have IP capability on the client sites, Googling suggests that the relevent technology is called "Modem over IP" or "MoIP" (which Wikipedia seems to be confusing with "Mobile over IP").
VoIP consists of SIP for signalling (e.g. for call set-up and call tear-down) plus some codecs (e.g. H.323) for traffic (encoded voice) while the call is established.
I'm guessing that MoIP can keep the SIP signalling, but needs to use some different codecs.
V.150 Modem over IP White Paper looks like an introduction to the technologies. I don't know what vendors there are.
我想您正在寻找一种方法来做到这一点,而无需修改远程站点的调制解调器硬件。如果是这种情况,您将必须找到或编写信号处理软件来解调来自调制解调器的编码信号。幸运的是,调制解调器上的信号编码被设计为很容易做到这一点。
也许有人制作了做这种事情的软件调制解调器库。问题的其他部分将模拟调制解调器上的握手,以便它可以很好地与远程站点配合。
I presume you are looking to find a way to do this without mofidying the modem hardware at your remote sites. If this is the case you will have to find or write signal processing software to demodulate the encoded signal from the modem. Fortunately, signal encodings on a modem are designed to be easy to do this with.
Maybe somebody makes software modem libaries that do this sort of thing. The other parts of the problem will be emulating the handshaking on the modem so it plays nicely with the remote sites.
如果您可以在 10000 个站点修改软件(实际上只是要拨打的号码,但它必须包括您要传输的数据)(不太可能!),理论上您可以在“拨号”字符串中使用 DTMF将数据键入 Asterisk。好吧,虽然有点hackey,但它可以避免使用软件调制解调器。注意:你需要一个校验和! (也许会多次发送)以及一种告诉调用者是否正确接收的方法。就像我说的,哈基但很可爱。
If you can modify the software (really just the number to dial, but it would have to include the data you want to transfer) at the 10000 sites (not likely!), you could in theory use DTMF in the "dial" string to key the data over into Asterisk. Ok, more than a bit hackey, but it would avoid having to have a software modem. Note: you'd want a checksum!! (and maybe send it multiple times) And a way to tell the caller if it was received correctly. Like I said, hackey but cute.