Создание моего собственного коммутируемого интернет-сервиса
За последнее десятилетие наша компания инвестировала огромные средства в модемы типа "машина-машина", оснащенные встроенной техникой. Они работают со старой телефонной связью. Эти машины должны подключаться к Интернету для отправки данных на центральный сервер с использованием TCP/IP.
Интернет-провайдеры все чаще закрывают свои услуги коммутируемого доступа, поскольку они постепенно сокращаются из-за широкополосного доступа. К сожалению, эти модемы "машина к машине" работают только с коммутируемым доступом: не широкополосный.
В настоящее время становится все труднее находить интернет-провайдеров с коммутируемым доступом, поэтому я думал о создании собственной услуги коммутируемого доступа в одном из наших офисов.
Я предполагаю, что для использования этого соединения через модем необходимо иметь выделенную стационарную линию, модем, установленный внутри сервера и подключенный к стационарной линии, и Ethernet-карту, подключенную к маршрутизатору офиса.
Кроме того, я не очень уверен, какие варианты доступны программно в отношении программного обеспечения сервера удаленного доступа.
В идеале, мы бы предпочли, чтобы это работало на коробке Windows, так как мы используем только серверы Windows. Есть опыт прохождения, чтобы сделать это, чтобы поделиться?
Кроме того, что касается ограничений, например, если две машины звонят на сервер удаленного доступа одновременно. Я предполагаю, что такая простая система сможет обслуживать только одну машину за раз, и что вторая машина, набирающая номер, получит сигнал "занято"?
Заранее спасибо за ваши взгляды.
3 ответа
Для этого есть несколько возможных решений, в зависимости от того, насколько требователен аппаратный комплекс и насколько вы контролируете встроенные системы.
Мой опыт здесь связан с тем, что я некоторое время работал с BBS Worldgroup на Windows, а также работал с модемами, совместимыми с TDD (как в Telecommunications Device for the Deaf). Я могу помочь вам в области аппаратного обеспечения, в части программного обеспечения это немного выходит за рамки моей компетенции, но на самом деле, вероятно, более легкая часть.
Пара ключевых понятий здесь:
- Модемам на самом деле не нужен тональный сигнал для набора номера - и многим тоже не нужно напряжение, подаваемое линией электропередачи, и он будет работать в так называемой "сухой линии", в этом случае телефонный шнур проложен непосредственно от модема. модему.
Другие модемы могут требовать напряжения в линии, что не сложно сделать, но все же увеличивает сложность от "просто подключить его" к "созданию устройства, которое обеспечивает напряжение, и подключить его". Я полагаю, что эта штука (называемая линейным симулятором, для целей поиска в Google) должна подать напряжение 24 В на 24 мА, но мои навыки работы с электроникой смешно ржавые, и эта ссылка содержит все детали с дополнительным преимуществом - я не догадываюсь: http://www.jagshouse.com/modem.html
Строка набора модема обычно здесь не меняется, но вам может понадобиться что-то вроде "X3" в строке инициализации, чтобы модем игнорировал состояние тона набора.
Для этого ATX3DT0 является вполне жизнеспособной строкой набора, если вы не можете изменить фактическую строку инициализации, но вместо этого можете изменить строку набора.
- AT - Внимание, префиксы любой команды модема.
- X3 - Устанавливает модем на игнорирование тонального сигнала.
- DT - набор с тональными сигналами DTMF (DP будет набирать с импульсами, как у поворотного телефона).
- 0 (ноль) просто отправляет цифру 0 в качестве выбранного типа набора, иногда необходимого для фактического подбора линии и выполнения каких-либо действий на некоторых модемах.
Все, что нужно сделать принимающей системе, - это подать ATA (внимание, ответ) на модем, чтобы он поднял трубку и начал попытки установления связи. Тогда это просто вопрос передачи соединения в службу, говорящую по протоколу PPP, для ретрансляции соединения по мере необходимости. Если вы можете заставить ваше оборудование набирать обычную линию и набрать ATA на автоответчике в терминальной программе, получить CONNECTED для отображения на обоих концах и увидеть текст, идущий назад и вперед по этому соединению, вы сможете оставить телефонная компания из этого полностью.
When I was testing with dry lines and needed to have my connection picked up, I just configured my server to pick up the line with ATA in a loop, which will try to handshake with the dialing modem until the modem's timeout value (usually 60 seconds), drop the line and display a message (I THINK it was NO CARRIER, same as when you hung up, but I may be wrong - this WAS ages ago).
Unfortunately, this is where my practical, hands-on knowledge of how to set this up ends. I've never configured or ran any sort of standalone PPP server, aside from Worldgroup, which was just set up and go. It's also ancient history, thousands of dollars at the time for the configuration we had, and not a viable solution in your case.
Odds are, the equipment there is speaking PPP, which Windows software exists to handle inbound connections for. Windows server editions almost certainly allow dial-in to with PPP and connection sharing.
The biggest complication here is there's nothing in a dry pair telling the receiving computer to answer. This is also true if you insert voltage onto the line, nothing's setting the line 'high' to indicate an incoming ring. If dialing happens on a schedule, you can configure your answering server to just pick up the line every few minutes starting slightly before the scheduled connection time (or if they're in perfect time sync, I'd answer 10 seconds after the embedded system is set to dial).
That said, a 486 could handle a dozen modems on Windows NT 3.51 back in 199x, so even if you are an all-Windows shop, Linux or other Unices are far better suited for this sort of task, and a $5 doorstop from Craigslist or Goodwill would handle this until the end of time, and would be the route I'd go.
Required just-after-submitting edit: Even if you had to deploy this to every end-user site with this embedded system (I wrote the above with the thinking that all the embedded systems were in a shared location, which is wrong on re-reading), it'd be a phoneline-less solution that just requires a stand-alone additional piece of hardware acting as a glorified dialup-to-ethernet adapter.
Похоже, что Microsoft имеет службу RRAS внутри большей части своего серверного программного обеспечения и может (возможно) установить столько телефонных линий, сколько сервер может поддерживать карты.
http://technet.microsoft.com/en-us/library/dd469790.aspx
Когда я использовал для поддержки коммутируемого доступа, мы использовали выделенный сервер RAS (Ascend) и выделенный сервер RADIUS (freeradius), потому что это позволило нам подключить несколько линий E1, которые намного более экономичны, чем отдельные модемы и телефонные линии.
Очевидно, что если телефонная линия используется, второй абонент получит сигнал занятости.
Не совсем технически: возможно, вы можете купить работающее решение (аппаратное и программное обеспечение) у интернет-провайдера, который отказывается от него? Но я сомневаюсь, что кто-то использовал Windows для этого.