WO2002093892A1 - Procede et dispositif de gestion de communications multimedia - Google Patents

Procede et dispositif de gestion de communications multimedia Download PDF

Info

Publication number
WO2002093892A1
WO2002093892A1 PCT/FR2002/001618 FR0201618W WO02093892A1 WO 2002093892 A1 WO2002093892 A1 WO 2002093892A1 FR 0201618 W FR0201618 W FR 0201618W WO 02093892 A1 WO02093892 A1 WO 02093892A1
Authority
WO
WIPO (PCT)
Prior art keywords
server
agent station
call
servers
agent
Prior art date
Application number
PCT/FR2002/001618
Other languages
English (en)
Inventor
Albert Brakha
Gabriel Pavillet
Original Assignee
C3T S.A.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by C3T S.A. filed Critical C3T S.A.
Publication of WO2002093892A1 publication Critical patent/WO2002093892A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5183Call or contact centers with computer-telephony arrangements
    • H04M3/5191Call or contact centers with computer-telephony arrangements interacting with the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/523Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with call distribution or queueing
    • H04M3/5237Interconnection arrangements between ACD systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/009Arrangements for interconnection between switching centres in systems involving PBX or KTS networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/08Indicating faults in circuits or apparatus
    • H04M3/12Marking faulty circuits "busy"; Enabling equipment to disengage itself from faulty circuits ; Using redundant circuits; Response of a circuit, apparatus or system to an error
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5125Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with remote located operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer

Definitions

  • the present invention relates to a method and a device for managing multimedia communications. It applies in particular to a multimedia virtual call center, in particular for the management of telephone communications and data transfers.
  • Document GB 2342 529 which presents a call center comprising several work groups, each with a route controller which determines the work station most suitable for receiving an incoming call in this work group. Each route controller keeps a routing table and the different route controllers exchange their routing tables so that each work group is able to determine the most suitable work group to handle an incoming call.
  • Upstream routing of incoming calls is carried out by specific services of the operator's network, namely SSP (Service Switching point) and WebSCP (Web Service Control Point), the implementation of which requires interconnection of the call center with the traditional telephone network on the one hand, and with an IP network on the other (Internet, Intranet or any other network based on the IP protocol).
  • SSP Service Switching point
  • WebSCP Web Service Control Point
  • SSP and WebSCP are essential for the implementation of the particular upstream routing of incoming calls that the system requires, and this routing is itself essential for the proper functioning of the system, which specializes the setting context implementation of the system and prohibits, for example, its implementation by interconnecting the call center with the traditional telephone network only (analog and / or digital access); and
  • the route controller of the work group consulted searches for the pair "work group / station "most suitable for handling the call in the routing tables available to it at the moment when the request to take a call into account arises, so that in the event of the need to request another group the local route controller makes a blind transfer request, that is to say without any guarantee of success, since by the very fact of non-cooperation with the other route controllers and of the propagation time updates to the various routing tables, it is not able, on the one hand, to requisition the remote resource (workstation) that it has selected to process the call in order to ensure its processing, and secondly, to ensure that at the same t emps where he selects the remote resource intended to process the call, the latter is not assigned by his local route controller to the processing of another call, which prevents the system from being able to protect itself against certain cases of collisions or deadly locks and greatly limits its actual effectiveness.
  • the present invention intends to remedy the drawbacks set out above.
  • the present invention relates, in particular, to a method of constituting a multimedia call center, cooperative multi-site, secure, highly available, open, independent of any operating system, with a high reception capacity and operating indifferently with or without PABX.
  • the present invention relates to a multimedia communication device comprising at least two servers connected to each other, each server being connected to at least one agent station and at least one server being connected to a telecommunications network, each agent station being equipped with an Internet browser interface, characterized in that each server: has an automatic call distribution module to or from each agent station to which it is connected, - has an automatic call distribution module to or from each other server to which it is connected, keeps a database comprising a status table representative of the occupation of each agent station connected to each server and of connection breakdown between servers or between a server and an agent station, each server being adapted to update each status table according to the activity of each agent station connected or not to said server, such m so that all the status tables are aligned in real time, and communicates with each other server in accordance with the IP protocol (Internet
  • IP protocol Internet Protocol
  • the present invention relates to a method of multimedia communication on a network comprising at least two servers linked together, each server keeping a database being connected to at least one agent station and at least one server being connected to a telecommunications network, each agent station being provided with an Internet browser interface, characterized in that said method comprises, for each server: an operation of automatic distribution of calls to or from each agent station to which it is connected, an operation of automatic distribution of calls to or from each other server to which it is connected, an operation to update a state table of a database, said state table being representative of the activity of each agent station connected to a server and connection break between servers or between a server and an agent station, so that all the status tables are have aligned in real time, - a communication operation with each other server in accordance with the protocol
  • the present invention relates to a multimedia communication management method characterized in that it comprises an operation of automatic distribution of calls between at least two servers linked together, each server being connected to at least one agent station.
  • each server performs an operation of updating a database representative of attributes of each agent station connected to a server, so that all the databases are aligned, and a update operation of each state table, so that all state tables are aligned in real time.
  • the customer can use any medium at his convenience to communicate with the call center, - the call center operator can distribute his call center, the management of the call center and call center operators on several sites, possibly in different countries, without having to take into account, upstream, skill or location constraints, while being able to manage in real time the differences in language, time zones or skills, - the operator changes the processing and reception capacity of the call center by adding stations and / or servers, without limiting up to 128 servers and up to several thousand stations agent, the operator benefits from high availability, the operator benefits from fault tolerance linked to the distributed nature of call management functions, the operation of the system is completely independent of the presence of an automatic branch exchange and the operating systems of the stations or the servers, the operator of the call center profits from the fast and constant evolution of the data-processing applications, the computers and the means and Internet services, - agent training is simplified and simplified because they use an interface well known to the general public, the Internet browser, the servers cooperate with each other so that each server can manage all the agent workstation
  • the present invention relates to a multimedia communication device comprising at least two servers linked together, each server being connected to at least one agent station and at least one server being connected to a telecommunications network, characterized in that each server: has an automatic call distribution module to or from each agent station to which it is connected, has an automatic call distribution module to or from each other server to which it is connected, has a distribution module to each other server a trace of each call received, said trace comprising an identifier of the agent station having served the call and an identifier of the caller, and keeps a database comprising a trace of each call on each server; each agent station being adapted, in the event of a connection break with one of said servers, to connect to another of said servers.
  • each server keeps a representative database of attributes of each agent station connected to a server, each server being adapted to update said database as a function of the evolution of each attribute of agent station linked to a server, so that all the databases are aligned.
  • each server performs a dynamic resource sharing operation (agent stations available for communication) between servers, according to its own activity and the activity of the other servers.
  • the automatic distribution of the calls is carried out according to the load or the availability of the stations-agents and / or the servers, of attributes of competence assigned to each station agents or to each server, transmission costs information related to each possible path for calls, estimated costs of processing the call, quality of service and / or resources available to the agent station.
  • said agent station in the event of a connection break between a server and an agent station, automatically connects to another server and regains its current context at the time when the connection break with the server occurred. failed.
  • each database comprises, in addition, a memory adapted to keep a trace of each call on each server, trace comprising an identifier of the agent station having served said call.
  • said trace of each call includes an identifier of the caller.
  • each of these provisions in the event of a server failure, the stations linked to it can automatically seek to connect to another server, the new server to which they connect knowing which station corresponds to a recent call therefore a a server failure does not prevent the continuity (by phone call) of the discussion between extension and caller. Indeed, the call data is replicated on all the servers, in real time, until the failure.
  • each server is adapted to connect a call to the agent station with which a call trace indicates that the caller has already been connected, if said agent station is available.
  • each server is adapted, when an agent station connects to it, to call back the caller with whom the agent station was in communication. Thanks to the provisions succinctly set out above, the present invention allows the implementation of a dynamic and cooperative distributed architecture, native which can be installed on several sites.
  • FIG. 1 represents a multimedia call center architecture known from prior art
  • FIG. 2 represents an example of a call center architecture in accordance with the present invention
  • - Figure 3 shows an example of call center architecture according to the present invention
  • FIG. 4 represents an example of a secure multimedia call center, single site, with a PABX automatic exchange, in accordance with the present invention
  • - Figure 5 shows an example of a secure multimedia call center, single site, with a PCBX, according to the present invention
  • FIG. 6 represents an example of a secure multimedia multi-site call center with a PCBX and a single entry point of the telephone network, in accordance with the present invention
  • FIG. 7 represents an example of a secure multimedia multimedia call center, mixed multi-sites (with PABX and PCBX auto-switch), with a telephone network entry point on each site, in accordance with the present invention
  • FIG. 7 represents an example of a secure multimedia multimedia call center, mixed multi-sites (with PABX and PCBX auto-switch), with a telephone network entry point on each site, in accordance with the present invention
  • FIG. 8 represents examples of software modules implemented in an example of a call center in accordance with the present invention
  • - Figure 9 shows the operations implemented by the software modules illustrated in Figure 8, during the processing of a call, in accordance with the present invention
  • Figures 10 to 14 show an exemplary embodiment of software modules of each server of an example call center, according to the present invention
  • Figure 15 shows another embodiment of the present invention
  • - Figure 16 shows a partial flowchart of operation of an agent station.
  • the object of the present invention ensures high availability and overall continuity of operation (telephony and computer) of the call center: the solution object of the present invention consists of a set of autonomous and cooperative servers so that the malfunction or shutdown of a server no longer causes the interruption of call center activity.
  • the object of the present invention allows a multi-site cooperative deployment, a virtual call center which can be deployed on several heterogeneous sites which will collaborate as a single call center by installing on the standard hardware required a software solution implementing the present invention.
  • the implementation of the present invention offers a very high reception capacity: the evolution of the reception capacity comes down to a simple addition of platform (s) implementing the present invention. It should be noted that the addition is carried out dynamically without even interrupting production, whether it is an addition of a ⁇ ) additional platform ⁇ ) on the same site or on a remote site.
  • the concept underlying the present invention relates to a cooperative multi-machine computer architecture (computer architecture distributed over several machines and / or sites) totally open, independent of all operating system, any hardware (computers, communication devices, telephony devices, ...) or any third party software (management of databases, ...) and allowing the support of various advanced telephony, IT and multimedia functionalities: mediaconvergence, telephony, telephony-computer coupling (CTI), multimedia routing oriented skills, ..., the whole being supervised simultaneously from one or more machines (or sites).
  • a multimedia virtual call center in accordance with the present invention consists of several cooperative sites pooling their resources.
  • the sites are interconnected via IP links allowing the transport of voice (rerouted communications) and , of the data necessary for the proper functioning of the multimedia virtual call center thus constituted.
  • the main advantages of a virtual call center according to the present invention are, on the one hand, the operation in dynamic sharing of load and resources, and on the other hand, tolerance to different cases of software failure and / or material with minimal consequences.
  • the present invention thus allows the dynamic distribution of incoming and outgoing calls on several remote sites according to criteria such as:
  • the solution offered by the present invention is advantageously based on strictly standard hardware and software components and it is also entirely based on computers, software and communications in Internet protocol (IP).
  • IP Internet protocol
  • the implementation of the present invention makes it possible to overcome the latter from space, media and time limits.
  • the present invention manages teleoperators who are no longer attached to a specific geographic position or to a precise function, allowing the contact center to easily envisage deployment on one or more cooperative sites, to take into account one or more time zones or languages, and offers by construction possibilities of evolution in terms of capacity and power, but above all guarantees in terms of high availability, and this, at low cost and in single or multi-site architecture (s), with or without a PABX.
  • the “independent” nature of an implementation of the present invention results, on the one hand, from an “independent OS” design and implementation of the core of the platform, in particular to through the implementation of inter-task communication-synchronization mechanisms independent of the operating system; and on the other hand the intensive use of the JAVA language whose slogan is "Write once, run anywhere” (for "writes once, works everywhere”).
  • This independence vis-à-vis the operating system is native, that is to say that it does not require any intermediate porting product, thus guaranteeing the stability and the level of performance in the various environments, the independence with regard to automatic switches.
  • PABX optimal use of CSTA (for Computer Supported Telecommunications Applications or computer-supported telecommunications applications) allowing maximum functional richness to be obtained independently of the PABX used. independence from the manufacturers of the communication cards which are the basis of the PCBX architectures: the implementation of the present invention can be overcome by the manufacturer either by exploiting, if they exist and are in accordance with the JTAPI standard (Java Telephony API), APIs (Application Programming Interfaces or application programmatic interfaces) supplied with the cards, either if necessary, by relying on a low level intermediate JAVA layer, strictly emulating JTAPI and masking the proprietary APIs of the manufacturer , independence from the presence or absence of a PABX within the architecture: here again, and particularly thanks to the use of standards such as CSTA and JTAPI, embodiments of the present invention s free from the presence or not of a PABX within the architecture, by relying on a low level intermediate JAVA layer, strictly emulating JTAPI and mask
  • JTAPI multi-machine architecture
  • the core of preferred embodiments of the present invention operates in dynamic multi-machine architecture (single or multi-site (s)), without relying on the services of a distributed real-time OS or of a database engine. distributed data.
  • This original approach gives them the ability to absorb and adapt to desired or accidental configuration changes, in real time and without stopping operation (adding or removing machine (s) on the local or virtual network; disruption of a link or malfunction of a platform, requiring a dynamic reconfiguration of the active group; .
  • Each machine can operate independently or be part of a group of cooperating machines constituting the virtual multimedia contact center mono / multi-site (s).
  • the set of cooperating machines constitutes a single homogeneous and coherent virtual system whose power and capacity result directly from the "sum" of the capacity and power of each machine belonging to the defined group.
  • each server proceeds to a “real-time alignment” of the duplicated data used by all the servers and agent stations constituting the architecture of the call center.
  • the data replication and synchronization mechanisms are preferably secure (check point, rollback, etc.), in order to guarantee the integrity of the data, and are based on standard database technologies on the market (for example registered trademarks MySql, SQL-Server, Oracle, or Access ).
  • connection designates all types of links, both physical and logical.
  • the links can be, for example, on a local network, Intranet or Internet, or on a telephone network, possibly wireless.
  • FIG. 1 are represented, in a multimedia call center architecture, a private branch exchange (PABX) 100, connected, by a telephone and computer coupling link (CTI) 110 to a telephone and computer coupling server CT1 120, on the one hand, via a telephone network 130, to telephones 140, on the other hand, and, via an internal telephone network 150, to corporate telephones 160 and to an interactive voice server (SVI) 170, again on the other hand.
  • the server CT1 120 is also connected, via a local network 180, to workstations or agent stations 190 and to computer servers 191 to 198.
  • the PABX 100 automatic switch is of known type. It receives and sends calls over the telephone network 130, which can be, for example, the switched telephone network (PSTN) or a digital integrated services network (ISDN).
  • PSTN switched telephone network
  • ISDN digital integrated services network
  • the main function of the PABX PABX 100 is the routing of incoming calls to the 160 enterprise telephone sets. The routing procedure is automatic, thanks to a direct selection on arrival (DID) function.
  • DID direct selection on arrival
  • the PABX 100 automatic branch exchange also ensures the internal circulation of calls within the company.
  • the CT1 server 120 which is connected to the PABX switch can include automatic call distribution software (DAA or ACD) 122.
  • the ACD software is integrated into the PABX switch if the CTI server does not have an ACD.
  • the main role of the automatic call distributor 122 is the routing and optimization of the incoming call queues, particularly in the case where all or some of the corporate telephone sets 160 are occupied.
  • the automatic call distributor 122 takes into account more or less sophisticated call distribution strategies (automatic distribution by skill groups, performance of active call center operators, call groups overflow, deterrence, ).
  • the SV1 170 interactive voice server is mainly used for back-up, when the number of calls is greater than the processing capacity of the call center, in particular during closing hours.
  • the calls are routed by the ACD 122 to the server SV1 170 which initiates a dialogue with the caller.
  • the SV1 170 server has four main functions: automatic reception (or automatic attendant), information dissemination, messaging voice and transaction (for example the qualification of the caller's request).
  • the SVI server 170 is a PC type computer equipped with voice server software and one or more voice cards connected to the PABX 100 automatic exchange by telephone lines.
  • the CTI 110 link implements a communication protocol which makes it possible to connect the PABX 100 automatic switch and the CT1 120 server.
  • the CTI 120 server makes it possible to connect the PABX 100 automatic switch and the company's IT system (servers 191 to 198).
  • the CTI server 120 also establishes the logical link between an agent station or work station 190 and the corresponding company telephone 160, the logical link corresponding to a physical proximity of the screen of the agent station and the telephone handset.
  • the CTI link corresponds to the standard CSTA protocol.
  • the link CT1 110 allows the CTI server 120 to act on the PABX switch 100 to control calls, in particular to establish a connection, disconnection, call forwarding, conference, monitor the corporate phones 160 and the other devices connected to PBX 100, and route calls.
  • the CT1 120 server communicates in client-server mode and bidirectionally with the PABX 100 automatic exchange, via the CTI 110 link.
  • the CTI 120 server controls the call control functions, such as picking up a line , dialing a number, transferring and diverting calls, conferencing or managing the ringing of a company telephone 160.
  • the server CT1 120 retrieves line seizure information by the agent called , the caller's number or the duration of a call.
  • the CTI 120 server also interacts with the functions of the PABX 100 automatic exchange, such as the directory, in order to enrich and use them.
  • the CT1 120 server is a hub for various media, such as the web, the Minitel, the SV1 170 server or a fax server.
  • the server CT1 120 includes a call automaton 124, software which automatically generates outgoing calls, by calling numbers previously recorded in a database (not shown).
  • the computer and multimedia servers 191 to 198 include, for example, an information server or database server 194, a web server 192, a minitel server 195, a mail server 196, a fax server 197, a server office automation 193, a print server (not shown) and an application server 191 performing, for example, customer relationship management, calendars, company-specific applications, business software (standard software or specific applications representing the core business of the company, such as, for example, telemarketing, telesecretariat, after-sales service).
  • an information server or database server 194 includes, for example, an information server or database server 194, a web server 192, a minitel server 195, a mail server 196, a fax server 197, a server office automation 193, a print server (not shown) and an application server 191 performing, for example, customer relationship management, calendars, company-specific applications, business software (standard software or specific applications representing the core business of the company, such as, for example, telemarketing, telesecretariat, after-
  • the teleoperator's work tool consists of two elements, the company telephone 160 which can take the form of a headset and a work station 190.
  • the work stations are linked by a network local, for example Ethernet TCP / IP (for Transport Control Protocol in Internet Protocol, protocol for controlling the transport of data over the Internet).
  • Ethernet TCP / IP for Transport Control Protocol in Internet Protocol, protocol for controlling the transport of data over the Internet.
  • the supervision, the administration and the telework can be carried out with any intelligent terminal, for example a multimedia computer, supporting an Internet browser and provided with a network card. No client software is necessary for these different types of work, only the Internet browser is essential.
  • the call center may also include a recorder, a multi-operator charging method for video conferencing (not shown).
  • the call center has an after-sales service mission.
  • a user calls the call center, via his telephone 140 and the telephone network 130, his call first ends up at the automatic exchange 100.
  • the ACD 122 determines to which agent station 190 and company telephone 160, the call must be routed, depending on the information received, the skills required to handle the call, predefined agent eligibility rules, agent availability, etc.
  • Skill Based Routing which handles traditional telephone calls and messages of all kinds (E-mail, fax, Internet chat request in Chat mode, Visio, etc.), including distributed architecture.
  • the server CT1 120 transmits the switching order to the automatic exchange 100 which then routes the call.
  • the caller's number if the caller's number has been transmitted to the CTI 120 server, the latter searches for the file corresponding to the caller in the database. Once the client file has been found, the CTI server 120 transmits it to the workstation 190 which corresponds to the company telephone 160 to which the call was transmitted. The call and the form are presented synchronously to the agent who will handle the call. If the caller's number is not recognized, the ACD 122 instructs the automatic switch to switch (or route) the call to the server SV1 170 which requests the caller to enter his customer number, by the phone keys before the call and the form are transferred to the agent.
  • the information transmitted by the customer is collected by the CTI server 120.
  • the customer file updated according to call data and any data entered by the agent is stored in the database.
  • FIG. 2 are represented a central network 200, to which three sites 210 are connected,
  • Each operational unit comprises agent stations each provided with an Internet browser interface.
  • Each server unit comprises a data server unit (respectively 216, 226 and 236), a data unit decision-making (respectively 218, 228 and 238) and an IVR server (respectively 219, 229 and 239).
  • Each data server unit keeps a representative database of attributes of each agent station connected to a server (skills, language, hours of availability) and a status table representative of the occupation of each agent station connected to each server. and connection breakdown between servers or between a server and an agent station.
  • the server units 210, 220 and 230 synchronize (or align) their databases (respectively 216, 226 and 236) permanently.
  • Each operational unit (respectively 214, 224 and 234) groups together the elements 150 to 198 illustrated in FIG. 1 and, in particular, the agent stations 190 and the company telephones 160 of the site considered.
  • Each operational unit (respectively 214, 224 and 234) is connected to a server unit (respectively 210, 220 and 230) and can change the server unit without interruption of service.
  • the decision-making unit (respectively 218, 228 and 238) comprises a CTI server and a PABX automatic branch exchange or a PCBX without automatic branch exchange.
  • the central network 200 is used to transport both pure computer flows and digital voice flows (voice over IP) of rerouted communications.
  • the links with the telephone network 240 serve exclusively the flows exchanged with the outside (the call center callers or the called by the call center).
  • the operational units communicate in priority with the server units on the same site. If there is a need for expertise not available at the level of the local operational unit or in the event of malfunction of the server units of the local site, the operational units communicate with the server units of the other sites.
  • a server unit uses the resources of operational units from other sites by rerouting incoming calls.
  • FIG. 3 are represented a central network 300, to which three sites 310, 320 and 330 are connected, comprising respectively server units 312, 322 and 331 and 332 (site 330 has the two server units 331 and 332) connected to the telephone network 340 and operational units 314, 323 to 325, 334 and 345 (the site 320 has three operational units 323, 324 and 325 and the operational unit 345 is not linked to any server unit in a privileged manner).
  • the site 310 comprises the server unit 312 connected to the telephone network 340 and the operational unit 314.
  • the site 320 is a virtual site which comprises the server unit 322 connected to the telephone network 340 and the operational units 323, 324 and 325.
  • the operational unit 323 is connected to the central network 300 and, through it, to the server unit 322.
  • the operational unit 324 is directly connected to the server unit 322.
  • the site 330 is secured because it comprises two cooperative server units 332 and 331, each server unit taking over in the event of failure of the other server unit.
  • the site 330 also includes the operational unit 334, connected symmetrically to the two server units 331 and 332.
  • the operational unit 345 is directly connected to the central network 300.
  • Each operational unit comprises agent stations each provided with an Internet browser interface.
  • Each server unit has a data server unit (respectively 316, 326, 335 and 336), a decision-making unit (respectively 318, 328, 337 and 338) and an IVR server (respectively 319, 329 and 339).
  • Each data server unit keeps a representative database of attributes of each agent station connected to a server (skills, language, hours of availability) and a status table representative of the occupation of each agent station connected to each server. and connection breakdown between servers or between a server and an agent station.
  • the server units 310, 320 and 330 synchronize (or align) their databases (respectively 316, 326, 335 and 336) permanently.
  • Each operational unit (respectively 314, 323 to 325 and 334) groups together the elements 150 to 198 illustrated in FIG. 1 and, in particular, the agent stations 190 and the company telephones 160 of the site considered.
  • Each operational unit (respectively 314, 323 to 325 and 334) can change the server unit without interrupting service.
  • the decision-making unit includes a CTI server with or without a PABX.
  • the operational unit 325 only processes rerouted communications from other server units. In the embodiments illustrated in FIG. 2 and in FIG.
  • the links within a site are local networks and the links between the sites are of WAN type (for Wide Area Network).
  • the digital streams implemented in accordance with the present invention are of different natures.
  • the intra-site digital flows are internal to each site and are the support for performing functions with regard to local resources.
  • Inter-site flows include several types of flow.
  • Each server unit receives at the time of the connection of another server unit a complete copy of the state table kept in the database of said other server unit and updates its own state table as regards the agent-stations of the site of said other server unit. Then, at each modification of the state table of one of the server units relating to the site to which it belongs, or periodically, said server unit transmits to the other server units the information modified in its state table.
  • the decisions made by the decision-making units depend on the state table kept by the database of the corresponding site. Voice over IP flows are compressed and the transmission delay is less than 100 ms. so as to remain insensitive.
  • each state table comprises information representative of the state of each line connected to an agent station, information representative of the presence of an agent at said agent station, and information representative of the presence information on the connected client on the screen of said agent station.
  • the ACD of each site cannot directly control the channels of the remote site, for security reasons.
  • campaigns set of outgoing calls
  • the distribution of tasks is carried out by marking in the database before the campaign is even launched, and the launch of an iteration of the call engine per site.
  • each site remains able to continue its work regardless of other sites.
  • the ACD preferentially makes decisions in multi-criteria mode, with a variable weighting for each criterion, to give a degree of eligibility to each agent according to the call that comes up and choose the best degree. Unelected agents see their degree of eligibility increase compared to that which is ultimately selected in order to distribute the workloads between the agents.
  • the software platform which implements the method and the device targeted by the present invention has a distributed architecture native to the kernel, the ACD module is co Designed to operate in concurrent mode on a network architecture, inter-machine call routing adapts to the location of the call center (single or multi-site) as well as to its technical architecture (presence or absence of PABX or PCBX switch on each of the sites), the voice over IP mode is combined with
  • Inter-machine and inter-site rerouting is carried out in multiplex voice over IP mode, on local or inter-site computer links with virtual private network (VPN) and quality of service (QoS) facilities under control.
  • the multi-site network architecture includes an SNMP agent (Simple Network Management Protocol for simple network management protocol) on each node of the network.
  • the functionalities of the call center object of the present invention include the following groups:
  • Call Distribution definition of strategies for sending and receiving calls (in reception, for each number, manage the possibility of setting the pre-hook, manage queues, skill groups, type of treatment of the call in case of overflow, ...); management of time slots; generation of interview scripts; generation of scenarios of interactive voice server (“IVS") ensuring the synthesis and recognition of voices; management of databases data; results and statistics management; least cost routing: this is an intelligent use of the services of several telecommunications operators, depending on various parameters such as the destination of the call , call time, desired quality of service, to optimize telecommunication costs; charging or billing tool depending on the service provided.
  • Supervision allows global supervision in real time of the call center. customization of supervision grids; - visualization of traffic across all media; display of all production ratios; status of each station (pause, communication, ...); agents, groups, campaigns, multi-group agents, ...; alerts (insufficient number of calls, excessively long communication times, etc.); - discreet listening online;
  • 3 Teleoperator: - login, logoff, break, in communication, work in the background, ...; plug up on the screen of a set on successful incoming / outgoing call; call management on the screen of an extension (dialing, transfer, ...); request assistance from the supervisor; visualization of one's own performance, that of the group, the call center, ...
  • Making calls the system presents the form to the teleactor or agent and dials the phone number only after validation by the agent (which allows personalization of the sales pitch before d 'enter interview); progressive dialing: the system manages the call file, dials as soon as an agent is free and transmits the call to him with the customer file which is online; predictive dialing (predictive call): the system anticipates dialing and generates more calls than there are agents), eliminates unnecessary calls (automatic answering machine, fax, false number, absent correspondent, busy correspondent, ...) and passes the valid communication to an agent; - relaunch: automatic management of scheduled calls at the scheduled date and time.
  • Call blending (which can be translated by "simultaneous management of incoming and outgoing calls"): straddling the management of incoming and outgoing calls, call blending allows agents to be automatically assigned to outbound campaigns when traffic allows and, conversely, to direct incoming calls to agents assigned to send, during peaks of incoming traffic.
  • Business application telemarketing; telesecretary; agenda; - interface for integrating specifically developed business software or existing applications; interface for integrating market-specific business software, help desk, telemarketing, telesecretariat, studies and surveys, customer care (consumer attention); interface for integrating business software running in mini or mainframe environment, possibly through emulators.
  • API Application Program Interface
  • software components for integration of business software
  • FIG. 4 represents a secure multimedia call center, single site, with PABX automatic branch exchange.
  • the PABX 100 the telephone network 130, the phones 140, the CTI 110 link , the internal telephone network 150, the company telephones 160, the local network 180 and the workstations or agent station 190 which are each provided with an Internet browser interface.
  • the CTI server 120 is replaced, in FIG. 4 by a set 400 of servers 401 to 432, linked together by a network 440 implementing the TCP / IP protocol, a voice link 445 connecting the PABX switch 100 to the set 400 servers via at least one of the servers in this set.
  • a teleworking station 450 connected, via the telephone network 130, to the PABX automatic branch exchange 100, and an Internet network 455, connected to workstations 460 and, via a 465 firewall to the 400 server set.
  • the set of servers 400 creates a multi-machine secure cooperative CTI multimedia server (which performs dynamic sharing of loads and resources).
  • This CTI 400 server performs automatic call distribution via the distributed multimedia ACD which intelligently routes calls, e-mails and faxes.
  • This CTI 400 server also performs the functions of a distributed call automaton (including predictive dialing), an interactive IVR voice server, mixed management of internal telephony (i.e. via the link CTI 110 and the PABX 100 and via voice over IP via the local network), gateway between Internet and telephony (voice over IP), media server, web, voice, fax, pager, centralized real-time administration and supervision video accessible from any position, including remotely, from a distributed and 5. secure and open database for third-party business software. We observe that in addition to the agent positions
  • a stand-alone multimedia workstation 191 is connected to the local area network 180 and does not necessarily correspond to a company telephone 160.
  • This workstation or agent station 191 is intended for a teleoperator, all of whose communications pass through the intermediary of the post
  • Each server 401 to 432 comprises a data server unit 470, a decision-making unit 475 and an interactive voice server SV1 170.
  • Each data server unit 470 maintains a database representative of attributes of each agent station connected to a server (skills, language, hours of availability) and a status table representative of the occupation of each agent station connected to each server and of connection breakdown between servers or between a server and an agent station.
  • Each decision-making unit 475 includes a CTI server and the PABX 100 automatic branch exchange.
  • FIG. 5 represents a secure multimedia call center, single site, with PCBX.
  • FIG. 5 many elements of FIG. 1, which, for reasons of clarity, bear the same numbers as in FIG. 1: the telephone network 130, the telephones 140, the internal telephone network 150, the telephones of enterprise 160, the local area network 180 and the workstations or agent station 190 which are each provided with an Internet browser interface.
  • the server CT1 120 and the PABX automatic switch 100 are replaced in FIG. 5 by a set 500 of servers 501 to 532, linked together by the local network 180 implementing the TCP / IP protocol and all connected to the internal telephone network 150.
  • a teleworking station 550 connected, via the telephone network 130, to the set of servers 500, and an Internet network 0 ' 555, connected to workstations work 560 and, via a firewall 565 to the set of servers 500.
  • the set of servers 500 realizes a multi-machine secure cooperative multimedia PCBX (which performs dynamic sharing of loads and resources).
  • This PCBX 500 performs automatic call distribution via the distributed multimedia ACD which performs intelligent routing of calls, e-mails and faxes.
  • This PCBX 500 also provides the functions of a distributed call automaton (including predictive dialing), an interactive IVR voice server, internal telephone management, a gateway between the Internet and telephony (voice over IP), a server media, web, voice, fax, pager, video, ..., administration and centralized real-time supervision accessible from any position, including remotely, distributed and secure database and opening for third-party business software.
  • an autonomous multimedia workstation 191 is connected to the local network 180 and does not necessarily correspond to a company telephone 160.
  • This workstation or agent station 191 is intended for a teleoperator all of whose communications pass through the extension 191. For example, communications over the Internet, by fax, on Minitel and telephony pass through the extension 191.
  • an administration station 192 is connected to the local area network 180 and is intended to administer the functions of the call center system.
  • Each server 501 to 532 includes a data server unit 570, a decision-making unit 575 and an interactive voice server SV1 170.
  • Each data server unit 570 maintains a database representative of attributes of each agent station connected to a server (skills, language, hours of availability) and a status table representative of the occupation of each agent station connected to each server and of connection breakdown between servers or between a server and an agent station.
  • the servers 501 to 532 synchronize (or align) their databases constantly.
  • Each decision making unit 575 has a PCBX without a PABX.
  • Figure 6 shows a multi-site secure multimedia call center with PCBX and a single entry point for the telephone network.
  • a 695 intranet or extranet network links the first site to a second site, remote from the first site.
  • the second site comprises an internal telephone network 650, company telephones 660, a local network 680, workstations or agent station 690 which are each provided with an Internet browser interface, a set 600 of servers 601 to 632, linked together by the local network 680 implementing the TCP / IP protocol.
  • the network 695 is, for example, a virtual private network which carries voice and data according to the IP protocol (Internet Protocol).
  • the set of servers 600 realizes a multi-machine secure cooperative multimedia PCBX (which performs dynamic sharing of loads and resources between the servers 601 to 632 and with the servers 501 to 532).
  • This PCBX 600 performs automatic call distribution via the distributed multimedia ACD which performs intelligent routing of calls, e-mails and faxes.
  • This PCBX 600 also provides the functions of a distributed call automaton (including predictive dialing), an interactive IVR voice server, internal telephone management, a gateway between the Internet and telephony (voice over IP), a server media, web, voice, 'fax, pager, video administration and real time supervision centralized accessible from any position, including remote database distributed, secure and open for third party software trades.
  • an autonomous multimedia workstation 691 is connected to the local network 680 and does not necessarily correspond to a telephone. 660.
  • This workstation or agent station 691 is intended for a teleoperator, all of whose communications pass through station 691. For example, communications over the Internet, by fax, on Minitel and telephony go through the extension 691.
  • extension 691 is used to administer the functions of the call center system.
  • Each server of the sets of servers 500 and 600 comprises a data server unit 670, a decision-making unit 675 and an interactive voice server SVI 170.
  • Each data server unit 670 maintains a database representative of attributes of each station.
  • agent connected to a server (skills, language, hours of availability) and a status table representative of the occupation of each agent station connected to each server and connection breakdown between servers or between a server and an agent station.
  • the 500 and 600 server sets synchronize (or align) their databases constantly.
  • Each 675 decision-making unit has a PCBX without a PABX.
  • FIG. 7 represents a secure multimedia multimedia call center, mixed multi-site (with PABX and PCBX automatic branch exchange), with a telephone network entry point on each site.
  • a site A the elements of Figure 4
  • a site B the elements of Figure 5.
  • the local area networks 180 of the two sites are connected by a 795 network, for example, a virtual private network which carries voice and data according to the IP protocol (Internet Protocol).
  • IP protocol Internet Protocol
  • Each server of the sets of servers 400 and 500 comprises a data server unit 770, a decision-making unit 775 and an interactive voice server SVI 170.
  • Each data server unit 770 maintains a database representative of attributes of each station. agent connected to a server (skills, language, hours of availability) and a status table representative of the occupation of each agent station connected to each server and connection breakdown between servers or between a server and an agent station.
  • the 400 and 500 server sets synchronize (or align) their databases constantly.
  • Each decision-making unit 775 includes a CTI server and the PABX switch or a PCBX without a switch.
  • the management and updating of the databases and status tables are carried out according to the following principles: - all the servers have the same level of face responsibility to replication and concurrency management (multi-master or multi-master), only updates are transferred (log-transfer, as opposed to transferring all of the records) and are broadcast in multipoint (multicast), mode which allows sending packets to several recipients located on any IP network. In this mode, we no longer address a port number / IP address pair as in unipoint (unicast) mode but a machine group address. So, instead of sending as many packets as there are recipients, we send a single packet to a multicast address and it is the network routers that duplicate and distribute the message to group machines.
  • each server corresponds to the same multicast address, the information is immediately disseminated (push-based), without locking mechanism or acknowledgment of operation, - each transaction (modification of data in the database data or status table) is stamped with time stamp (date, time, operation number and local server number) to ensure that it will not be counted twice and that transactions will be processed in the order, each server is autonomous to manage any conflicts related to access competition o conflict management is based on the transaction timestamps and on the number of the record concerned, o update update conflicts / writing (when a reading is in progress (the file is in consultation) and an update of this data arrives and is processed; there is entry in the conflict log and a warning is sent to the application which is reads it to inform it that a modification has taken place on this record, o write / write update conflicts (an update arrives with a timestamp previous to the last operation performed on the recording); the conflict is processed automatically (to detect if at least one field is modified by two transactions considered and to treat the case where there is no such field
  • the present invention also relates to a method of constituting a cooperative multi-machine computer architecture (computer architecture distributed over several machines and / or sites) totally open, independent of any operating system, of any hardware ( computers, communication devices, telephony devices, ...) or any third-party software (database management systems, ...) and allowing the support of multimedia communications, mediaconvergence and Telephony Coupling functionalities - IT (CTI), the whole being supervised simultaneously from one or more machines (or sites).
  • CTI Telephony Coupling functionalities - IT
  • Each machine can operate autonomously and / or in isolation, or be part of a group of cooperating machines thus realizing and by construction a virtual multimedia system mono / multi-site (s). All of the cooperating machines constitute one and the same homogeneous and coherent virtual system whose power and capacity result directly from the "sum" of the intrinsic capacity and power of each machine belonging to the defined group.
  • the system is independent of any software and / or hardware architecture at the level of each machine potentially intended to cooperate with other machines in order to constitute a group.
  • the machines making up the group of cooperating machines can be totally heterogeneous, both at the hardware level and at the software level.
  • the implementation of the present invention allows the creation of: • Integrated solution for virtual multimedia call center mono and / or multi-site cooperative of new generation, open, coupling telephony and computing (CTI), but also multimedia (internet, email, wap, Visio, video, fax, ...) and mediaconvergence (convergence of all media over IP), independent of any operating system and operating indifferently with or without automatic branch exchange (PABX) ;
  • Peri-telephony solution Intelligent skills-based multimedia routing system (skills based routing), open, autonomous, distributed and cooperative, indifferently handling traditional telephone calls and messages of all kinds (e-mail, chat, fax, video, etc.). ..), and capable of integrating with the new "IT telecommunications infrastructure" of the multi-site company.
  • this system makes it possible to federate the intelligent distribution of calls within a network of heterogeneous PABXs implanted in single or multi-site architecture;
  • Multi-site enterprise information system management solution extended: autonomous system for managing replication / synchronization of strictly standard databases, distributed in cooperative multi-machine architecture (and / or multi-site) cooperative).
  • This system offers the multi-site company the same “transverse visibility”, integrated and coherent of its information system, without having recourse to a dangerous centralization of data, or even to an oversized and expensive Distributed Database Management System.
  • FIG. 1 Multi-site enterprise information system management solution
  • a kernel 800 for each server (here, two servers are represented by the software layers implemented) of the call center: a kernel 800, a decision-making engine 810, a duplication and updating manager 820 databases, an 830 message controller, a CTI 840, an 850 operating system, an 860 database engine, a CTI 870 device, 880 software applications, and a data transport module in accordance with Internet Protocol (IP) 890.
  • IP Internet Protocol
  • the 810 decision-making and dynamic load and resource sharing engine is the 810 decision-making and dynamic load and resource sharing engine
  • the manager for duplicating and synchronizing 820 databases is the manager for duplicating and synchronizing 820 databases:
  • the 830 Message Controller • establishes and maintains dialogue and communications between the various servers.
  • a telephone call arrives, it passes through the peripheral CTI telephone 870 and the CTI 840 until arriving at the core 800 which then asks the decision-making engine 810 what to do of this call.
  • the decision-making engine 810 considers that this call requires the use of a distant resource and informs the kernel 800 which, via the message controller module 830 initiates a message to the separate platform to handle this call.
  • the distant server receives the message and transmits it via the message controller module 830 to the kernel 800 which will seek the telephone call through the CTI 840 and the peripherals of the CTI 870.
  • the telephone call goes up through the CTI 840 to the core 800 which asks the decision-making engine 810 what to do with it.
  • the decision-making engine 810 returns its "verdict" (its decision) to the core 800 which then directs the call to the appropriate application 880 (connection with a teleoperator).
  • the 880 application needs to consult the information on the calling client (file escalation) and makes a request to the client database
  • the application 860 via the kernel 800 and the database manager 820 which addresses the database 860, retrieves the result and gives it to the application 880 (always through the kernel 800).
  • the application uses an Internet browser interface to communicate with the agent handling the call. •
  • the application 880 ran correctly and ends by making a modification of the client data in the 860 base: request to write to the 860 client database via the kernel 800 and the database manager 820.
  • the database manager 820 performs the write request and requests the propagation of this update on all the other servers (that is to say in FIG. 9, on the server database shown on the left). This propagation is carried out through the core 800 and the message controller modules 830 and transport 890.
  • FIG. 10 represents an example of five database management software modules in accordance with an aspect of the present invention.
  • a module 1030 for interfacing with the other modules of the server and a module 1040 for managing messages connect the database management modules to the other modules and applications implemented as described above.
  • the module 1030 for interfacing with the other modules of the server has the functions of: - dialoging with the other applications implemented by the server, sending the read and write operations (operations 1010) to the broadcast and reception module transactions 1050, and receive and transmit the result of read requests, and conflict warnings (operations 1019) from the competition and duplication control system 1070.
  • the functions of the message management module 1040 are to: broadcast the local write transactions (operation 1011) transmitted by the broadcast and transaction reception module 1050 to the other servers in multipoint mode
  • the functions of the broadcast and reception module for transactions 1050 are to: send local write transactions (operation 1011) to the message management module 1040, receive remote write transactions (from other servers) (operation 1012 ) of the message management module 1040, check for each transaction received that it has not already been processed, update a table 1090 which keeps for each database, the timestamp of the last transaction of each server on this base, and transmit the transactions to be executed (operation 1016) to the competition and duplication control system 1070.
  • the reader can refer to FIG. 12 for an example embodiment of the module.
  • a database synchronization module 1060 has the functions of: periodically receiving tables 1090 (operation 1014) from other servers via the message management module 1040, periodically sending table 1090 from the local server (operation 1013) to the other servers via the message management module 1040, periodically check and during a warm start (during operation) that the server databases are well synchronized with the databases of the other servers by performing a comparison between table 1090 on the local server and tables 1090 on other servers, initiate synchronization on a database in the event of database desynchronization (operation 1013), during synchronization, send requests for transaction requests not received by the servers concerned (operation 1013), receiving requests for transaction requests (operation on 1014) from other servers and respond to them by sending them the requested transactions or records (operation 1015).
  • the reader can refer to FIG. 13 for an embodiment of the module 1060.
  • a 1070 concurrency and duplication control module has the following functions: dialog with a standard 1080 database engine to send it read and write requests (operation 1017) and retrieve the results (operation 1018), send to the interface module with the other modules of the server 1030, the results of the read requests (operation 1019), keep up to date a list of the records being consulted, if an update is performed on a consultation record, send a warning (operation 1019) to the interface module with the other modules of the 1030 server and record the conflict in the read conflict log, keep up to date for each field of each record the stamp of the last transaction having modified it if the stamp of the transaction to be carried out on the record is earlier than the stamp of the last transaction which was executed on this record, and if there is at minus a field affected by each of the transactions considered, writing of this conflict in the conflict log and transformation of the transaction to be carried out: for each field involved in the new registration, the modification is only reflected if the stamp of the field (retrieved in table 1100) is prior to the transaction to be performed.
  • operations 1010 operations in read or write in the database
  • operations 1011 propagation of updates
  • operations 1012 recovery of updates from other servers
  • operations 1013 sending of table 1090 and transaction requests
  • - operations 1014 recovery of tables 1090 and requests from others servers
  • operations 1015 request to send transactions to other servers
  • operations 1016 send transactions to be processed
  • operations 1017 database read request
  • operations 1018 results of database read requests
  • - operations 1019 query result and warnings.
  • An operation is made up of: the mode of the operation: reading, consultation, end of consultation or writing, the number of the agent concerned, - the name or number of the database concerned, of the name or number of the table concerned, of the system key of the recording concerned, of the name or number of the application which processes the recording, and of reading or updating it. to update (query to the database).
  • a transaction is made up of a stamp (date and time stamp, transaction number and IP number) and a series of operations.
  • the transaction timestamp is made up of the transaction timestamp concatenated to the transaction rank number in the transaction.
  • the list of local transactions is ordered in order of timestamp of transactions.
  • the list of local transactions is also used to respond to requests (request for transactions for synchronization) from other platforms.
  • the queue of transactions to be executed pending processing, the transactions are stored in a queue and are arranged in the order of their stamps. Transactions are placed in the queue only if they have not already been received. It is the oldest transaction which is in the lead, and is withdrawn first (and therefore executed if conditions allow).
  • the consultation log when the operation is a consultation, the information attached to this consultation is kept in order to warn the user or the application if a modification (update) of another platform occurs on this record, and in order to be able to offer him the service of updating the data he (user or application) consults.
  • locks and unlocks are managed, and lock conflicts are resolved by stamping the lock with warning of the rejection of one of the locks.
  • the consultation log is persistent in memory so that during a warm start, it can unlock all the records that were locked by this site before the failure.
  • Table 1100 called “Record Fields Timestamps Table” keeps for each field of each record, the stamp of the last operation having modified it. This table is used to refine the detection of conflicts related to the competition (two records can be modified in different places without generating a conflict) and to resolve the conflict automatically as explained in the operation of the control module. 1070 competition and duplication. This table is only operational when a link with other sites is broken.
  • Table 1090 called EDOPS for "Stamp of the Last Operation By Site” for the database or, in English TLOBS for "Timestamp of the last operation by site for a given database”: each platform manages for each database a table containing the stamp of the last operation carried out on this basis.
  • a switched telephone network (analog and / or digital) materialized by two icons 1500 and 1501 for the sake of clarity of the drawing, an Internet network 1502, two internal telephone networks 1503 and 1504, three local networks TCP / IP 1505, 1506 and 1542, and a private IP network 1507.
  • the telephone network 1500 and 1501 routes communications from landline phones 1510, fax machines 1511 and mobile phones 1512.
  • the Internet network 1502 routes type communications Chat 1513, e-mails 1514, voice messages 1515, allows the implementation of co-navigation 1516 and image transfers 1517 such as for example videoconferencing, and routes voice-over-IP communications 1518.
  • a PABX 1520 is connected to the telephone network 1500, to the internal telephone network 1503, to the local TCP / IP network 1505 and to the Computer Telephony Coupling server 1523 by voice links 1527 which can be of analog type. and / or digital.
  • the telephone sets 1522 are connected to the internal telephone network 1503.
  • the Computer Telephony Coupling servers 1523 and 1524 are connected to the local TCP / IP network 1505.
  • the local TCP / IP network 1505 is connected to the private IP network 1507.
  • the CTI link 1521 is a logical link allowing the Computer Telephony Coupling servers 1523 and 1524 to manage all of the resources: the PABX 1520, the computer terminals 1525 and telephone sets 1522 logically associated, the multimedia computer terminals 1526 with telephone functions, and all other resources of the same type accessible through the private IP network 1507.
  • the telephone network 1501 (which routes the same types of communications as the telephone network 1500 but which are not all shown for the sake of clarity of the drawing) is connected to the PCBX / IP server 1531 itself connected to the local TCP / IP network 1506
  • the PCBX / IP servers 1530, 1531 and 1532 are linked to the local TCP / IP network 1506 itself linked to the private IP network 1507 as well as to computer terminals 1534 without telephone functions and to multimedia computer terminals 1535 with functions telephone.
  • the PCBX / IP servers 1530 and 1531 are connected to the internal telephone network 1504, itself connected to telephone sets 1536 close to the computer terminals 1534 with which they are logically associated.
  • the private IP network 1507 is connected to isolated multimedia computer terminals 1540 with telephone functions, and to the local TCP / IP network 1542, itself connected to multimedia computer terminals 1541 with telephone functions, located at a remote site.
  • the Internet network 1502 is connected to the local TCP / IP network 1505 as well as to the local TCP / IP network 1506. It can be seen that the computer terminals, apart from the isolated terminals 1540, are thus distributed between three sites interconnected through the private IP network 1507, site A corresponding to the local TCP / IP network 1505, site B corresponding to the local TCP / IP network 1506 and site C corresponding to the local TCP / IP network 1542.
  • the system 1550 comprising the PABX 1520 and the servers
  • the virtual multimedia contact center system produced by the present invention is the virtual multimedia contact center system produced by the present invention, and that the assembly 1551 made up of the various computer terminals and telephone sets is the virtual group of work positions and skills managed by the virtual system 1550 produced in accordance with the present invention.
  • the implementation of the present invention provides natively in PCBX architecture (site B): the functionalities of multimedia CTI and Mediaconvergence, the deployment of cooperative multi-sites (several dozen interconnected sites), - the overall high availability (telephony AND IT ), the dynamically evolving reception capacity: from a few agents to several thousand agents concentrated on 1 site or distributed over several sites, and intelligent management of all media (concept of universal queuing).
  • the implementation of the present invention obeys the following two rules: the functional scope of the telephony services offered by the present invention results from a strict implementation of defined services in CSTA; the operation of the PABX services is systematically implemented with "JTAPI visibility". Thus, the implementation and operation are truly independent from the
  • PABX which can be replaced anywhere other PABX offering a CTI link compliant with CSTA.
  • ACD is designed to:
  • the implementation of the present invention natively integrates the functions of media server: Vocal (with integration of synthesis and voice recognition technologies), Internet, E-mail , Chat, Fax, video, videoconference, ...
  • HMI human-machine interfaces
  • tools and applications are produced in HTML language (for HyperText Markup Language).
  • HTML language for HyperText Markup Language
  • the agent stations 1525, 1526, 1534, 1535, 1540 and 1541 do not require the installation of any specific client software to be operational, except for an Internet browser.
  • the PC type computer is no longer essential since with this approach, any "intelligent terminal" supporting an Internet browser is now perfectly suitable (PC, Macintosh, Network Computer, ).
  • adding a new agent position becomes a simple and quick operation, resulting in the updating of a correspondence table.
  • IP address / telephone line number or simply DNS (Domain Name Server) in the case of an “all IP” architecture.
  • FIGS. 1 to 14 For the description of FIGS. 1 to 14 for the technical characteristics of the elements illustrated in FIG. 15, for the implementation of the present invention, in its embodiment illustrated in FIG. 15. In addition, there is described below several operating characteristics:
  • an internet browser 5 is launched. Then, during a step 1602, it is determined whether this is the first connection of the agent station to the virtual call center. If yes, during a step 1603, the agent using the agent station specifies the address of a virtual call center server and a JAVA applet (in French) is downloaded from this address and a shortcut created in the “favorites” of the browser. If the result of the test 1602 is negative, during a step 1604, the agent selects, from the favorites, the address which is there.
  • the agent station searches for a server implementing the present invention (cooperative server, distributed and cooperative multimedia ACD, replication and synchronization in real time databases, ...), preferably local to the agent's site, and accepting the connection (according to the load distribution guidelines). 5 Then, during a step 1606, the agent station makes the connection to the server found during step 1605. Then, during a step 1607, it is determined whether it is a automatic reconnection. If so, during a step 1608, the agent's “session” is restored. If the agent had a call in progress, it is marked as priority to receive the call if the person concerned by this call comes to call back.
  • a server implementing the present invention cooperative server, distributed and cooperative multimedia ACD, replication and synchronization in real time databases, 10.1.
  • each database includes a memory adapted to keep a trace of each call on each server, trace comprising an identifier of the agent station having served said call.
  • said trace of each call includes an identifier of the caller.
  • each server is adapted, when an agent station connects to it, to call back the caller with which the agent station was in communication.
  • each server is adapted to connect a call to the agent station with which a call trace indicates that the caller has already been connected, if said agent station is available.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

La présente invention vise un dispositif de communication multimédia comportant au moins deux serveurs (501-532, 601-632) reliés entre eux, chaque serveur étant relié à au moins un poste agent (160, 190) et au moins un serveur étant relié à un réseau de télécommunication (130), chaque poste agent étant muni d'une interface de navigateur Internet, chaque serveur: comportant un module de distribution automatique des appels vers ou depuis chaque poste agent auquel il est relié, comportant un module de distribution automatique des appels vers ou depuis chaque autre serveur auquel il est relié, conservant une base de données comportant une table d'état représentative de l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent, chaque serveur étant adapté à mettre à jour chaque table d'état en fonction de l'activité de chaque poste agent relié ou non audit serveur, de telle manière que toutes les tables d'état soient alignées en temps réel, et communicant avec chaque autre serveur conformément au protocole Internet Protocol, en particulier pour véhiculer la voix, et chaque poste agent communiquant avec le serveur auquel il est relié conformément au protocole Internet Protocol, en particulier pour véhiculer la voix.

Description

PROCEDE ET DISPOSITIF DE GESTION DE COMMUNICATIONS MULTIMEDIA
La présente invention concerne un procédé et un dispositif de gestion de communications multimédias. Elle s'applique en particulier à un centre d'appels virtuel multimédia, en particulier pour la gestion de communications téléphoniques et de transferts de données.
Il existe des centres d'appels informatisés. Cependant, aucun d'entre eux ne possède de caractère effectivement virtuel, c'est-à-dire applicable à un ensemble de systèmes informatiques répartis sur plusieurs sites distants. Ainsi, la société Dialogic (marque déposée) distribue des kits de cartes électroniques enfichables dans des ordinateurs personnels, reliées entre elles par un bus réseau interne propriétaire. Ces kits permettent de mettre en place des centres d'appels multi-machines mais sur un seul site, la longueur maximal du bus étant limitée à une quinzaine de mètres.
Les architectures actuellement mises en oeuvre sont toutes organisées autour de la fonction de téléphonie, et, matériellement, par l'autocommutateur téléphonique privé d'entreprise (connu sous le nom de PABX pour "Private Automatic Branch eXchange"). En outre, toutes les données sont gérées par une base de données centralisée. En conséquence, ces architectures présentent de nombreux inconvénients : les coûts d'acquisition et de mise en oeuvre sont très élevés, les coûts d'exploitation, basés sur le transfert d'appels téléphoniques, sont aussi très élevés, ces architectures manquent de souplesse et d'ouverture car tous les autocommutateurs doivent provenir du même constructeur ; les fonctionnalités et applications ne peuvent évoluer au rythme des progrès de l'informatique parce qu'elles doivent être supportées par les autocommutateurs, - les appels téléphoniques sur Internet ne sont pas systématiquement pris en compte,
- toute la sécurité de l'ensemble des sites du centre d'appels dépend de celle de l'autocommutateur et du système centralisé de gestion des données ; si plusieurs serveurs CTI (dispositifs de Couplage Téléphonie et informatique ou, en anglais "Computer Telephony Intégration") peuvent être connectés à l'autocommutateur, ils ne coopèrent pas mais sont simplement juxtaposés et gèrent chacun un ensemble prédéterminé de ressources téléphoniques et de postes agents. Dans une solution sans autocommutateur, la commutation des appels est effectuée par un dispositif à base d'un serveur de type PC (personal computer pour ordinateur personnel) équipé de cartes de communication et de logiciels offrant des fonctionnalités de commutation. Ce dispositif est appelé PCBX, concaténation des acronymes PC et PABX. Dans une telle solution, un dispositif de CTI gère les appels, entrants ou sortants. Cette solution présente une fiabilité, une sécurité et une évolutivité limitées, ne permet pas de réalisations multi-sites coopératifs et ne fait que juxtaposer des médias. On connaît le document GB 2342 529 qui présente un centre d'appels comportant plusieurs groupes de travail, chacun avec un contrôleur de route qui détermine le poste de travail le plus adapté à recevoir un appel entrant dans ce groupe de travail. Chaque contrôleur de route conserve une table de routage et les différents contrôleurs de route échangent leurs tables de routage pour que chaque groupe de travail soit à même de déterminer le groupe de travail le plus adapté à gérer un appel entrant.
Ce système n'offre qu'une tolérance partielle aux pannes et présente de nombreux inconvénients :
- il est fondé sur une redondance simple de groupes de travail disjoints, fédérés par l'échange des tables de routage entre les différents contrôleurs de route constitutifs du centre d'appels et par un aiguillage amont des appels entrants. L'aiguillage amont des appels entrants est réalisé par des services particuliers du réseau de l'opérateur que sont SSP (Service Switching point) et WebSCP (Web Service Control Point) et dont la mise en œuvre nécessite une interconnexion du centre d'appels avec le réseau téléphonique traditionnel d'une part, et avec un réseau IP d'autre part (Internet, Intranet ou tout autre réseau basé sur le protocole IP). Les services réseau opérateur particuliers SSP et WebSCP sont indispensables à la mise en œuvre de l'aiguillage amont particulier des appels entrants que nécessite le système, et cet aiguillage est lui-même indispensable au bon fonctionnement du système, ce qui spécialise le contexte de mise en œuvre du système et interdit par exemple sa mise en œuvre en interconnectant le centre d'appels avec le réseau téléphonique traditionnel uniquement (accès analogiques et/ou numériques) ; et
- l'aiguillage d'un appel vers un groupe de travail est tout d'abord effectué en amont au niveau du réseau de l'opérateur, puis, le contrôleur de route du groupe de travail consulté recherche le couple "groupe de travail / poste de travail" le plus adapté pour traiter l'appel dans les tables de routage dont il dispose à l'instant où se présente la demande de prise en compte d'un appel, si bien qu'en cas de nécessité de solliciter un autre groupe de travail, le contrôleur de route local procède dans les faits à une demande de transfert aveugle, c'est à dire sans aucune garantie d'aboutissement, puisque du fait même de la non coopération avec les autres contrôleurs de route et du temps de propagation des mises à jour des différentes tables de routage, il n'est pas à même d'une part, de réquisitionner la ressource (poste de travail) distante qu'il a sélectionnée pour traiter l'appel afin d'en assurer le traitement, et d'autre part, de s'assurer que dans le même temps où il sélectionne la ressource distante destinée à traiter l'appel, cette dernière ne soit pas affectée par son contrôleur de route local au traitement d'un autre appel, ce qui interdit au système la faculté de se prémunir contre certains cas de collisions voire de verrous mortels et limite grandement son efficacité réelle.
La présente invention entend remédier aux inconvénients exposés ci-dessus. La présente invention vise, en particulier, une méthode de constitution d'un centre d'appels multimédia, multi-sites coopératifs, sécurisé, hautement disponible, ouvert, indépendant de tout système d'exploitation, doté d'une forte capacité d'accueil et fonctionnant indifféremment avec ou sans PABX.
Selon un premier aspect, la présente invention vise un dispositif de communication multimédia comportant au moins deux serveurs reliés entre eux, chaque serveur étant relié à au moins un poste agent et au moins un serveur étant relié à un réseau de télécommunication, chaque poste agent étant muni d'une interface de navigateur Internet, caractérisé en ce que chaque serveur : comporte un module de distribution automatique des appels vers ou depuis chaque poste agent auquel il est relié, - comporte un module de distribution automatique des appels vers ou depuis chaque autre serveur auquel il est relié, conserve une base de données comportant une table d'état représentative de l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent, chaque serveur étant adapté à mettre à jour chaque table d'état en fonction de l'activité de chaque poste agent relié ou non audit serveur, de telle manière que toutes les tables d'état soient alignées en temps réel, et communique avec chaque autre serveur conformément au protocole IP (Internet
Protocol), en particulier pour véhiculer la voix, et en ce que chaque poste agent communique avec le serveur auquel il est relié conformément au protocole IP (Internet Protocol), en particulier pour véhiculer la voix.
Selon un deuxième aspect, la présente invention vise un procédé de communication multimédia sur un réseau comportant au moins deux serveurs reliés entre eux, chaque serveur conservant une base de données étant relié à au moins un poste agent et au moins un serveur étant relié à un réseau de télécommunication, chaque poste agent étant muni d'une interface de navigateur Internet, caractérisé en ce que ledit procédé comporte, pour chaque serveur : une opération de distribution automatique des appels vers ou depuis chaque poste agent auquel il est relié, une opération de distribution automatique des appels vers ou depuis chaque autre serveur auquel il est relié, une opération de mise à jour d'une table d'état d'une base de données, ladite table d'état étant représentative de l'activité de chaque poste agent relié à un serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent, de telle manière que toutes les tables d'état soient alignées en temps réel, - une opération de communication avec chaque autre serveur conformément au protocole
IP (Internet Protocol), en particulier pour véhiculer la voix, et en ce que ledit procédé comporte, pour chaque poste agent, une opération de communication avec le serveur auquel il est relié conformément au protocole IP (Internet Protocol), en particulier pour véhiculer la voix. Selon un troisième aspect, la présente invention vise un procédé de gestion de communication multimédia caractérisé en ce qu'il comporte une opération de distribution automatique d'appels entre au moins deux serveurs reliés entre eux, chaque serveur étant relié à au moins un poste agent et comportant une base de données représentative d'attributs de chaque poste agent relié à un serveur et une table d'état représentative de l'activité de chaque poste agent relié à un serveur et de rupture de connexion entre deux serveurs ou entre un serveur et un poste agent, et en ce que chaque serveur effectue une opération de mise à jour d'une base de données représentative d'attributs de chaque poste agent relié à un serveur, de telle manière que toutes les bases de données soient alignées, et une opération de mise à jour de chaque table d'état, de telle manière que toutes les tables d'état soient alignées en temps réel.
Ce dispositif et ces procédés présentent, en particulier, les avantages suivants : le client peut utiliser tout média à sa convenance pour communiquer avec le centre d'appels, - l'opérateur du centre d'appels peut distribuer son centre d'appels, la gestion du centre d'appels et les téléopérateurs sur plusieurs sites, éventuellement dans différents pays, sans avoir à tenir compte, en amont, de contrainte de compétence ou de localisation, tout en pouvant gérer en temps réel les différences de langue, de fuseaux horaire ou de compétences, - l'opérateur fait évoluer la capacité de traitement et d'accueil du centre d'appels en ajoutant des postes et/ou des serveurs, sans avoir de limitation jusqu'à 128 serveurs et jusqu'à plusieurs milliers de postes agent, l'opérateur bénéficie d'une haute disponibilité, l'opérateur bénéficie d'une tolérance de panne liée à la nature distribuée des fonctions de gestion d'appels, le fonctionnement du système est totalement indépendant de la présence d'un autocommutateur et des systèmes d'exploitation des postes ou des serveurs, l'opérateur du centre d'appels bénéficie de l'évolution rapide et constante des applications informatiques, des ordinateurs et des moyens et services Internet, - la formation des agents est simplifiée et allégée car ils utilisent une interface bien connue du grand public, le navigateur Internet, les serveurs coopèrent entre eux pour que chaque serveur puisse gérer l'ensemble des postes agent en cas de besoin, chaque module de distribution automatique des appels de chaque serveur est adapté à distribuer les appels vers ou depuis chaque autre serveur auquel il est relié, ce qui rend le système très tolérant aux pannes et très souple d'utilisation, puisque chaque serveur peut gérer individuellement l'ensemble des postes agent du système et non seulement ceux qui lui sont directement reliés, chaque serveur conserve une base de données comportant une table d'état représentative de l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent, chaque serveur étant adapté à mettre à jour chaque table d'état en fonction de l'activité de chaque poste agent relié ou non audit serveur, si bien que le système est nullement centralisé et peut fonctionner avec tous ses postes agents dès lors que l'un des serveurs n'est pas en panne, et l'utilisation d'attributs affectés à des postes agent permet de gérer intelligemment chaque paramètre des ressources de ce poste agent. Selon un quatrième aspect, la présente invention vise un dispositif de communication multimédia comportant au moins deux serveurs reliés entre eux, chaque serveur étant relié à au moins un poste agent et au moins un serveur étant relié à un réseau de télécommunication, caractérisé en ce que chaque serveur : comporte un module de distribution automatique des appels vers ou depuis chaque poste agent auquel il est relié, comporte un module de distribution automatique des appels vers ou depuis chaque autre serveur auquel il est relié, comporte un module de distribution à chaque autre serveur d'une trace de chaque appel lui parvenant, ladite trace comportant un identifiant du poste agent ayant servi l'appel et un identifiant de l'appelant, et conserve une base de données comportant une trace de chaque appel sur chaque serveur ; chaque poste agent étant adapté, en cas de rupture de connexion avec un desdits serveurs, à se connecter à un autre desdits serveurs. Grâce à ces dispositions, en cas de panne d'un serveur, les postes qui y sont liés cherchent automatiquement à se connecter à un autre serveur, le nouveau serveur auquel ils se relient sachant quel poste correspond au traitement de chaque appel récent, donc une panne d'un serveur n'empêche pas la poursuite voire la continuité (par rappel téléphonique) de la discussion entre le poste agent et l'appelant. Selon des caractéristiques particulières, chaque serveur conserve une base de données représentative d'attributs de chaque poste agent relié à un serveur, chaque serveur étant adapté à mettre à jour ladite base de données en fonction de l'évolution de chaque attribut de poste agent relié à un serveur, de telle manière que toutes les bases de données soient alignées.
On observe que les attributs peuvent, par exemple, concerner des compétences, par exemple professionnelles, des langues de communication, des heures de disponibilité, des logiciels et données disponibles sur le poste agent ou accessibles au poste agent, des coûts de communication ou de traitement de l'appel ... Selon des caractéristiques particulières, chaque serveur effectue une opération de partage dynamique des ressources (postes agents disponibles pour une communication) entre serveurs, en fonction de sa propre activité et de l'activité des autres serveurs.
Selon des caractéristiques particulières, la distribution automatique des appels est effectuée en fonction de la charge ou de la disponibilité des postes-agents et/ou des serveurs, d'attributs de compétence affectés à chaque poste agent ou à chaque serveur, des coûts de transmission d'information liés à chaque chemin possible pour les appels, des coûts de traitement estimé de l'appel, de la qualité de service et/ou de ressources accessibles au poste agent. Selon des caractéristiques particulières, en cas de rupture de connexion entre un serveur et un poste agent, ledit poste agent se connecte automatiquement à un autre serveur et retrouve son contexte courant à l'instant où s'est produite la rupture de connexion avec le serveur défaillant.
Selon des caractéristiques particulières, chaque base de données comporte, en outre, une mémoire adaptée à conserver une trace de chaque appel sur chaque serveur, trace comportant un identifiant du poste agent ayant servi ledit appel.
Selon des caractéristiques particulières, ladite trace de chaque appel comporte un identifiant de l'appelant.
Grâce à chacune de ces dispositions, en cas de panne d'un serveur, les postes qui y sont liés peuvent automatiquement chercher à se connecter à un autre serveur, le nouveau serveur auquel ils se relient sachant quel poste correspond à un appel récent donc une panne d'un serveur n'empêche pas la continuité (par rappel téléphonique) de la discussion entre poste et appelant. En effet, les données d'appel sont répliquées sur tous les serveurs, en temps réel, jusqu'à la panne. Selon des caractéristiques particulières, chaque serveur est adapté à connecter un appel au poste agent avec lequel une trace d'appel indique que l'appelant a déjà été connecté, si ledit poste agent est disponible.
Selon des caractéristiques particulières, chaque serveur est adapté, lorsqu'un poste agent s'y connecte, à rappeler l'appelant avec lequel le poste agent était en communication. Grâce aux dispositions succinctement exposées ci-dessus, la présente invention permet la mise en oeuvre d'une architecture distribuée dynamique et coopérative, native pouvant être implantée sur plusieurs sites.
D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite dans un but explicatif et nullement limitatif en regard des dessins annexés dans lesquels : la figure 1 représente une architecture de centre d'appels multimédia connue de l'art antérieur ; la figure 2 représente un exemple d'architecture de centre d'appels conforme à la présente invention ; - la figure 3 représente un exemple d'architecture de centre d'appels conforme à la présente invention ; la figure 4 représente un exemple de centre d'appels multimédia sécurisé, mono-site, avec autocommutateur PABX, conforme à la présente invention ; - la figure 5 représente un exemple de centre d'appels multimédia sécurisé, mono-site, avec un PCBX, conforme à la présente invention ; la figure 6 représente un exemple de centre d'appels multimédia sécurisé, multi-sites, avec un PCBX et un seul point d'entrée de réseau téléphonique, conforme à la présente invention ; - la figure 7 représente un exemple de centre d'appels virtuel multimédia sécurisé, multi- sites mixtes (avec autocommutateur PABX et PCBX), avec un point d'entrée de réseau téléphonique sur chaque site, conforme à la présente invention ; la figure 8 représente des exemple de modules logiciels mis en oeuvre dans un exemple de centre d'appels conforme à la présente invention ; - la figure 9 représente les opérations mises en oeuvre par les modules logiciels illustrés en figure 8, au cours du traitement d'un appel, conformément à la présente invention ; les figures 10 à 14 représentent un exemple de réalisation de modules logiciels de chaque serveur d'un exemple de centre d'appels, conforme à la présente invention ; la figure 15 représente un autre mode de réalisation de la présente invention ; et - la figure 16 représente un organigramme partiel de fonctionnement d'un poste agent.
Avant de décrire les figures, on rappelle ici les fondements de la présente invention. L'objet de la présente invention assure une haute disponibilité et une continuité de fonctionnement globale (téléphonie et informatique) du centre d'appels : la solution objet de la présente invention est constituée d'un ensemble de serveurs autonomes et coopératifs si bien que le dysfonctionnement ou l'arrêt d'un serveur ne provoque plus l'interruption de l'activité du centre d'appels.
L'objet de la présente invention permet un déploiement multi-sites coopératifs, centre d'appels virtuel qui peut se déployer sur plusieurs sites hétérogènes qui collaboreront comme étant un centre d'appels unique en installant sur les matériels standards requis une solution logicielle implementant la présente invention. La mise en oeuvre de la présente invention offre une capacité d'accueil très élevée : l'évolution de la capacité d'accueil se résume à un simple ajout de plate(s)-forme(s) implementant la présente invention. Il est à noter que l'ajout se réalise dynamiquement sans même interrompre la production et ce, qu'il s'agisse d'un ajout de plateforme^) supplémentaire^) sur le même site ou sur un site distant. Par opposition à un système traditionnel mono-machine (mono-site), le concept à la base de la présente invention concerne une architecture informatique multi-machines coopératives (architecture informatique distribuée sur plusieurs machines et/ou sites) totalement ouverte, indépendante de tout système d'exploitation, de tout matériel (ordinateurs, dispositifs de communication, dispositifs de téléphonie, ...) ou encore de tout logiciel tiers (systèmes de gestion de bases de données, ...) et permettant le support de différentes fonctionnalités de téléphonie, informatique et multimédia évoluées : médiaconvergence, téléphonie, couplage téléphonie-informatique (CTI), routage multimédia orienté compétences, ... , l'ensemble étant supervisé simultanément depuis une ou plusieurs machines (ou sites). Un centre d'appels virtuel multimédia conforme à la présente invention est constitué de plusieurs sites coopératifs mettant en commun leurs ressources. Il s'agit, généralement, de téléopérateurs, et par voie de conséquence des ressources téléphoniques et informatiques qui supportent, entre autres, les services de médias et de prise de décision. Les sites sont interconnectés via des liens IP permettant le transport de la voix (communications reroutées) et , des données nécessaires à la bonne marche du centre d'appels virtuel multimédia ainsi constitué.
Les principaux avantages d'un centre d'appels virtuel conforme à la présente invention sont d'une part, le fonctionnement en partage dynamique de la charge et des ressources, et d'autre part, la tolérance aux différents cas de panne logicielle et/ou matérielle avec un minimum de conséquences.
La présente invention permet ainsi la répartition dynamique d'appels entrants et sortants sur plusieurs sites distants en fonction de critères tels que :
- la charge ou disponibilité de chaque site ;
- la compétence particulière de chaque conseiller ; - le moindre coût d'appel ;
- les logiciels disponibles sur chaque poste agent ;
- les logiciels accessibles à chaque poste agent ;
- les données disponibles sur chaque poste agent ;
- les données accessibles à chaque poste agent ; - le moindre coût de traitement de l'appel (accès à une base de données, vitesse de travail de l'opérateur, coût horaire de l'opérateur) ;
- la meilleure qualité de service (lenteur d'accès à des bases de données distantes, qualité de télécommunication, ...) ;
- les heures de disponibilité de chaque poste agent ... et par conséquent d'exploiter au mieux les ressources d'un ensemble de centres d'appels fédérés au sein d'une seule et même entité et ce, sans devoir recourir à une centralisation (humaine, téléphonique et/ou informatique) qui limiterait fortement et par construction, le niveau de disponibilité et la tolérance aux pannes et aux interruptions de service du centre d'appels virtuel ainsi constitué. - La solution offerte par la présente invention est avantageusement fondée sur des composants matériels et logiciels strictement standards et elle est en outre entièrement basée sur l'informatique, le logiciel et les communications en protocole Internet (IP).
Fonctionnellement, les principaux avantages résultant de la mise en oeuvre du meilleur mode de réalisation de la présente invention sont : • fonctionnement coopératif en architecture hétérogène distribuée (partage dynamique de la charge et des ressources) ;
• continuité de fonctionnement pouvant être assurée ;
• capacité d'accueil très importante, évolutive dynamiquement (sans même interrompre la production) ;
• couplage intelligent de la téléphonie, de l'informatique (CTI) et du multimédia ;
• gestion intelligente de l'ensemble des médias et messagerie unifiée ;
• solutions techniques totalement fédérées par les technologies et standards de l'Internet ;
• indépendance vis à vis des systèmes d'exploitation, des logiciels tiers et des matériels ; • fonctionnement indifférent avec ou sans autocommutateur téléphonique (pour le CTI).
Côté usager de centre d'appels, la mise en oeuvre de la présente invention permet d'affranchir ce dernier des limites d'espace, de média et de temps. Côté centre de contacts, la présente invention gère des téléopérateurs qui ne sont plus attachés ni à une position géographique spécifique ni à une fonction précise, permettant au centre de contacts d'envisager aisément un déploiement sur un ou plusieurs sites coopératifs, de prendre en compte un ou plusieurs fuseaux horaires ou langues, et lui offre par construction des possibilités d'évolution en matière de capacité et de puissance, mais surtout des garanties en matière de haute disponibilité, et ce, à moindre coût et en architecture mono ou multi-site(s), avec ou sans autocommutateur téléphonique (PABX). La mise en oeuvre de certains modes de réalisation de la présente invention assure : l'indépendance vis à vis des plates-formes matérielles (serveurs et postes agents) : côté serveur CTI, la plate-forme peut être indifféremment de type PC ou Mini ; côté poste agent l'ordinateur de type PC n'est plus incontournable puisque, avec l'implémentation de la présente invention, n'importe quel « terminal intelligent » supportant un navigateur Internet convient désormais parfaitement (PC, Macintosh,
Network Computer, ...). Qu'il s'agisse des serveurs CTI ou des postes agents, cette indépendance est fondamentale pour garantir à toute solution basée sur la présente invention la possibilité de bénéficier automatiquement de l'augmentation régulière de la puissance des machines ainsi que de la baisse des prix. - l'indépendance vis à vis des systèmes d'exploitation : par définition, une application est indépendante du système d'exploitation si elle ne fait appel à aucune ressource inhabituelle dont on ne puisse pas garantir qu'elle ait une contrepartie dans d'autres systèmes d'exploitation. Ainsi, l'« indépendance » annoncée pour bon nombre de solutions actuelles, résulte dans les faits de portages successifs qui posent des problèmes d'efficacité, de maintien et d'évolution homogène des produits ainsi obtenus.
Contrairement à cette catégorie de produits, le caractère « indépendant » d'une implémentation de la présente invention résulte, d'une part, d'une conception et d'une implémentation « OS indépendantes » du noyau de la plate-forme, notamment à travers l'implantation de mécanismes de communication-synchronisation inter-tâches indépendants du système d'exploitation ; et d'autre part de l'utilisation intensive du langage JAVA dont le slogan est « Write once, run anywhere » (pour "écrit une fois, fonctionne partout"). Cette indépendance vis à vis du système d'exploitation est native c'est à dire qu'elle ne requiert aucun produit intermédiaire de portage, garantissant ainsi la stabilité et le niveau de performances dans les différents environnements, l'indépendance vis à vis des autocommutateurs PABX : exploitation optimale de CSTA (pour Computer Supported Télécommunication Applications ou applications de télécommunication supportées par ordinateur) permettant d'obtenir une richesse fonctionnelle maximale indépendamment du PABX utilisé. l'indépendance vis à vis des constructeurs des cartes de communication qui sont à la base des architectures PCBX : l'implémentation de la présente invention peut s'affranchir du constructeur soit en exploitant, si elles existent et sont conformes à la norme JTAPI (Java Telephony API), les APIs (Application Programming Interfaces ou interfaces programmatiques d'applications) fournies avec les cartes, soit le cas échéant, en s'appuyant sur une couche JAVA intermédiaire de bas niveau, émulant strictement JTAPI et masquant les APIs propriétaires du constructeur, l'indépendance vis à vis de la présence ou non d'un PABX au sein de l'architecture : là encore, et particulièrement grâce à l'utilisation de normes telles que CSTA et JTAPI, des modes de réalisation de la présente invention s'affranchissent de la présence ou non d'un PABX au sein de l'architecture, en s'appuyant sur une couche JAVA intermédiaire de bas niveau, émulant strictement JTAPI et masquant l'interaction avec un PABX via CSTA, ou la mise en œuvre de cartes de communication. Ainsi, qu'il s'agisse d'exploiter des cartes de communication ou d'interagir avec un PABX, l'ensemble des couches hautes de ces modes de réalisation s'adressent invariablement aux couches de communication avec une seule et même « visibilité » : JTAPI. Le noyau de modes de réalisation préférentiels de la présente invention fonctionne en architecture multi-machines dynamique (mono ou multi-site(s)), sans s'appuyer sur les services d'un OS temps réel réparti ni d'un moteur base de données répartie. Cette approche originale leur confère la capacité d'absorber et de s'adapter aux modifications de configuration voulues ou accidentelles, en temps réel et sans arrêt de l'exploitation (ajout ou retrait de machine(s) sur le réseau local ou virtuel; rupture d'un lien ou dysfonctionnement d'une plate-forme, nécessitant une reconfiguration dynamique du groupe actif; ...). Chaque machine peut fonctionner de façon autonome ou faire partie d'un groupe de machines coopérantes constituant le centre de contacts virtuel multimédia mono/multi-site(s). L'ensemble des machines coopérantes constitue un seul et même système virtuel homogène et cohérent dont la puissance et la capacité résultent directement de la « somme » des capacité et puissance de chaque machine appartenant au groupe défini. Conformément à certains aspects de la présente invention, chaque serveur procède à un « alignement temps réel » des données dupliquées et exploitées par l'ensemble des serveurs et postes agents constitutifs de l'architecture du centre d'appels.
Les mécanismes de réplication et de synchronisation des données sont préférentiellement sécurisés (check point, rollback, ...), afin de garantir l'intégrité des données, et s'appuyent sur des technologies de bases de données standards du marché (par exemple de marques déposées MySql, SQL-Server, Oracle, ou Access...).
Dans la description qui va suivre, le terme "relié" désigne tout type de liens, aussi bien physiques que logiques. Les liens peuvent être, par exemple, sur un réseau local, Intranet ou Internet, ou sur un réseau téléphonique, éventuellement sans fil.
En figure 1 sont représentés, dans une architecture de centre d'appels multimédia, un autocommutateur privé d'entreprise (PABX) 100, relié, par un lien de couplage téléphonie et informatique (CTI) 110 à un serveur de couplage téléphonie et informatique CT1 120, d'une part, par l'intermédiaire d'un réseau téléphonique 130, à des téléphones 140, d'autre part, et, par l'intermédiaire d'un réseau téléphonique interne 150, à des téléphones d'entreprise 160 et à un serveur vocal interactif (SVI) 170, encore d'autre part. Le serveur CT1 120 est, par ailleurs relié, par l'intermédiaire d'un réseau local 180, à des postes de travail ou poste agent 190 et à des serveurs informatiques 191 à 198.
L'autocommutateur PABX 100 est de type connu. Il reçoit et envoie les appels sur le réseau téléphonique 130, qui peut être, par exemple, le réseau téléphonique commuté (RTC) ou un réseau numérique à intégration de services (RNIS). La fonction principale de l'autocommutateur PABX 100 est l'aiguillage des appels entrants vers les postes téléphoniques d'entreprise 160. La procédure d'aiguillage est automatique, grâce à une fonction de sélection directe à l'arrivée (SDA). L'autocommutateur PABX 100 assure également la circulation interne des appels dans l'entreprise.
Le serveur CT1 120 qui est relié à l'autocommutateur PABX peut comporter un logiciel de distribution automatique d'appels (DAA ou ACD) 122. Le logiciel ACD est intégré à l'autocommutateur PABX si le serveur CTI ne dispose pas d'ACD. Le rôle principal du distributeur automatique d'appels 122 est le routage et l'optimisation des files d'attente des appels entrants, particulièrement dans le cas où l'ensemble ou certains des postes téléphoniques d'entreprise 160 seraient occupés. Dans le contexte des centres d'appels évolués (dotés de CTI), le distributeur automatique d'appels 122 tient compte de stratégies plus ou moins sophistiquées de distribution d'appels (distribution automatique par groupes de compétence, performance des téléopérateurs actifs, groupes de débordement, dissuasion, ...). Le serveur vocal interactif SV1 170 est principalement utilisé en secours, lorsque le nombre d'appels est supérieur à la capacité de traitement du centre d'appels, en particulier pendant les heures de fermeture. Les appels sont routés par l'ACD 122 vers le serveur SV1 170 qui engage un dialogue avec l'appelant. Le serveur SV1 170 possède quatre fonctions principales : l'accueil automatique (ou standard automatique), la diffusion d'informations, la messagerie vocale et la transaction (par exemple la qualification de la demande de l'appelant). Par exemple, le serveur SVI 170 est un ordinateur de type PC équipé d'un logiciel serveur vocal et d'une ou plusieurs cartes vocales reliées à l'autocommutateur PABX 100 par des lignes téléphoniques. Le lien CTI 110 met en oeuvre un protocole de communication qui permet de connecter l'autocommutateur PABX 100 et le serveur CT1 120. Le serveur CTI 120 permet de connecter l'autocommutateur PABX 100 et le système informatique de l'entreprise (serveurs 191 à 198). Le serveur CTI 120 établit aussi le lien logique entre un poste agent ou poste de travail 190 et le téléphone d'entreprise 160 correspondant, le lien logique correspondant à une proximité physique de l'écran du poste agent et du combiné téléphonique. Dans l'état de l'art, le lien CTI répond au protocole standard CSTA. Le lien CT1 110 permet au serveur CTI 120 d'agir sur l'autocommutateur PABX 100 pour contrôler les appels, en particulier pour établir une connexion, déconnexion, renvoi d'appel, mise en conférence, surveiller les téléphones d'entreprise 160 et les autres périphériques connectés à l'autocommutateur 100, et router les appels.
Le serveur CT1 120 communique en mode client-serveur et de façon bidirectionnelle avec l'autocommutateur PABX 100, par l'intermédiaire du lien CTI 110. Le serveur CTI 120 pilote les fonctions de contrôle des appels, telles que le décrochage d'une ligne, la composition d'un numéro, le transfert et le renvoi d'appels, la conférence ou la gestion de la sonnerie d'un téléphone d'entreprise 160. Le serveur CT1 120 récupère des informations de prise de ligne par l'agent appelé, le numéro de l'appelant ou la durée d'une communication. Le serveur CTI 120 interagit aussi avec les fonctions de l'autocommutateur PABX 100, telles que l'annuaire, afin de les enrichir et de les exploiter. Enfin, le serveur CT1 120 est une plaque tournante vers différents médias, tels que le web, le minitel, le serveur SV1 170 ou un serveur de télécopies. Le serveur CT1 120 comporte un automate d'appel 124, logiciel qui génère automatiquement des appels sortants, en appelant des numéros préalablement enregistrés dans une base de données (non représentée).
Les serveurs informatiques et multimédias 191 à 198 comportent, par exemple, un serveur d'information ou serveur de bases de données 194, un serveur web 192, un serveur minitel 195, un serveur de messagerie 196, un serveur de télécopie 197, un serveur bureautique 193, un serveur d'impression (non représenté) et un serveur d'applications 191 effectuant, par exemple, la gestion de la relation client, d'agendas, des applications spécifiques à l'entreprise, des logiciels métiers (logiciels standards ou applications spécifiques représentant le coeur de métier de l'entreprise, comme, par exemple, le télémarketing, le télésecrétariat, le service après- vente).
En architecture CTI, l'outil de travail du téléopérateur est constitué de deux éléments, le téléphone d'entreprise 160 qui peut prendre la forme d'un micro-casque et un poste de travail 190. Les postes de travail sont reliés par un réseau local, par exemple de type Ethernet TCP/IP (pour Transport Control Protocol in Internet Protocol, protocole de contrôle de transport des données sur le réseau Internet). On observe que la supervision, l'administration et le télétravail peuvent être effectués avec n'importe quel terminal intelligent, par exemple un ordinateur multimédia, supportant un navigateur Internet et doté d'une carte réseau. Aucun logiciel client n'est nécessaire pour ces différents types de travaux, seul le navigateur Internet étant indispensable. On observe aussi que le centre d'appels peut encore comporter un enregistreur, un moyen de taxation multi-opérateurs la vidéo conférence (non représentés).
Pour donner un exemple de fonctionnement du centre d'appels illustré en figure 1 , on suppose que le centre d'appels à une mission de service après-vente. Lorsqu'un utilisateur appelle le centre d'appels, par l'intermédiaire de son téléphone 140 et du réseau téléphonique 130, son appel aboutit d'abord à l'autocommutateur 100. Les informations concernant l'appel
(numéro appelé et numéro appelant, si ce dernier a été véhiculé par le réseau téléphonique 130) sont transmises immédiatement par l'autocommutateur 100 au serveur CT1 120, par l'intermédiaire du lien CTI 110. L'ACD 122 détermine vers quel poste agent 190 et téléphone d'entreprise 160, l'appel doit être routé, en fonction des informations reçues, des compétences requises pour traiter l'appel, des règles prédéfinies d'éligibilité des agents, de la disponibilité des agents, ...
La distribution automatique intelligente orientée compétences (« Skill Based Routing »), traite indifféremment les appels téléphoniques traditionnels et les messages de toute nature (E- mail, fax, demande de dialogue Internet en mode « Chat », Visio, ...), y compris en architecture distribuée.
Dès que la détermination est effectuée, le serveur CT1 120 transmet l'ordre de commutation à l'autocommutateur 100 qui route alors l'appel. Parallèlement, si le numéro de l'appelant a été transmis au serveur CTI 120, celui-ci recherche la fiche correspondant à l'appelant dans la base de données. Une fois la fiche client retrouvée, le serveur CTI 120 la transmet au poste de travail 190 qui correspond au téléphone d'entreprise 160 auquel a été transmis l'appel. L'appel et la fiche sont présentés de manière synchronisée à l'agent qui va traiter l'appel. Si le numéro d'appelant n'est pas reconnu, l'ACD 122 ordonne à l'autocommutateur de commuter (ou router) l'appel vers le serveur SV1 170 qui demande à l'appelant de saisir son numéro de client, par le biais des touches de son téléphone avant que l'appel et la fiche soient transférées à l'agent. En fin de session de communication entre l'appelant et serveur SV1 170, l'information transmise par le client est récoltée par le serveur CTI 120. Une fois la communication entre l'appelant et l'agent achevée, la fiche client actualisée en fonction des données de l'appel et des éventuelles données saisies par l'agent, est mise en mémoire dans la base de données. En figure 2 sont représentés un réseau central 200, auquel sont reliés trois sites 210,
220 et 230 comportant respectivement des unités serveur 212, 222 et 232 reliées au réseau téléphonique 240 et des unités opérationnelles 214, 224 et 234. Chaque unité opérationnelle comporte des postes agents munis, chacun, d'une interface de navigateur Internet. Chaque unité serveur comporte une unité serveur de données (respectivement 216, 226 et 236), une unité de prise de décision (respectivement 218, 228 et 238) et un serveur SVI (respectivement 219, 229 et 239). Chaque unité serveur de données conserve une base de données représentative d'attributs de chaque poste agent relié à un serveur (compétences, langue, heures de disponibilité) et une table d'état représentative de l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent. Les unités serveurs 210, 220 et 230 synchronisent (ou alignent) leurs bases de données (respectivement 216, 226 et 236) en permanence. Chaque unité opérationnelle (respectivement 214, 224 et 234) regroupe les éléments 150 à 198 illustrés en figure 1 et, en particulier, les postes agent 190 et les téléphones d'entreprise 160 du site considéré. Chaque unité opérationnelle (respectivement 214, 224 et 234) est reliée à une unité serveur (respectivement 210, 220 et 230) et peut changer d'unité serveur sans interruption de service. L'unité de prise de décision (respectivement 218, 228 et 238) comporte un serveur CTI et un autocommutateur PABX ou un PCBX sans autocommutateur.
Le réseau central 200 sert à transporter aussi bien les flux informatiques purs que les flux vocaux numériques (voix sur IP) des communications reroutées. Les liens avec le réseau téléphonique 240 servent exclusivement les flux échangés avec l'extérieur (les appelants du centre d'appels ou les appelés par le centre d'appels). En régime normal (lorsque les charges sont équilibrées), les unités opérationnelles dialoguent prioritairement avec les unités serveurs du même site. Sur besoin de compétence non disponible au niveau de l'unité opérationnelle locale ou en cas de dysfonctionnement des unités serveurs du site local, les unités opérationnelles dialoguent avec les unités serveurs des autres sites. En débordement de l'unité opérationnelle locale, une unité serveur utilise les ressources d'unités opérationnelles d'autres sites en reroutant les appels entrants.
En figure 3 sont représentés un réseau central 300, auquel sont reliés trois sites 310, 320 et 330 comportant respectivement des unités serveur 312, 322 et 331 et 332 (le site 330 possède les deux unités serveur 331 et 332) reliées au réseau téléphonique 340 et des unités opérationnelles 314, 323 à 325, 334 et 345 (le site 320 possède trois unités opérationnelles 323, 324 et 325 et l'unité opérationnelle 345 n'est reliée à aucune unité serveur de manière privilégiée). Ainsi, le site 310 comporte l'unité serveur 312 reliée au réseau téléphonique 340 et l'unité opérationnelle 314. Le site 320 est un site virtuel qui comporte l'unité serveur 322 reliée au réseau téléphonique 340 et les unités opérationnelles 323, 324 et 325. L'unité opérationnelle 323 est reliée au réseau central 300 et, par son intermédiaire, à l'unité serveur 322. L'unité opérationnelle 324 est directement reliée à l'unité serveur 322. Le site 330 est sécurisé parce qu'il comporte deux unités serveurs coopératives 332 et 331 , chaque unité serveur assurant la relève en cas de panne de l'autre unité serveur. Le site 330 comporte aussi l'unité opérationnelle 334, reliée de manière symétrique aux deux unités serveurs 331 et 332. L'unité opérationnelle 345 est directement reliée au réseau central 300.
Chaque unité opérationnelle comporte des postes agents munis, chacun, d'une interface de navigateur Internet. Chaque unité serveur comporte une unité serveur de données (respectivement 316, 326, 335 et 336), une unité de prise de décision (respectivement 318, 328, 337 et 338) et un serveur SVI (respectivement 319, 329 et 339). Chaque unité serveur de données conserve une base de données représentative d'attributs de chaque poste agent relié à un serveur (compétences, langue, heures de disponibilité) et une table d'état représentative de l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent.
Les unités serveurs 310, 320 et 330 synchronisent (ou alignent) leurs bases de données (respectivement 316, 326, 335 et 336) en permanence. Chaque unité opérationnelle (respectivement 314, 323 à 325 et 334) regroupe les éléments 150 à 198 illustrés en figure 1 et, en particulier, les postes agent 190 et les téléphones d'entreprise 160 du site considéré. Chaque unité opérationnelle (respectivement 314, 323 à 325 et 334) peut changer d'unité serveur sans interruption de service. L'unité de prise de décision (respectivement 318, 328, 337 et 338) comporte un serveur CTI avec ou sans autocommutateur. L'unité opérationnelle 325 ne traite que des communications reroutées depuis d'autres unités serveurs. Dans les modes de réalisation illustrés en figure 2 et en figure 3, les liens à l'intérieur d'un site sont des réseaux locaux et les liens entre les sites sont de type WAN (pour Wide Area Network ou réseau de large couverture). Les flux numériques mis en oeuvre conformément à la présente invention sont de différentes natures. Les flux numériques intra-site sont internes à chaque site et sont le support de réalisation des fonctions en ce qui concerne les ressources locales.
Les flux inter-sites comportent plusieurs types de flux. Chaque unité serveur reçoit au moment de la connexion d'une autre unité serveur une copie intégrale de la table d'état conservée dans la base de données de ladite autre unité serveur et met à jour sa propre table d'état en ce qui concerne les postes-agent du site de ladite autre unité serveur. Ensuite, à chaque modification de la table d'état de l'une des unités serveur relative au site auquel elle appartient, ou de manière périodique, ladite unité serveur transmet aux autres unités serveur l'information modifiée dans sa table d'état. Les prises de décisions effectuées par les unités de prise de décision dépendent de la table d'état conservée par la base de données du site correspondant. Les flux de voix sur IP sont comprimés et le délai de transmission est inférieur à 100 ms. de manière à rester insensible.
Dans des modes de réalisation exemplaires, chaque table d'état comporte une information représentative de l'état de chaque ligne reliée à un poste agent, une information représentative de la présence d'un agent audit poste agent, et une information représentative de la présence d'information sur le client connecté sur l'écran dudit poste agent. L'ACD de chaque site ne peut contrôler directement les voies du site distant, pour des raisons de sécurité. Pour les campagnes (ensemble d'appels sortants), la répartition des tâches est effectuée par marquage en base de données avant même le lancement de la campagne, et le lancement d'une itération du moteur d'appel par site. Ainsi, en cas de rupture de lien informatique entre des unités serveurs, chaque site reste capable de continuer son travail indépendamment des autres sites. De plus, lorsque les liens sont opérationnels et qu'un site traite ses appels plus vite que les autres sites, ce site renégocie automatiquement avec les autres sites la prise en charge d'une nouvelle partie de la campagne. C'est pourquoi le système selon la présente invention est dit "coopératif : chaque site possède une autonomie de fonctionnement et une grande sécurité mais les ressources sont mises en commun pour maximiser la qualité du service offert aux clients.
L'ACD prend préférentiellement les décisions en mode multi-critères, avec une pondération variable pour chaque critère, pour donner un degré d'éligibilité à chaque agent selon l'appel qui se présente et choisir le meilleur degré. Les agents non élus voient leur degré d'éligibilité augmenter par rapport à celui qui est finalement retenu afin de répartir les charges de travail entre les agents. Pour les autres services démarrant sur appel entrant, la prise de décision de sélection des agents (libres), s'appliquant sur un ou plusieurs des critères suivants, dans un ordre défini par l'administrateur : o niveau de l'agent dans le groupe (sélection par ordre croissant ou décroissant) OU compétences (=> groupe de niveau ou groupe de compétences) o localisation de l'agent : locale ou distante o l'agent ayant le plus grand temps d'attente depuis sa connexion o l'agent ayant le plus grand temps d'attente depuis son dernier appel traité o l'agent ayant traité le moins d'appels o l'agent ayant le moins grand temps de communication (temps passé dans les états pré-travail, poste travail et en communication) Ainsi, conformément à des modes de réalisation exemplaires de la présente invention, la plate-forme logicielle qui met en oeuvre le procédé et le dispositif visé par la présente invention possède une architecture distribuée native du noyau, le module ACD est conçu pour fonctionner en mode concurrent sur une architecture réseau, le routage des appels inter-machines s'adapte à l'implantation du centre d'appels (mono ou multi-sites) ainsi qu'à son architecture technique (présence ou non d'autocommutateur PABX ou PCBX sur chacun des sites), le mode voix sur IP est combiné au service de l'éventuel autocommutateur et les bases de données sont dupliquées. Les reroutages inter-machines et inter-sites sont réalisés en mode voix sur IP multiplexe, sur des liaisons informatiques locales ou inter-sites disposant de facilités de réseau privé virtuel (VPN) et de qualité de service (QoS) maîtrisés. L'architecture multi-sites en réseau comporte un agent SNMP (Simple Network Management Protocol pour protocol de gestion de réseau simple) sur chaque noeud du réseau.
Les fonctionnalités du centre d'appels objet de la présente invention comportent les groupes suivants :
1/ Administration : établit les liens entre téléphonie, informatique et ressources humaines. configuration des postes ; préparation et gestion des campagnes d'appel en émission et réception ; gestion des agents, des groupes, des compétences, des campagnes, ... configuration des fonctions de distribution automatique des appels (dont l'acronyme est
DAA et correspond à l'acronyme anglais ACD, utilisé ci-dessous et signifiant "Automatic
Call Distribution" : définition des stratégies d'émission et de réception d'appels (en réception, pour chaque numéro, gérer la possibilité de fixer le pré-décroché, gérer les files d'attente, les groupes de compétences, le type de traitement de l'appel en cas de débordement, ...) ; gestion des plages horaires ; génération de scripts d'entretiens ; génération de scénarii de serveur vocal interactif ("SVI") assurant la synthèse et la reconnaissance de voix ; gestion de bases de données ; gestion de résultats et de statistiques ; least cost routing (routage au moindre coût) : il s'agit d'une utilisation intelligente des services de plusieurs opérateurs en télécommunications, en fonction de paramètres divers tels que la destination de l'appel, l'heure d'appel, la qualité de service désirée, pour optimiser les coûts de télécommunication ; outil de taxation ou de facturation en fonction du service rendu.
2/ Supervision : permet la supervision globale en temps réel du centre d'appels. personnalisation des grilles de supervision ; - visualisation du trafic tous médias confondus ; visualisation de tous les ratios de production ; état de chaque poste (pause, en communication, ...) ; agents, groupes, campagnes, agents multi-groupes, ... ; alertes (nombres d'appels insuffisants, temps de communication trop longs, ...) ; - écoute discrète en ligne ;
"soufflage au téléconseiller" et visualisation du script déroulé (fonction communément appelée "mirroring" avec le poste agent) ; enregistrement des communications.
3/ Télé-opérateur : - login, logoff, pause, en communication, travail en arrière-plan, ... ; montée de fiche à l'écran d'un poste sur appel entrée/sortie abouti ; gestion des appels sur l'écran d'un poste (composition, transfert, ...) ; demande d'assistance au superviseur ; visualisation de ses propres performances, celle du groupe, du centre d'appels, ... 4/ Réception d'appels : sur serveur vocal interactif (SVI), y compris prédécroché, qualification de l'appel, standard automatique ; - qualification codes DTMF ("Dual Tone Multi-Frequency" pour fréquences vocales) ; messageries vocales ; reconnaissance de numéros appelants et appelés ; gestion de plages horaires ; standard automatique ; accueil sur film sonore personnalisé ; - diffusion du temps d'attente estimé ; rappel automatique en cas d'attente prolongée ; gestion des files d'attente, y compris films sonores multi-niveaux ; distribution automatique des appels (ACD), par groupe, par compétence, en débordement, en dissuasion, ... ; - traitement prioritaire d'un appel resté précédemment sans réponse ; escalade d'appel (transfert de la communication et des données à un autre agent) ; - transferts internes et externes ; conférence ; montée de fiche à l'écran d'un poste. 5/ Emission d'appels : preview dialing (appel prévisualisé): le système présente la fiche au téléacteur ou agent et ne compose le numéro de téléphone qu'après validation de l'agent (ce qui permet une personnalisation de l'argumentaire avant d'entrer en entretien) ; progressive dialing (appel progressif) : le système gère le fichier d'appels, numérote dès qu'un agent est libre et lui transmet l'appel avec la fiche du client qui est en ligne ; prédictive dialing (appel prédictif) : le système anticipe la numérotation et génère plus d'appels qu'il n'y a d'agents), supprime les appels inutiles (répondeur automatique, fax, faux-numéro, correspondant absent, correspondant occupé, ...) et passe la communication valide à un agent ; - relance : gestion automatique des appels planifiés à date et heure prévues.
6/ Call blending (que l'on peut traduire par "gestion simultanée d'appels entrants et sortants") : à cheval sur la gestion des appels entrants et sortants, le call blending permet d'affecter automatiquement les agents à des campagnes en émission quand le trafic le permet et, inversement, d'orienter les appels en réception vers des agents affectés en émission, lors de pointes de trafic entrant.
Il Application métier : télémarketing ; télésecrétariat ; agenda ; - interface pour intégration de logiciels métiers développés spécifiquement ou d'applicatifs existants ; interface pour intégration de logiciels métier du marché, help desk, télémarketing, télésecrétariat, études et sondages, customer care (attention du consommateur) ; interface pour intégration de logiciels métiers fonctionnant en environnement mini ou mainframe, éventuellement par l'intermédiaire d'émulateurs.
8/ Plurimédia. gestion de l'ensemble des médias : vocal (avec intégration des technologies de synthèse et de reconnaissance vocale), Internet, télécopie, visioconférence ; synthèse et reconnaissance vocale (SVI) ; serveur de télécopie en entrée et en sortie, avec routage des télécopies entrantes sur un numéro attribuée (sélection directe à l'arrivée ou SDA) ; serveur web ; - serveur vidéotex ; messagerie dite "unifiée" (courrier électronique, minitel, messagerie vocale, télécopie, voix véhiculée sur internet, ...) ; exploitation vocale des messages (courrier électronique, minitel, télécopie) via des modules de synthèse vocale et de reconnaissance automatique de caractères (OCR pour "optical character récognition").
9/ Atelier de développement : outil de développement d'applications centre d'appels ; outils de développement de fonctions spécifiques ;
API ("Application Program Interface" pour interface de programme applicatif) et composants logiciels pour intégration de logiciels métier ;
Générateur d'applications (scénarii SVI, scripts d'entretien).
La figure 4 représente un centre d'appels multimédia sécurisé, mono-site, avec autocommutateur PABX. On reconnaît en figure 4 de nombreux éléments de la figure 1 , qui, pour des raisons de clarté, portent les mêmes numéros qu'en figure 1 : l'autocommutateur PABX 100, le réseau téléphonique 130, les téléphones 140, le lien CTI 110, le réseau téléphonique interne 150, les téléphones d'entreprise 160, le réseau local 180 et les postes de travail ou poste agent 190 qui sont, chacun, muni d'une interface de navigateur Internet. Le serveur CTI 120 est remplacé, en figure 4 par un ensemble 400 de serveurs 401 à 432, reliés entre eux par un réseau 440 mettant en oeuvre le protocole TCP/IP, un lien voix 445 reliant l'autocommutateur PABX 100 à l'ensemble de serveurs 400 via au moins un des serveurs de cet ensemble. Sont aussi représentés en figure 4 un poste de télétravail 450 relié, par l'intermédiaire du réseau téléphonique 130, à l'autocommutateur PABX 100, et un réseau Internet 455, relié à des postes de travail 460 et, par l'intermédiaire d'un coupe-feu (firewall) 465 à l'ensemble de serveurs 400.
L'ensemble de serveurs 400 réalise un serveur CTI multimédia sécurisé multi-machine coopérantes (qui effectue un partage dynamique de charges et de ressources). Ce serveur CTI 400 effectue une distribution automatique d'appels via l'ACD multimédia distribué qui effectue un routage intelligent des appels, des e-mails, des télécopies. Ce serveur CTI 400 assure aussi les fonctions d'automate d'appels distribué (y compris le prédictive dialing), de serveur vocal interactif SVI, de gestion mixte de la téléphonie interne (c'est-à-dire par l'intermédiaire du lien CTI 110 et de l'autocommutateur 100 et par l'intermédiaire de la voix sur IP par l'intermédiaire du réseau local), de passerelle entre Internet et la téléphonie (voix sur IP), de serveur de médias, web, vocal, télécopie, pageur, vidéo d'administration et de supervision temps réel centralisées accessibles de tout poste, y compris à distance, de base de données distribuée et 5. sécurisée et d'ouverture pour les logiciels métiers tiers. On observe qu'en plus des postes agent
190, un poste de travail multimédia autonome 191 est relié au réseau local 180 et ne correspond pas nécessairement à un téléphone d'entreprise 160. Ce poste de travail ou poste agent 191 est destiné à un téléopérateur dont toutes les communications passent par l'intermédiaire du poste
191. Par exemple, des communications sur Internet, par télécopie, sur minitel et la téléphonie 0 passent par le poste 191.
Chaque serveur 401 à 432 comporte une unité serveur de données 470, une unité de prise de décision 475 et un serveur vocal interactif SV1 170. Chaque unité serveur de données 470 conserve une base de données représentative d'attributs de chaque poste agent relié à un serveur (compétences, langue, heures de disponibilité) et une table d'état représentative de 5 l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent.
Les serveurs 401 à 432 synchronisent (ou alignent) leurs bases de données en permanence. Chaque unité de prise de décision 475 comporte un serveur CTI et l'autocommutateur PABX 100. 0 La figure 5 représente un centre d'appels multimédia sécurisé, mono-site, avec PCBX.
On reconnaît en figure 5 de nombreux éléments de la figure 1 , qui, pour des raisons de clarté, portent les mêmes numéros qu'en figure 1 : le réseau téléphonique 130, les téléphones 140, le réseau téléphonique interne 150, les téléphones d'entreprise 160, le réseau local 180 et les postes de travail ou poste agent 190 qui sont, chacun, muni d'une interface de navigateur 5 Internet. Par comparaison avec la figure 1 , le serveur CT1 120 et l'autocommutateur PABX 100 sont remplacés en figure 5 par un ensemble 500 de serveurs 501 à 532, reliés entre eux par le réseau local 180 mettant en oeuvre le protocole TCP/IP et tous reliés au réseau téléphonique interne 150. En figure 5 sont aussi représentés un poste de télétravail 550 relié, par l'intermédiaire du réseau téléphonique 130, à l'ensemble de serveurs 500, et un réseau Internet 0' 555, relié à des postes de travail 560 et, par l'intermédiaire d'un coupe-feu (firewall) 565 à l'ensemble de serveurs 500.
L'ensemble de serveurs 500 réalise un PCBX multimédia sécurisé multi-machine coopérantes (qui effectue un partage dynamique de charges et de ressources). Ce PCBX 500 effectue une distribution automatique d'appels via l'ACD multimédia distribué qui effectue un 5 routage intelligent des appels, des e-mails, des télécopies. Ce PCBX 500 assure aussi les fonctions d'automate d'appels distribué (y compris le prédictive dialing), de serveur vocal interactif SVI, de gestion de la téléphonie interne, de passerelle entre Internet et la téléphonie (voix sur IP), de serveur de médias, web, vocal, télécopie, pageur, vidéo, ..., d'administration et de supervision temps réel centralisées accessibles de tout poste, y compris à distance, de base de données distribuée et sécurisée et d'ouverture pour les logiciels métiers tiers.
On observe qu'en plus des postes agent 190, un poste de travail multimédia autonome 191 est relié au réseau local 180 et ne correspond pas nécessairement à un téléphone d'entreprise 160. Ce poste de travail ou poste agent 191 est destiné à un téléopérateur dont toutes les communications passent par l'intermédiaire du poste 191. Par exemple, des communications sur Internet, par télécopie, sur minitel et la téléphonie passent par le poste 191. En outre, un poste d'administration 192 est relié au réseau local 180 et est destiné à administrer les fonctions du système du centre d'appels. - Chaque serveur 501 à 532 comporte une unité serveur de données 570, une unité de prise de décision 575 et un serveur vocal interactif SV1 170. Chaque unité serveur de données 570 conserve une base de données représentative d'attributs de chaque poste agent relié à un serveur (compétences, langue, heures de disponibilité) et une table d'état représentative de l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent. Les serveurs 501 à 532 synchronisent (ou alignent) leurs bases de données en permanence. Chaque unité de prise de décision 575 comporte un PCBX sans autocommutateur.
La figure 6 représente un centre d'appels multimédia sécurisé, multi-sites, avec PCBX et un seul point d'entrée de réseau téléphonique. On retrouve, en haut de la figure 6 les éléments illustrés en figure 5, ces éléments correspondant à un premier site du centre d'appels objet de la présente invention. Un réseau intranet ou extranet 695 relie le premier site à un deuxième site, distant du premier site. Le deuxième site comporte un réseau téléphonique interne 650, des téléphones d'entreprise 660, un réseau local 680, des postes de travail ou poste agent 690 qui sont, chacun, muni d'une interface de navigateur Internet, un ensemble 600 de serveurs 601 à 632, reliés entre eux par le réseau local 680 mettant en oeuvre le protocole TCP/IP. Le réseau 695 est, par exemple, un réseau privé virtuel qui véhicule voix et données selon le protocole IP (Internet Protocol).
L'ensemble de serveurs 600 réalise un PCBX multimédia sécurisé multi-machine coopérantes (qui effectue un partage dynamique de charges et de ressources entre les serveurs 601 à 632 et avec les serveurs 501 à 532). Ce PCBX 600 effectue une distribution automatique d'appels via l'ACD multimédia distribué qui effectue un routage intelligent des appels, des e- mails, des télécopies. Ce PCBX 600 assure aussi les fonctions d'automate d'appels distribué (y compris le prédictive dialing), de serveur vocal interactif SVI, de gestion de la téléphonie interne, de passerelle entre Internet et la téléphonie (voix sur IP), de serveur de médias, web, vocal, ' télécopie, pageur, vidéo d'administration et de supervision temps réel centralisées accessibles de tout poste, y compris à distance, de base de données distribuée et sécurisée et d'ouverture pour les logiciels métiers tiers.
On observe qu'en plus des postes agent 690, un poste de travail multimédia autonome 691 est relié au réseau local 680 et ne correspond pas nécessairement à un téléphone d'entreprise 660. Ce poste de travail ou poste agent 691 est destiné à un téléopérateur dont toutes les communications passent par l'intermédiaire du poste 691. Par exemple, des communications sur Internet, par télécopie, sur minitel et la téléphonie passent par le poste 691. En outre, le poste 691 est destiné à administrer les fonctions du système du centre d'appels. Chaque serveur des ensembles de serveurs 500 et 600 comporte une unité serveur de données 670, une unité de prise de décision 675 et un serveur vocal interactif SVI 170. Chaque unité serveur de données 670 conserve une base de données représentative d'attributs de chaque poste agent relié à un serveur (compétences, langue, heures de disponibilité) et une table d'état représentative de l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent. Les ensembles de serveurs 500 et 600 synchronisent (ou alignent) leurs bases de données en permanence. Chaque unité de prise de décision 675 comporte un PCBX sans autocommutateur.
La figure 7 représente un centre d'appels virtuel multimédia sécurisé, multi-sites mixtes (avec autocommutateur PABX et PCBX), avec un point d'entrée de réseau téléphonique sur chaque site. On retrouve, en haut de la figure 7, pour un site A, les éléments de la figure 4 et, en bas de la figure 7, pour un site B, les éléments de la figure 5. Les réseaux locaux 180 des deux sites sont reliés par un réseau 795, par exemple, un réseau privé virtuel qui véhicule voix et données selon le protocole IP (Internet Protocol).
Chaque serveur des ensembles de serveurs 400 et 500 comporte une unité serveur de données 770, une unité de prise de décision 775 et un serveur vocal interactif SVI 170. Chaque unité serveur de données 770 conserve une base de données représentative d'attributs de chaque poste agent relié à un serveur (compétences, langue, heures de disponibilité) et une table d'état représentative de l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent. Les ensembles de serveurs 400 et 500 synchronisent (ou alignent) leurs bases de données en permanence. Chaque unité de prise de décision 775 comporte un serveur CTI et l'autocommutateur PABX ou un PCBX sans autocommutateur.
Dans les modes de réalisation de l'invention illustrés en figures 2 à 7, la gestion et la mise à jour des bases de données et tables d'état sont effectuées selon les principes suivants : - tous les serveurs ont le même niveau de responsabilité face à la gestion de la réplication et de la concurrence (multi-master ou multi-maître), uniquement les mises-à-jour sont transférées (log-transfer, par opposition au transfert de l'intégralité des enregistrements) et sont diffusés en mode multipoint (multicast), mode qui permet d'envoyer des paquets vers plusieurs destinataires situés sur n'importe quel réseau IP. Dans ce mode, on ne s'adresse plus à un couple numéro de port/adresse IP comme en mode unipoint (unicast) mais à une adresse de groupe de machines. Ainsi, au lieu d'envoyer autant de paquets qu'il y a de destinataires, on envoie un seul paquet à une adresse multicast et ce sont les routeurs du réseau qui dupliquent et distribuent le message aux machines du groupe. Ici, tous les serveurs correspondent à la même adresse multicast, la diffusion de l'information est immédiate (push-based), sans mécanisme de verrouillage ni d'acquittement d'opération, - chaque transaction (modification d'une donnée de la base de données ou de la table d'états) est estampillée avec horodatage (date, heure, numéro d'opération et numéro de serveur local) pour garantir qu'elle ne sera pas prise en compte deux fois et que les transactions seront traitées dans l'ordre, chaque serveur est autonome pour gérer les éventuels conflits liés à la concurrence des accès o la gestion des conflits est basée sur les estampilles des transactions et sur le numéro de l'enregistrement concerné, o les conflits de mises-à-jour lecture/écriture (lorsque une lecture est en cours (la fiche est en consultation) et une mise à jour de ces données arrive et est traitée; il y a inscription dans le journal des conflits et un avertissement est envoyé à l'application qui effectue la lecture pour l'informer qu'une modification à eu lieu sur cet enregistrement, o les conflits de mises-à-jour écriture/écriture (une mise-à-jour arrive avec un horodatage antérieur à la dernière opération effectuée sur l'enregistrement); le conflit est traité automatiquement (pour détecter si au moins un champ est modifié par deux transactions considérées et traiter le cas où il n'y a pas de tel champ comme si les transactions étaient arrivées dans l'ordre) et inscrit dans le journal des conflits pour une gestion humaine ultérieure. Le lecteur pourra se reporter à la description des figures 10 et suivantes pour un mode de réalisation exemplaire de la gestion des bases de données.
Selon un autre aspect, la présente invention concerne aussi une méthode de constitution d'une architecture informatique multi-machines coopératives (architecture informatique distribuée sur plusieurs machines et/ou sites) totalement ouverte, indépendante de tout système d'exploitation, de tout matériel (ordinateurs, dispositifs de communication, dispositifs de téléphonie, ...) ou encore de tout logiciel tiers (systèmes de gestion de bases de données, ...) et permettant le support de fonctionnalités de communications multimédias, de médiaconvergence et de Couplage Téléphonie-Informatique (CTI), l'ensemble étant supervisé simultanément depuis une ou plusieurs machines (ou sites).
Il s'agit ici d'un concept concernant les éléments propres à un système multi-machines coopératives (et/ou multi-sites coopératifs) par opposition à un système traditionnel monomachine (ou mono-site).
Chaque machine peut fonctionner de façon autonome et/ou isolée, ou faire partie d'un groupe de machines coopérantes réalisant ainsi et par construction un système virtuel multimédia mono/multi-site(s). L'ensemble des machines coopérantes constitue un seul et même système virtuel homogène et cohérent dont la puissance et la capacité résultent directement de la « somme » des capacité et puissance intrinsèques de chaque machine appartenant au groupe défini.
Le système est indépendant de toute architecture logicielle et/ou matérielle au niveau de chaque machine destinée potentiellement à coopérer avec d'autres machines afin de constituer un groupe. De ce fait, les machines constitutives du groupe de machines coopérantes peuvent être totalement hétérogènes et ce, tant au niveau matériel qu'au niveau logiciel.
Le système présente les avantages suivants :
• le fonctionnement coopératif multi-machines et/ou multi-sites en partage dynamique de charge et de ressources (informatiques, téléphoniques et humaines) ;
• la continuité de fonctionnement du système ainsi réalisé en optimisant la défense aux pannes afin d'atteindre un taux de disponibilité global (informatique, téléphonie et gestion des différents médias) du meilleur niveau ;
• l'adaptation dynamique et automatique aux « évolutions » volontaires et/ou accidentelles de l'architecture ainsi réalisée;
• l'augmentation aisée et simplifiée de la capacité d'accueil (ressources informatiques, téléphoniques et humaines) du système ainsi réalisé ;
• l'ouverture, l'évolutivité et la pérennité du système ainsi réalisé. La mise en oeuvre de la présente invention permet la création de : • Solution intégrée pour centre d'appels virtuel multimédia mono et/ou multi-sites coopératifs de nouvelle génération, ouverte, couplant la téléphonie et l'informatique (CTI), mais aussi le multimédia (internet, email, wap, Visio, vidéo, fax, ...) et la médiaconvergence (convergence de tous les médias sur IP), indépendante de tout système d'exploitation et fonctionnant indifféremment avec ou sans autocommutateur téléphonique (PABX) ;
• Solution de péri-téléphonie : Système intelligent de routage multimédia orienté compétences (skills based routing), ouvert, autonome, distribué et coopératif, traitant indifféremment appels téléphoniques traditionnels et messages de toute nature (e-mail, chat, fax, vidéo, ...), et capable de s'intégrer à la nouvelle «infrastructure informatique de télécommunications» de l'entreprise multi-sites. Dans le cadre d'une infrastructure purement téléphonique traditionnelle, ce système permet de fédérer la distribution intelligente d'appels au sein d'un réseau de PABX hétérogènes implantés en architecture mono ou multi-site(s);
• Solution de gestion du Système d'Information de l'entreprise multi-sites (étendue) : système autonome de gestion de la réplication / synchronisation de bases de données strictement standards, distribuées en architecture multi-machines coopératives (et/ou multi-sites coopératifs). Ce système offre à l'entreprise multi-sites une même «visibilité transversale», intègre et cohérente de son système d'information, sans pour autant avoir recours à une dangereuse centralisation des données, ou encore à un Système de Gestion de Bases de Données Réparties surdimensionné et coûteux. En figure 8 sont représentés, pour chaque serveur (ici, deux serveurs sont représentés par les couches logicielles mises en oeuvre) du centre d'appels : un noyau 800, un moteur de prise de décisions 810, un gestionnaire de duplication et de mise à jour de bases de données 820, un contrôleur de messages 830, un CTI 840, un système d'exploitation 850, un moteur de base de données 860, un périphérique CTI 870, des applications logicielles 880 et un module de transport de données conformément au protocole IP (Internet Protocol) 890. Le noyau 800 :
• a le rôle de pivot entre les différents modules logiciels et les applications. • gère et maintient tous les modules logiciels et toutes les applications.
• décode et interprète les requêtes ou événements venant des modules logiciels, des applications, du logiciel de CTI (Couplage Téléphonie Informatique) 840, des autres applications du serveur, ou du système d'exploitation (OS) 850.
• demande la marche à suivre au moteur de prise de décision 810. • agit en fonction de la réponse du moteur de prise de décision 810 et dirige les requêtes et les événements vers le module ou l'application approprié.
• envoie les requêtes relatives aux bases de données au gestionnaire de la duplication et de la synchronisation des bases de données 820, récupère les résultats des requêtes et les transmet au module ou application concerné. • envoie les messages et certaines données au contrôleur de message 830 pour que ces informations soient diffusées aux autres serveurs.
• reçoit les messages et certaines données des autres serveurs par l'intermédiaire du contrôleur de message et les transmet aux modules concernés.
Le moteur de prise de décision et de partage dynamique de la charge et des ressources 810 :
• décide du traitement à effectuer en fonction du type de l'événement, du type de média et de l'état général du système.
• maintient une connaissance générale du système la plus à jour possible (quasi temps- réel). • informe et est informé par l'intermédiaire du noyau 800 des altérations survenant localement et sur les autres serveurs.
• reçoit des demandes de prise de décision du noyau 800 concernant un événement ou une requête et détermine le meilleur traitement à effectuer selon le type d'événement, le type de média, le type de requête et en fonction de l'état général instantané du système. • retourne la démarche à suivre au noyau 800.
Le gestionnaire de la duplication et de la synchronisation des bases de données 820 :
• accède aux différentes bases de données de l'entité en lecture comme en écriture en s'adressant à un moteur de bases de données 860 fonctionnant de manière non répartie. • reçoit du noyau 800 ou du contrôleur de message 830 les demandes d'accès aux bases de données.
• renvoie le résultat des accès effectués sur la base de données au noyau 800 qui les transmet au module ou à l'application approprié. • demande au noyau 800 ou au contrôleur de message 830 la diffusion vers les autres serveurs des accès locaux en écriture.
• gère les possibles conflits liés aux accès concurrents aux mêmes données de manière à conserver la convergence des copies des données sur tous les serveurs (cohérence du système). • avertit le noyau 800 lorsqu'un conflit est détecté.
• tient à jour un journal des conflits pour une éventuelle correction humaine ultérieure.
• Synchronise les bases de données avec leurs homologues des autres serveurs constitutifs du système.
Le Contrôleur de messages 830 : • établit et maintient le dialogue et les communications entre les différents serveurs.
• s'assure de la bonne communication entre le serveur et les autres serveurs (vérification de l'intégrité des messages reçus, du fonctionnement du réseau, demande de réémission si message perdu, ...).
• Diffuse en mode multipoint (multicast) aux autres serveurs les messages et données concernant les bases de données et l'état local du serveurs (sa charge de travail, et ses ressources) qui lui sont transmis par le noyau 800.
• reçoit des autres serveurs les messages et données concernant les bases de données et l'état (charge de travail et ressources) des autres serveurs composant le système.
• transmet les informations pertinentes reçues au noyau 800. Au cours du fonctionnement illustré en figure 9, sont effectuées les opérations suivantes :
• Au cours d'une opération 905, un appel téléphonique arrive, il transite à travers le périphérique CTI téléphone 870 et le CTI 840 jusqu'à arriver au noyau 800 qui demande alors au moteur de prise de décision 810 ce qu'il doit faire de cet appel.
• Au cours d'une opération 910, le moteur de prise de décision 810 estime que cet appel nécessite l'utilisation d'une ressource lointaine et en informe le noyau 800 qui, par l'intermédiaire du module contrôleur de message 830 lance un message à la plate-forme distincte pour qu'elle prenne en charge cet appel.
• Au cours d'une opération 915, le serveur lointain reçoit le message et le transmet par l'intermédiaire du module contrôleur de message 830 au noyau 800 qui va chercher l'appel téléphonique à travers le CTI 840 et les périphériques du CTI 870.
• Au cours d'une opération 920, l'appel téléphonique remonte à travers le CTI 840 jusqu'au noyau 800 qui demande au moteur de prise de décision 810 ce qu'il doit en faire. • Au cours d'une opération 925, le moteur de prise de décision 810 rend son "verdict" (sa décision) au noyau 800 qui dirige alors l'appel vers l'application adéquate 880 (connexion avec un télé-opérateur).
• Au cours d'une opération 930, l'application 880 a besoin de consulter les informations sur le client appelant (remontée de fiche) et fait une requête à la base de données client
860 par l'intermédiaire du noyau 800 et du gestionnaire de base de données 820 qui s'adresse à la base de données 860, récupère le résultat et le donne à l'application 880 (toujours par l'intermédiaire du noyau 800). L'application utilise une interface de navigateur Internet pour communiquer avec l'agent qui traite l'appel. • Au cours d'une opération 935, l'application 880 s'est déroulée correctement et se termine en faisant une modification des données du client dans la base 860 : requête en écriture à la base de données 860 client par l'intermédiaire du noyau 800 et du gestionnaire de base de données 820.
• Au cours d'une opération 940, le gestionnaire de base de données 820 effectue la requête en écriture et demande la propagation de cette mise-à-jour sur tous les autres serveurs (c'est-à-dire sur la figure 9, sur la base de données du serveur représenté à gauche). Cette propagation est effectuée à travers le noyau 800 et les modules contrôleurs de messages 830 et transport 890.
La figure 10 représente un exemple de cinq modules logiciels de gestion de bases de données conformes à un aspect de la présente invention. Un module 1030 d'interface avec les autres modules du serveur et un module 1040 de gestion des messages relient les modules de gestion de base de données aux autres modules et applications mises en oeuvre comme exposé ci-dessus. Le module 1030 d'interface avec les autres modules du serveur a pour fonctions de : - dialoguer avec les autres applications mises en oeuvre par le serveur, envoyer les opérations de lecture et d'écriture (opérations 1010) au module de diffusion et de réception des transactions 1050, et recevoir et transmettre le résultat des requêtes en lecture, et les avertissements de conflits (opérations 1019) du système de contrôle de la concurrence et de la duplication 1070.
Le module 1040 de gestion des messages a pour fonctions de : diffuser les transactions locales en écriture (opération 1011) transmises par le module de diffusion et de réception des transactions 1050 aux autres serveurs en mode multipoint
(multicast), - réceptionner les transactions d'écriture des autres serveurs en vérifiant leur validité
(intégrité et estampille) (opérations 1012), envoyer à un autre serveur les requêtes demandant le renvoi d'une transaction non encore reçue, et transmettre les requêtes demandant le renvoi d'une transaction non encore reçue au module de diffusion et de réception des transactions 1050.
Le module de diffusion et de réception des transactions 1050 a pour fonctions de : envoyer les transactions locales en écriture (opération 1011) au module de gestion de messages 1040, recevoir les transactions lointaines (venant d'autres serveurs) d'écriture (opération 1012) du module de gestion de messages 1040, vérifier pour chaque transaction reçue qu'elle n'a pas déjà été traitée, mettre à jour un tableau 1090 qui conserve pour chaque base de données, l'estampille de la dernière transaction de chaque serveur sur cette base, et transmettre les transactions à exécuter (opération 1016) au système de contrôle de la concurrence et de la duplication 1070.
Le lecteur pourra se reporter à la figure 12 pour un exemple de réalisation du module
1050. Un module de synchronisation des bases de données 1060 a pour fonctions de : recevoir périodiquement les tableaux 1090 (opération 1014) des autres serveurs par l'intermédiaire du module de gestion de messages 1040, envoyer périodiquement le tableau 1090 du serveur local (opération 1013) aux autres serveurs par l'intermédiaire du module de gestion de messages 1040, vérifier périodiquement et lors d'un démarrage à chaud (en cours d'exploitation) que les bases de données du serveur sont bien synchronisées avec les bases de données des autres serveurs en effectuant une comparaison entre le tableau 1090 du serveur local et les tableaux 1090 des autres serveurs, lancer une synchronisation sur une base de données en cas de désynchronisation de la base de données (opération 1013), lors d'une synchronisation, envoyer des requêtes de demande des transactions non reçues aux serveurs concernés (opération 1013), recevoir les requêtes de demande de transactions (opération 1014) des autres serveurs et y répondre en leur envoyant les transactions ou les enregistrements demandés (opération 1015).
Le lecteur pourra se reporter à la figure 13 pour un mode de réalisation du module 1060.
Un module de contrôle de la concurrence et de la duplication 1070 a pour fonctions de : dialoguer avec un moteur standard de base de données 1080 pour lui envoyer des requêtes en lecture et en écriture (opération 1017) et récupérer les résultats (opération 1018), envoyer au module interface avec les autres modules du serveur 1030, les résultats des requêtes en lecture (opération 1019), maintenir à jour une liste des enregistrements en cours de consultation, si une mise à jour est effectuée sur un enregistrement en consultation, envoyer un avertissement (opération 1019) au module interface avec les autres modules du serveur 1030 et inscrire le conflit dans le journal des conflits en lecture, maintenir à jour pour chaque champs de chaque enregistrement l'estampille de la dernière opération l'ayant modifié si l'estampille de la transaction à effectuer sur l'enregistrement est antérieure à l'estampille de la dernière transaction qui a été exécutée sur cet enregistrement, et s'il y a au moins un champ affecté par chacune des transactions considérées, écriture de ce conflit dans le journal des conflits et transformation de la transaction à effectuer : pour chaque champ impliqué dans le nouvel enregistrement, on ne répercute la modification que si l'estampille du champ (récupérée dans le tableau 1100) est antérieure à la transaction à effectuer. Le lecteur pourra se reporter à la figure 11 pour un exemple de mise en oeuvre du module 1070. Pour récapituler, les opérations mises en oeuvre entre les modules sont les suivantes : opérations 1010 : opérations en lecture ou en écriture sur la base de données, opérations 1011 : propagation des mises-à-jour, opérations 1012 : récupération des mises-à-jour des autres serveurs, opérations 1013 : envoi du tableau 1090 et requêtes de transactions, - opérations 1014 : récupération des tableaux 1090 et des requêtes des autres serveurs, opérations 1015 : demande d'envoi de transactions aux autres serveurs, opérations 1016 : envoi des transactions à traiter, opérations 1017 : requête de lecture de base de données, opérations 1018 : résultats des requêtes de lecture de base de données, et - opérations 1019 : résultat de requête et avertissements.
Les interactions entre les modules 1030 à 1080 sont illustrées en figure 14. Une opération est composée : du mode de l'opération : lecture, consultation, fin de consultation ou écriture, du numéro de l'agent concerné, - du nom ou du numéro de la base de données concernée, du nom ou du numéro de la table concernée, de la clef système de l'enregistrement concerné, du nom ou numéro de l'application qui traite l'enregistrement, et de la lecture ou de la mise-à-jour à effectuer (la requête à la base de données). Une transaction est composée d'une estampille (horodatage date et heure, numéro de transaction et numéro IP) et d'une suite d'opérations. L'estampille d'une opération est composée de l'estampille de la transaction concaténée au numéro du rang de l'opération dans la transaction.
On observe que : La liste des transactions locales est ordonnée dans l'ordre d'estampille des transactions. La liste des transactions locales sert aussi à répondre aux requêtes (demande de transactions pour synchronisation) des autres plates-formes. La file d'attente des transactions à exécuter : en attendant d'être traitées, les transactions sont stockées dans une file d'attente et sont rangées dans l'ordre de leurs estampilles. Les transactions sont placées dans la file d'attente uniquement si elles n'ont pas déjà été reçues. C'est la transaction la plus ancienne qui est en tête, et est retirée en premier (et par conséquent exécutée si les conditions le permettent). Le journal des consultations : lorsque l'opération est une consultation, on conserve l'information attenante à cette consultation afin de prévenir l'utilisateur ou l'application si une modification (mise-à-jour) d'une autre plate-forme survient sur cet enregistrement, et afin d'avoir la possibilité de lui offrir le service d'actualiser les données qu'il (utilisateur ou application) consulte. Selon une variante, on gère des verrouillages et des déverrouillages, et on résout des conflits de verrous grâce à l'estampille du verrou avec avertissement du rejet d'un des verrous. Dans ce cas, le journal des consultations est persistant en mémoire afin que lors d'un démarrage à chaud, il puisse déverrouiller tous les enregistrements qui étaient verrouillés par ce site avant la panne. Le tableau 1100 appelé "Tableau des estampilles des champs des enregistrements" (ou en anglais RFT : Record Fields Timestamps Table) conserve pour chaque champ de chaque enregistrement, l'estampille de la dernière opération l'ayant modifié. Ce tableau permet d'affiner la détection des conflits liés à la concurrence (deux enregistrements peuvent être modifiés à des endroits différents sans générer de conflit) et de résoudre le conflit de manière automatique tel que cela est explicité dans le fonctionnement du module de contrôle de la concurrence et de la duplication 1070. Ce tableau n'est opérationnelle que lors d'une rupture de liaison avec d'autres sites. Le tableau 1090 appelé EDOPS pour "Estampille de la Dernière Opération Par Site" pour la base de données ou, en anglais TLOBS pour "Timestamp of the last opération by site for a given database" : chaque plate-forme gère pour chaque base de données un tableau qui contient l'estampille de la dernière opération effectuée sur cette base .
Figure imgf000032_0001
On observe, en figure 15, un réseau téléphonique commuté (analogique et/ou numérique) matérialisé par deux icônes 1500 et 1501 par simple souci de clarté du dessin, un réseau Internet 1502, deux réseaux téléphoniques internes 1503 et 1504, trois réseaux locaux TCP/IP 1505, 1506 et 1542, et un réseau IP privé 1507. Le réseau téléphonique 1500 et 1501 achemine les communications en provenance de téléphones fixes 1510, de télécopieurs 1511 et de téléphones mobiles 1512. Le réseau Internet 1502 achemine des communications de type Chat 1513, des courriers électroniques 1514, des messages vocaux 1515, permet la mise en œuvre de co-navigation 1516 et de transferts d'images 1517 comme par exemple de vidéoconférence, et achemine des communications de type voix sur IP 1518.
Un PABX 1520 est relié au réseau téléphonique 1500, au réseau téléphonique interne 1503, au réseau local TCP/IP 1505 et au serveur de Couplage Téléphonie Informatique 1523 par des liens voix 1527 qui peuvent être de type analogique. et/ou numériques. Les postes téléphoniques 1522 sont reliés au réseau téléphonique interne 1503. Les serveurs de Couplage Téléphonie Informatique 1523 et 1524 sont reliés au réseau local TCP/IP 1505. Le réseau local TCP/IP 1505 est relié au réseau IP privé 1507. Le lien CTI 1521 est un lien logique permettant aux serveurs de Couplage Téléphonie Informatique 1523 et 1524 de gérer l'ensemble des ressources : le PABX 1520, les terminaux informatiques 1525 et postes téléphoniques 1522 logiquement associés, les terminaux informatiques multimédias 1526 dotés de fonctions téléphoniques, et toutes autres ressources de même type accessibles à travers le réseau IP privé 1507.
Le réseau téléphonique 1501 (qui achemine les mêmes types de communications que le réseau téléphonique 1500 mais qui ne sont pas tous représentés par souci de clarté du dessin) est relié au serveur PCBX/IP 1531 lui-même relié au réseau local TCP/IP 1506. Les serveurs PCBX/IP 1530, 1531 et 1532 sont reliés au réseau local TCP/IP 1506 lui-même relié au réseau IP privé 1507 ainsi qu'à des terminaux informatiques 1534 sans fonctions téléphoniques et à des terminaux informatiques multimédias 1535 dotés de fonctions téléphoniques. Les serveurs PCBX/IP 1530 et 1531 sont reliés au réseau téléphonique interne 1504, lui même relié à des postes téléphoniques 1536 proches des terminaux informatiques 1534 auxquels ils sont associés logiquement.
Le réseau IP privé 1507 est relié à des terminaux informatiques multimédias isolés 1540 dotés fonctions téléphoniques, et au réseau local TCP/IP 1542, lui-même relié à des terminaux informatiques multimédias 1541 dotés de fonctions téléphoniques, situés sur un site distant. Le réseau Internet 1502 est relié au réseau local TCP/IP 1505 ainsi qu'au réseau local TCP/IP 1506. On observe que les terminaux informatiques, hormis les terminaux isolés 1540, sont ainsi répartis entre trois sites interconnectés à travers le réseau IP privé 1507, le site A correspondant au réseau local TCP/IP 1505, le site B correspondant au réseau local TCP/IP 1506 et le site C correspondant au réseau local TCP/IP 1542. On observe par ailleurs que le système 1550, comportant le PABX 1520 et les serveurs
1523, 1524, 1530, 1531 et 1532, est le système centre virtuel de contacts multimédias réalisé par la présente invention, et que l'ensemble 1551 constitué des différents terminaux informatiques et postes téléphoniques est le groupe virtuel de positions de travail et de compétences gérées par le système virtuel 1550 réalisé conformément à la présente invention. La mise en oeuvre de la présente invention assure nativement en architecture PCBX (site B) : les fonctionnalités de CTI multimédia et de Médiaconvergence, le déploiement multi-sites coopératifs (plusieurs dizaines de sites interconnectés), - la haute disponibilité globale (téléphonie ET informatique), la capacité d'accueil évolutive dynamiquement : de quelques agents à plusieurs milliers d'agents concentrés sur 1 site ou répartis sur plusieurs sites, et la gestion intelligente de l'ensemble des médias (concept de file d'attente universelle). Pour la Gestion du lien CTI derrière PABX (site A), la mise en oeuvre de la présente invention obéit aux deux règles suivantes : le périmètre fonctionnel des services de téléphonie offerts par la présente invention résulte d'une mise en œuvre stricte de services définis dans CSTA ; l'exploitation des services du PABX est systématiquement implémentée avec une « visibilité JTAPI ». Ainsi, l'implémentation et le fonctionnement sont réellement indépendants vis à vis du
PABX qui peut être remplacé partout autre PABX offrant un lien CTI conforme à CSTA.
Pour répondre aux besoins des centres de contacts virtuels multimédias, l'ACD est conçu pour :
- fonctionner en environnement concurrent distribué sur une architecture réseau ; - mixer tous les médias, en réalisant de la distribution automatique intelligente orientée compétences (« Skill Based Routing »), traitant indifféremment appels téléphoniques traditionnels, communications en mode voix sur IP et messages de toute nature (e- mail, fax, vidéo, demande de dialogue Internet en mode « Chat », ...) ; gérer l'ensemble des médias (concept de file d'attente universelle). Pour offrir la dimension multimédia nécessaire aux centres de contacts de nouvelle génération, la mise en oeuvre de la présente invention intègre nativement les fonctionnalités de serveur de médias : Vocal (avec intégration des technologies de synthèse et de reconnaissance vocale), Internet, E-mail, Chat, Fax, vidéo, visioconférence, ...
Toutes les interfaces homme-machine (IHM) (outils et applications) sont réalisées en langage HTML (pour HyperText Markup Language). Ce choix technique présente entre autres avantages induits intéressants, l'indépendance vis à vis du système d'exploitation sous-jacent, mais aussi la possibilité d'exploiter à distance via un navigateur Internet standard, les mêmes outils de supervision et d'administration, et les mêmes applicatifs.
Les postes agents 1525, 1526, 1534, 1535, 1540 et 1541 ne requièrent l'installation d'aucun logiciel client particulier pour être opérationnel, excepté un Navigateur Internet. Ainsi, l'ordinateur de type PC n'est plus incontournable puisque avec cette approche, n'importe quel « terminal intelligent » supportant un navigateur Internet convient désormais parfaitement (PC, Macintosh, Network Computer, ...). Par ailleurs, l'ajout d'une nouvelle position agent devient une opération simple et rapide, se traduisant par la mise à jour d'une table de correspondances « adresse IP / n° de ligne téléphonique », ou simplement du DNS (Serveur de Noms de Domaines) en cas d'architecture « tout IP ».
Le lecteur pourra se reporter à la description des figures 1 à 14 pour connaître les caractéristiques techniques des éléments illustrés en figure 15, pour la mise en oeuvre de la présente invention, dans son mode de réalisation illustré en figure 15. En outre, on décrit ci-après plusieurs caractéristiques de fonctionnement :
A/ Déploiement multi-sites coopératifs
Cette « faculté » résulte du fait que la solution apportée par la présente invention est constituée d'un ensemble de serveurs autonomes et coopératifs et de l'élimination de toute centralisation quelle qu'elle soit (matérielle, logicielle et fonctionnelle).
Figure imgf000035_0001
B/ Continuité de fonctionnement globale (téléphonie ET informatique) native Cette « faculté » résulte du fait que la solution apportée par la présente invention est constituée d'un ensemble de serveurs autonomes et coopératifs et de l'élimination de toute centralisation quelle qu'elle soit (matérielle, logicielle et fonctionnelle). De ce fait, chaque machine peut fonctionner de façon autonome et/ou isolée, ou faire partie d'un groupe de machines coopérantes réalisant ainsi et par construction un seul et même système virtuel multimédia mono.multi-site(s) hautement disponible et pourtant ouvert. Le dysfonctionnement ou l'arrêt d'un serveur ne provoque pas l'interruption de l'activité du centre d'appels.
Figure imgf000035_0002
Figure imgf000036_0001
On observe que le remplacement et/ou l'ajout d'un ou plusieurs serveurs implementant la présente invention se réalise dynamiquement sans même interrompre la production et ce, qu'il s'agisse d'une « intervention » effectuée sur le même site ou sur un site distant. 5. En cas de panne d'un serveur, les postes qui y sont liés vont automatiquement chercher à se connecter à un autre serveur (voir figure 16), et le nouveau serveur auquel ils se connectent sait quel poste correspond à chaque traitement récent d'appel, donc une panne d'un serveur n'empêche pas la poursuite voire même la continuité à l'état courant au moment où s'est produite la panne (en cas de rappel téléphonique du client) de la discussion entre poste agent et 0 appelant. En effet, les données sont répliquées et synchronisées sur tous les serveurs en temps réel jusqu'à la panne.
L'organigramme de la fonctionnalité de reconnexion automatique est présenté en figure 16.
A la suite de l'initialisation du poste agent, au cours d'une étape 1601 , un navigateur 5 internet est lancé. Ensuite, au cours d'une étape 1602, on détermine s'il s'agit d'une première connexion du poste agent au centre d'appel virtuel. Si oui, au cours d'une étape 1603, l'agent qui utilise le poste agent spécifie l'adresse d'un serveur du centre d'appels virtuel et une applet (en français "appliquette") JAVA est téléchargée depuis cette adresse et un raccourci créé dans les « favoris » du navigateur. Si le résultat du test 1602 est négatif, au cours d'une étape 1604, 0 l'agent sélectionne, dans les favoris, l'adresse qui s'y trouve. A la suite de l'une ou l'autre des étapes 1603 ou 1604, au cours d'une étape 1605, le poste agent recherche un serveur implementant la présente invention (serveur coopératif, ACD multimédia distribué et coopératif, réplication et synchronisation temps réel des bases de données, ...), de préférence local au site de l'agent, et acceptant la connexion (en fonction des consignes de répartition de la charge). 5 Puis, au cours d'une étape 1606, le poste agent effectue la connexion sur le serveur trouvé au cours de l'étape 1605. Ensuite, au cours d'une étape 1607, on détermine s'il s'agit d'une reconnexion automatique. Si oui, au cours d'une étape 1608, on restaure la « session » de l'agent. Si l'agent avait un appel en cours, il est marqué comme prioritaire pour recevoir l'appel si la personne concernée par cet appel vient à rappeler. Si le résultat du test 1607 est négatif ou à 0 la suite de l'étape 1608, au cours d'une étape 1609, l'agent travaille et l'applet JAVA surveille la bonne connexion au serveur. Au cours d'une étape 1610, on détermine si le serveur répond correctement. Si oui, l'étape 1609 se poursuit. Si non, l'étape 1605 est réitérée, ce qui implique que le résultat du test 1607 soit positif. Pour mettre en oeuvre l'organigramme illustré en figure 16, chaque base de données comporte une mémoire adaptée à conserver une trace de chaque appel sur chaque serveur, trace comportant un identifiant du poste agent ayant servi ledit appel. Préférentiellement ladite trace de chaque appel comporte un identifiant de l'appelant. Selon des variantes, chaque serveur est adapté, lorsqu'un poste agent s'y connecte, à rappeler l'appelant avec lequel le poste agent était en communication.
Généralement, chaque serveur est adapté à connecter un appel au poste agent avec lequel une trace d'appel indique que l'appelant a déjà été connecté, si ledit poste agent est disponible.
Figure imgf000038_0001
En ce qui concerne la coopération entre les serveurs, lorsqu'un nouveau serveur intègre le groupe coopératif, la charge est rééquilibrée en prenant en compte ce nouveau serveur, chaque serveur décidant de son propre chef du nombre d'agents qu'il devra déconnecter. Par exemple, 3 serveurs nommés S1 , S2 et S3 sont en fonctionnement coopératif avec respectivement 10, 10 et 11 agents connectés (la charge est équilibrée). Un quatrième serveur S4 intègre le centre d'appels. Il y a maintenant 31 agents à répartir sur 4 serveurs : 3 serveurs auront 8 agents et 1 serveur 7. Pour minimiser les déconnexions, c'est le nouveau serveur qui aura 7 agents. Et donc, S1 et S2 vont décider de déconnecter 2 agents, S3 va en déconnecter 3. A l'aide du mécanisme de reconnexion automatique, les agents seront de fait reconnectés sur le nouveau serveur, qui est le moins chargé.

Claims

REVENDICATIONS
1 - Dispositif de communication multimédia comportant au moins deux serveurs (1523, 1524, 1530, 1531 , 1532) reliés entre eux, chaque serveur étant relié à au moins un poste agent (1522, 1525, 1526, 1534, 1535, 1536) et au moins un serveur étant relié à un réseau de télécommunication (1500, 1501 , 1502), chaque poste agent étant muni d'une interface de navigateur Internet, caractérisé en ce que chaque serveur : comporte un module de distribution automatique des appels vers ou depuis chaque poste agent auquel il est relié, - comporte un module de distribution automatique des appels vers ou depuis chaque autre serveur auquel il est relié, conserve une base de données comportant une table d'état représentative de l'occupation de chaque poste agent relié à chaque serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent, chaque serveur étant adapté à mettre à jour chaque table d'état en fonction de l'activité de chaque poste agent relié ou non audit serveur, de telle manière que toutes les tables d'état soient alignées en temps réel, et communique avec chaque autre serveur conformément au protocole Internet Protocol, en particulier pour véhiculer la voix, et en ce que chaque poste agent communique avec le serveur auquel il est relié conformément au protocole Internet Protocol, en particulier pour véhiculer la voix.
2 - Dispositif selon la revendication 1 , caractérisé en ce que chaque serveur conserve une base de données représentative d'attributs de chaque poste agent relié à un serveur, chaque serveur étant adapté à mettre à jour ladite base de données en fonction de l'évolution de chaque attribut de poste agent relié à un serveur, de telle manière que toutes les bases de données soient alignées.
3 - Dispositif selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que chaque serveur effectue une opération de partage dynamique des ressources entre serveurs, en fonction de sa propre activité et de l'activité des autres serveurs. 4 - Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la distribution automatique des appels est effectuée en fonction de la charge ou de la disponibilité des postes-agents et ou des serveurs, d'attributs de compétence affectés à chaque poste agent ou à chaque serveur, des coûts de transmission d'information liés à chaque chemin possible pour les appels, des coûts de traitement estimé de l'appel, de la qualité de service et/ou de ressources accessibles au poste agent.
5 - Dispositif selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, en cas de rupture de connexion entre un serveur et un poste agent, ledit poste agent se connecte automatiquement à un autre serveur (1605, 1606) et retrouve, avec ledit autre serveur, son contexte courant à l'instant où s'est produite la rupture de connexion avec le serveur défaillant. 6 - Dispositif selon l'une quelconque des revendications 1 à 5, caractérisé en ce que chaque base de données comporte, en outre, une mémoire adaptée à conserver une trace de chaque appel sur chaque serveur, trace comportant un identifiant du poste agent ayant servi ledit appel.
7 - Dispositif selon la revendication 6, caractérisé en ce que ladite trace de chaque appel comporte un identifiant de l'appelant.
8 - Dispositif selon l'une quelconque des revendications 6 ou 7, caractérisé en ce que chaque serveur est adapté à connecter un appel au poste agent avec lequel une trace d'appel indique que l'appelant a déjà été connecté, si ledit poste agent est disponible.
9 - Dispositif selon l'une quelconque des revendications 1 à 8, caractérisé en ce que chaque serveur est adapté, lorsqu'un poste agent s'y connecte, à rappeler l'appelant avec lequel le poste agent était en communication.
10 - Procédé de communication multimédia sur un réseau comportant au moins deux serveurs reliés entre eux, chaque serveur conservant une base de données étant relié à au moins un poste agent et au moins un serveur étant relié à un réseau de télécommunication, chaque poste agent étant muni d'une interface de navigateur Internet, caractérisé en ce que ledit procédé comporte, pour chaque serveur : une opération de distribution automatique des appels vers ou depuis chaque poste agent auquel il est relié, une opération de distribution automatique des appels vers ou depuis chaque autre serveur auquel il est relié, une opération de mise à jour d'une table d'état d'une base de données, ladite table d'état étant représentative de l'activité de chaque poste agent relié à un serveur et de rupture de connexion entre serveurs ou entre un serveur et un poste agent, de telle manière que toutes les tables d'état soient alignées en temps réel, . - une opération de communication avec chaque autre serveur conformément au protocole
Internet Protocol, en particulier pour véhiculer la voix, et en ce que ledit procédé comporte, pour chaque poste agent, une opération de communication avec le serveur auquel il est relié conformément au protocole Internet Protocol, en particulier pour véhiculer la voix.
PCT/FR2002/001618 2001-05-15 2002-05-14 Procede et dispositif de gestion de communications multimedia WO2002093892A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR01/06408 2001-05-15
FR0106408A FR2824980B1 (fr) 2001-05-15 2001-05-15 Procede et dispositif de gestion de communication multimedia

Publications (1)

Publication Number Publication Date
WO2002093892A1 true WO2002093892A1 (fr) 2002-11-21

Family

ID=8863313

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/001618 WO2002093892A1 (fr) 2001-05-15 2002-05-14 Procede et dispositif de gestion de communications multimedia

Country Status (2)

Country Link
FR (1) FR2824980B1 (fr)
WO (1) WO2002093892A1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2426146A (en) * 2005-05-12 2006-11-15 Rockwell Electronic Commerce Enterprise-wide occupancy based routing
EP2043346A1 (fr) * 2007-09-28 2009-04-01 Alcatel Lucent Système de gestion de centre d'appels
US7697506B2 (en) 2003-08-29 2010-04-13 Microsoft Corporation System and method for enhanced computer telephony integration and interaction
EP2429142A1 (fr) * 2009-05-06 2012-03-14 Huawei Technologies Co., Ltd. Procédés de gestion de sièges, centre d'appel et d'échange
US8694915B2 (en) 2003-05-20 2014-04-08 Microsoft Corporation Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7216221B2 (en) 2003-09-30 2007-05-08 Microsoft Corporation Method and system for unified audio control on a personal computer

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0421583A1 (fr) * 1989-10-06 1991-04-10 Gpt Limited Système de distribution d'appel
EP0610625A2 (fr) * 1992-12-29 1994-08-17 AT&T Corp. Distribution dynamique et automatique d'appels dans un réseau
EP0905959A2 (fr) * 1997-08-01 1999-03-31 Comverse Network Systems, Inc. Système téléphonique utilisant un réseau à commutation par paquets
WO1999020032A1 (fr) * 1997-09-18 1999-04-22 Apropos Technology Systeme et procede permettant d'integrer un vocal-sur-reseau a la telephonie traditionnelle
GB2342529A (en) * 1998-10-05 2000-04-12 Hewlett Packard Co Call centre
EP1026873A1 (fr) * 1999-02-05 2000-08-09 Siemens Aktiengesellschaft Procédé pour l' etablissment d' une connection entre deux systémes de communications sur un réseau IP-orienté

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0421583A1 (fr) * 1989-10-06 1991-04-10 Gpt Limited Système de distribution d'appel
EP0610625A2 (fr) * 1992-12-29 1994-08-17 AT&T Corp. Distribution dynamique et automatique d'appels dans un réseau
EP0905959A2 (fr) * 1997-08-01 1999-03-31 Comverse Network Systems, Inc. Système téléphonique utilisant un réseau à commutation par paquets
WO1999020032A1 (fr) * 1997-09-18 1999-04-22 Apropos Technology Systeme et procede permettant d'integrer un vocal-sur-reseau a la telephonie traditionnelle
GB2342529A (en) * 1998-10-05 2000-04-12 Hewlett Packard Co Call centre
EP1026873A1 (fr) * 1999-02-05 2000-08-09 Siemens Aktiengesellschaft Procédé pour l' etablissment d' une connection entre deux systémes de communications sur un réseau IP-orienté

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHAU S ET AL: "INTELLIGENT NETWORK ROUTING USING CCS7 AND ISDN", COMMUNICATIONS: CONNECTING THE FUTURE. SAN DIEGO, DEC. 2 - 5, 1990, PROCEEDINGS OF THE GLOBAL TELECOMMUNICATIONS CONFERENCE AND EXHIBITION(GLOBECOM), NEW YORK, IEEE, US, vol. 3, 2 December 1990 (1990-12-02), pages 1640 - 1644, XP000218850, ISBN: 0-87942-632-2 *
TRICHT VAN E ET AL: "VOICE-OVER-IP FOR CORPORATE USERS. A SOLUTION IN SEARCH OF A PROBLEM?", 38TH EUROPEAN TELECOMUNICATIONS CONGRESS. PROCEEDINGS NETWORKING THE FUTURE. UTRECHT, NL, AUG. 24 - 28, 1999, LONDON: IBTE, GB, 24 August 1999 (1999-08-24), pages 9 - 14, XP000847162 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694915B2 (en) 2003-05-20 2014-04-08 Microsoft Corporation Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US9392043B2 (en) 2003-05-20 2016-07-12 Microsoft Technology Licensing, Llc Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US7697506B2 (en) 2003-08-29 2010-04-13 Microsoft Corporation System and method for enhanced computer telephony integration and interaction
GB2426146A (en) * 2005-05-12 2006-11-15 Rockwell Electronic Commerce Enterprise-wide occupancy based routing
US8358774B2 (en) 2005-05-12 2013-01-22 Aspect Software, Inc. Enterprise-wide occupancy based routing
EP2043346A1 (fr) * 2007-09-28 2009-04-01 Alcatel Lucent Système de gestion de centre d'appels
EP2429142A1 (fr) * 2009-05-06 2012-03-14 Huawei Technologies Co., Ltd. Procédés de gestion de sièges, centre d'appel et d'échange
EP2429142A4 (fr) * 2009-05-06 2012-06-13 Huawei Tech Co Ltd Procédés de gestion de sièges, centre d'appel et d'échange

Also Published As

Publication number Publication date
FR2824980A1 (fr) 2002-11-22
FR2824980B1 (fr) 2004-08-06

Similar Documents

Publication Publication Date Title
CA2479132C (fr) Systemes et procedes de traitement d'une pluralite de communications
JP3790324B2 (ja) 共同制御を伴うホームacd代行者網における作業
AU2008223039B2 (en) Monitoring quality of customer service in customer/agent calls over a VoIP network
JP4295186B2 (ja) 電話通信を改良および強化する装置および方法
US6493447B1 (en) Contact server for call center for syncronizing simultaneous telephone calls and TCP/IP communications
US6996603B1 (en) Automatic desktop audio/video/data conferencing distributor
US7382773B2 (en) Contact center with normalized multiple protocol architecture
CA2419808C (fr) Centre d'appels pilote par un logiciel multimedia reparti
US6853714B2 (en) Apparatus and method for providing enhanced telecommunications services
US12022028B1 (en) Methods and systems for information streaming to user interface
JPH10313362A (ja) ハイパーテキストネットワークを介してテレマーケティングを行うためのサーバ、システムおよび方法
EP1623561A2 (fr) Communications universelles en fonction de l'etat de l'utilisateur
US7804953B1 (en) Redirection of outbound calling
US9049297B1 (en) Networked contact center
WO2002093892A1 (fr) Procede et dispositif de gestion de communications multimedia
CA2439694C (fr) Gestionnaire d'administration de centre d'appels
Headquarters Cisco Unified Communications System
FR2816792A1 (fr) Module, dispositf, procede et systeme de centre d'appel telephonique
JP2008263467A (ja) 構内交換システム、構内交換機及びそれらに用いる課金方法
FR2927755A1 (fr) Serveur de communication permettant d'associer a un premier utilisateur au moins un second utilisateur, pour un appelant donne ; et terminal permettant de configurer ce serveur.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP