This invention relates to an IP telephony call control system, and more particularly to a method and apparatus for adapting a legacy call control system for additional language support, where the legacy system supports a limited, predefined character set.
In order to derive the fullest benefit, it is desirable to deploy a given technology to the broadest audience possible. In the emerging global marketplace, it is a prerequisite for local sales, that a technology support local languages.
IP telephony is a complex technology that requires a long development cycle and incurs high development costs. Part of the value of such a complex technology is derived from deployment maturity. A mature complex technology equates to a stable technology, with relatively lower risk and higher ease of deployment.
However, many current mature IP telephony systems were designed before the market for such technology was ripe, globally. As a result, these systems were designed without the ability to support the linguistic character sets of many prospective customers. Current systems support ASCII characters, which do not enable certain characters, which are, conversely, available in Unicode.
A legacy system is defined as a system that was developed many years ago, and is still used in business because of its value to the business and the high risk and cost to modify it or replace it with a contemporary system. An example of such a legacy system is the call control system in IP telephone switches. Call control systems are highly complex systems, typically requiring high investment costs to develop, and years to become stable/mature enough to be deployable. As a result, legacy call control systems are still used in many modern IP telephone switches.
It is highly desirable to adapt IP telephony call control systems to support additional character sets, so as to provide the same functions as the original system and perform those functions with strings of a newly introduced language.
In the past, additional character sets have been supported by modifying the code-base of the technology to incorporate additional, or alternate, characters. However, this approach has the drawback of undermining the maturity of the code. Without the history of deployment associated with the original code-base, there is a greater risk of instability. As a result, the full confidence in such a system is compromised.
What is needed is incorporation, with a legacy IP telephony call control system, of additional language character support, that further, does not compromise the maturity of the legacy system. It would be of additional benefit if such character support could be introduced in runtime.
It is an object of an aspect to provide a call control system that combines the stability of a mature legacy call control system, while also providing language support not included in the legacy system.
Therefore, according to an embodiment of the present invention, a call control system is provided for incorporation in an IP telephony switch, comprising a legacy call control system for inputing incoming events, and legacy strings, and, in response, outputing resulting events and, legacy strings. The system also comprises an adapter for inputing incoming events and alternate strings. The adapter generates the legacy strings, corresponding to the alternate strings, passes the incoming events and corresponding legacy strings to the legacy call control system, and receives, from the legacy call control system, the resulting events and said corresponding legacy strings. The adapter also identifies, using the received corresponding legacy strings, the alternate strings, and outputs the resulting events and the alternate strings.
A detailed description of the preferred embodiment(s) of the present invention is provided herein below with reference to the accompanying drawings in which:
The concept of an information path is introduced to describe paths through which events and strings flow, such as provided by a legacy call control system. An information path can be modeled as a functional block that converts input to output. Regardless of the actual embodiment, an information path contains at least one processing unit that performs information conversion. As shown in
Assuming that E={ei} is the set of all events that an information path 100 can receive and generate, and S={sk} is the set of all strings that the information path 100 can receive and retrieve from its memory, then, for a given E, the ability of information path 100 to handle received input is constrained by S.
When an information path contains multiple processing units, connected with each other in a cascade, each processing unit can be modelled as an information path. An information path is said to be an atomic information path if and only if it contains only one processing unit that can not be decomposed into information paths in a finer granularity. The character set capacity of an information path determines the scope of processing capability with respect to what strings may be handled.
As discussed above, legacy call control systems were developed at a time when there was not an obvious need for supporting multiple languages. Depending on the language, the call control system may not be modifiable to support a given language. An atomic information path P is defined as not modifiable if P can not be modified to handle all sn∈S*, where S⊂S* and S*−S≠Ø, or S⊂/S* and S*⊂/S and S*∩S=Ø. Thus, there is a requirement for changing an information path 100 to support the handling of all sn∈S*, without modifying that path 100.
An atomic information path 310, that is not modifiable, can be adapted into a modifiable information path by using the transformation method as illustrated in
Input adapter 330 receives ei∈E and sn∈ S* as input and generates <ei, sk> as the input to path 310, where sk∈ S. In adapter 330, a one to one mapping f can be used to generate sn from sk.
Memory 340 is used to store <sk, sn> such that the content in memory 340 can be later retrieved by using sk as a key.
Output adapter 350 receives <ej, sk> as input and generates <ej, sn> as the corresponding output. This process uses f1 the reverse function of f to map sk back to sn. It should be noted that if f1 can be mathematically determined from f, memory 340 is not needed; otherwise, sk received from path 310 can be used as a key to retrieve sn from memory 340.
Initially, the information path 310 is not modifiable. The transformation wraps path 310 with the input adapter 330, output adapter 350, and memory 340. After the transformation, a new information path 300 is formulated that consists of path 310, and adapter 320.
Thus, the information path of
This method of
Many legacy systems can be modeled by using the non-modifiable information path defined above. As discussed above, a complex system may contain many information paths. Thus, according to the above method, a complex system with a legacy system as the main component may retain the legacy system in many of its information paths.
An IP telephone switch is a complex system. A typical IP telephone switch incorporating a legacy call control system 410 is illustrated in
The call control system is coupled to switch management system 420, device control 430, applications 440 and trunks 450 by, respectively, call control database access 425, call/media and stimulus signaling protocol 435, application specific protocols 445, and native trunk protocols 455.
Device control 430 is further coupled to IP transport 460 via Media stimulus control protocol 465. Device control 430 may incorporate IP devices 432. The trunks 450 are coupled externally via external trunk protocols 457. IP transport 460 may communicate with applications 440 or devices such as IP telephones 470 via Media stimulus control protocol messages 467.
In the IP telephone switch as shown in
The following paths can be defined as information paths of the type identified above as information path 200:
There is a requirement to modify the IP telephone switch shown in
Adapting the information path theory set forth above to these circumstances, S denotes the set of strings in Extended ASCII; S* denotes the set of strings in Unicode.
None of the information paths, listed i. through viii. above, for the IP telephone switch shown in
Referring to
The transformation method described above is applied to all of the non-atomic information paths. Since the legacy call control system 510 is atomic and non-modifiable, the transformation method is applied at the system 510 (i.e. for each information path there is a corresponding adapter configured to system 510). Each component that sends events and strings to the call control system 510, is output coupled to the system 510 via an input adapter 582a through 582d (each as per adapter 330). Components that send events and strings to the call control system are the switch management system 520, device control 530, applications 540, and trunks 550.
Each component that receives events and strings from call control 510, is input coupled thereto via an output adapter 584a through 584d (each as per adapter 350 in
Between the transformations applied to these information paths, there is a great similarity and content overlap in the use of memories. Therefore, memories 592a through 592d, associated with the four input adapters, can be aggregated into one memory service 590 that is coupled, at memory input, to the input adapters 582a through 582d and coupled, at memory output, to the output adapters 584a through 584d.
Thus, the non-atomic information paths referred to above, for
Path I: covered by input adapter 582b, output adapter 584b and memory 592b
Path II: covered by input adapter 582b, output adapter 584c and memory 592b
Path III: covered by input adapter 582d, output adapter 584b and memory 592d
Path IV: covered by input adapter 582c, output adapter 584a and memory 592c
Path V: covered by input adapter 582c, output adapter 584c and memory 592c
Path VI: covered by input adapter 582c, output adapter 584b and memory 592c
Path VII: covered by input adapter 582a, output adapter 584b and memory 592a
Path VIII: covered by input adapter 582a, output adapter 584a and memory 592a
Device control 630 is further coupled to IP transport 660 via media stimulus control protocol 665. Device control 630 may incorporate IP devices 632. The trunks 650 are coupled externally via external trunk protocols 657. IP transport 660 may communicate with applications 640 or devices 670 via Media stimulus control protocol messages 667.
In the switch of
In this embodiment, each information path is served by an input adapter, an output adapter, and a memory. The adapters correspond to the respective T-Clients 621, 631, 641, or 651, and the memory corresponds to the T-server 690.
For any legacy system, if information paths contain atomic non-modifiable paths as defined above, and there is a requirement to adapt a character set to support the corresponding strings, the requirement can be fulfilled by using the method set forth herein above.
It will be appreciated that, although embodiments of the invention have been described and illustrated in detail, various modifications and changes may be made. Different implementations may be made by those familiar with the technology, without departing from the scope of the invention. It may be appreciated that aspects of the invention may be implemented separately, or co-operatively. Any such choice of implementation may be made without departing from the sphere and scope of the invention as described by the claims appended hereto.
Number | Date | Country | Kind |
---|---|---|---|
0412424.4 | Jun 2004 | GB | national |
Number | Name | Date | Kind |
---|---|---|---|
5784069 | Daniels et al. | Jul 1998 | A |
6411696 | Iverson et al. | Jun 2002 | B1 |
6438220 | Liu | Aug 2002 | B1 |
6484309 | Nowlin et al. | Nov 2002 | B2 |
6601108 | Marmor | Jul 2003 | B1 |
6967655 | Goto | Nov 2005 | B1 |
7379981 | Elliott et al. | May 2008 | B2 |
20020150230 | Fang | Oct 2002 | A1 |
20030072330 | Yang et al. | Apr 2003 | A1 |
Number | Date | Country | |
---|---|---|---|
20050271081 A1 | Dec 2005 | US |