A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one of the patent document or the patent disclosure as it appears in the public Patent Trademark Office file or records, but otherwise reserves all copyright rights whatsoever.
1. Field of the Invention
This invention generally relates to telecommunication systems. More specifically, the invention relates to a system and method for providing a business contact center over a packet-based network.
2. Description of the Related Art
Businesses place the utmost emphasis on close contact with and focus on their customers. Traditionally that contact has involved the telephone for interfacing a customer with various departments in the business. The telephone and telecommunications companies use circuit switched technology to run voice communications over a communication path commonly identified as a public switched telephone network (PSTN). There are a limited range of options for contacts between a customer and business via a traditional PSTN phone. A customer can select with a touch tone pad a call queue to wait in, and they can be informed of the remaining time before their call will be accepted. When the customer is finally connected they may or may not be coupled to the proper department or employee within the business. The contact is not always productive for the customer. For the business considerable expense in terms of employee hours and equipment is involved in providing even this level of service to a customer.
While many business devote enough resources to handling contacts with customers equipped with phones, few exploit the high bandwidth and rich media capabilities of the communication devices with which many customers are now equipped. This generation of customers is equipped with communication devices including computers, cell phones and personal digital assistants. When customers contact a business with these communication devices they are handled in the same fashion as audio only customers.
What is needed is a more flexible model for handling contacts between a business and its customers.
The present invention provides a business contact center for interfacing customers with a business. The business contact center includes a plurality of media handlers and a conference controller. Each of the plurality of media handlers includes a corresponding control link. Each of the plurality of media handlers is configurable via the corresponding control link to define a plurality of media services including at least one of; routing media between selected media endpoints, recording media from a selectable media source, and playing selectable media to a selected media endpoint. The conference controller is coupled with each of the plurality of media handlers via the corresponding control link. The conference controller is responsive to a customer contact to configure via the corresponding control link an available one of the plurality of media handlers to define selected ones of the media services, media sources and media endpoints for handling the customer contact.
In an embodiment of the invention the conference controller includes a bandwidth manager for balancing relative loads among the various media handlers.
In an embodiment of the invention the conference controller includes an event handler for determining a next media event for a customer contact based on a correlation between pre-defined call contact states and status and actual call status.
In an embodiment of the invention the business contact center includes a variety of human agents each with different skill sets. In this embodiment of the invention the conference controller includes an agent manager for determining agent availability, for matching an available agents skill set with a given customer contact, and for allowing agent control of some aspects of the configuration of the associated media handler via a control link between the agent and the conference controller.
In an embodiment of the invention the media handler includes a call sequencer for maintaining consecutive sequence numbers in the real time protocol (RTP) packets presented to a customer from a variety of media sources and human agents during a contact session.
The present invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements, and in which:
The present invention provides a method and apparatus for a business contact center.
The business contact center couples via a firewall 134 with the above discussed customers and their associated devices. The business contact center includes in this embodiment of the invention: a conference controller 130 and a plurality of media handlers 120, 124 coupled to one another on a packet based network 170. The conference controller handles contact setup, session management and selection of media handlers and media services resident thereon. A media handler includes one or more media services such as: media routing, media play, multi-point application share, and media recording. Media routing allows a caller to be coupled with an agent or another media service. The media player includes a plurality of audio and video media sources, e.g. files. The media recorder includes audio or video recording capability and may additionally include e-mail forwarding of the recorded file to the appropriate agent. The multi-point data capability allows application or data sharing between callers for training or other purposes. Once a media handler is dedicated to a session, it operates under the ongoing control of the conference controller to present various audio, data, and video media services to the caller. As a session progresses, the media services presented to the caller are determined by the conference controller using event based logic resident thereon. The business logic specifies for various call contexts, e.g. customer support or technical support, the associated business logic that should apply during a session under the various conditions that may occur during a session. Those events may include coupling the caller to any one or more of the media services on the media handler. Using the media router service the caller may be coupled to an agent selected on the basis of skill set and availability by the conference controller. The agent may in turn initiate presentment of various media services to the caller as well as traditional call functions such as transfer, hold or conference using the control link between the agent and the conference controller.
The conference controller 130 and the media handlers 120, 124 exchange session control information with control packets 176, 180 respectively. Complementary control processes 132 and 122, 126 determine the operation of the conference manager and media handlers respectively. The media services provided by the media handler such as media recording and playback may be sufficient to handle customer contact session, in which case the session will be completed without involvement of a human agent. Alternatively, a session may develop in a manner which requires that a customer be coupled to an agent. The conference manager utilizes agent availability and skill set as criteria for determining which agent to couple with a customer.
An agent 110 in customer support and an agent 140 in technical support are shown. Each agent is equipped with communication devices with varying degrees of multimedia capability. In the embodiment shown, agents 110 and 140 couple with network 170 via Internet Protocol (IP) telephony and multimedia enabled computers 112 and 142. In the embodiment shown each agent computer also includes agent control processes 114, 144 for allowing agents 110 and 140 respectively to pass control packets 174, 178 to the conference manager. Using a GUI 146 displayed on computer 142, the agent 140 can send control information via the control packets to the conference manager to effect the events associated with the session. The agent may request any media service from the associated media handler. The agent may also request call transfer to another available agent, call hold, or conference with another agent, e.g. a supervisor agent. These requests are acted on by the conference manager which passes the appropriate control information to the associated media handler and where necessary sets up the call with the appropriate agent/supervisor in the case of a conference.
The control packets associated with call setup and call clear, e.g. packets 176-184, pass between the caller's or agent's associated communication device and the conference manager 130. Control packets 174, 178 provide a control interface between the conference controller and the corresponding one of the agent communication devices 112, 142 respectively. Control packets 176, 180 provide a control interface between the conference controller and the corresponding one of the media handlers 120, 124. Media packets 190-196 provide a media interface between the corresponding media handler and a customer or agent communication device.
Once a call is setup all media, audio, video, data and associated packets, e.g. media packets 190-196, flow between the selected media handler and the associated participants. Participants in a session may range from a single caller interfacing with the media services such as media player on the selected media handler to a plurality of caller(s) and agent(s) interfacing with one another on audio, video and data links maintained via the selected media handler.
Call setup may provide context information utilized by the conference manager in determining which event based logic to apply to the subsequent session. For example, in
A caller or an agent may establish and conduct a call via any of a variety of communication devices including but not limited to: a PSTN phone, a pager, an IP phone, a cell phone, an IP enabled personal digital assistant (PDA), an IP telephony and a multimedia enabled computer, etc. The business contact center is compatible with both wired and wireless networks. In an embodiment of the invention the business contact center supports contacts via e-mail, chat, voice mail, voice messaging, IP and PSTN telephony etc.
In alternate embodiments of the invention the media handler: may include additional media services including but not limited to: messaging, chat, and database access. In alternate embodiments of the invention the media player may include interactive multimedia files, e.g. interactive voice response (IVR). In alternate embodiments of the invention the business center may be used to couple employees of a business to various departments of the business or enterprise without any outside customer involvement. In this embodiment the employees are the customers of the associated department such as technical support.
Additional advantages of the business contact center which will be set forth in greater detail in the following drawings and associated text include: complex business contact management using programmable business logic, offloading of processing intensive media codecs to distributed media handlers, transparency of media transfers from a caller perspective i.e. no need to reset caller endpoint to receive from a different source, ease of enterprise firewall management with a single external IP address used to handle all incoming calls, and bandwidth management of a firewall, a network or a sub-network.
As discussed above, the agent may conduct a session with devices other than H.323 IP phones. These communication devices include: session initiation protocol (SIP) phones, wireless access protocol (WAP) enabled devices such as cell phones and personal digital assistants. A customer may initiate a session via e-mail, chat or messaging with communication devices which support only those capabilities.
The call control module 440 includes the call clearance and setup module 442, the connection manager 446, and the channel manager 450. The call setup and clearance module handles call setup including capabilities negotiation during which audio, video and data capabilities and codecs are determined. A Q.931/H.245 control interface 446 is provided for this function. This interface 446 may also support other multimedia packet setup protocols such as Session Initiation Protocol (SIP). Call setup or Call clear requests are passed from this module to the conference manager and specifically the call manager 402 therein when received from either customer or agent. Alternately, this module can receive call setup/clear requests from the call manager and execute those requests. Within the call setup/clear module table 444 (See
The conference manager 400 includes the call manager 402, the event manager 408, the agent manager 412, the bandwidth manager 406, the port allocator 420, the initializer 424 as well as any administrative module (not shown) required to setup default parameters within any of the modules of the conference manager. The initializer 424 has a COM link 426 with the media handlers 120, 124. During initialization of the conference controller the media handlers and the initializer discover one another and the initializer directs the media handlers to initialize themselves and to report back the number of calls, media services, codecs supported, bandwidth and allocated port ranges and internal and external IP addresses. Where a firewall is implemented, all media handlers may have a common external IP address thus simplifying firewall management and bandwidth control. The initializer passes the allocated ports for each media handler to the port allocator which maintains a push-pop stack for the ports of each media handler. The port stacks and remaining information obtained from each media handler that is registered with/by the initializer is stored in the media handler table 422 maintained by the port allocator. The bandwidth manager handles media handler allocation at the start of a conference setup in response to a request from the call manager. The bandwidth manager makes this selection based on either or both network bandwidth limits or media handler call limits. Selection results in load balancing among the media handlers. The bandwidth manager has a bandwidth limit table 416 which contains administratively established bandwidth limits for any IP address, or masked portion thereof. Bandwidth limits may thereby be defined for the firewall, for individual media handlers, for networks or sub-portions thereof and for agents or departments. When the bandwidth manager receives a call setup request from the call manager it uses the capability information i.e. codec to estimate bandwidth requirements which are then compared with the current bandwidth on each media handler, the current calls on each media handler and the overall bandwidth limits for any IP addresses or masked portions thereof which it is tracking in the conference allocation table 418 (See
The agent manager 412 tracks agent registration, availability, and skill sets, e.g. department affiliation in agent management table 414 (See
The event handler 408 includes business logic administratively entered which documents desired and conditional events for various types of sessions, e.g. a customer support session, or a technical support session. These events may include media services or call connection in the appropriate order, and sequence, and subject to the appropriate conditions. An embodiment of such logic is exhibited in event handler table 410 (See
The router media service 510 includes RTP interfaces 512 and 518 for handling routed media streams; the routing tables 516 for which are maintained by the router 514. The entries in the routing table are received from the channel manager 450 (See
The media player service 520 includes an RTP interface 522 for handling media played by the player 524 which includes support for a number of audio or audio and video codecs within the H.323 or other IP telephony protocol stack including audio codecs G.711, G.723, G.7xx and video codecs H.261 and H.263. The media player sets up and tears down media services based on channel control information received via the controller 502 from the channel manager 452 (See
The multi-point data service 540 includes TCP interfaces 542 and 548 for handling multi-point data streams between participants listed in the multi-point data table 546 of the T.120 module 544. This module implements the T.120 portion of the media handler. This provides services such as application sharing to conference participants. The entries in the multi-point data table are received from the channel manager 450 (See
The voice mail service 560 includes an RTP interface 562 for handling media received from the caller or other participant. This information is recorded by the recorder with the appropriate audio or video codec and stored in a corresponding file in memory 568. The recorded file may then be passed via e-mail to an appropriate agent. The media player sets up and tears down recorder services based on channel control information received via the controller 502 from the channel manager 452 (See
In an embodiment of the invention, each of the media services monitors channel setup and status and reports back corresponding status information via the controller to the channel manager. This information is passed by the channel manager to the call manager 404 (See
The agent management table 414 is shown with agent alias in column 710, agent internal IP address in column 712, agent status in column 714, and availability in column 716, and agent skill set or department in column 718. The agent manager 412 (See
The call manager 402 maintains the call management table 404 which includes rows which identify for each call: the conference/session identifiers 720, the context 722, the members in columns 724-728, the last event 730, the next event 732 and the status 734 of the last event. The call manager updates status as control communication is received from each associated media handler via the COM interface with the channel manager 450 (See
The IP bandwidth table 416 is administratively set up in the bandwidth manager 406 (See
The port allocator 420 obtains the parameters in the distributed media handler table 422 via the initializer 424 which handles activation and registration of media handlers. That table contains for each registered media handler: the name 754; status 756; external IP address 758; internal IP address 760; maximum calls and or bandwidth 762 and ports. The ports are maintained in stacks for each media handler and are popped from the stack in response to a request from the bandwidth manager when a new call is setup for a selected media handler. Conversely when a call is cleared the ports are brought back to available status by pushing them back on the stack for the associated media handler. By associating all media handlers with a common external IP address 758 and distinctive internal IP addresses 760 the management of the firewall 134 (See
The default capability table 444 is administratively setup on the call setup and call clear module 442. This table contains rankings or preferences 768 among supported video codecs 770, audio codecs 774, and multi-point data codecs 778 with corresponding estimated bandwidths 772, 776 and 780 for each connection supporting same. This bandwidth estimate is passed by the call manager to the bandwidth manager in order to determine bandwidth requirements and availability for each requested connection.
The play table 526 is maintained by the media player service 520 (See
The multi-point data table 546 is maintained by the multi-point data service 540 (See
The recorder table 566 is maintained by the recorder media service 560 (See
The sequencer table 506 is maintained by the call sequencer 504 (See
In decision process 906 a determination is made as to whether the conference is new or existing. If the conference is new control passes to process 908 in which a conference ID is established. Then in process 910 the call manager makes a request for a media handler to be allocated to the call by the bandwidth manager. The bandwidth manager determines bandwidth required for the call using the capabilities negotiated for the call by the call setup/clear module 442 (See
Where an existing conference is subject to conference management, control is passed from decision process 906 to process 922 in which the existing conference ID is determined. Then any status information received from the channel manager from the media handler associated with the conference is used by the call manager 402 (See
In process 928 the type of event, call or media is determined. For media events such as: play, record, disconnect, or done control passes to process 930. In process 930 the call ID is determined. Then in decision process 932 the state of the event is determined. If the event is a stop event such as media play or record services “done”, then control passes to process 934 in which bandwidth associated with the media player or recorder is released in the conference allocation table 418 maintained by the bandwidth manager 406. Then in process 936 corresponding control parameters are sent to the associated media service to remove the associated channel/connection information from the associated table. After bandwidth is released control passes to process 948 in which call status is updated in the call management table 404 maintained by the call manager. Control then passes via block 990 to process 904 for processing of the next conference.
Where the next event is a media start event, control passes from decision process 932 to process 940 in which the bandwidth for the event to be started is obtained. Then in process 942 the bandwidth manager 406 determines if there is a bandwidth limit that would prevent the start of the media event as specified. If control is passed to process 944, bandwidth may be lowered if possible by disabling of one or more of the channels associated with the start event. Assuming that reduction is possible and assuming it is sufficient to fall below the bandwidth limit for the associated media handler, then control is passed to process 946. In process 946 the appropriate media service setup information is sent via the channel manager to the associated media handler and the media service therein which is the subject of the start event. Alternately, if in decision process 942 there is a bandwidth limit then bandwidth is revised downward if possible to an acceptable level to enable the setup in process 946 and if not possible then the event is rejected and control returns directly to processing of the next conference in process 904. A more detailed view of the processes associated with revision or rejection of an event based on bandwidth in process 944 has been discussed above in connection with processes 914-920. Those more detailed sub steps have been omitted in process 944 for purposes of clarity.
Where the next event is a call clear event as determined in decision processes 928 and 950, control passes to process 952 in which the call id is determined. Then control passes to process 954 in which call and channel clear information is sent by the call manager 402 (See
Where the next event is a call setup event control passes from decision processes 928 and 950 to decision process 970. In decision process 970 a determination is made as to whether an agent with appropriate skill set is free. Agent's in an embodiment of the invention include both humans as well as media services. If not then control passes to process 972 in which status is updated in the call management table 404 for the call setup event. Then control returns to process 926 in which the call manager updates the event handler with the new “failed” status of the last event and the next resultant event is triggered by the event handler. If an agent is determined to be available in decision process 970 then control passes to process 974.
In process 974 the bandwidth for the event to be started is obtained. Then in process 976 the bandwidth manager 406 determines if there is a bandwidth limit that would prevent the start of the call setup event as specified. If control is passed to process 978, bandwidth may be lowered if possible by disabling of one or more of the channels associated with the start event, or if that is not possible, the call will be rejected. Assuming that reduction is possible and assuming it is sufficient to fall below the bandwidth limit for the associated media handler then control is passed to process 980 in which call ID is set. A more detailed view of the processes associated with revision or rejection of an event based on bandwidth in process 944 has been discussed above in connection with processes 914-920. Those more detailed sub steps have been omitted in process 978 for purposes of clarity. After setting the call ID in process 980, control is passed to process 982. In process 982 the call manager sends appropriate setup information to the call setup/clear module 442. Setup information is also sent to the channel manager 450 for setting the control connections and opening the logical channels on the associated media handler.
Next in decision process 1010 a determination is made as to the type of event. If the event pertains to an actual agent to couple to the conference, the control passes to decision process 1030. If the media event type pertains to a virtual agent for the call, e.g. a media play service or record, then control is passed to decision process 1012. In decision process 1030 an agent multi-point data event is passed to process 1034 for setting, clearing or changing the status of a corresponding channel in the multipoint data service 540. Control then passes to process 1042 in which any changes in status of the media handler, media services or connections handled thereby are passed to the channel manager 450 (See
If the event is for providing a media route service to an agent, then control passes from decision process 1030 to process 1032. In process 1032 setting, clearing or changing the status of a corresponding channel in the media router service 510 is performed. If the event is determined in decision process 1036 to involve the set of a route, then control passes to process 1038. In process 1038 the corresponding connection is looked up by the call sequencer to determine if the port and IP address to which the outbound route(s) are directed has been used previously during the session by this or any of the other media services. If it has the offset of the last packet of the media service previously provided to the port and IP address is used to adjust upward the initial sequence number/timestamp of the first RTP packet on the new route. If no prior RTP connection exists for the particular channel which the router sets then no offset is performed to the initial sequence number of the first RTP packet. Control then passes to process 1042 as discussed above. If alternately it is determined that a route is to be cleared then control passes to process 1040. In process 1040 the sequence number of the last RTP packet sent by the channel and cleared in process 1032 is passed to the call sequencer 504 (See
If the media event type pertains to a virtual agent for the call, e.g. a media play service or record, then control is passed to decision process 1012. In decision process 1012 a record media event is sent to process 1016 for setting, clearing or changing the status of a corresponding channel in the voice-mail service 560 (See
If the event is for providing a media play service to an agent or customer then control passes from decision process 1012 to process 1014. In process 1014 setting, clearing or changing the status of a corresponding channel in the media player service 520 is performed. If the event is determined in decision process 1018 to involve the set of a new play channel, then control passes to process 1020. In process 1020 the corresponding connection is looked up by the call sequencer to determine if the port and IP address to which the outbound media player(s) are directed has been used previously during the session by any of the media services. If it has the offset of the last packet of the media service previously provided to the port and IP address is used to adjust upward the initial sequence number of the first RTP packet on the new media play. If no prior RTP connection exists for the particular channel which the media player service sets then no offset is performed to the initial sequence number of the first RTP packet. Control then passes to process 1042 as discussed above. If alternately it is determined that a player channel is to be cleared then control passes to process 1022. In process 1022 the sequence number/timestamp of the last RTP packet sent by the channel and cleared in process 1014 is passed to the call sequencer 504 (See
The many features and advantages of the present invention are apparent from the written description, and thus, it is intended by the appended claims to cover all such features and advantages of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.
This application claims priority from Provisional Application No. 60/270,662, entitled “Distributed Media Controller” filed on Feb. 20, 2001 which is incorporated herein by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
5452348 | Adams et al. | Sep 1995 | A |
5555179 | Koyama et al. | Sep 1996 | A |
5568544 | Keeler et al. | Oct 1996 | A |
5634006 | Baugher et al. | May 1997 | A |
5673080 | Biggs et al. | Sep 1997 | A |
5689553 | Ahuja et al. | Nov 1997 | A |
5737321 | Takahashi | Apr 1998 | A |
5745642 | Ahn | Apr 1998 | A |
5765033 | Miloslavsky | Jun 1998 | A |
5884037 | Aras et al. | Mar 1999 | A |
5926539 | Shtivelman | Jul 1999 | A |
5946387 | Miloslavsky | Aug 1999 | A |
5953332 | Miloslavsky | Sep 1999 | A |
5953405 | Miloslavsky | Sep 1999 | A |
5963547 | O'Neil et al. | Oct 1999 | A |
5991276 | Yamamoto | Nov 1999 | A |
6002760 | Gisby | Dec 1999 | A |
6018360 | Stewart et al. | Jan 2000 | A |
6021428 | Miloslavsky | Feb 2000 | A |
6038302 | Burok et al. | Mar 2000 | A |
6044145 | Kelly et al. | Mar 2000 | A |
6044368 | Powers | Mar 2000 | A |
6046762 | Sonesh et al. | Apr 2000 | A |
6067357 | Kishinsky et al. | May 2000 | A |
6081513 | Roy | Jun 2000 | A |
6108711 | Beck et al. | Aug 2000 | A |
6122364 | Petrunka et al. | Sep 2000 | A |
6138139 | Beck et al. | Oct 2000 | A |
6141053 | Saukkonen | Oct 2000 | A |
6167395 | Beck et al. | Dec 2000 | A |
6170011 | Beck et al. | Jan 2001 | B1 |
6173053 | Bogart et al. | Jan 2001 | B1 |
6175563 | Miloslavsky | Jan 2001 | B1 |
6175564 | Miloslavsky et al. | Jan 2001 | B1 |
6185292 | Miloslavsky | Feb 2001 | B1 |
6192121 | Atkinson et al. | Feb 2001 | B1 |
6195697 | Bowman-Amuah | Feb 2001 | B1 |
6252886 | Schwager et al. | Jun 2001 | B1 |
6320956 | Cherry | Nov 2001 | B1 |
6343321 | Patki et al. | Jan 2002 | B2 |
6345305 | Beck et al. | Feb 2002 | B1 |
6353929 | Houston | Mar 2002 | B1 |
6366658 | Bjornberg et al. | Apr 2002 | B1 |
6373836 | Deryugin et al. | Apr 2002 | B1 |
6389007 | Shenkman et al. | May 2002 | B1 |
6393015 | Shtivelman | May 2002 | B1 |
6424709 | Doyle et al. | Jul 2002 | B1 |
6466980 | Lumelsky et al. | Oct 2002 | B1 |
6516350 | Lumelsky et al. | Feb 2003 | B1 |
6526041 | Shaffer et al. | Feb 2003 | B1 |
6614781 | Elliott et al. | Sep 2003 | B1 |
6640248 | Jorgensen | Oct 2003 | B1 |
6732156 | Miloslavsky | May 2004 | B2 |
6751297 | Nelkenbaum | Jun 2004 | B2 |
6798786 | Lo et al. | Sep 2004 | B1 |
6820133 | Grove et al. | Nov 2004 | B1 |
6862622 | Jorgensen | Mar 2005 | B2 |
6862623 | Odhner et al. | Mar 2005 | B1 |
6879582 | Dhara et al. | Apr 2005 | B1 |
6922411 | Taylor | Jul 2005 | B1 |
6937612 | Mauger et al. | Aug 2005 | B1 |
6941380 | Cunningham | Sep 2005 | B2 |
6970935 | Maes | Nov 2005 | B1 |
6978247 | Bogart et al. | Dec 2005 | B1 |
6985576 | Huck | Jan 2006 | B1 |
6990195 | LeBlanc et al. | Jan 2006 | B1 |
7051111 | Scullin | May 2006 | B1 |
7068680 | Kaltenmark et al. | Jun 2006 | B1 |
7096260 | Zavalkovsky et al. | Aug 2006 | B1 |
7106850 | Campbell et al. | Sep 2006 | B2 |
7123608 | Scott et al. | Oct 2006 | B1 |
7137126 | Coffman et al. | Nov 2006 | B1 |
7145898 | Elliott | Dec 2006 | B1 |
7165041 | Guheen et al. | Jan 2007 | B1 |
7218722 | Turner et al. | May 2007 | B1 |
7233980 | Holden et al. | Jun 2007 | B1 |
7266613 | Brown et al. | Sep 2007 | B1 |
7457279 | Scott et al. | Nov 2008 | B1 |
20010036174 | Herring | Nov 2001 | A1 |
20030055974 | Brophy et al. | Mar 2003 | A1 |
20030061338 | Stelliga | Mar 2003 | A1 |
Number | Date | Country |
---|---|---|
0 817 451 | Jan 1998 | EP |
WO9742728 | Nov 1997 | WO |
WO9813974 | Apr 1998 | WO |
WO9813995 | Apr 1998 | WO |
WO9817048 | Apr 1998 | WO |
Number | Date | Country | |
---|---|---|---|
60270662 | Feb 2001 | US |