Virtual modem for dialout clients in virtual private network
First Claim
1. In a system including a plurality of local clients coupled to a remote client, the plurality of local clients being coupled to a packet processor, the packet processor further being coupled to a remote line server via a first network, the remote line server being further coupled to the remote client via a second point-to-point network, a call-setup method implemented on the packet processor for providing dial-out capability for each of the plurality of local clients to the remote client, the call-setup method comprising the steps of:
- detecting data packets from one of the plurality of local clients, where the detected data packets include a dial-out phone number of the remote client;
opening a first point-to-point connection to the remote line server via the first network;
passing the dial-out phone number to the remote line server to cause the remote line server to establish a second point-to-point connection to the remote client via the second point-to-point network; and
transferring data packets from the one of the plurality of local clients through the first point-to-point connection and the second point-to-point connection to the remote client.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides method and apparatus to provide local clients with the capability to dial-out through a packet processor to a remote line server to access a remote client. A packet processor is disclosed which includes a first and second interface and a bridge/router. The remote client is coupled through respectively a first network, a remote line server, and a second point-to-point network to the packet processor. The first interface couples to each of the local clients and detects data packets from one of the local clients which contain a dial-out phone number of the remote client. The second interface couples to the first network and opens a first point-to-point connection to the remote line server, responsive to the detecting of the packet. The bridge/router passes the dial-out phone number to the remote line server across the first point-to-point connection to cause the remote line server to establish a second point-to-point connection to the remote client for the transfer of data packets from the local client. The local clients may include a modem shell for redirecting modem communications including a dial-out phone number from an application on the local client to the packet processor across a packet switched network.
143 Citations
64 Claims
-
1. In a system including a plurality of local clients coupled to a remote client, the plurality of local clients being coupled to a packet processor, the packet processor further being coupled to a remote line server via a first network, the remote line server being further coupled to the remote client via a second point-to-point network, a call-setup method implemented on the packet processor for providing dial-out capability for each of the plurality of local clients to the remote client, the call-setup method comprising the steps of:
-
detecting data packets from one of the plurality of local clients, where the detected data packets include a dial-out phone number of the remote client;
opening a first point-to-point connection to the remote line server via the first network;
passing the dial-out phone number to the remote line server to cause the remote line server to establish a second point-to-point connection to the remote client via the second point-to-point network; and
transferring data packets from the one of the plurality of local clients through the first point-to-point connection and the second point-to-point connection to the remote client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19)
detecting a modem identification request for a destination modem in the data packets from the one of the plurality of local clients; and
sending to the one of the plurality of local clients a generic modem identification responsive to detecting the modem identification request.
-
-
3. The call-setup method of claim 2, wherein the modem identification request includes the string “
- ATI”
.
- ATI”
-
4. The call-setup method of claim 1, wherein the detecting step further comprises the steps of:
-
detecting a modem duplex request in the data packets from the one of the plurality of local clients;
sending the modem duplex request via the first point-to-point connection to the remote line server; and
passing the response to the modem duplex request from the remote line server to the local client.
-
-
5. The call-setup method of claim 4, wherein the modem duplex request includes at least one of the group of “
- AT”
strings consisting of;
“
&
F”
, “
Q0” and
“
V1”
.
- AT”
-
6. The call-setup method of claim 1, wherein the detecting step further comprises the steps of:
-
detecting a modem echo request in the data packets from the one of the one of the plurality of local clients; and
sending to the one of the plurality of local clients the modem echo request.
-
-
7. The call-setup method of claim 6, wherein the modem echo request includes the string “
- ATE1”
.
- ATE1”
-
8. The call-setup method of claim 1, wherein the transferring step further comprises the step of:
receiving at a first port on the packet processor the data packets from the one of the plurality of local clients destined for the remote client.
-
9. The call-setup method of claim 1, wherein the opening step further comprises the step of:
sending a data packet with a transport header implementing the transport control protocol (TCP) to the remote line server.
-
10. The call-setup method of claim 9, wherein the data packet with a transport header further comprises a start control connection request.
-
11. The call-setup method of claim 1, wherein the transferring step further comprises the step of:
sending a data packet with a transport header implementing the generic routing encapsulation (GRE) protocol to the remote line server.
-
12. The call-setup method of claim 1, wherein the transferring step further comprises the steps of:
-
determining that the data packets from the one of the plurality of local clients to the remote client include an HDLC payload wrapper; and
removing the HDLC payload wrapper.
-
-
13. The call-setup method of claim 12, further comprising the step of:
-
determining that the data packets to the one of the plurality of local clients from the remote client do not include an HDLC payload wrapper; and
adding an HDLC payload wrapper to the data packets.
-
-
14. The call-setup method of claim 1, wherein the transferring step further comprises the steps of:
-
allocating a register;
increasing a value stored in the register in proportion to a size of the data packets;
decrementing at a predetermined interval the value stored in the register by an amount proportionate to a data transfer rate; and
sending a not-clear to send command to the one of the plurality of local clients when the value in the register exceeds a the amount proportionate to the data transfer rate to control the flow of data packets.
-
-
15. The call-setup method of claim 1, wherein the transferring step further comprises the steps of:
-
allocating a buffer;
receiving data packets from the remote client to the one of the plurality of local clients;
placing the data packets in the buffer;
detecting a clear to send command from the one of the plurality of local clients; and
sending data from the data packet to the one of the plurality of local clients.
-
-
16. The call-setup method of claim 1, wherein the detecting step further comprises the step of:
correlating the dial-out phone number to the remote line server on the basis of a table indicating that the remote line server interfaces with the remote client.
-
18. The call-setup method of claim 1, wherein the detecting step further comprises the steps of:
-
detecting a modem identification request in the data packets from the one of the plurality of local clients; and
sending to the one of the plurality of local clients a generic modem identification responsive to detecting the modem identification request.
-
-
19. The call-setup method of claim 18, wherein the modem identification request includes the string “
- ATI”
.
- ATI”
-
17. In a system including a plurality of local clients coupled to a remote client through respectively, the local client being coupled to a packet processor, the packet processor further being coupled to remote line server via a first network, the remote line server being further coupled to the remote client via a second point-to-point network, a call-setup method for providing dial-out capability for each of the plurality of local clients to the remote client, the call-setup method comprising the steps of:
-
redirecting modem communications including a dial-out phone number from an application on one of the plurality of the local clients to the packet processor across a packet switched network;
detecting at the packet processor data packets from one of the plurality of local clients, where the detected data packets include a dial-out phone number of the remote client;
opening a first point-to-point connection from the packet processor to the remote line server;
passing the dial-out phone number from the packet processor to the remote line server to cause the remote line server to establish a second point-to-point a connection to the remote client via the second point-to-point network; and
transferring through the packet processor data packets from the one of the plurality of local clients through the first point-to-point connection and the second point-to-point connection to the remote client. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
detecting a modem duplex request in the data packets from the one of plurality of local clients;
sending the modem duplex request via the first point-to-point connection to the remote line server; and
passing the response to the modem duplex request from the remote line server to the local client.
-
-
21. The call-setup method of claim 20, wherein the modem duplex request includes at least one of the group of “
- AT”
strings consisting of “
&
F”
, “
Q0” and
“
V1”
.
- AT”
-
22. The call-setup method of claim 17, wherein the detecting act further comprises the acts of:
-
detecting a modem echo request in the data packets from the one of the plurality of local clients; and
sending to the one of the plurality of local clients the modem echo request.
-
-
23. The call-setup method of claim 22, wherein the modem echo request includes the string “
- ATE1”
.
- ATE1”
-
24. The call-setup method of claim 17, wherein the transferring step further comprises the step of:
receiving at a first port on the packet processor the data packets from the one of the plurality of local clients destined for the remote client.
-
25. The call-setup method of claim 17, wherein the opening step further comprises the step of:
sending a data packet with a transport header implementing the transport control protocol (TCP) to the remote line server.
-
26. The call-setup method of claim 25, wherein the data packet with a transport header further comprises a start control connection request.
-
27. The call-setup method of claim 17, wherein the transferring step further comprises the step of:
sending a data packet with a transport header implementing the generic routing encapsulation (GRE) protocol to the remote line server.
-
28. The call-setup method of claim 17, wherein the transferring step further comprises the steps of:
-
determining that the data packets from the one of the plurality of local clients to the remote client include an HDLC payload wrapper; and
removing the HDLC payload wrapper.
-
-
29. The call-setup method of claim 28, further comprising the steps of:
-
determining that the data packets to the one of the plurality of local clients from the remote client do not include an HDLC payload wrapper; and
adding an HDLC payload wrapper to the data packets.
-
-
30. The call-setup method of claim 29, wherein the transferring step further comprises the steps of:
-
allocating a register;
increasing a value stored in the register in proportion to a size of the data packets;
decrementing at a predetermined interval the value stored in the register by an amount proportionate to a data transfer rate; and
sending a not-clear to send command to the one of the plurality of local clients when the value in the register exceeds a the amount proportionate to the data transfer rate to control the flow of data packets.
-
-
31. The call-setup method of claim 17, wherein the transferring step further comprises the steps of:
-
allocating a buffer;
receiving data packets from the remote client to the one of the plurality of local clients;
placing the data packets in the buffer;
detecting a clear to send command from the one of the plurality of local clients; and
sending data from the data packets to the one of the plurality of local clients.
-
-
32. The client-setup method of claim 17, wherein the detecting step further comprises the step of:
correlating the dial-out phone number to the remote line server on the basis of a table indicating that the remote line server interfaces with the remote client.
-
33. A packet processor for providing each of a plurality of local clients, dial-out capability to a remote client, the packet processor coupled to the plurality of local clients, the packet processor being further coupled to a remote line server via a first network, the remote line server being further coupled to the remote client via a second point-to-point network, the packet processor comprising:
-
a first interface for coupling to each of the plurality of local clients and for detecting from one of the plurality of local clients, a data packet including a dial-out phone number of the remote client;
a second interface for coupling to the first network and for opening a first point-to-point connection to the remote line server, responsive to detecting the data packet; and
a bridge/router for passing the dial-out phone number to the remote line server across the first point-to-point connection to cause the remote line server to establish a second point-to-point connection via the second point-to-point network to the remote client for the transfer of data packets from one of the plurality of local clients. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
logic for detecting a modem identification request in the data packets from the one of the plurality of local clients and, responsively, sending to the one of the plurality of local clients a generic modem identification.
-
-
35. The packet processor of claim 34, wherein the modem identification request includes the string “
- ATI”
.
- ATI”
-
36. The packet processor of claim 33, wherein the bridge/router further comprises:
-
logic for detecting a modem duplex request in the data packets from the one of the plurality of local clients;
logic for sending the modem duplex request via the first point-to-point connection to the remote line server; and
logic for passing the response to the modem duplex request from the remote line server to the one of the plurality of local clients.
-
-
37. The packet processor of claim 36, wherein the modem duplex request includes at least one of the group of “
- AT”
strings consisting of “
&
F”
, “
Q0” and
“
V1”
.
- AT”
-
38. The packet processor of claim 33, wherein the bridge/router further comprises:
-
logic for detecting a modem echo request in the data packets from the one of the plurality of local clients; and
logic for sending to the one of the plurality of local clients the modem echo request.
-
-
39. The packet processor of claim 38, wherein the modem echo request includes the string “
- ATE1”
.
- ATE1”
-
40. The packet processor of claim 33, wherein the bridge/router further comprises:
logic for receiving at a first port on the packet processor the data packets from the one of the plurality of local clients destined for the remote client.
-
41. The packet processor of claim 33, wherein the second interface further comprises:
logic for sending the data packet with a transport header implementing the transport control protocol (TCP) to the remote line server.
-
42. The packet processor of claim 41, wherein the data packet with a transport header further comprises a start control connection request.
-
43. The packet processor of claim 33, wherein the bridge/router further comprises:
logic for sending a data packet with a transport header implementing the generic routing encapsulation (GRE) protocol to the remote line server.
-
44. The packet processor of claim 33, wherein the bridge/router further comprises:
-
logic for determining that the data packets from the one of the plurality of local clients to the remote client include an HDLC payload wrapper; and
logic for removing the HDLC payload wrapper.
-
-
45. The packet processor of claim 44, further comprising:
-
logic for determining that the data packets to the one of the plurality of local clients from the remote client do not include an HDLC payload wrapper; and
logic for adding an HDLC payload wrapper to the data packets.
-
-
46. The packet processor of claim 33, wherein the bridge/router further comprises:
-
logic for allocating a register;
logic for increasing a value stored in the register in proportion to a size of the data packets;
logic for decrementing at a predetermined interval the value stored in the register by an amount proportionate to a data transfer rate; and
logic for sending a not-clear to send command to the one of the plurality of local clients when the value in the register exceeds a the amount proportionate to the data transfer rate to control the flow or data packets.
-
-
47. The packet processor of claim 33, wherein the bridge/router further comprises:
-
logic for allocating a buffer;
logic for receiving data packets from the remote client to the one of the plurality of local clients;
logic for placing the data packets in the buffer;
logic for detecting a clear to send command from the one of the plurality of local clients; and
logic for sending data from the data packets to the one of the plurality of local clients.
-
-
48. The packet processor of claim 33, wherein the first interface further comprises:
logic for correlating the dial-out phone number to the remote line server on the basis of a table indicating that the remote line server interfaces with the remote client.
-
49. A system for providing dial-out capability for each of a plurality of local clients to a remote client, the plurality of local clients coupled to a packet processor, the packet processor being further coupled to a remote line server via a first network, the remote line server being further coupled to the remote client via a second point-to-point network:
-
the packet processor comprising;
a first interface for coupling to each of the plurality of local clients and for detecting from one of the plurality of local clients data packets, where the detected data packets contain a dial-out phone number of the remote client;
a second interface for coupling to the first network and for opening a first point-to-point connection to the remote line server, responsive to detecting the data packets; and
a bridge/router for passing the dial-out phone number to the remote line server across the first point-to-point connection to cause the remote line server to establish a second point-to-point a connection via the second point-to-point network to the remote client for the transfer of data packets from one of the plurality of local clients; and
the one of the plurality of local clients comprising;
a modem shell for redirecting modem communications including a dial-out phone number from an application on the local client to the packet processor across a packet switched network. - View Dependent Claims (50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64)
logic for detecting a modem identification request in the data packets from the one of the plurality of local clients and, responsively, sending to the one of the plurality of local clients a generic modem identification.
-
-
51. The packet processor of claim 50, wherein the modem identification request includes the string “
- ATI”
.
- ATI”
-
52. The packet processor of claim 49, wherein the bridge/router further comprises:
-
logic for detecting a modem duplex request in the data packets from the one of the plurality of local clients;
logic for sending the modem duplex request via the first point-to-point connection to the remote line server; and
logic for passing the response to the modem duplex request from the remote line server to the one of the plurality of local clients.
-
-
53. The packet processor of claim 52, wherein the modem duplex request includes at least one of the group of “
- AT”
strings consisting of;
“
&
F”
, “
Q0” and
“
V1”
.
- AT”
-
54. The packet processor of claim 49, wherein the bridge/router further comprises:
-
logic for detecting a modem echo request in the data packets from the one of the plurality of local clients; and
logic for sending to the one of the plurality of local clients the modem echo request.
-
-
55. The packet processor of claim 54, wherein the modem echo request includes the string “
- ATE1”
.
- ATE1”
-
56. The packet processor of claim 49, wherein the bridge/router further comprises:
logic for receiving at a first port on the packet processor the data packets from the one of the plurality of local clients destined for the remote client.
-
57. The packet processor of claim 49, wherein the second interface further comprises:
logic for sending the data packet with a transport header implementing the transport control protocol (TCP) to the remote line server.
-
58. The packet processor of claim 57, wherein the data packet with a transport header further comprises a start control connection request.
-
59. The packet processor of claim 49, wherein the bridge/router further comprises:
logic for sending a data packet with a transport header implementing the generic routing encapsulation (GRE) protocol to the remote line server.
-
60. The packet processor of claim 49, wherein the bridge/router further comprises:
-
logic for determining that the data packets from the one of the plurality of local clients to the remote client include an HDLC payload wrapper; and
logic for removing the HDLC payload wrapper.
-
-
61. The packet processor of claim 60, further comprising:
-
logic for determining that the data packets to the local client from the remote client do not include an HDLC payload wrapper; and
logic for adding an HDLC payload wrapper to the data packets.
-
-
62. The packet processor of claim 49, wherein the bridge/router further comprises:
-
logic for allocating a register;
logic for increasing a value stored in the register in proportion to a size of the data packets;
logic for decrementing at a predetermined interval the value stored in the register by an amount proportionate to a data transfer rate; and
logic for sending a not-clear to send command to the one of the plurality of local clients when the value in the register exceeds a the amount proportionate to the data transfer rate to control the flow of data packets.
-
-
63. The packet processor of claim 49, wherein the bridge/router further comprises:
-
logic for allocating a buffer;
logic for receiving data packets from the remote client to the one of the plurality of local clients;
logic for placing the data packets in the buffer;
logic for detecting a clear to send command from the one of the plurality of local clients; and
logic for sending data from the data packets to the one of the plurality of local clients.
-
-
64. The packet processor of claim 49, wherein the first interface further comprises:
logic for correlating the dial-out phone number to the remote line server on the basis of a table indicating that the remote line server interfaces with the remote client.
Specification