System and method for optimizing telecommunication signal quality

Abstract: An embodiment of the present invention provides a system and method for selecting voice compression and coding based on capabilities of all intermediary networks (306a, 306b, 206) and links (202, 204, 208, 204a, 304a, 304b, 204b, 304, 304d 204c) in addition to the capabilities of the end points (302, 204, 204a, 304a, 304d, 204c, 308, 200, 202, 208, 210). The present invention optimizes voice quality by determining a minimum number of new conversions, herein referred to as transcodings, necessary in voice connections, on a system wide basis. According to an embodiment of the present invention, a sender (302, 204a, 304a, 200, 202, 204) sends a signaling message to a receiver (208, 210, 340d, 204c, 308). The signaling message is sent to the receiver prior to sending an actual message. Each entity or device capable of converting voice coding, herein referred to as a A station ≅ (202, 204, 208, 204a, 304a, 304b, 204b, 304c, 304d, 204c, 306a, 306b, 206, 302, 204, 304d, 308, 200, 210), between the sender and the receiver identifies their capabilities to the signaling message. The receiver, which is also a station, also identifies its capabilities to the signaling message. The signaling message may then be sent back to the send to determine an optimized series of voice codings to be used for the call. Alternatively, the call receiver, or an intermediate station located along the call route, may determine the optimized series of voice codings to be used for the call and communicate to the caller how the call should be coded.

Description: FIELD OF THE INVENTION The present invention relates to telecommunication call transmissions. In particular, the present invention relates to a system and method for selecting voice coding at various junctions in a telecommunication call. BACKGROUND OF THE INVENTION With the proliferation of voice over data network technology has come the deployment of numerous voice coding and compression algorithms. Examples of these voice coding and compression algorithms include G.723, Global System for Mobil Communication (GSM), Pulse Code Modulation (PCM), G.711, and Adaptive Differential Pulse Code Modulation (ADPCM). G.723, PCM, G.711, and ADPCM are protocols which are defined by the International Telecommunications Union (ITU), and are well known to those reasonably skilled in the art. GSM is a protocol defined by European Telecommunication Standards Institute and is also well known to those reasonably skilled in the art. These protocols seek to compress and/or code a voice signal into an optimal number of bits for transmission over a data network, attempting to balance quality of service with affordability. Protocols currently exist which allow two users on the same local access network, for example, to set up an optimal connection. A telephony feature server (TFS) may determine the coding abilities of each of the clients and find the best choice for the connection. However, when users are on a wide area network (WAN), separate local area networks (LANs), or there are intermediate public network connections, the ability to perform optimal connection negotiation on a system wide basis is typically lost. When users are part of such systems, it can result in multiple coding and compression algorithms used throughout a connection, resulting in gross distortion and loss of voice quality. The resulting signal distortion and loss of quality typically make the circuit unsuitable for fax or computer modem connection. Further, a call is often connected to a voice mail system, using an entirely different coding algorithm from a live call, which can further add to the resulting distortion. For example, assume a telephony over LAN (TOL) system in which a caller making a call has several compression options. In this example, assume that a call from the caller is set up using a compression algorithm defined by G.723. Assume also that the caller is connected to an Ethernet LAN, which has a TOL gateway X. The call may be received by gateway X and converted to pulse code modulation (PCM) coding. From gateway X to a second gateway, gateway Y, the call is transmitted in PCM coding. Assume also that the call receiver is connected to gateway Y and that the receiver only has GSM capabilities currently available. Accordingly, the call is then converted from PCM coding to GSM coding. Typically, there may be multiple compression coding options that may be selected for use between the caller and gateway X. However, the coding selection is typically only an educated guess since there is typically no prior knowledge of the capabilities of the receiver. In this example, the voice compression of G.723 introduces a first distortion. When the coded G.723 voice arrives at gateway X, it is then converted to PCM voice. At this point, a second distortion is introduced due to the G.723 decompression and PCM coding. When the PCM voice arrives at gateway Y, gateway Y negotiates with the call receiver and determines that GSM is the only option. Accordingly, a third distortion is introduced when the connection is made to the call receiver using GSM. It is not necessarily the severity of the individual compressions, but the transcoding back and forth and back again to different compression methods that typically causes unnecessary signal distortion. The resulting signal in this example is substantially more distorted than a signal produced by a single family of coding algorithms. The various conversions produced a suboptimal series of events on a system wide basis, even though each point - to - point decision may have been optimal. It would be desirable to produce a series of connections which optimizes overall quality of the transmission from the sender to the receiver. The present invention addresses such a need. EP-A-0494576 discloses a method and system for optimizing a signal quality in a communication system as recited in the precharacterising clause of the independent claims. SUMMARY OF THE INVENTION An embodiment of the present invention provides a system and method for selecting voice compression and coding based on capabilities of all intermediary networks and links in addition to the capabilities of the end points as recited in the independent claims. The present invention optimizes voice quality by determining a minimum number of new conversions, herein referred to as transcodings, necessary in voice connections, on a system wide basis. According to an embodiment of the present invention, a sender sends a signaling message to a receiver. The signaling message is sent to the receiver prior to sending an actual message. Each entity or device capable of converting voice coding between the sender and the receiver identifies their capabilities to the signaling message. An entity or device, including end devices as well as intermediary devices (such as gateways), capable of converting voice coding between a sender and a receiver is herein referred to as a Astation≅. The receiver also identifies its capabilities to the signaling message. The signaling message may then be sent back to the sender for the sender to determine an optimized series of voice coding to be used for the call. Alternatively, the call receiver, or an intermediate station located along the call route, may determine the optimized series of voice coding to be used for the call and communicate to the caller how the call should be coded. According to an embodiment of the present invention, the sender may maintain a prioritized list of preferred coding methods. Each coding method included in the prioritized list of preferred coding methods are compared with the capabilities of all the stations to determine if all the stations have the capability to perform each of the preferred coding. It is also determined whether the transmission from the sender to the receiver can be sent with only uncompressed codes and a single preferred coding method. These determinations are made for each preferred coding method of the sender. The results are stored and analyzed. If there is a result which allows transmission from the sender to the receiver with no transcoding, then that result is selected. Otherwise, the result with the minimum number of transcodings is selected. If there is a tie in the results, then the result with the most number of hops with compressed coding is selected. A hop is a telecommunication signal coded section between two stations. If there is a tie with the result with the most number of hops with compressed coding, then the result which is higher on the sender's preference list is selected. Each network or link is then instructed to use a coding method which has been predetermined by the selected result. Note that although a specific order is described herein for exemplary purposes, the various resolutions of the ties may be performed in any order. A method according to an embodiment of the present invention for optimizing telecommunication signal quality is presented. The method comprising steps of sending a signaling message; collecting at least one capability of at least one station that interacts with the signaling message; and determining a coding scheme based on the at least one collected capability. In another aspect of the present invention, a system according to an embodiment of the present invention for optimizing telecommunication signal quality is presented. The system comprising a telecommunication device configured to send a signaling message to a receiving location. The signaling message collects at least one capability of at least one station that interacts with the signaling message. The system also includes a processor coupled with the telecommunication device configured to determine a coding scheme based on the at least one collected capability. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of a computer system which is suitable for implementing the present invention. Figure 2 is a block diagram of an example of a telephony over local area network (LAN) system which is suitable for implementing the present invention. Figure 3 is a block diagram of a modern telephone network system suitable for implementing the present invention. Figure 4 is a flow diagram of a method according to an embodiment of the present invention for optimizing telecommunication signal quality. Figures 5A - 5B illustrate a flow diagram of an example of a method according to an embodiment of the present invention for optimizing telecommunication signal quality in a call between a sender and a receiver. Figures 6A - 6B is a flow diagram for a method according to an embodiment of the present invention for determining an end-to-end coding scheme. The following description is presented to enable one of ordinary skill in the art to make and to use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiments will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. Thus, the present invention is not intended to be limited to the embodiments shown but is to be accorded the widest scope consistent with the principles and features described herein. For simplicity, the examples herein refer to a telephone call, however, embodiments of the present invention are not limited to a call using a telephone. Rather, the call may be any telecommunication call. A telecommunication call is herein meant to include a call using a telephone, a cellular phone, a computer system, a video conferencing system, or any other voice or image communication means. Additionally, a caller is not limited to a person. A caller may be any entity, or device or program representing an entity, that can cause a telecommunication call to occur. Further, examples herein often refer to voice coding, however, the present invention may include any telecommunication signal coding, such as fax, and modem transmissions. Figure 1 is a block diagram of a general purpose computer system 100 suitable for carrying out the processing in accordance with one embodiment of the present invention. Figure 1 illustrates one embodiment of a general purpose computer system. Other computer system architectures and configurations can be used for carrying out the processing of the present invention. Computer system 100, made up of various subsystems described below, includes at least one microprocessor subsystem (also referred to as a central processing unit, or CPU) 102. That is, CPU 102 can be implemented by a single-chip processor or by multiple processors. CPU 102 is a general purpose digital processor which controls the operation of the computer system 100. Using instructions retrieved from memory 110, the CPU 102 controls the reception and manipulation of input data, and the output and display of data on output devices. CPU 102 is coupled bi-directionally with memory 110 which can include a first primary storage, typically a random access memory (RAM), and a second primary storage area, typically a read-only memory (ROM). As is well known in the art, primary storage can be used as a general storage area and as scratch-pad memory, and can also be used to store input data and processed data. It can also store programming instructions and data, in the form of data objects and text objects, in addition to other data and instructions for processes operating on CPU 102. Also as well known in the art, primary storage typically includes basic operating instructions, program code, data and objects used by the CPU 102 to perform its functions. Primary storage devices 110 may include any suitable computer-readable storage media, described below, depending on whether, for example, data access needs to be bi-directional or uni-directional. CPU 102 can also directly and very rapidly retrieve and store frequently needed data in a cache memory (not shown). A removable mass storage device 112 provides additional data storage capacity for the computer system 100, and is coupled either bi-directionally or uni-directionally to CPU 102. For example, a specific removable mass storage device commonly known as a CD-ROM typically passes data uni-directionally to the CPU 102, whereas a floppy disk can pass data bi-directionally to the CPU 102. Storage 112 may also include computer-readable media such as magnetic tape, flash memory, signals embodied on a carrier wave, PC-CARDS, portable mass storage devices, holographic storage devices, and other storage devices. A fixed mass storage 120 can also provide additional data storage capacity. The most common example of mass storage 120 is a hard disk drive. Mass storage 112, 120 generally store additional programming instructions, data, and the like that typically are not in active use by the CPU 102. It will be appreciated that the information retained within mass storage 112, 120 may be incorporated, if needed, in standard fashion as part of primary storage 110 (e.g. RAM) as virtual memory. In addition to providing CPU 102 access to storage subsystems, bus 114 can be used to provide access other subsystems and devices as well. In the described embodiment, these can include a display monitor 118, a network interface 116, a keyboard 104, and a pointing device 106, as well as an auxiliary input/output device interface, a sound card, speakers, and other subsystems as needed. The pointing device 106 may be a mouse, stylus, track ball, or tablet, and is useful for interacting with a graphical user interface. The network interface 116 allows CPU 102 to be coupled to another computer, computer network, or telecommunications network using a network connection as shown. Through the network interface 116, it is contemplated that the CPU 102 might receive information, e.g. , data objects or program instructions, from another network, or might output information to another network in the course of performing the above-described method steps. Information, often represented as a sequence of instructions to be executed on a CPU, may be received from and outputted to another network, for example, in the form of a computer data signal embodied in a carrier wave. An interface card or similar device and appropriate software implemented by CPU 102 can be used to connect the computer system 100 to an external network and transfer data according to standard protocols. That is, method embodiments of the present invention may execute solely upon CPU 102, or may be performed across a network such as the Internet, intranet networks, or local area networks, in conjunction with a remote CPU that shares a portion of the processing. Additional mass storage devices (not shown) may also be connected to CPU 102 through network interface 116. An auxiliary I/O device interface (not shown) can be used in conjunction with computer system 100. The auxiliary I/O device interface can include general and customized interfaces that allow the CPU 102 to send and, more typically, receive data from other devices such as microphones, touch-sensitive displays, transducer card readers, tape readers, voice or handwriting recognizers, biometrics readers, cameras, portable mass storage devices, and other computers. In addition, embodiments of the present invention further relate to computer storage products with a computer readable medium that contain program code for performing various computer-implemented operations. The computer-readable medium is any data storage device that can store data which can thereafter be read by a computer system. The media and program code may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well known to those of ordinary skill in the computer software arts. Examples of computer-readable media include, but are not limited to, all the media mentioned above: magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as floptical disks; and specially configured hardware devices such as application-specific integrated circuits (ASICs), programmable logic devices (PLDs), and ROM and RAM devices. The computer-readable medium can also be distributed as a data signal embodied in a carrier wave over a network of coupled computer systems so that the computer-readable code is stored and executed in a distributed fashion. Examples of program code include both machine code, as produced, for example, by a compiler, or files containing higher level code that may be executed using an interpreter. It will be appreciated by those skilled in the art that the above described hardware and software elements are of standard design and construction. Other computer systems suitable for use with the invention may include additional or fewer subsystems. In addition, bus 114 is illustrative of any interconnection scheme serving to link the subsystems. The computer system shown in Fig. 1 is but an example of a computer system suitable for use with the invention. Other computer architectures having different configurations of subsystems may also be utilized. Figure 2 is a block diagram of a telephony over local area network (LAN) (TOL) system suitable for implementing the present invention. The system shown in Figure 2 includes a TOL client 200 coupled with a gateway 202, which in turn is also coupled with a private branch exchange (PBX) 204. PBX 204 is a telecommunications switching system, typically owned by a telecommunications customer, that acts as an in-house central office substitute with advanced features and capabilities. PBX 204 acts as an interface for telephones, terminals and other equipment. PBX 204 is also shown to be coupled with a public switched telephone network (PSTN) 206. PSTN 206 is also shown to be coupled with a second gateway 208, which in turn is coupled with another TOL client 210. The system shown in Figure 2 shows two locations, gateway 202 and gateway 208, wherein a new conversion, herein referred to as "transcoding", may take place. For example, client 200 may send voice signals in G.723 compressed voice to gateway 202. At gateway 202, the G.723 compressed voice may be transcoded into pulse code modulation (PCM) digitized voice and sent through PBX 204 and into PSTN 206. In this example, the PCM compressed voice then reaches gateway 208 and is again converted into GSM voice. Figure 3 shows a block diagram of a modem network which shows at least six different possible transcoding locations. The network shown in Figure 3 is also an example of a system suitable for implementing the present invention. In this example, the system includes PBXs 204A - 204C at various sites, for instance San Francisco, Chicago, and New York. At one end of the connections, a TOL client is employing a voice mail system 308. At another end of the connection is a cordless telephone 300 with telephone base 302. Rather than interconnecting PBX 204A - 204C with PSTN leased lines, this system uses Telephony Internet Server (TIS) 304A-304D connections through Internet service providers (ISPs) 306A-306B, perhaps to reduce costs. Examples of TISs include TIS manufactured by Siemens Corp. and TIS manufactured by Vienna Systems. Examples of ISPs include Netcom, AT&T, and MCI. Conventionally, an example of a likely transcoding scenario may be the transmission of voice in GSM compressed form from cordless telephone 300 to its base 302. At base 302, the GSM voice may be transcoded into PCM voice and transmitted through PBX 204A to TIS 304A. At TIS 304A, the PCM voice may again be transcoded into G.711 or G.723 voice, sent via ISP 306A to a second TIS 304B. At TIS 304B, the voice may again be transcoded into PCM voice and transmitted through PBX 204B to a third TIS 304C. At TIS 304C, the PCM voice may again be transcoded to G.711 or G.723 and sent through ISP 306B to TIS 304D. At TIS 304D, the voice may again be transcoded to PCM voice and sent through PBX 204C into voice mail system 308 which may need to transcoded PCM voice into ADPCM for recording into system 308. In this example, every transcoding introduces a further distortion. The examples discussed in conjunction with Figures 2 and 3 illustrate how heavy distortions can be introduced during voice transmission. Although the voice conversions may have been optimal at each point of conversion, the totality of conversions may often not be optimal for a given call. It would be desirable to optimize the voice quality in a call. The present invention addresses such a need. Figure 4 is a flow diagram of a method according to an embodiment of the present invention for optimizing voice quality in a call between a sender and a receiver. The sender sends a signaling message to a receiver, via step 400. A signaling message may be any user signaling field that may be used to send data. Examples of signaling messages include an integrated services digital network (ISDN) signaling message, such as a user-to-user signal, or an Internet protocol (IP) packet. User-to-user signals may be used at the beginning of a call setup between parties to send a message between end parties. An example of one particular use of a user-to-user signal is proprietary signaling. The protocol for ISDN signaling messages are defined by the International Telecommunications Union (ITU). These signaling messages are well known to those reasonably skilled in the art. According to an embodiment of the present invention, the signaling message then collects at least one telecommunication signal coding or compression capability of at least one intermediary station (step 402). Preferably, all telecommunication signal coding and compression capability of all the intermediary stations are collected. Examples of intermediary stations include gateways 202 and 208 of Figure 2 and base 302, TIS 304A - 304D, and voice mail system 308 of Figure 3. Station is herein meant to include a any devices, gateways, networks, receiving devices (receiver), and any other points in the connection between the sender and the receiver wherein a telecommunication signal coding conversion may occur. When the signaling message collects capabilities of a station, the station may list its capabilities onto the signaling message. The signaling message then collects at least one capability of the receiver (step 404). The signaling message preferably collects all of the telecommunication signal coding and compression capability of the receiver. In the examples shown in Figures 2 and 3, the receiver may be client 210 or voice mail system 308. The signaling message is then returned to the sender (step 406) and an end-to-end coding scheme is then determined for the call (step 408). Preferably, the end-to-end coding scheme which is determined for the call requires a least number of transcodings during the transmission of the call. AEnd-to-end≅ is herein meant to include all, or any portion, of the entire connection between and receiver and sender. Preferably, the end-to-end coding scheme includes all stations within the call. Alternatively, the end-to-end coding scheme may be determined approximately at the receiver's location. If the end-to-end coding scheme is determined approximately at the receiver's location, then step 406 is skipped. The end-to-end compression scheme may then be communicated to the sender through another signaling message. Another alternative is for the coding scheme to be determined by an intermediate station. After the end-to-end coding scheme is determined, another signaling message is sent which instructs the intermediary stations to follow the end-to-end coding scheme (step 410). Accordingly, all the connections in a call may work together to produce an optimal end-to-end series of conversions resulting in optimal telecommunication signal quality. Figures 5A - 5B show a flow diagram of an example of a method according to an embodiment of the present invention for optimizing telecommunication signal quality, such as voice signal quality, in a call between a sender and a receiver. The example shown in Figures 5A - 5B may be considered in conjunction with the system diagram shown in Figure 2. In this example, client 200 sends a call request to client 210 (step 500). The call request is intercepted by gateway 202 (step 502). Gateway 202 then sends a first signaling message (step 504). The first signaling message may describe coding capabilities of client 200. Alternatively, the first signaling message may simply be sent to collect information regarding coding capabilities of other devices along the call route. Gateway 208 then receives the first signaling message (step 506). Gateway 208 then contacts client210 and determines Client=s current capabilities (step 508). For example, client 210 may only have GSM capabilities available at the moment. Gateway 208 then sends a second signaling message to gateway 202 to inform gateway 202 of all stations' capabilities (step 510). In this example, the second signaling message may include a summary of client=s and intermediate stations= capabilities. Alternatively, the second signaling message may include an overall coding scheme, such as an end-to-end coding scheme, which is derived approximately at the receiver=s location. Receiver=s gateway 208 is herein considered to be approximately within the receiver=s location, just as sender=s gateway 202 is herein considered to be within approximately the sender=s location. Another alternative is for the second signaling message to include an overall coding scheme which is derived at an intermediate location between the sender and the receiver. Yet another alternative is for the second signaling message to be the first signaling message with additional information collected regarding the intermediate stations= and the receiver=s capabilities. In this example, gateway 202 then receives the second signaling message and determines an end-to-end coding scheme (step 512). A third signaling message is then sent to inform all stations of the end-to-end coding scheme (step 513). Gateway 202 sets up client's coding according to the end-to-end coding scheme (step 514). For example, client 200 may be set up with voice coding such as GSM. Gateway 202 then receives the coded voice and converts it to another voice coding according to the end-to-end coding scheme (step 516). For example, GSM may be converted into PCM voice coding at Gateway 202. All remaining stations then convert the received voice according to end-to-end coding scheme (step 518). For example, gateway 208 may receive PCM voice and convert it back to GSM. Gateway 208 then sends GSM voice to client 210. In this example, the end-to-end compression scheme for the call between client 200 and client 210 of Figure 2 is optimized. Since the capabilities of client 210 are known from the protocol element that was sent through the ISDN user-to-user signaling field, the coding scheme for client 200 can be set up with the knowledge that GSM is also the coding scheme which is used by client 210. The distortion which was present in the conventional method from a second transcoding at gateway 208 is now absent. Only a minor distortion in the conversion between PCM back to GSM at gateway 208 is introduced since the voice coding is simply going back to its original compression. Distortion has been minimized by allowing only one transcoding caused by the single compression made prior to gateway 202. The conversion back to GSM at gateway 208 is not considered transcoding herein since it is not a new conversion (i.e., a conversion to a coding or compression which has not yet been performed on the signal), but merely a conversion back to GSM. If quality is the only issue, an uncompressed coding could be used instead of compressed coding, but it is typically desirable to balance the need for compression with the minimum sacrifice in quality. Another example of the method according to an embodiment of the present invention for optimizing telecommunication signal quality, such as voice quality, in a call is when a call utilizes an intermediate network, such as a wide area network composed of a telephony over Internet or intranet connection, using an Internet protocol (IP). In this case, the signaling messages would be delivered as an IP packet, rather than using the ISDN user-to-user signaling packet. Figures 6A - 6B show a flow diagram for a method according to an embodiment of the present invention for determining an end-to-end coding scheme. In this embodiment, a list of preferred voice coding methods is maintained by whichever entity is performing the determination of the end-to-end coding scheme. As previously noted, the end-to-end coding scheme may be determined by the sender, the receiver, or any intermediary station. A first preferred coding method is retrieved from the list of preferred coding methods (step 608). It is then determined whether all the stations have the capability to perform the retrieved preferred coding method (step 610). If all the stations do have the capability to perform the retrieved preferred coding method, then the result is stored (step 612). If none of the stations have the capability to perform the retrieved preferred coding method (step 610), then it is determined whether the telecommunication transmission can be sent with only the retrieved preferred coding method and uncompressed codes (step 614). Examples of uncompressed codes include PCM and G.711. If the call transmission can be sent with only the retrieved preferred coding method and uncompressed codes, then the result of the determination is stored (step 616). If the call transmission can not be sent with only the selected preferred coding method and uncompressed codes (step 614), then it is determined whether this retrieved preferred coding method is the last preferred coding method in the sender's list of preferred codes (step 650). If this is not the last preferred coding method, then the next preferred coding method is retrieved (step 652) and it is again determined whether all the stations have the capability to perform the retrieved preferred coding method (step 610). If, however, this retrieved preferred coding method is the last preferred coding method on the list of preferred coding method (step 650), then the stored results are analyzed and it is determined whether a result exists which allow a transmission of a call with no transcoding (step 654). If there is a result which allows the call to be performed with no transcoding, then that result is selected for the call (step 656). If, however, there is no result which allows the call to be performed without transcoding (step 654) then a result which performs the call with a minimum number of transcodings is selected (step 658). If there is a tie in the results which allow the call to be performed with a minimum number of transcodings (step 660), then the tied results are analyzed and the result which allows the call to be performed with the most number of hops with compressed coding is selected (step 662). As previously mentioned, a hop is a telecommunication signal coded section between two stations. If there is another tie with results which allow the call to be made with the most number of hops with compressed coding (step 664), then the tied results are analyzed and the one which is listed higher in the preference list of preferred coding methods is selected (step 666). This final tie can be resolved in various ways. One such way is to organize the sender's preference list in such a manner as to indicate comparative preferences such that a final tie may be broken by selecting a predetermined most preferred option. The tie breaking methods described in steps 660 to 666 of Figure 6B are described in a particular order for exemplary purposes only. Ties may be broken by any user-configurable means and in any order. A further example of a method for breaking a tie in the results is to consider costs of transmission lines (i.e., choose the least expensive transmission line). A method and system for optimizing telecommunication signal quality, such as voice quality, has been disclosed. Software written according to the present invention may be stored in some form of computer-readable medium, such as memory or CD-ROM, or transmitted over a network, and executed by a processor.

Claims: A method for optimizing the telecommunication signal quality for a signal transmitted from a sending station (200, 202, 300, 302, 204a, 304a) to a receiving station (208, 210, 308, 204c, 304d) via at least one intermediary station (202, 204, 206, 208, 204a, 302, 204a, 306a, 304b, 204b, 304c, 306b, 304d, 204c), the method comprising: sending at least a signailing message; determining at least one coding capability of all said sending station (200, 202, 300, 302, 204a, 304a) and said receiving station (208, 210, 308, 204c, 304d) and said at least one intermediary station (202, 204, 206, 208, 302, 204a, 304a, 206a, 304b, 204b, 304c, 306b, 304d, 204c) based at least on station interaction with the signaling message; and characterised by determining a coding scheme having a minimum number of transcodings based on the determined at least one coding capability, including determining the coding scheme to include a particular nonzero number of transcodings if zero transcodings is not perrnitted by the determined at least one coding capability. The method of claim 1, wherein the signaling message is an integrated services digital network ISDN user-to-user signal, an ISDN network signaling message, or includes an Internet protocol IP packet. The method of claim 1, wherein the at least one capability is a telecommunication signal coding capability. The method of claim 1, wherein the determined coding scheme is an end-to-end coding scheme. The method of claim 1 or 2 or 3, further comprising steps of: receiving said signalling message by an intermediary station (202, 204, 206, 208, 204a, 302, 204a, 306a, 304b, 204b, 304c, 306b, 304d, 204c); and sending the at least one capability to an originator of the signaling message (200, 202, 302, 204a, 304a). The method of claim 1 or 2 or 3, wherein the step of determining a coding scheme includes a substep of determining whether the at least one capability matches with a preferred coding. The method of claim 1 or 2 or 3 wherein the step of determining a coding scheme includes a substep of determining the coding scheme to include only a preferred coding and codes which are uncompressed, if the determined at least one coding capability permits. The method of claim 1 or 2 or 3, wherein the step of determining a coding scheme includes a substep of determining whether the coding scheme does not include any transcoding. The method of claim 1 or 2 or 3, wherein the step of determining a coding scheme includes a substep of selecting the coding scheme with a maximum number of hops with compressed coding, if there is a tie in number of required transcodings between a first and second coding scheme. The method of claim 1 or 2 or 3, wherein the step of determining a coding scheme includes a substep of selecting the coding scheme which includes a higher level preferred coding, if there is a tie in number of required transcodings between a first and second coding scheme. The method of claim 1, wherein the telecommunication signal is a voice signal, a modem signal, or a fax signal. The method of claim 1, further comprising communicating, through a second signaling message, the coding scheme to the at least one station. A system for optimizing telecommunication signal quality for a signal transmitted from a sending station (200, 202, 300, 302, 204a, 304a) to a receiving station (208, 210, 308, 204c, 304d) via at least one intermediary station (202, 204, 206, 208, 204a, 302, 304a, 306a, 304b, 204b, 304c, 306b, 304d, 204c), the system comprising: a telecommunication device (204a, 304a, 202, 200) configured to send a signalling message to a receiving location (210, 208, 308, 204c, 304d); means for determining at least one coding capability of all said sending station (200, 202, 300, 302, 204a, 304a) and said receiving station (208, 210, 308, 204c, 304d) and said at feast one intermediary station (200, 202, 204, 206, 208, 204a, 302, 304a, 306a, 304b, 204b, 304c, 306b, 304d, 204c) based at least on station interaction with the signalling message; and characterised by a processor (102) coupled with the telecommunication device (204a, 304a, 202, 200) configured to determine a coding scheme having a minimum number of transcodings based on the determined at least one coding capability, including means to determine the coding scheme to include a particular nonzero number of transcodings if zero transcodings is not permitted by the determined at least one coding capability. The system of claim 13, wherein the determined coding scheme is an end-to-end coding scheme. The system of claim 13, wherein the signaling message is an integrated services digital network ISDN user-to-user signal, an ISDN network signalling message, or is associated with an Internet protocol IP packet.

Inventors: BEYDA WILLIAM, SCHAFFER SHMUEL, BEYDA, WILLIAM, SCHAFFER, SHMUEL
Applicants: SIEMENS INF & COMM NETWORKS, SIEMENS INFORMATION AND COMMUNICATION NETWORKS INC.
Application year: 1999
Main classification: H04L1
IPC codes: H04L1