Distributed calling system
Abstract
Use a distributed structure to provide telephone services. This distributed structure uses a variety of resources, and each resource displays a hierarchical name space. This structure includes two basic resource types, device server and call coordinator, which are interconnected by a network using a common protocol, for example, TCP/IP. The interaction between various resources follows the "client server" principle to implement end-to-end communication. The device server represents a physical/logical telephone device, which includes a) an endpoint device server and b) a gateway device server. The endpoint device server 1) represents the control of the communication, and 2) completes the media reproduction.
Term
Term ended
Projected expiry passed 4 June 2019, 7.3 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
13 claims: 2 independent, 11 dependent
- 1一种提供电信服务的系统,包括:设备服务器;和呼叫协调器;所述设备服务器和呼叫协调器一起连在客户服务器布置中。
- 2按照权利要求1的发明,其中所述设备服务器是端点设备服务器。
- 3按照权利要求2的发明,其中所述端点设备服务器是电话设备服务器。
- 4按照权利要求2的发明,其中所述端点设备服务器是线路设备服务器。
- 5按照权利要求1的发明,其中所述设备服务器是网关设备服务器。
- 6按照权利要求5的发明,其中所述网关服务器有用于控制传统电话服务方面的第一接口和把所述呼叫协调器作为设备服务器的第二接口。
- 7按照权利要求1的发明,其中所述设备服务器展示一个分级名字空间。
- 8按照权利要求1的发明,其中所述呼叫协调器展示一个分级名字空间。
- 9按照权利要求1的发明,其中所述设备服务器和呼叫协调器由网络连在一起。
- 10按照权利要求1的发明,其中所述呼叫协调器执行特征附属程序。
- 11按照权利要求1的发明,其中所述呼叫协调器通过执行特征附属程序协调呼叫处理。
- 12按照权利要求1的发明,其中所述呼叫协调器通过执行特征附属程序协调呼叫处理,其中至少所述特征附属程序之一不是由所述呼叫协调器执行。
- 13一种提供电信服务的系统,包括:设备服务器;和呼叫协调器;所述设备服务器和呼叫协调器由共用网络连在一起。
Independent claims13
55 paragraphs, as filed
Distributed call system
The present invention relates to the use of a distributed call system to provide communication services.
A well-known problem in the telephone industry is that systems that provide telephone services, such as central offices (CO), private branch exchanges (PBX), and Internet telephony servers, are functionally separated islands, each of which has its own Own specific syntax and semantics. In addition, each larger island has its own sub-islands, and these sub-islands also adopt their own grammar and semantics. For example, CO uses a) signaling system 7 (SS7), b) integrated services digital network primary or basic rate (ISDN-PRI/BRI), c) T1 flashing/starting, d) analog loop start, and e) analog Ground start; and Internet telephony technology has a) H.323 and b) Session Invitation Protocol (SIP). The use of different grammar and semantics makes it difficult to interconnect the islands. In fact, it is impossible to provide the features of seamless work between the islands. In addition, other forms of communication need to be combined with existing communication islands, for example, quasi-synchronous communication, which includes the form of instant messaging, for example, a) paging or b) a private chat room partner list.
We have realized that by providing telephony services in a distributed structure, seamless telephony technology can be provided between various telephony function islands. This distributed structure uses various resources, and each resource displays a hierarchical name space. The structure of the present invention includes two basic resource types, namely, 1) device server and 2) call coordinator, which are interconnected by a network using a common protocol, for example, Transmission Control Protocol/Internet Protocol (TCP/IP). Each resource can participate in more than one call, that is, each resource acts as a distributed file system and can arbitrate various requests made to it. The interaction between various existing resources follows the principle of "client server" structure to implement end-to-end communication, and these resources are basically independent.
More specifically, a typical device server represents a physical/logical telephone device, which includes a) an endpoint device server and b) a gateway device server. The endpoint device server 1) represents the control of communications, such as keyboards, indicator lights, and displays, and 2) completes media reproduction, such as voice digitization, transmission, and reconstruction. The endpoint device server may include a telephone device server. The gateway device server has two "sides". On the one hand, it functions as a call coordinator, as if it is a device server, on the other hand, it has an interface suitable for intercommunication with existing telephone service islands. The gateway device server may include a line device server. In the term "device server", "server" is used in a conventional "client server" structure, where the server serves the client's request and will not take action unless it responds to the client's request.
The function of the call coordinator is the "client" role in the conventional "client server" structure, for example, it initiates service requests from various device servers. Since the call coordinator is a client, it can request services from various servers, ie, device servers or gateway servers, as if the services on a particular call are appropriate and consistent with stored rules or records. The device server does not know the communication status, which is the interaction between multiple device servers. The communication state is maintained by the call coordinator, which displays the communication state as a hierarchical name space. Except that the hierarchical nodes and leaves may not be actual directories and files but may be other data structures in the memory, hierarchical name space is similar to the computer disk-based hierarchical file system, in which the data structure appears in the form of a file system . The call coordinator treats the call processing as a series of steps, and each step can be implemented by a small piece of computer executable code called a "feature satellite program".
Therefore, regarding the various devices as clients and the call coordinator as servers, the present invention implements the opposite aspects of conventional systems.
In these drawings: Figures 1, 3, 4, and 6 show typical structures for implementing telephone services according to the principles of the present invention; Figure 2 shows a simplified name space tree for a device server; and Figure 5 shows a typical call coordinator Namespace.
The following only explains the principle of the present invention. Therefore, it can be understood that professionals can design various arrangements. Although these arrangements are not explicitly described or shown here, they embody the principle of the present invention and should be included in the spirit and scope of the present invention. In addition, all the examples and conditional language listed here are mainly used for explicit educational purposes, to help readers understand the principles of the present invention and the concepts proposed by the inventor to promote this technology. It should be considered that they are not limited to these specific instructions. Examples and conditions. Moreover, the principles and aspects of the present invention described herein, all the statements and specific examples of the embodiments shall include the equivalent content in both aspects of its structure and function. In addition, these equivalent contents include what is currently known and will be developed in the future to complete the same function, regardless of the structure.
As used here, except that the hierarchical nodes and leaves may not be actual directories and files but may be other data structures in the memory, the hierarchical name space is similar to the computer disk-based hierarchical file system, where the data structure is Appears in the form of a file system. Therefore, except that the name space may be constrained by the disk file system, the hierarchical name space can be compared with the so-called "RAM disk".
According to the principle of the present invention, by supporting the telephone service of the distributed structure, seamless telephone technology can be provided between various telephone function islands. This distributed structure uses various resources, and each resource presents a hierarchical name space to at least One other resource. The structure of the present invention includes two basic resource types, namely, 1) device server and 2) call coordinator, which are interconnected by a network using a common protocol, for example, Transmission Control Protocol/Internet Protocol (TCP/IP). Each resource can participate in more than one call, that is, each resource acts as a distributed file system and can arbitrate various requests to it. The interaction between various existing resources follows the principle of "client server" structure to implement end-to-end communication, and these resources are basically independent. According to one aspect of the present invention, the communication between distributed structure resources appears to be file system communication by using the name space.
More specifically, in the term "device server", "server" is used in a conventional "client server" structure, in which the server serves the client's request, unless it responds to the client's request, otherwise it will not take action. The device server keeps the protocol state information for the protocol and uses it to communicate with the call coordinator. Each device server presents itself as a hierarchical name space, so any client who wants to use the device server to provide services can access this device server, which seems to be accessing a distributed file system. A typical device server represents a physical/logical telephone device, which includes a) an endpoint device server and b) a gateway device server.
The endpoint device server 1) represents control of communications, such as keyboards, indicator lights, and displays, and 2) completes media reproduction, such as voice digitization, transmission, and reconstruction. The endpoint device server may include a telephone device server; an automatic attendant (voice message) server; an intelligent personal communication server, a so-called intelligent agent; and so on. An example of an endpoint device server is a telephone device server. The telephone equipment server usually regards the telephone as a model that includes a) a control surface, which the user uses to initiate calls, terminate, and control operations, and b) a media rendering engine (rendering engine), such as speakers and audio applications / Or microphones, display screens for video applications, etc.
The actual control surface and media reproduction details can be different for various specific embodiments, that is, for different phones or communication devices. For example, a standard POTS telephone does not have a display, and many aspects of its control surface are implemented using the POTS telephone media of the in-band signal mode. In contrast, the so-called personal computer (PC) softphone uses the menu/window as the control surface, and completes audio reproduction through the PC's sound card. Another type of telephone equipment is a PC running a standard H.323 (SIP) client, for example, a Microsoft web conference phone. For this kind of telephone equipment, the proxy that runs for SIP clients is usually in the public protocol network and displays a name space interface, for example, a file system interface. In addition, a proxy device server that implements an instant message (IM) protocol RVP can be used as a telephone device server, so IM clients can implement/receive/manipulate circuit/packet telephone calls in a seamless manner. All these and other telephone equipment can be connected to the appropriate telephone equipment server.
Note that standard telephone technology concepts, such as dial tone, ringing, etc., are partial details of specific telephone equipment. Therefore, a telephone device server that supports POTS phones is likely to support a dial tone, and a PC user interface may not have a direct similar dial tone, so the phone device server that supports PC phones does not provide it. The important idea is that any client that utilizes the telephone equipment server, for example, the call coordinator, forgets the individual/partial details of the endpoint equipment.
For a POTS phone, the phone device server can be implemented in the form of a PC, with a POTS interface card for connecting to the POTS phone and a network card for TCP/IP connection. When using TCP/IP, the network card can be any type of communication equipment used to obtain TCP/IP connections, such as network interface cards (NIC), ordinary analog modems, optical fiber interface cards, integrated services digital network (ISDN) modems, Any form of Digital Subscriber Loop (DSL), or others, etc. The telephone equipment server can be implemented in the form of a subscriber loop carrier or private branch exchange (PBX) that has been matched with the interface, for example, a TCP/IP interface card, which is used to connect to the network used by the call coordinator and other equipment servers.
The gateway device server has two "facets." On the one hand, it functions as a call coordinator, as if it is a device server, used to connect the gateway device server to the network used by the call coordinator and other device servers. Another aspect of the gateway device server has an interface suitable for connection, control and operation with existing telephone service island elements. A typical gateway device server is a line device server.
The line equipment server usually regards the traditional network interface as a model that can support one or more telephone calls through the existing telephone service islands, for example, the public switched telephone network (PSTN). Traditional network interface can include two aspects: call control and media reproduction. Typical traditional network interfaces include: a) a telephone card used to connect to a POTS network that supports one or more analog loop start interfaces; b) a telephone card used to connect to an ISDN network and support one or more ISDN primary rate interfaces (PRI); c) Standard Private Branch Exchange (PBX), which can be controlled via an accessible interface; d) Proxy line equipment server, which exchanges H.323 protocol with H.323 gateway, for example, proxy telephone/line equipment server, which is for other The H.323 client acts as an H.323 multipoint control unit (MCU), or a proxy line device server that implements the H.323RAS protocol. It acts as a registration/access server for H.323 clients in a special field (note that RAS The /MCU device server is usually represented as a telephone device server and a line device server agent for multiple lines and telephone devices at the same time); and e) a proxy phone/line device server that implements the SIP server protocol. Note that in addition to being able to connect with traditional networks, the principles of the present invention can be used to allow connections with undeveloped telephone islands.
The main function of the gateway device server is to act as a gateway between the network connecting the device server and the call coordinator and some other external networks. For example, these external networks are traditional networks, which are one of the telephone islands. In order to achieve this goal, the gateway device server is an effective entity in the traditional network and adopts the appropriate protocol of that traditional network. In order to show the name space to its clients, that is, the call coordinator, each gateway device server avoids the call coordinator from the traditional network-specific signaling protocol. This is achieved by keeping the protocol specific state in the gateway device server.
The device server can handle multiple calls from a single call coordinator, as well as multiple such call coordinators. In order to handle such multiple interactions and multiplexing, the device server maintains a self-transmitting and self-receiving state.
The call coordinator completes the communication between various device servers. The call coordinator can be implemented as a software module. The computer connected to the network executes the software module, and the device server is attached to the network. The computer executing the call coordinator can be separate from the computer or computer group of the device server, or can share the processing power with the computer of one or more device servers, or the computer attached to the network. Or, the function of the call coordinator can be distributed to several computers, which can be separated from the computer of the device server, or share the processing power in any combination. A single network can have more than one call coordinator attached to it.
The intent of the call/communication, and any related management tasks are completely handled by the call coordinator. The function of the call coordinator is the role of the "client" in the common "client server" structure, for example, it initiates service requests to various device servers. Usually, this kind of request is a response to a so-called "event" detected by the call coordinator. Since the call coordinator is a client, it can request services from various servers, ie, device servers or gateway servers, as if the services provided on a particular call are appropriate and consistent with stored rules or records.
The device server does not know the communication status, it is the interaction between multiple device servers. However, the communication state is maintained by the call coordinator, which displays the communication state as a hierarchical name space. As a client of the device server, the call coordinator manipulates the device server to complete the communication. The call coordinator also captures and outputs this interaction called "call-to-talk" as a hierarchical name space.
The call coordinator treats call processing as a series of steps, and each step can be implemented with a small piece of computer executable code called a "feature satellite program". The feature satellite program completes the unique steps in call processing, and as part of the steps, it usually operates the namespace call tree displayed by the call coordinator. That is to say, in addition to loading the feature satellite program, the call coordinator and the feature satellite program communicate completely through the call tree. Feature satellite programs can be dynamically loaded and executed by the call coordinator. According to one aspect of the present invention, the feature satellite program code can be located elsewhere in the network and can be loaded from the network in a flying manner, or the feature satellite program itself can even be executed elsewhere in the network. Since the call status is operated by the call tree, the call tree is displayed by the call coordinator as a hierarchical name space, and the location of the execution of the characteristic subsidiary program is irrelevant as part of the processing of the current call/conversation.
The call coordinator supports an explicit user model. In other words, the users of the system are authenticated by the call coordinator and are restricted to specific devices. While processing the call on behalf of the user of the system, it can also instruct the call coordinator to run which characteristic auxiliary programs. In order to accomplish this task, the users of each system can logically group the feature affiliate programs. Advantageously, the call coordinator provides facilities for each user to gradually develop the system.
Figure 1 shows a typical structure for implementing telephone services in accordance with the principles of the present invention. In Figure 1, there are: a) POTS telephones 101 and 113, b) telephone equipment server 103, c) call coordinator 105, d) line equipment server 107, e) data network 109, f) public switched telephone network (PSTN) 111 And g) Data link 115. The POTS phone 101 is connected to the phone device server 103 via the POTS interface. The telephone device server 103, the call coordinator 105, and the line device server 107 are connected to a data network 109 by a data link, for example, a TCP/IP link 115, for example, the data network is similar to the Internet or a so-called intranet. Like the POTS phone 113, the line equipment server 107 is also connected to the PSTN 111, for example, via a tip-ring line.
In order to obtain a phone call between the POTS phones 101 and 113, the following typical functions appear.
When a telephone call is initiated by the POTS phone 101, for example, the calling party picks up the POTS phone 101 in a normal manner. This sends a signal to the telephone equipment server 103, which provides or facilitates the provision of a dial tone to the POTS phone 101. In response to the dialing occurring at the POTS phone 101, the telephony device server 103 removes or facilitates the removal of the dial tone and obtains the dialed digits. Thereafter, the telephone device server 103 leads to an event, which can be obtained by writing an event control file to the tree, which represents the hierarchical name space of the telephone device server 103. As noted above, the hierarchical name space of the telephone device server 103 can be expressed as a tree data structure.
FIG. 2 shows a simplified name space tree 201 of a device server such as a telephone device server 103. As in the file system, the root node 209 of the namespace tree 201 is represented by "#/". The event control 203 is a file. The events to be pointed out to the call coordinator 105 are written into this file, and the service request from the call coordinator 105 is also written into this file. Therefore, the instruction to initiate the call and the dialed digits are placed in the event control 203. Once the call is established, the node data is used to negotiate with the media. As described in more detail below, the node user 207 contains an indication as to which feature satellite program is to be run by the call coordinator 105 when processing the device server call.
Back to Figure 1, take a look at the event control files of all the device server namespace trees it supports. To achieve this, the call coordinator 105 knows the configuration or layout of the data network 109, including the location of the device servers, for example, the addresses of the device servers, and the specific devices behind those servers. Therefore, for example, the call coordinator 105 has stored a personal or electronic one of the owner of the phone serviced by the phone equipment server, and if any, the phone numbers of these phones, and the lines directly served by the line equipment server may be available. Connected call. The information required to provide the knowledge of the call coordinator 105 can be pre-programmed into the call coordinator 105, or can be dynamically discovered by the call coordinator 105 using a known process, or can be implemented using a combination of the above.
In response to reading the event control file 203, the call coordinator 105 sets out to determine what event has occurred and what should be done for it. In this specific example described, the call coordinator 105 determines that the user at the POTS phone 101 needs to call the phone number indicated by the dialed digits. In order to fulfill the needs of the calling user, the call coordinator 105 prompts the execution of auxiliary programs necessary for this purpose.
According to one aspect of the present invention, the specific auxiliary program executed during the establishment of a call or during the call may be: as described above, a single auxiliary program customized for the calling party; a common auxiliary program for the calling party; a series of auxiliary programs customized for the calling party Program; a series of ordinary auxiliary programs of the calling party; as mentioned above, a single auxiliary program customized for the called party; ordinary auxiliary programs of the called party; a series of auxiliary programs customized for the called party; a series of ordinary auxiliary programs of the called party Program; any combination of the above; and any subsidiary program one can imagine. The auxiliary programs can be all located in the call coordinator 105, can be located outside the call coordinator 105, or a combination of the two. Moreover, these auxiliary programs may be all executed by the call coordinator 105, or they may be executed by other resources, for example, a server or a call coordinator connected to the data network 109.
For example, the calling user may have a feature that allows the calling user to determine a sequence of multiple telephone numbers, in which the determined called party is attempted to be used as a function of dialing the calling number. If this is the case, the call coordinator 105 runs an auxiliary program for this feature, which can determine whether the dialed number is related to a sequence of multiple phone numbers. In the case that the dialed number is not related to the sequence of multiple telephone numbers, the call coordinator 105 runs the set call layout subsidiary program. In the case that the dialed number is related to a sequence of multiple telephone numbers, the call coordinator 105 obtains the first telephone number in the sequence, and then executes the set call layout subsidiary program. If the call is not completed, the control will return to the auxiliary program of this sequence, and then get the next phone number, if there is this phone number, and execute the set call layout auxiliary program again. If the call cannot reach any of the phone numbers in the sequence, the sequence subsidiary program will return control to the call coordinator 105, and then it will execute another subsidiary program, for example, play a message to notify the calling party that the called party cannot be connected square.
Assuming that a simple voice connection is required for a single telephone number, the call coordinator 105 determines for the data network 109 the network routable address corresponding to the called party who received the number. This is done by the converter in the call coordinator 105 or related to the call coordinator 105. This transformer is basically a routing engine. The function of the converter is to provide an auxiliary program, for example, the currently executing auxiliary program, the address list defined by the gateway device server or the telephone device server, and they may be able to complete the call.
In this simple voice connection, the converter sends back the address of the line equipment server 107. Then, the call coordinator 105 requests service from the line equipment server 107 as a client. In particular, the call coordinator 105 requests the line device server 107 to establish a connection with the phone number obtained from the POTS phone 101. This is done by writing a suitable command to the event control file of the name space tree of the line device server 107. For example, this command is a connection establishment command. In addition, the dialed digits enter the event control file of the name space tree of the line equipment server 107, so the equipment server 107 knows which phone can be connected via the line equipment server 107.
In response to the request service from the call coordinator 105 via its TCP/IP interface, the line device server 107 starts to establish a request connection from itself to the POTS phone 113. This is done using the general existing PSTN 111 protocol, and is completely invisible to the call coordinator 105. After getting the connection with the POTS phone 113, or at least connecting to a point in the PSTN 111, it is worthwhile to establish a media connection through the POTS phone 101,-for example, the ringback or busy signal is being provided by the PSTN 111 to the line equipment server 107- The call coordinator 105 causes a media path to be established between the telephone device server 103 and the line device server 107. This is achieved by the call coordinator 105 writing service requests for the media connection to the event control file of each namespace tree of the telephone device server 103 and the line device server 107.
After successful connection and call establishment, the call coordinator 105 monitors the call in this event, whether additional services are required on this call. For example, in response to one of the phones 101 or 113 hanging up, the call may be requested to be disconnected. Alternatively, additional feature processing can be requested, such as call waiting, call forwarding, or bill sharing. Just as with the establishment of a call, the need to provide this service is indicated by a request written in the name space tree event control file of the telephone equipment server 103 and the line equipment server 107. The call coordinator 105 reads out the event control file, runs an appropriate auxiliary program, and sends a service request to an appropriate server as a client.
To terminate the call, for example, the POTS phone 101 hangs up. This event is written into the name space tree event control file of the telephone device server 103, and the call coordinator 105 knows this event. In response to this event, the call coordinator 105 runs an auxiliary program. In an embodiment of the present invention, this subsidiary program can request to cut off the service from the telephone equipment server 103 and the line equipment server 107, and together with the determination to cut off the respective telephone numbers, write a cut command to these two event control files Each of them.
Similarly, if the POTS phone 113 hangs up, the tag of this event is written into the name space tree event control file of the line device server 107. It may actually be in the form of such a tag. The line device server 107 makes the call The specific line used is cut off. After detecting this event in the event control file of the line device server 107, the call coordinator 105 runs the related auxiliary program. In an embodiment of the present invention, this subsidiary program can request to cut off the service from the telephone equipment server 103 and the line equipment server 107, and together with the determination to cut off the respective telephone numbers, write a cut command to these two event control files Each of them.
Note that in response to any known event, the specific auxiliary program executed by the call coordinator 105 is completely at the discretion of the implementer. Preferably, this auxiliary program is basically not restricted. In fact, the auxiliary program to be executed can be determined by the implementer, can be determined by the last user, or can be a combination of the two. Moreover, the code can even be written by the last user. In addition, the code need not be placed in the call coordinator 105 or executed by the call coordinator 105.
Figure 5 shows a typical call coordinator 105 name space. As for the name space of the device server, the root node 501 of this name space is "#/".
Below the root node 501 is the global event control file 511. Entering the global event control file 511 is all events belonging to all calls, for example, global related billing information, such as changes in billing rate specifications due to changes in time. In addition, the global event control file 511 can be opened and read by the program, for example, event detail records, and you want to know about all call processing events that are occurring in this call coordinator.
Also under the root node 501 is the call tree node 503, where all the following calls are currently valid, and under the jurisdiction of the call coordinator 105, the global event control file 511 can be found. For each active call, there is an active call node 505. In Figure 5, only one valid call is drawn. Below each active call node 505, there is a comprehensive call event control file 507 and a numbered node 509 for each device on that call. The overall call event control file 507 is used for events attached to the overall call. The comprehensive call event control file 507 provides all call processing events related to this particular call. The call coordinator and feature satellite programs can communicate through the comprehensive call event control file 507.
Each numbered node 509 can be identified by the network routable address of the device it represents. The numbered node actually represents the entire name space displayed by the identified device. Therefore, the numbering node is not really a single node, but itself is the name space tree of the device server, and the root node of this tree is at the position of the numbering node 509.
Fig. 4 shows another typical structure for realizing telephone service according to the principles of the present invention. Except that the data network 109 is already included in the PC 115, the embodiment of FIG. 4 is basically the same as that of FIG. 1, so the data link 115 is also omitted. Then, functionally, a) POTS telephones 101 and 113, b) telephone equipment server 103, c) call coordinator 105, d) line equipment server 107, and e) the operation of the public switched telephone network 111 as described in Figure 1 The same.
Fig. 3 shows another typical structure for realizing telephone service according to the principles of the present invention. Figure 3 shows: a) POTS phone 313; b) telephone equipment server 303, including telephone equipment servers 303-1 and 303-2; c) call coordinator 305, including call coordinators 305-1 and 305-2; d) line equipment server 307; e) data network 309; f) public switched telephone network (PSTN) 311; g) data link 315; h) multimedia PC 321, including multimedia PC321-1 and 321-2; i) microphone (MIC) 323, including microphones 323-1 and 323-2; and j) speaker 325, including speakers 325-1 and 325-2. Except that the connection between the telephone device server 303 and the telephone device is composed of a microphone 323, a speaker 325, and a keyboard and a monitor connected through the multimedia PC 321 where they are located, if the multimedia PC has one, the telephone device server 303 completes the same as shown in Figure 4 The telephone equipment server 103 has the same function. The call coordinator 305 performs the same function as the call coordinator 105 in FIG. 4.
The multimedia PCs 321-1 and 321-2 and the line device server 307 are each connected by a data link, for example, one of the TCP/IP links 315, to a data network 309, such as an Internet-like network or a so-called intranet. The telephone equipment server 303-1 and the call coordinator 305-1 can directly communicate with each other within the multimedia PC321-1, using the TCP/IP link 315 connecting the multimedia PC321-1 to the data network 309, they can communicate with the multimedia PC321- Communication with resources other than 1. Similarly, the telephone device server 303-2 and the call coordinator 305-2 can directly communicate with each other within the multimedia PC321-2, using the TCP/IP link 315 connecting the multimedia PC321-2 to the data network 309, they can communicate with each other Communication with resources other than the multimedia PC321-2. The line equipment server 307 is also connected to the PSTN 311, for example, like the POTS phone 313, through a tip-to-ring line. The respective functions of the line equipment server 307, PSTN 311, and POTS telephone 313 are the same as those of their counterparts with the same name in FIG. 4.
In the embodiment of FIG. 3, calls can be made between telephone devices related to the multimedia PC321 and between the POTS phone 313. Can get conference call, and many advanced features. In addition, the phone device features suitable for the multimedia PC 321 may be provided to one or more of these phone devices but not to the POTS phone 313. As described above, according to one aspect of the present invention, this is achieved by having the call coordinator execute an appropriate feature satellite program, for example, in accordance with previously reserved features.
Fig. 6 shows another exemplary embodiment of the present invention. In particular, the embodiment of the present invention shown in FIG. 6 supports H.323 clients as telephone devices. Figure 6 shows: a) POTS telephone 613, b) telephone equipment server 603, c) call coordinator 605, d) line equipment server 607, e) data network 609, f) public switched telephone network (PSTN) 611, g) Data link 615, h) Multimedia PC621, including multimedia PC621-1 and 621-2, i) Microphone (MIC) 623, including microphone 623-1 and 623-2, j) Speaker 625, including speaker 625-1 And 625-2, k) H.323 client 627, and l) H.323 gateway device server 629. The telephone device server 603 performs the same functions as each of the telephone device servers 303 in FIG. 3. The call coordinator 605 performs the same functions as the call coordinator 105 in FIG. 4. The H.323 client 627, together with the microphone 623-2 and the speaker 625-2, and the keyboard and display of the multimedia PC621-2, if any, constitute a telephone device for communication using the H.323 protocol.
The multimedia PCs 621-1 and 621-2, the line device server 607, and the H.323 gateway device server 629 are each connected to a data network 609, such as the Internet, through a data link, for example, one of the TCP/IP links 615 Network or so-called "Intranet". The telephone device server 603 and the call coordinator 605 can directly communicate with each other within the multimedia PC621-1, using the TCP/IP link 615 connecting the multimedia PC621-1 to the data network 609, and each can communicate with the multimedia PC621-1. External resource communication.
Similarly, using the TCP/IP link 615 connecting the multimedia PC 621-2 to the data network 609, the H.323 client 627 can communicate with resources other than the multimedia PC 621-2. More specifically, the H.323 protocol of the H.323 client can be on the TCP/IP link 615 connecting the multimedia PC 621-2 to the data network 609. In addition, the two TCP/IPs utilize the call coordinator 605 protocol and the H.323 protocol on top of TCP/IP, and the H.323 gateway device server 629 sends and receives IP on one of its TCP/IP links 615. The TCP/IP of the call coordinator 605 is used to implement the first "aspect" of the above-mentioned gateway server, and the gateway device server seems to be the device server of the call coordinator 605. The H.323 protocol over TCP/IP is used by the traditional network interface of the H.323 gateway device server-the second "aspect" of the gateway server-used to communicate with the H.323 client of the telephone device on the virtual communication network Communication, it actually runs on the data network 609.
Like the POTS phone 613, the line equipment server 607 is also connected to the PSTN 611, for example, via a tip-to-ring line. The functions of the line equipment server 607, PSTN 611, and POTS phone 613 are the same as those of their counterparts of the same name in FIG.
In the embodiment of FIG. 6, calls can be made between telephone devices related to the multimedia PC621 and between the POTS phone 613. Can get conference call, and many advanced features. In addition, features suitable for the multimedia PC621 telephone device may be provided to one or more of these telephone devices but not to the POTS phone 613. As described above, according to one aspect of the present invention, this is achieved by having the call coordinator execute an appropriate feature satellite program, for example, in accordance with previously reserved features.
In a typical embodiment of the present invention, the basic name space protocol used is Styx. Styx is a distributed file system protocol. It does not semantically interpret the content read/written to each node in the hierarchical name space. Preferably, Styx can be used as a control protocol, in which entities that look like files need not actually be files. This system takes advantage of this fact to carry the regular call control protocol on top of Styx. This call structure can be similar to the known Q.931. The protocol of this system includes the file system structure displayed by the device server and the vocabulary used to control the file. The basic signaling system is independent of the actual data transfer details. Since the call processing waiting time can force the data transfer negotiation into its call control stage, the data transfer negotiation can be separately indicated. The separation of call control and data transfer negotiation is similar to H.323 protocol negotiation. Unlike Q.931, the basic protocol uses a very simple and ASCII encoding scheme similar to HTTP-a set of name/value pairs separated by delimiters, among which certain name/value pairs based on the original call control protocol are considered necessary of. Adding new name/value pairs can extend the basic call control protocol. By adding new messages, new features are added to the protocol. These new messages do not change the basic semantics of the call control protocol. Entities with special name/value pairs that are not understood in the system, for example, corresponding to a new feature request or a new attribute of an existing feature, the name/value pair is ignored, and only the basic call control protocol semantics is followed.
Advantageously, the above system makes it possible for the user to subscribe to multiple telephone service providers at the same time and to select the set of features that the user wishes to obtain from each service provider. More beneficially, the service provider has the ability to gradually increase the dedicated features for users, and the overall system can be developed by adding new feature affiliate programs and device servers. In addition, by adding new gateway device servers, service providers can gradually add new protocol capabilities to the system. Moreover, adding a new gateway device server will never affect the existing feature affiliate programs or other device servers, because the basic systems are linked by using the regular call model based on the hierarchical name space. Similar new endpoint device servers can be added to the system without disrupting the existing system. Since a) the addition of a new device server occurs in a distributed manner, and b) the basic call processing system does not have to maintain the state between calls, the system is inherently scalable.
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| CN116401600A | Cited by | China | Search report |
15 members in 9 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 092495 | United States of America | – | |
| 9249598 | United States of America | A |
Members15
| Document | Office | Kind | |
|---|---|---|---|
| CA2269926A1 | Canada | A1 | |
| EP0963096A2 | European Patent Office (EPO) | A2 | |
| AU3237699A | Australia | A | |
| BR9901638A | Brazil | A | |
| KR20000005872A | Republic of Korea | A | |
| CN1243374AThis record | China | A | |
| JP2000092196A | Japan | A | |
| EP0963096A3 | European Patent Office (EPO) | A3 | |
| US6567398B1 | United States of America | B1 | |
| EP0963096B1 | European Patent Office (EPO) | B1 | |
| DE69909555D1 | Germany | D1 | |
| DE69909555T2 | Germany | T2 | |
| CN1186911C | China | C | |
| CA2269926C | Canada | C | |
| KR100629088B1 | Republic of Korea | B1 |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Grant of patent or utility modelGrantedC14 | C14 | |
| Entry into substantive examinationC10 | C10 | |
| PublicationC06 | C06 |
Numbers
- Publication
- 1243374
- Application
- 991069889
Titles2
- Chinese
- 分布呼叫系统
- English
- Distributed call system
Classification
- CPC, 12
- H04M7/0012
- H04B7/26
- H04M3/42
- H04M3/42178
- H04M7/1205
- Y10S379/90
- H04L65/1043
- H04L65/1069
- H04L61/4535
- H04L65/1106
- H04L9/40
- H04L65/1101
- IPC, 6
- H04M3 42
- H04B7 26
- H04L65 1106
- H04M3 00
- H04M7 00
- H04Q3 545