WO2009101191A2 - Control of supplementary services such as call hold for sip phones via pc - Google Patents

Control of supplementary services such as call hold for sip phones via pc Download PDF

Info

Publication number
WO2009101191A2
WO2009101191A2 PCT/EP2009/051736 EP2009051736W WO2009101191A2 WO 2009101191 A2 WO2009101191 A2 WO 2009101191A2 EP 2009051736 W EP2009051736 W EP 2009051736W WO 2009101191 A2 WO2009101191 A2 WO 2009101191A2
Authority
WO
WIPO (PCT)
Prior art keywords
call
distributing system
status change
command
user agent
Prior art date
Application number
PCT/EP2009/051736
Other languages
French (fr)
Other versions
WO2009101191A3 (en
Inventor
Paul Pearson
Original Assignee
Orange Personal Communications Services Limited
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 Orange Personal Communications Services Limited filed Critical Orange Personal Communications Services Limited
Priority to EP09709920A priority Critical patent/EP2253129A2/en
Publication of WO2009101191A2 publication Critical patent/WO2009101191A2/en
Publication of WO2009101191A3 publication Critical patent/WO2009101191A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0024Services and arrangements where telephone services are combined with data services
    • H04M7/0033Notification or handling of incoming calls by a computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • 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

Definitions

  • the present invention relates to the processing of telephone calls in a telecommunications network.
  • the present invention relates to the processing of telephone calls in association with call a centre call distributing system.
  • IVR Integrated Voice Response
  • a calling party may navigate through the various options by inputting data using their telephone keypad.
  • IVRs are commonly used in businesses such as call centres to direct callers to an appropriate department.
  • An IVR may provide sufficient information such that the calling party is satisfied so that the call can be terminated without the need for the calling party to speak to a human operator employed at the call centre to deal with such incoming calls.
  • a human operator is hereinafter referred to as a user.
  • ACD automatic call distribution
  • An ACD is a telephone call distribution system that allows incoming calls to a call centre to be automatically distributed among a number of available user agents.
  • a user agent is typically a telephony device, such as a telephone, which is located somewhere in the telephone network.
  • a user may make himself available to take incoming telephone calls at a user agent.
  • An identifier of a user agent may be referred to as an agent position (also commonly called a 'seat' or 'place').
  • An agent position can be registered with the ACD to indicate that the ACD may begin to distribute incoming calls to the registered agent position accordingly.
  • a user may notify the ACD of their availability at a particular agent position either using the user agent itself, or via a user terminal, such as a personal computer located in proximity to the user agent or a hand-held computing device carried by the user.
  • the ACD When the ACD receives an incoming call it will distribute the call to an available agent position according to a routeing strategy including one or more rules by which an appropriate agent position may be selected.
  • the routeing strategy may be implemented by a Universal Routeing Server (URS) or other logical entity. If no agent positions are available, the ACD may place the call in a queue and the call will be distributed to an appropriate agent position when one becomes available, typically in a 'First-in, First-Out' manner.
  • the ACD may play a suitable announcement and/or call waiting music to the calling party whilst they are queuing, or route the call to a media server which provides announcement and/or music playback functionality.
  • An ACD may also include a Session Initiation Protocol (SIP) server for communicating with user agents such as SIP telephones in packet-switched parts of the network, such communication being in the form of SIP messaging.
  • SIP Session Initiation Protocol
  • Some call centres support 'rich-services functionality', which is defined herein as functionality over and above basic telephony functions such as call initiation, call answer and call termination.
  • rich-services functionality include placing of calls on hold and retrieving calls from hold on multiple lines, transferring of calls from one user agent to another user agent, teleconferencing, etc.
  • Providing rich-services functionality may require the user agents themselves to carry out certain call processing tasks. This is generally only possible if the user agents have data processing capabilities, such as in relatively modern telephones, for example those which are SIP compliant (commonly referred to as 'SIP phones'). However, currently not even all SIP phones have sufficient data processing capabilities to support such rich-services functionality, and many call centre networks still include legacy analogue telephones (commonly referred to as 'Black phones' or 'Plain Old Telephone Service (POTS) phones'), meaning that rich-services functionality is not available.
  • POTS 'Plain Old Telephone Service
  • call centre networks which include user agents which do not support rich- services, without requiring the user agents themselves to be replaced or upgraded to more advanced devices, and without requiring significant modification to the existing call centre network infrastructure.
  • a method of processing telephone calls in association with a call centre call distributing system in a telecommunications network said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said method comprising the steps of: arranging an intermediate node, located between said call distributing system and a first user agent, to handle transfers of signalling information with said call distributing system on behalf of said first
  • an intermediate node located between the call distributing system and the user agents bridges the two environments allowing support of a more fully featured call processing command interface for the call distributing system side, whilst a less featured interface can be used for connecting to user agents which are unable to generate and process commands in the command set themselves.
  • Users are able to initiate in-call call status changes relating to rich- services functionality via user terminals separate to the user agents, with the call distributing system being instructed accordingly.
  • the method comprises generating, and transmitting, said in- call call status change command from said first user terminal to said call distributing system.
  • the method comprises generating, and transmitting, said in-call call status change command from said intermediate node in response to initiation of the in-call status change at said first user terminal.
  • generation and transmission of in-call call status change commands may occur at each user terminal or may occur at the intermediate node.
  • the generated in-call call status change command is transmitted via a different data communications protocol than a data communications protocol via which signalling information is transferred during said first signalling procedure.
  • the intermediate node is able to communicate with the call distributing system in a different data communications protocol in which the call distributing system receives in-call call status change commands, e.g. the transfer of signalling information in the first signalling procedure may be carried out using SIP, even if in-call call status change commands are received in a non-SIP format.
  • the first user agent is not capable of generating said in-call call status change command.
  • in-call status changes may be initiated via a user terminal separate to the user agent even if a user agent such as an analogue telephone is not capable of initiating such commands itself.
  • the generated in-call call status change command is associated with one or more of: putting a call on hold, retrieving a call from hold, creating a teleconference, and transferring a call to a second user agent different to said first user agent.
  • an in-call status change command may relate to combining an additional incoming call, or a call to or from another other user agent, into a call to create a teleconference.
  • a generated in-call call status change command is associated with requesting an incoming call to be distributed to said first user agent and putting a call on hold.
  • one command may serve more than one purpose in relation to one user agent, for example requesting a further incoming call to be distributed to the user agent and putting the further incoming call on hold, or requesting a further incoming call to be distributed to the user agent and putting a different call to the user agent on hold.
  • a generated in-call call status change processing command is further associated with redirecting a call to a media server node, said media server node being responsible for transmitting media data to calling parties whose calls are on hold.
  • a calling party may be played a legal announcement or other important information, or call-waiting music when their call is on hold, whilst a further call may be taken at the user agent.
  • the method comprises: receiving an end-of-call processing request at said first user terminal; in response to receipt of said end-of-call processing request, generating an end-of-call command in said command set; and transmitting said generated end-of-call command to said call distributing system.
  • a user may request that a particular call is ended via their user terminal.
  • An end-of call command can then be generated either at the user terminal or at the intermediate node and transmitted to the call distributing system, as a result of which the call distributing system and intermediate node can transfer the relevant signalling information to tear down the call.
  • the generated end-of-call command transmitted from said intermediate node to said call distributing system indicates to said call distributing system that a further incoming call should be distributed to said first user agent.
  • a user may wish to be distributed a further incoming call immediately after they have finished taking a previous incoming call.
  • a user may wish to take a break before receiving another incoming call, in which case the further indication requesting a further call may be omitted or delayed.
  • the call distributing system is capable of conducting registration processing in response to receipt of a registration command in said command set, said method comprising: generating a registration processing command in said command set at said intermediate node, said registration processing command indicating that said intermediate node is to handle call processing on behalf of said first user agent; and transmitting said registration processing command from said intermediate node to said call distributing system.
  • an intermediate node can register one or more user agents on behalf of which they will handle calls and associated signalling information transfers whereby the call distributing system will subsequently forward call processing data for those user agents to the intermediate node.
  • the method comprises receiving a registration request from said first user terminal, said registration request indicating that a user is available to receive incoming calls at said first user agent, wherein said registration processing command is generated in response to receipt of said registration request at said intermediate node.
  • a user may register their availability to take incoming calls at a particular user agent via a user terminal which is capable of receiving and processing such data, where the user terminal is a separate device to the user agent.
  • the method comprises creating a telephony connection between said intermediate node and said first user agent at least for the duration of an incoming telephone call distributed to said first user agent.
  • an incoming call may be routed to a user agent via the created telephony connection.
  • the method comprises maintaining the created telephony connection after said incoming telephone call has terminated, whereby a subsequent incoming telephone call distributed by said call distributing system to said intermediate node may be routed via the maintained telephony connection.
  • a single telephony connection process need be carried out between the intermediate node and a user agent which can help reduce delays and resources associated with tearing down and creating successive connections.
  • the method comprises terminating said created telephony connection after said incoming telephone call has terminated, whereby a subsequent incoming telephone call distributed by said call distributing system to said intermediate may be routed via a subsequently initiated telephony connection.
  • bandwidth and/or network infrastructure required for a telephony connection with a user agent may be reduced by creating a new connection only when specifically required for a call and subsequently tearing the connection down at the end of each call.
  • the method comprises arranging said intermediate node to handle transfer of signalling information with said call distributing system on behalf of a plurality of user agents, such that said intermediate node is capable of transferring signalling information with said call distributing system during a plurality of signalling procedures conducted by said call distributing system in response to receipt by said call distributing system of in-call call status change commands associated with said plurality of user agents.
  • a single intermediate node may process signalling information for incoming calls received from the call distributing system on behalf of multiple user agents.
  • a system for processing telephone calls in association with a call centre call distributing system in a telecommunications network said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said system comprising: means for arranging an intermediate node, located between said call distributing system and a first user agent, to handle transfers of signalling information with said call distributing system on behalf of said first user
  • a call centre call distributing system in a telecommunications network
  • said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users
  • said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure
  • said computer software comprising: a function for arranging an intermediate node, located between said call distributing system and a first user agent, to handle transfers of signalling information with said call distributing system on behalf of said
  • a method of processing telephone calls in association with a call centre call distributing system in a telecommunications network said call distributing system being capable of distributing incoming telephone calls along call connections to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said method comprising the steps of: arranging an intermediate node, located between said call distributing system and a first user agent, to handle call connections with said call distributing system on behalf of said first user agent; arranging a first user terminal, separate from said first user agent, to initiate call status changes on behalf of said first user agent; at said intermediate node, handling a plurality of call connections with said call distributing system, the plurality of call connections each being able to convey call content, at said intermediate node, handling a single call connection with said first user agent, the single call connection being able to convey call content; at said first user terminal, initiating a call status change;
  • multiple incoming calls may be distributed by the call distributing system for a single user agent.
  • Multiple call connections associated with the multiple incoming calls are created and processed by the intermediate node, even though the user agent is only able to process a single call connection at any one time.
  • a user may switch between different call connections to determine which of the incoming calls they receive call content from at their user agent. Switching between call connections is initiated by a user requesting call status changes through their user terminal, for example via a graphical display provided on the user terminal.
  • the method comprises, at said intermediate node, simultaneously handling said plurality of call connections with said call distributing system during the handling of said single call connection with said first user agent.
  • the method comprises, at said intermediate node: handling a first incoming call on a first call connection with said call distributing system; arranging said first incoming call to be connected to said first user agent on said single call connection; handling a further incoming call on a second call connection; and switching the connection of said first user agent on said single call connection, from said first incoming call to said second incoming call, in response to the initiation of the call status change by said first user terminal.
  • the intermediate node may either handle multiple incoming calls at once, or may handle multiple incoming calls successively in relation to the single call connection to the user agent.
  • Different routeing strategies employed by the call distributing system may mean that one of these call handling options is preferable to the other. Further, different users may prefer calls to be handled according to one of these options over the other.
  • a method of processing telephone calls in association with a call centre call distributing system in a telecommunications network said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said method comprising the steps of: arranging a network node which is different to said first user agent, to handle transfers of signalling information with said call distributing system and initiate call status changes on behalf of said first
  • a network node allows support of a more fully featured call processing command interface for the call distributing system side, whilst a less featured interface can be used for connecting to user agents which are unable to generate and process commands in the command set themselves. Users are able to initiate in-call call status changes relating to rich-services functionality via the network node, with the call distributing system being instructed accordingly.
  • the network node may be a network endpoint such as a user terminal.
  • Figure 1 is a system diagram of a call centre telecommunications network according to an embodiment of the present invention.
  • Figure 2 is a diagram showing the components of an intermediate node according to an embodiment of the present invention.
  • Figure 3 is a message flow diagram showing a service initiation procedure according to an embodiment of the present invention.
  • Figure 4 is a message flow diagram showing a service initiation procedure according to a further embodiment of the present invention.
  • Figure 5 is a message flow diagram showing a service initiation procedure according to a yet further embodiment of the present invention.
  • Figure 6 is a message flow diagram showing a command processing procedure for putting a call on hold according to an embodiment of the present invention.
  • Figure 7 is a message flow diagram showing a command processing procedure for retrieving a call from hold according to an embodiment of the present invention.
  • Figure 8 is a diagram of an intermediate node arranged to perform multiple call connection processing according to an embodiment of the present invention.
  • Figure 9 is a message flow diagram showing switching between call connections according to an embodiment of the present invention.
  • FIG. 1 is a system diagram of a call centre telecommunications network according to an embodiment of the present invention.
  • the network includes an ACD system 104 responsible for distributing incoming telephone calls to a call centre amongst a number of users of the system.
  • the users access the system via user agents 108, 126, 128, which are telephony devices such as fixed or mobile telephones.
  • ACD system 104 includes a media server 118 for playing announcements or call waiting music to calling parties, a URS 120 for routeing incoming calls to available agent positions, a SIP server 122 for processing SIP signalling information in relation to calls, processing data associated with registration of agent positions and handling log-in of users in association with agent positions, and a data store 102 for storing data relating to agent positions, and registered user agents.
  • Data store 102 may include a pool of predefined access data, for example licensing data identifying agent positions for which access has been granted to the call processing system, and an indication of which of those agent positions are currently registered to take calls, i.e. those for which a user has logged-in to telephone system indicating that they are available to take calls.
  • ACD system 104 supports a command set associated with processing of incoming calls. Processing of the command set may be carried out by SIP server 122 or other such data processing device, and associated command data may be stored in data store 102 or a separate data store accessible by SIP server 122.
  • the command set includes an end-of call command associated with the termination and tearing down of incoming calls.
  • the command set also includes a number of in-call call status change commands associated with changing the status of incoming calls, for example putting a call on hold, retrieving a call from hold, transferring a call to another user agent, switching between different incoming calls, etc.
  • a user also has an associated user terminal 106, for example a personal computer, which includes data input means such as a keyboard or mouse, a display device such as a liquid crystal display (LCD), and data processing means such as a central processing unit (CPU).
  • User terminal 106 has access to telecommunications network 130 and is able to communicate with SIP server 122 and intermediate node 100, for example using SIP messaging.
  • User terminal 106 may also include a command generator (not shown) responsible for generating commands associated with a command set supported by ACD system 104 and transmitting commands thereto via network 130.
  • User terminal 104 may store data relating to the command set in command set data store (not shown).
  • Figure 1 only depicts one user terminal 106.
  • each user agent 108, 126, 128 may have an associated user terminal, such as a user terminal located in proximity to the user agent at a fixed desktop or mobile location.
  • voice data 116 for such a telephone call may pass to and from user agent 108 and user agent 110 via one or more circuit-switched and/or packet-switched networks 130 such as the Public Switched Telephone Network (PSTN) and the Internet respectively.
  • PSTN Public Switched Telephone Network
  • VoIP Voice over Internet Protocol
  • RTP Realtime Transport Protocol
  • RTP servers may be employed for data transfer with one or more RTP servers (not shown) capturing, compressing, packetising, and transmitting the voice data 116 over the network 130 in real time.
  • Signalling information for controlling and routeing such a telephone call may also pass through the PSTN and/or the Internet and be processed by and passed between one or more telephone call processing entities or switches (not shown), which may include one or more SIP servers.
  • Signalling information in circuit-switched parts of the network may be transmitted according to the Signalling System Number 7 (S S7) system and in packet- switched parts of the network according to the SIP protocol in the form of SIP messaging.
  • S S7 Signalling System Number 7
  • signalling information for telephone calls passes between SIP server 122 and an intermediate node 100, which is a network infrastructure node located in the network remote from the user agents.
  • Intermediate node 100 supports at least one, and preferably a number of user agents, handling signalling information on behalf of these user agents.
  • a user agent can be registered with ACD system 104 in association with an agent position such that when ACD system 104 is notified that a user is available to take incoming calls, ACD system 104 can distribute incoming telephone calls to a user agent associated with an agent position.
  • Intermediate node 100 may include a hardware device such as a server having data processing capabilities and may be located remotely to ACD system 104 in the network. Alternatively, intermediate node 100 may be implemented as hardware within ACD system 104 itself or as a hardware or software enhancement to SIP server 122 in ACD system 104, or other suitable configuration.
  • Intermediate node 100 Users can log-in to the system via intermediate node 100 with details of a user agent they are available to take incoming calls at. Intermediate node 100 then uses the SIP 'Register' function to register these user agents with ACD system 104 in association with agent positions. ACD system 104 may subsequently distribute incoming telephone calls to these agent positions which are processed on behalf of the user agents by intermediate node 100. Alternatively, users can log-in to the system via ACD system 104 with details of a user agent they are available to take incoming calls at, or details of intermediate node 100. Intermediate node 100 can then register with ACD system 104 in order to receive incoming calls from ACD system 104 and handle signalling information for the calls on behalf of the user agents.
  • Embodiments of the present invention relate to the provision of rich- services functionality to user agents in call centre networks.
  • Such rich-services functionality may for example include putting a telephone call on hold, retrieving a telephone call from hold, switching from one telephone call to another telephone, transferring a call to another telephony device, etc.
  • the user agents are devices which are unable themselves to provide such rich-services functionality, handle signalling information or carry out call processing tasks associated with such rich-services functionality.
  • Such devices may for example include relatively basic SIP phones or analogue telephones.
  • Embodiments of the present invention allow provision of rich-services functionality in call centre networks which include user agents which are unable to provide or do not support such rich-services functionality themselves.
  • the present invention provides rich-services in such call centre networks by locating intermediate node 100 between ACD system 104 and user agents at which users may make themselves available to take incoming calls.
  • Figure 2 shows components of intermediate node 100 according to an embodiment of the present invention.
  • Intermediate node 100 includes a network interface 206 for interfacing incoming and outgoing data 112 such as signalling information to and from network 130, a user agent interface 208 for interfacing incoming and outgoing data 214 such as signalling information 114 with user agents 108, 126, 128.
  • An interface mapping module 210 processes data passing between network interface 206 and user agent interface 208.
  • Intermediate node 100 includes a call processing manager 202 responsible for processing incoming calls from ACD system 104 on behalf of a number of user agents, receiving and processing requests from user terminal 106, and creating and tearing down of telephony connections to user agent 108.
  • Intermediate node 100 includes a command generator 204 responsible for generating commands associated with a command set supported by ACD system 104 and transmitting commands thereto via network interface 206.
  • Command generator may store data relating to the command set in command set data store 204a.
  • User terminal 106 may also include a command generator (not shown) responsible for generating commands associated with a command set supported by ACD system 104 and transmitting commands thereto via network 130.
  • User terminal 106 may store data relating to the command set in command set data store (not shown).
  • the data command generator and associated store in user terminal 106 may be provided in addition to or as an alternative to the command generator and associated store provided in intermediate node 100.
  • command set data store 204a is located integrally to intermediate node 100. However, command set data store 204a may be located remotely to intermediate node 100, for example locally to ACD system 104 in combination with data store 102.
  • Figure 3 is a message flow diagram showing a service initiation procedure according to an embodiment of the present invention.
  • the service initiation procedure relates to the process carried out from when a user requests access to the call centre system and is subsequently granted access so that they may begin receiving incoming calls from the call centre system at a particular user agent 308.
  • a user requests access to the call centre system by entering agent position request data on their user terminal 306, for example a username and password, along with an identifier of the user agent at which the user wishes to receive incoming calls at, using a keyboard or mouse.
  • user terminal 306 transmits an agent position request including data identifying user agent 308, as per step 3a, the agent position request being received at intermediate node 300.
  • intermediate node 300 accesses data store 302 in step 3b in order to determine an available agent position that can be allocated to the user. If an agent position is available, then intermediate node 300 is informed of such an agent position in step 3c.
  • Intermediate node 300 transmits an agent position response containing data identifying the allocated agent position to user terminal 306 in step 3d.
  • user terminal 306 requests registration for use of the allocated agent position in the network. This is carried out by transmittal of a registration initiation request from user terminal 306 to intermediate node 300 as shown in step 3e.
  • the registration initiation request may include data identifying user agent 308 at which the user wishes to take incoming calls and the allocated agent position.
  • the registration initiation request may also include data identifying the user, such as their name, associated employee number or suchlike.
  • intermediate node 300 registers the allocated agent position with SIP server 304 of ACD system 104 using SIP 'Register' functionality.
  • This registration process involves intermediate node 300 transmitting a SIP 'Register' message 3f containing data identifying the allocated agent position to SIP server 304.
  • SIP server 304 responds with a '200 OK' SIP message in step 3g, indicating that registration was successful.
  • Intermediate node 300 then makes a telephony call connection to user agent 308 using identification data supplied by user terminal 306 in step 3a.
  • SIP 'INVITE' message This is carried out using a SIP 'INVITE' message in step 3h.
  • User agent 308 responds by transmitting a SIP ' 180 Ringing' message to intermediate node 300 in step 3i indicating that user agent 308 is ringing and awaiting the call to be answered.
  • SIP 'INVITE' message This is carried out using a SIP 'INVITE' message in step 3h.
  • User agent 308 responds by transmitting a SIP ' 180 Ringing' message to intermediate node 300 in step 3i indicating that user agent 308 is ringing and awaiting the call to be answered.
  • SIP 'INVITE' message This is carried out using a SIP 'INVITE' message in step 3h.
  • User agent 308 responds by transmitting a SIP ' 180 Ringing' message to intermediate node 300 in step 3i indicating that user agent 308 is ringing and awaiting the call to be answered.
  • user agent 308 transmit
  • step 3j which is acknowledged by intermediate node 300 with a SIP 'ACK' message in response, as shown in step 3k.
  • Intermediate node 300 informs user terminal 306 that registration with SIP server 304 and set-up of a telephone call connection to user agent 308 were successful by transmitting a registration confirmation response in step 3m.
  • user terminal 306 logs-in to the call centre system via SIP server 304 using the allocated agent position, and also possibly a username and password.
  • SIP server 304 informs intermediate node 300 that user terminal 306 has logged-in with the allocated agent position. Once log-in has been completed, the user is subsequently able to receive incoming calls distributed by ACD system 104 via intermediate node 300 at user agent 308.
  • the call connection remains as a persistent connection for at least the duration of the incoming telephone call, unless the call is dropped by the user, or the user logs- out of the telephone system via user terminal 306.
  • SDP Session Description Protocol
  • the call connection between intermediate node 300 and user agent 308 is maintained for further incoming calls distributed by ACD system 104 to user agent 308. This can help reduce delays between calls that a user deals with and hence help to increase efficiency and throughput of the call centre.
  • a persistent call connection between intermediate node 300 and user agent 308 is not used. Instead, each time an incoming call is distributed by ACD system 104 to user agent 308, a connection between intermediate node 300 and user agent 308 is created. This may be preferable if for example user agent 308 is located offshore and creating and tearing down a call connection as and when necessary instead of a persistent connection may help to avoid any expense incurred in relation to use of foreign telephony bandwidth and/or network infrastructure.
  • user agent 308 is a SIP compliant device, so is able to understand and process SIP messages from intermediate node 300 in order to set up the call connection in steps 3h-3k.
  • user agent 308 is a non-SIP compliant device, such as an analogue telephone, or a SIP device with limited SIP messaging capabilities, which cannot understand or process the SIP messaging sufficiently, then all, or some, SIP messages cannot be sent directly to user agent 308.
  • SIP messages are sent to a media gateway (not shown) located in the network 130 which is responsible for handling such messaging on behalf of the user agent. The media gateway will then do any necessary data format conversion and communicate with the user agent in a format which the user agent understands, for example using a non-SIP protocol.
  • intermediate node such as an analogue telephone, or a SIP device with limited SIP messaging capabilities
  • intermediate node 300 contacts and accesses data store 102 in order to obtain an available agent position to allocate to user terminal 306 and the associated user agent.
  • intermediate node 300 may access data store 302 and download a group of agent positions at once, or all available agent positions. Intermediate node 300 can then subsequently allocate agent positions directly upon request without having to revert to data store 302 each time an allocation request is received.
  • Data store 302 may be situated locally to ACD system 104 (for example as per item 102 in Figure 1) or may be hosted remotely to ACD system 104, for example at a website or other file depository maintained by a third party who are responsible for providing agent positions and/or issuing licences for accessing the telephony system.
  • Figure 4 is a message flow diagram showing a service initiation procedure according to a further embodiment of the present invention. Many of the steps in Figure 4 are similar to those shown in Figure 3 and described in detail above, i.e. steps 4a and 4d relate to an agent position request and corresponding response, steps 4b and 4c relate to accessing the data store and corresponding response, and step 4e relates to a registration initiation request. In the embodiment of Figure 4 however, instead of proceeding to registration of one or more allocated agent positions with SIP server 404 after transmittal of a registration request in step 4e, a registration confirmation response is transmitted from intermediate node 400 to user terminal 406 in step 4m.
  • Data processing 406 then logs-in to the call centre system via SIP server 404 in step 4n and SIP server 404 informs intermediate node 400 that user terminal 406 has logged-in with the allocated agent position in step 4o.
  • Intermediate node 400 then makes a call connection to user agent 408 in steps 4h-4k, after which intermediate node 400 registers the allocated agent position with SIP server 404 of ACD system 104 in step 4f, with corresponding response in step 4g.
  • step 4g has been carried out, the user is able to receive incoming calls distributed by ACD system 104 at user agent 408 via intermediate node 400.
  • Figure 5 is a message flow diagram showing a service initiation procedure according to a yet further embodiment of the present invention. Many of the steps in Figure 5 are similar to those shown in Figure 3 and described in detail above, i.e. steps 5a and 5d relate to an agent position request and corresponding response, steps 5b and 5 c relate to accessing the data store and corresponding response, and step 5e relates to a registration initiation request. Similarly, intermediate node 500 makes a call connection to user agent
  • step 5m entails transmittal of a registration confirmation response
  • step 5n and 5o involve data processing 506 logging-in to the call centre system via SIP server 504 and SIP server 504 informing intermediate node 500 of such respectively.
  • registration of one or more allocated agent positions with SIP server 504 occurs before any of steps 5a-5e, 5h-5k, or 5m-5o take place.
  • Such pre-registration allows the intermediate node to pre-register one or more agent positions with ACD system 104, which can then subsequently be associated with a particular user agent when a user contacts intermediate node 500 identifying a user agent at which they wish to retrieve calls distributed by ACD system 104.
  • Figure 6 is a message flow diagram showing a command processing procedure for putting an incoming call on hold according to an embodiment of the present invention.
  • This embodiment of the invention employs an intermediate node 600 to interface with SIP 604 server of ACD system 104 in order to handle transfers of signalling information on behalf of user agent 608.
  • Intermediate node 600 uses the SIP 'Register' function to instruct SIP server 604 that signalling information for calls for user agent 608 should be directed to intermediate node 600.
  • the user of user agent 608 also has access to an associated user terminal 606 such as a personal computer.
  • User terminal 606 is used to display information to the user about available in-call call status change options for changing the status of calls associated with the user agent.
  • Various in-call processing options are supported, but this particular example relates to changing the call status of a call to put the call on hold, i.e. from 'connected' status to 'hold' status.
  • the user controls the status of incoming calls to their user agent via their user terminal 606 and intermediate node 600 controls the necessary signalling procedure and instructs SIP server 604 accordingly.
  • the user inputs a relevant instruction via data input means such as a keyboard or mouse on user terminal 606, i.e.
  • the command generator in user terminal 606 generates an in-call status change command to change the status of the call, which is transmitted from user terminal 606 to SIP server 604 of ACD system 104 in step 6a.
  • SIP server 604 processes the in-call status change command and conducts a signalling procedure with intermediate node 600 in order change the call status.
  • the signalling procedure includes SIP server 604 transmitting a SIP 'Invite' message containing SDP data '0.0.0.0' in step 6b to intermediate node 600.
  • Intermediate node 600 processes the SIP 'Invite' message from SIP server 604 and places the call on hold by transmitting a further SIP 'Invite' message containing SDP data '0.0.0.0' in step 6c to user agent 608.
  • User agent 608 responds with a SIP '200 OK' message in step 6d, which intermediate node 600 acknowledges by responding with a SIP 'ACK' message in step 6e.
  • Intermediate node 600 responds to the SIP 'Invite' message transmitted from SIP server 604 in step 6b with a SIP '200 OK' message in step 6f, which SIP server 604 acknowledges by responding with a SIP 'ACK' message in step 6g.
  • User terminal 606 is then informed that the call status change to put the call on hold was successful with a message from SIP server 604 to user terminal 606 in step 6h. The user can be notified that the requested call status change was successful via display means on user terminal 606.
  • the command sent from user terminal 606 in step 6a and call status change confirmation message in step 6h are sent in a protocol which can be understood by ACD system 104, for example a protocol particular to the call centre.
  • Steps 6b-6g may be transmitted in a different protocol, for example using SIP.
  • all steps 6a-6h may include SIP messaging.
  • a suitable media gateway (not shown) processes these on behalf of user agent 608 and communicates with user agent 608 to put the call connection on hold using a POTS compatible protocol.
  • the in-call call status change command to change the status of the call may be generated and transmitted from intermediate node 600 to SIP server 604 of ACD system 104 (instead of from user terminal 606 to SIP server 604 as depicted in step 6a in Figure 6).
  • the user when the user chooses to put the call on hold, the user inputs a relevant instruction via user terminal 606 which informs intermediate node, which then proceeds to generate and transmit the in-call call status change command.
  • Figure 7 is a message flow diagram showing a command processing procedure for retrieving an incoming call from hold according to an embodiment of the present invention.
  • Figure 7 can be seen to follow a similar sequence as Figure 6.
  • the user inputs a relevant instruction via user terminal 706 to change the in-call status of the current call from 'hold' status to 'connected' status.
  • an in-call status change command to change the status of the call is generated and transmitted from user terminal 706 to SIP server 704 of ACD system 104 in step 7a.
  • SIP server 704 processes the in-call status change command and conducts a signalling procedure with intermediate node 700 in order to change the call status.
  • the signalling procedure proceeds in a similar manner as with Figure 6, including SIP server 704 transmitting a SIP 'Invite' message containing valid SDP data for the call being retrieved in step 7b, intermediate node 700 retrieving the call on hold by transmitting a further SIP 'Invite' message containing valid SDP data for the call to user agent 608 in step 7c, with corresponding response and acknowledgment in steps 7d and 7e respectively, intermediate node 700 responding to the SIP 'Invite' message of step 7b in step 7f, with corresponding acknowledgment in step 7g.
  • User terminal 706 is then informed that the call status change to retrieve the call from hold was successful with a message from SIP server 704 to user terminal 706 in step 7h. The user can be notified that the requested call status change was successful via display means on user terminal 706.
  • One embodiment of the invention involves a call being redirected to a media server node so that a calling party may be played an announcement, music or suchlike.
  • an in-call call status command may relate to several in-call call status changes.
  • an in-call status command can be generated which instructs ACD system 104 to distribute another call to a user agent and also to put a call to the same user agent on hold.
  • the call put on hold may be the call previously distributed to the user agent or alternatively may be the subsequently distributed call.
  • Embodiments of the invention allow processing of multiple call connections to the call distributing system in association with a single connection to a user agent.
  • the intermediate node located between the call distributing system and a user agent is arranged to handle call connections on behalf of the user agent.
  • the call distributing system distributes a plurality of incoming calls to the intermediate node in association with the user agent.
  • the incoming calls are distributed along a plurality of call connections created between the call distributing system and the intermediate node, with each connection being able to convey call content in relation to an incoming call.
  • a user is made aware of the various calls available to them via their user terminal, for example via a Graphical User Interface (GUI) on an incorporated display means. The user may then choose a particular call which they wish to take at their user agent by making a suitable input via their user terminal, which informs the intermediate node accordingly.
  • GUI Graphical User Interface
  • the intermediate node selects the appropriate call connection from the various available call connections and conveys call content from the selected call connection to and from the single connection to the user agent accordingly.
  • the intermediate node may handle a plurality of call connections with the call distributing system simultaneously during handling of a single call connection with the user agent.
  • intermediate node may initially process a first incoming call on a first connection with the call distributing system and connect this to a single connection to the user agent, before handling a second incoming call on a second connection with the call distributing system, and in response to a call status change initiated at the user terminal, switching the second connection of the second incoming call over to the single connection with the user agent.
  • Figure 8 is a diagram of an intermediate node arranged to perform multiple call connection processing according to an embodiment of the present invention.
  • intermediate node 100 has three call connections with ACD system 104, namely (3), (2) and (1).
  • Intermediate node 100 has a single call connection (0) with user agent 108. Depending on call status changes initiated at user terminal 106, intermediate node 100 will switch either call connection (3), (2), or (1) to connection (0) such that the appropriate call content can pass to and from user agent 108.
  • user terminal 106 is depicted connected to ACD system 104 and intermediate node 100. In reality, user terminal 106 will be connected to one or the other or both of ACD system 104 and intermediate node 100, possibly via network 130, depending on how call status changes are relayed on from user terminal 106. User terminal 106 and intermediate node may communicate with ACD system 104 via SIP server 122.
  • call status changes are first relayed from user terminal 106 to intermediate node 100, which then interacts with ACD system 104 to exchange the necessary signalling information to implement the call status change.
  • call status changes are first relayed from user terminal 106 to ACD system 104, which then interacts with intermediate node 100 to exchange the necessary signalling information to implement the call status change.
  • Figure 9 is a message flow diagram showing switching between call connections according to an embodiment of the present invention.
  • a first call ('Call 1 ') is connected to user agent 908, as shown by item 910.
  • Intermediate node 900 is informed by SIP server 904, of a second incoming call ('Call 2') to user agent 908 in step 9a in the form of a SIP 'Invite' message containing valid SDP data for Call 2, to which intermediate node 900 responds with a SIP ' 100 Trying' message in step 9b.
  • Intermediate node then transmits a SIP ' 180 Ringing' message for Call 2 to SIP server 904 in step 9c, which in turn informs user terminal 906 of such in step 9d.
  • User terminal 906 notifies the user of the availability of Call 2, for example via a graphical display, in response to which the user decides that they want to take Call 2 instead of the Call 1, as shown by item 912.
  • SIP server 904 processes the call status change command and conducts a signalling procedure with intermediate node 900 in order to change the call status of Call 1.
  • the signalling procedure includes SIP server 904 transmitting a SIP 'Invite' message containing SDP data
  • Intermediate node 900 processes the SIP 'Invite' message from SIP server 904, places Call 1 on hold and transmits a further SIP 'Invite' message containing SDP data '0.0.0.0' in step 9g to user agent 908.
  • User agent 908 responds with a SIP '200 OK' message in step 9h, which intermediate node 900 acknowledges by responding with a SIP 'ACK' message in step 9i.
  • Intermediate node 900 responds to the SIP 'Invite' message transmitted from SIP server 904 in step 9f with a SIP '200 OK' message in step 9j, which SIP server 904 acknowledges by responding with a SIP 'ACK' message in step 9k.
  • User terminal 906 is then informed that the call status change to put Call 1 on hold was successful with a message from SIP server 904 to user terminal 906 in step 9m.
  • User terminal 906 now notifies the user that both Call 1 and Call 2 are on hold via its display, in response to which the user enters suitable input on the user terminal such that Call 2 can be answered.
  • SIP server 904 processes the call status change command and conducts a signalling procedure with intermediate node 900 in order to change the call status of Call 2.
  • the signalling procedure includes SIP server 904 transmitting a SIP 'Notify' message in step 9o to intermediate node 900, to which intermediate node 900 responds with a SIP '200 OK' message in step 9p.
  • Intermediate node 900 processes the SIP 'Invite' message from SIP server 904, places the call on hold and transmits a further SIP 'Invite' message containing valid SDP data in step 9q to user agent 908.
  • User agent 908 responds with a SIP '200 OK' message in step 9r, which intermediate node 900 acknowledges by responding with a SIP 'ACK' message in step 9s.
  • Intermediate node 900 then makes a response to the SIP 'Invite' message transmitted from SIP server 904 in step 9a with a SIP '200 OK' message in step 9t, which SIP server 904 acknowledges by responding with a SIP 'ACK' message in step 9u.
  • User terminal 906 is then informed that the call status change to answer the second incoming call was successful and that a connection to Call 2 has been established with a message from SIP server 904 to user terminal 906 in step 9v, and can notify the user accordingly via its display.
  • Call 1 is now on hold and the user is able to conduct Call 2 via user agent 908.
  • the labels for steps 9a, 9b, 9c, 9o, 9p, 9t and 9u include the numeral 2 as a suffix which indicates that these message are related to a SIP session for the second incoming call connection, i.e. Call 2.
  • the labels for steps 9f, 9j and 9k have the numeral 1 as a suffix which indicates that these message are related to a SIP session for the first incoming call connection, i.e. Call 1.
  • the labels for steps 9g, 9h, 9i, 9q, 9r and 9s have the numeral 0 as a suffix which indicates that these messages are related to a SIP session for the single call connection to user agent 908.
  • a user may enter a single input via data processing 906 in order to switch between Call 1 and Call 2. This can be implemented by the call status change commands of steps 9e and 9n being combined into a single call status change command with the intermediate node and SIP Server adapting the connection procedure accordingly.
  • the call status change commands of steps 9e and 9n being combined into a single call status change command with the intermediate node and SIP Server adapting the connection procedure accordingly.
  • once a user has finished dealing with an incoming call from a calling party they may wish to notify the ACD system that the call should be terminated. This can be achieved by the user inputting a relevant instruction via their user terminal in the form of an end- of-call processing request.
  • the user terminal generates and transmits an end-of-call command to ACD system.
  • the user terminal notifies intermediate node of the end-of-call processing request, in response to which the intermediate node generates and transmits an end-of-call processing command to ACD system.
  • the ACD system receives the end-of-call processing command, the ACD system and the intermediate node can transfer signalling information in order to tear down the call connection to end the call.
  • the generated end-of-call command transmitted to the call distributing system may also indicate that a further incoming call should be distributed to said first user agent. This can be useful if a user wishes to take a further incoming call at their user agent immediately and help reduce the delay before the further call can be taken.
  • the above embodiments are to be understood as illustrative examples of the invention. Further embodiments of the invention are envisaged.
  • the present invention is described above in relation to the processing of incoming telephone calls.
  • the present invention could also be used in the processing of video calls, tele- or video-conferencing, or other such services.

Abstract

The invention relates to the processing of telephone calls in association with a call centre call distributing system. The invention allows for the provision of rich-services functionality in a call centre call distributing system, despite user agents in the system only being capable of handling relatively basic functionality themselves. An intermediate node (100) located between the call distributing system (104) and the user agents (126,128) bridges the two environments allowing support of a more fully featured call processing command interface for the call distributing system side, whilst a less featured interface can be used for connecting to user agents (126,128) which are unable to generate and process commands in the command set themselves. Users are able to initiate in-call call status changes relating to rich-services functionality via user terminals (106) separate to the user agents (126,128), with the call distributing system (122) being instructed accordingly.

Description

Processing telephone calls
Field of the Invention
The present invention relates to the processing of telephone calls in a telecommunications network. In particular, the present invention relates to the processing of telephone calls in association with call a centre call distributing system.
Background of the Invention An incoming call to a call centre will typically be routed initially to an
Integrated Voice Response (IVR) module which provides an interactive set of menu options with choice and control over the routeing of their call. A calling party may navigate through the various options by inputting data using their telephone keypad. IVRs are commonly used in businesses such as call centres to direct callers to an appropriate department. An IVR may provide sufficient information such that the calling party is satisfied so that the call can be terminated without the need for the calling party to speak to a human operator employed at the call centre to deal with such incoming calls. Such a human operator is hereinafter referred to as a user. However, if the calling party wishes to speak to a user, then the call will preferably be routed to an automatic call distribution (ACD) system. An ACD is a telephone call distribution system that allows incoming calls to a call centre to be automatically distributed among a number of available user agents. A user agent is typically a telephony device, such as a telephone, which is located somewhere in the telephone network. A user may make himself available to take incoming telephone calls at a user agent. An identifier of a user agent may be referred to as an agent position (also commonly called a 'seat' or 'place'). An agent position can be registered with the ACD to indicate that the ACD may begin to distribute incoming calls to the registered agent position accordingly. A user may notify the ACD of their availability at a particular agent position either using the user agent itself, or via a user terminal, such as a personal computer located in proximity to the user agent or a hand-held computing device carried by the user.
When the ACD receives an incoming call it will distribute the call to an available agent position according to a routeing strategy including one or more rules by which an appropriate agent position may be selected. The routeing strategy may be implemented by a Universal Routeing Server (URS) or other logical entity. If no agent positions are available, the ACD may place the call in a queue and the call will be distributed to an appropriate agent position when one becomes available, typically in a 'First-in, First-Out' manner. The ACD may play a suitable announcement and/or call waiting music to the calling party whilst they are queuing, or route the call to a media server which provides announcement and/or music playback functionality. An ACD may also include a Session Initiation Protocol (SIP) server for communicating with user agents such as SIP telephones in packet-switched parts of the network, such communication being in the form of SIP messaging.
Some call centres support 'rich-services functionality', which is defined herein as functionality over and above basic telephony functions such as call initiation, call answer and call termination. Examples of rich-services functionality include placing of calls on hold and retrieving calls from hold on multiple lines, transferring of calls from one user agent to another user agent, teleconferencing, etc.
Providing rich-services functionality may require the user agents themselves to carry out certain call processing tasks. This is generally only possible if the user agents have data processing capabilities, such as in relatively modern telephones, for example those which are SIP compliant (commonly referred to as 'SIP phones'). However, currently not even all SIP phones have sufficient data processing capabilities to support such rich-services functionality, and many call centre networks still include legacy analogue telephones (commonly referred to as 'Black phones' or 'Plain Old Telephone Service (POTS) phones'), meaning that rich-services functionality is not available. One solution would be to upgrade all user agents in the call centre network to SIP phones with sufficiently advanced data processing capabilities, but this could be prohibitively expensive.
It would therefore be desirable to provide rich-services functionality in call centre networks which include user agents which do not support rich- services, without requiring the user agents themselves to be replaced or upgraded to more advanced devices, and without requiring significant modification to the existing call centre network infrastructure.
Summary of the Invention
In accordance with a first aspect of the present invention, there is provided a method of processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said method comprising the steps of: arranging an intermediate node, located between said call distributing system and a first user agent, to handle transfers of signalling information with said call distributing system on behalf of said first user agent; arranging a first user terminal, separate from said first user agent, to initiate call status changes on behalf of said first user agent; initiating an in-call call status change at said first user terminal; in response to the initiation of said in-call call status change, generating an in-call call status change command in said command set; transmitting said generated in-call call status change command to said call distributing system; and at said intermediate node, transferring signalling information with said call distributing system during a first signalling procedure conducted by said call distributing system in response to receipt by said call distributing system of said in-call call status change command. Hence, by use of the present invention, it is possible to provide rich- services functionality in a call centre call distributing system, despite user agents in the system only being capable of handling relatively basic functionality themselves. An intermediate node located between the call distributing system and the user agents bridges the two environments allowing support of a more fully featured call processing command interface for the call distributing system side, whilst a less featured interface can be used for connecting to user agents which are unable to generate and process commands in the command set themselves. Users are able to initiate in-call call status changes relating to rich- services functionality via user terminals separate to the user agents, with the call distributing system being instructed accordingly.
Preferably, the method comprises generating, and transmitting, said in- call call status change command from said first user terminal to said call distributing system. Alternatively, the method comprises generating, and transmitting, said in-call call status change command from said intermediate node in response to initiation of the in-call status change at said first user terminal. Hence, generation and transmission of in-call call status change commands may occur at each user terminal or may occur at the intermediate node.
Preferably, the generated in-call call status change command is transmitted via a different data communications protocol than a data communications protocol via which signalling information is transferred during said first signalling procedure. Hence, the intermediate node is able to communicate with the call distributing system in a different data communications protocol in which the call distributing system receives in-call call status change commands, e.g. the transfer of signalling information in the first signalling procedure may be carried out using SIP, even if in-call call status change commands are received in a non-SIP format.
Preferably, the first user agent is not capable of generating said in-call call status change command. Hence, in-call status changes may be initiated via a user terminal separate to the user agent even if a user agent such as an analogue telephone is not capable of initiating such commands itself.
Preferably, the generated in-call call status change command is associated with one or more of: putting a call on hold, retrieving a call from hold, creating a teleconference, and transferring a call to a second user agent different to said first user agent.
Hence, by use of the present invention, a number of commands relating to rich-services functionality can be supported, despite the user agents being incapable of processing such commands themselves. For example, an in-call status change command may relate to combining an additional incoming call, or a call to or from another other user agent, into a call to create a teleconference.
Preferably, a generated in-call call status change command is associated with requesting an incoming call to be distributed to said first user agent and putting a call on hold. Hence, one command may serve more than one purpose in relation to one user agent, for example requesting a further incoming call to be distributed to the user agent and putting the further incoming call on hold, or requesting a further incoming call to be distributed to the user agent and putting a different call to the user agent on hold.
Preferably, a generated in-call call status change processing command is further associated with redirecting a call to a media server node, said media server node being responsible for transmitting media data to calling parties whose calls are on hold. Hence, a calling party may be played a legal announcement or other important information, or call-waiting music when their call is on hold, whilst a further call may be taken at the user agent.
Preferably, the method comprises: receiving an end-of-call processing request at said first user terminal; in response to receipt of said end-of-call processing request, generating an end-of-call command in said command set; and transmitting said generated end-of-call command to said call distributing system. Hence, a user may request that a particular call is ended via their user terminal. An end-of call command can then be generated either at the user terminal or at the intermediate node and transmitted to the call distributing system, as a result of which the call distributing system and intermediate node can transfer the relevant signalling information to tear down the call. Preferably, the generated end-of-call command transmitted from said intermediate node to said call distributing system indicates to said call distributing system that a further incoming call should be distributed to said first user agent. Hence, a user may wish to be distributed a further incoming call immediately after they have finished taking a previous incoming call. Alternatively, a user may wish to take a break before receiving another incoming call, in which case the further indication requesting a further call may be omitted or delayed.
Preferably, the call distributing system is capable of conducting registration processing in response to receipt of a registration command in said command set, said method comprising: generating a registration processing command in said command set at said intermediate node, said registration processing command indicating that said intermediate node is to handle call processing on behalf of said first user agent; and transmitting said registration processing command from said intermediate node to said call distributing system. Hence, an intermediate node can register one or more user agents on behalf of which they will handle calls and associated signalling information transfers whereby the call distributing system will subsequently forward call processing data for those user agents to the intermediate node. Preferably, the method comprises receiving a registration request from said first user terminal, said registration request indicating that a user is available to receive incoming calls at said first user agent, wherein said registration processing command is generated in response to receipt of said registration request at said intermediate node. Hence a user may register their availability to take incoming calls at a particular user agent via a user terminal which is capable of receiving and processing such data, where the user terminal is a separate device to the user agent.
Preferably, the method comprises creating a telephony connection between said intermediate node and said first user agent at least for the duration of an incoming telephone call distributed to said first user agent. Hence, an incoming call may be routed to a user agent via the created telephony connection.
Preferably, the method comprises maintaining the created telephony connection after said incoming telephone call has terminated, whereby a subsequent incoming telephone call distributed by said call distributing system to said intermediate node may be routed via the maintained telephony connection. Hence, only a single telephony connection process need be carried out between the intermediate node and a user agent which can help reduce delays and resources associated with tearing down and creating successive connections.
Preferably, the method comprises terminating said created telephony connection after said incoming telephone call has terminated, whereby a subsequent incoming telephone call distributed by said call distributing system to said intermediate may be routed via a subsequently initiated telephony connection. Hence, bandwidth and/or network infrastructure required for a telephony connection with a user agent may be reduced by creating a new connection only when specifically required for a call and subsequently tearing the connection down at the end of each call.
Preferably, the method comprises arranging said intermediate node to handle transfer of signalling information with said call distributing system on behalf of a plurality of user agents, such that said intermediate node is capable of transferring signalling information with said call distributing system during a plurality of signalling procedures conducted by said call distributing system in response to receipt by said call distributing system of in-call call status change commands associated with said plurality of user agents. Hence, a single intermediate node may process signalling information for incoming calls received from the call distributing system on behalf of multiple user agents.
In accordance with a second aspect of the present invention, there is provided a system for processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said system comprising: means for arranging an intermediate node, located between said call distributing system and a first user agent, to handle transfers of signalling information with said call distributing system on behalf of said first user agent; means for arranging a first user terminal, separate from said first user agent, to initiate call status changes on behalf of said first user agent; means initiating an in-call call status change at said first user terminal; means for, in response to the initiation of said in-call call status change, generating an in-call call status change command in said command set; means for transmitting said generated in-call call status change command to said call distributing system; and means for, at said intermediate node, transferring signalling information with said call distributing system during a first signalling procedure conducted by said call distributing system in response to receipt by said call distributing system of said in-call call status change command.
In accordance with a third aspect of the present invention, there is provided computer software for processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said computer software comprising: a function for arranging an intermediate node, located between said call distributing system and a first user agent, to handle transfers of signalling information with said call distributing system on behalf of said first user agent; a function for arranging a first user terminal, separate from said first user agent, to initiate call status changes on behalf of said first user agent; a function for initiating an in-call call status change at said first user terminal; a function for, in response to the initiation of said in-call call status change, generating an in-call call status change command in said command set; a function for transmitting said generated in-call call status change command to said call distributing system; and a function for, at said intermediate node, transferring signalling information with said call distributing system during a first signalling procedure conducted by said call distributing system in response to receipt by said call distributing system of said in-call call status change command.
In accordance with a fourth aspect of the present invention, there is provided a method of processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls along call connections to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said method comprising the steps of: arranging an intermediate node, located between said call distributing system and a first user agent, to handle call connections with said call distributing system on behalf of said first user agent; arranging a first user terminal, separate from said first user agent, to initiate call status changes on behalf of said first user agent; at said intermediate node, handling a plurality of call connections with said call distributing system, the plurality of call connections each being able to convey call content, at said intermediate node, handling a single call connection with said first user agent, the single call connection being able to convey call content; at said first user terminal, initiating a call status change; at said intermediate node, selecting a call connection from said plurality of call connections, said selected call connection conveying call content which is conveyed on said single call connection, in response to the initiation of the call status change by said first user terminal. Hence, multiple incoming calls may be distributed by the call distributing system for a single user agent. Multiple call connections associated with the multiple incoming calls are created and processed by the intermediate node, even though the user agent is only able to process a single call connection at any one time. A user may switch between different call connections to determine which of the incoming calls they receive call content from at their user agent. Switching between call connections is initiated by a user requesting call status changes through their user terminal, for example via a graphical display provided on the user terminal.
Preferably, the method comprises, at said intermediate node, simultaneously handling said plurality of call connections with said call distributing system during the handling of said single call connection with said first user agent.
Alternatively, the method comprises, at said intermediate node: handling a first incoming call on a first call connection with said call distributing system; arranging said first incoming call to be connected to said first user agent on said single call connection; handling a further incoming call on a second call connection; and switching the connection of said first user agent on said single call connection, from said first incoming call to said second incoming call, in response to the initiation of the call status change by said first user terminal.
Hence, the intermediate node may either handle multiple incoming calls at once, or may handle multiple incoming calls successively in relation to the single call connection to the user agent. Different routeing strategies employed by the call distributing system may mean that one of these call handling options is preferable to the other. Further, different users may prefer calls to be handled according to one of these options over the other.
In accordance with a fifth aspect of the present invention, there is provided a method of processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said method comprising the steps of: arranging a network node which is different to said first user agent, to handle transfers of signalling information with said call distributing system and initiate call status changes on behalf of said first user agent; initiating an in-call call status change at said network node; in response to the initiation of said in-call call status change, generating an in-call call status change command in said command set; transmitting said generated in-call call status change command to said call distributing system; and at said network node, transferring signalling information with said call distributing system during a first signalling procedure conducted by said call distributing system in response to receipt by said call distributing system of said in-call call status change command. Hence, by use of the present invention, it is possible to provide rich- services functionality in a call centre call distributing system, despite user agents in the system only being capable of handling relatively basic functionality themselves. A network node allows support of a more fully featured call processing command interface for the call distributing system side, whilst a less featured interface can be used for connecting to user agents which are unable to generate and process commands in the command set themselves. Users are able to initiate in-call call status changes relating to rich-services functionality via the network node, with the call distributing system being instructed accordingly. The network node may be a network endpoint such as a user terminal.
Further features and advantages of the invention will become apparent from the following description of preferred embodiments of the invention, given by way of example only, which is made with reference to the accompanying drawings.
Brief Description of the Drawings
Figure 1 is a system diagram of a call centre telecommunications network according to an embodiment of the present invention.
Figure 2 is a diagram showing the components of an intermediate node according to an embodiment of the present invention.
Figure 3 is a message flow diagram showing a service initiation procedure according to an embodiment of the present invention.
Figure 4 is a message flow diagram showing a service initiation procedure according to a further embodiment of the present invention. Figure 5 is a message flow diagram showing a service initiation procedure according to a yet further embodiment of the present invention.
Figure 6 is a message flow diagram showing a command processing procedure for putting a call on hold according to an embodiment of the present invention. Figure 7 is a message flow diagram showing a command processing procedure for retrieving a call from hold according to an embodiment of the present invention.
Figure 8 is a diagram of an intermediate node arranged to perform multiple call connection processing according to an embodiment of the present invention.
Figure 9 is a message flow diagram showing switching between call connections according to an embodiment of the present invention.
Detailed Description of the Invention
Figure 1 is a system diagram of a call centre telecommunications network according to an embodiment of the present invention. The network includes an ACD system 104 responsible for distributing incoming telephone calls to a call centre amongst a number of users of the system. The users access the system via user agents 108, 126, 128, which are telephony devices such as fixed or mobile telephones.
ACD system 104 includes a media server 118 for playing announcements or call waiting music to calling parties, a URS 120 for routeing incoming calls to available agent positions, a SIP server 122 for processing SIP signalling information in relation to calls, processing data associated with registration of agent positions and handling log-in of users in association with agent positions, and a data store 102 for storing data relating to agent positions, and registered user agents. Data store 102 may include a pool of predefined access data, for example licensing data identifying agent positions for which access has been granted to the call processing system, and an indication of which of those agent positions are currently registered to take calls, i.e. those for which a user has logged-in to telephone system indicating that they are available to take calls.
ACD system 104 supports a command set associated with processing of incoming calls. Processing of the command set may be carried out by SIP server 122 or other such data processing device, and associated command data may be stored in data store 102 or a separate data store accessible by SIP server 122. The command set includes an end-of call command associated with the termination and tearing down of incoming calls. The command set also includes a number of in-call call status change commands associated with changing the status of incoming calls, for example putting a call on hold, retrieving a call from hold, transferring a call to another user agent, switching between different incoming calls, etc.
A user also has an associated user terminal 106, for example a personal computer, which includes data input means such as a keyboard or mouse, a display device such as a liquid crystal display (LCD), and data processing means such as a central processing unit (CPU). User terminal 106 has access to telecommunications network 130 and is able to communicate with SIP server 122 and intermediate node 100, for example using SIP messaging. User terminal 106 may also include a command generator (not shown) responsible for generating commands associated with a command set supported by ACD system 104 and transmitting commands thereto via network 130. User terminal 104 may store data relating to the command set in command set data store (not shown).
It should be noted that Figure 1 only depicts one user terminal 106. In reality, each user agent 108, 126, 128 may have an associated user terminal, such as a user terminal located in proximity to the user agent at a fixed desktop or mobile location.
Once a call has been connected between a calling party and a user, for example between a calling party using user agent 110 and a user at user agent 108, voice data 116 for such a telephone call may pass to and from user agent 108 and user agent 110 via one or more circuit-switched and/or packet-switched networks 130 such as the Public Switched Telephone Network (PSTN) and the Internet respectively. For a Voice over Internet Protocol (VoIP) call, the Realtime Transport Protocol (RTP) may be employed for data transfer with one or more RTP servers (not shown) capturing, compressing, packetising, and transmitting the voice data 116 over the network 130 in real time. Signalling information for controlling and routeing such a telephone call may also pass through the PSTN and/or the Internet and be processed by and passed between one or more telephone call processing entities or switches (not shown), which may include one or more SIP servers. Signalling information in circuit-switched parts of the network may be transmitted according to the Signalling System Number 7 (S S7) system and in packet- switched parts of the network according to the SIP protocol in the form of SIP messaging.
According to this embodiment of the invention, signalling information for telephone calls passes between SIP server 122 and an intermediate node 100, which is a network infrastructure node located in the network remote from the user agents.
Intermediate node 100 supports at least one, and preferably a number of user agents, handling signalling information on behalf of these user agents. A user agent can be registered with ACD system 104 in association with an agent position such that when ACD system 104 is notified that a user is available to take incoming calls, ACD system 104 can distribute incoming telephone calls to a user agent associated with an agent position.
Intermediate node 100 may include a hardware device such as a server having data processing capabilities and may be located remotely to ACD system 104 in the network. Alternatively, intermediate node 100 may be implemented as hardware within ACD system 104 itself or as a hardware or software enhancement to SIP server 122 in ACD system 104, or other suitable configuration.
Users can log-in to the system via intermediate node 100 with details of a user agent they are available to take incoming calls at. Intermediate node 100 then uses the SIP 'Register' function to register these user agents with ACD system 104 in association with agent positions. ACD system 104 may subsequently distribute incoming telephone calls to these agent positions which are processed on behalf of the user agents by intermediate node 100. Alternatively, users can log-in to the system via ACD system 104 with details of a user agent they are available to take incoming calls at, or details of intermediate node 100. Intermediate node 100 can then register with ACD system 104 in order to receive incoming calls from ACD system 104 and handle signalling information for the calls on behalf of the user agents.
Embodiments of the present invention relate to the provision of rich- services functionality to user agents in call centre networks. Such rich-services functionality may for example include putting a telephone call on hold, retrieving a telephone call from hold, switching from one telephone call to another telephone, transferring a call to another telephony device, etc. In these embodiments, the user agents are devices which are unable themselves to provide such rich-services functionality, handle signalling information or carry out call processing tasks associated with such rich-services functionality. Such devices may for example include relatively basic SIP phones or analogue telephones.
Embodiments of the present invention allow provision of rich-services functionality in call centre networks which include user agents which are unable to provide or do not support such rich-services functionality themselves. The present invention provides rich-services in such call centre networks by locating intermediate node 100 between ACD system 104 and user agents at which users may make themselves available to take incoming calls. Figure 2 shows components of intermediate node 100 according to an embodiment of the present invention. Intermediate node 100 includes a network interface 206 for interfacing incoming and outgoing data 112 such as signalling information to and from network 130, a user agent interface 208 for interfacing incoming and outgoing data 214 such as signalling information 114 with user agents 108, 126, 128. An interface mapping module 210 processes data passing between network interface 206 and user agent interface 208.
Intermediate node 100 includes a call processing manager 202 responsible for processing incoming calls from ACD system 104 on behalf of a number of user agents, receiving and processing requests from user terminal 106, and creating and tearing down of telephony connections to user agent 108. Intermediate node 100 includes a command generator 204 responsible for generating commands associated with a command set supported by ACD system 104 and transmitting commands thereto via network interface 206. Command generator may store data relating to the command set in command set data store 204a. User terminal 106 may also include a command generator (not shown) responsible for generating commands associated with a command set supported by ACD system 104 and transmitting commands thereto via network 130. User terminal 106 may store data relating to the command set in command set data store (not shown). The data command generator and associated store in user terminal 106 may be provided in addition to or as an alternative to the command generator and associated store provided in intermediate node 100.
In Figure 2, command set data store 204a is located integrally to intermediate node 100. However, command set data store 204a may be located remotely to intermediate node 100, for example locally to ACD system 104 in combination with data store 102.
Figure 3 is a message flow diagram showing a service initiation procedure according to an embodiment of the present invention. The service initiation procedure relates to the process carried out from when a user requests access to the call centre system and is subsequently granted access so that they may begin receiving incoming calls from the call centre system at a particular user agent 308.
A user requests access to the call centre system by entering agent position request data on their user terminal 306, for example a username and password, along with an identifier of the user agent at which the user wishes to receive incoming calls at, using a keyboard or mouse. In response, user terminal 306 transmits an agent position request including data identifying user agent 308, as per step 3a, the agent position request being received at intermediate node 300. In response to receipt of the agent position request, intermediate node 300 accesses data store 302 in step 3b in order to determine an available agent position that can be allocated to the user. If an agent position is available, then intermediate node 300 is informed of such an agent position in step 3c. Intermediate node 300 transmits an agent position response containing data identifying the allocated agent position to user terminal 306 in step 3d.
Once user terminal 306 receives the allocated agent position, it requests registration for use of the allocated agent position in the network. This is carried out by transmittal of a registration initiation request from user terminal 306 to intermediate node 300 as shown in step 3e. The registration initiation request may include data identifying user agent 308 at which the user wishes to take incoming calls and the allocated agent position. The registration initiation request may also include data identifying the user, such as their name, associated employee number or suchlike.
In response, intermediate node 300 registers the allocated agent position with SIP server 304 of ACD system 104 using SIP 'Register' functionality. This registration process involves intermediate node 300 transmitting a SIP 'Register' message 3f containing data identifying the allocated agent position to SIP server 304. SIP server 304 responds with a '200 OK' SIP message in step 3g, indicating that registration was successful.
Intermediate node 300 then makes a telephony call connection to user agent 308 using identification data supplied by user terminal 306 in step 3a.
This is carried out using a SIP 'INVITE' message in step 3h. User agent 308 responds by transmitting a SIP ' 180 Ringing' message to intermediate node 300 in step 3i indicating that user agent 308 is ringing and awaiting the call to be answered. When the call is answered by the user, user agent 308 transmits a SIP
'200 OK' message to intermediate node 300 in step 3j, which is acknowledged by intermediate node 300 with a SIP 'ACK' message in response, as shown in step 3k.
Intermediate node 300 informs user terminal 306 that registration with SIP server 304 and set-up of a telephone call connection to user agent 308 were successful by transmitting a registration confirmation response in step 3m. In step 3n, user terminal 306 logs-in to the call centre system via SIP server 304 using the allocated agent position, and also possibly a username and password. In step 3o, SIP server 304 informs intermediate node 300 that user terminal 306 has logged-in with the allocated agent position. Once log-in has been completed, the user is subsequently able to receive incoming calls distributed by ACD system 104 via intermediate node 300 at user agent 308.
In the embodiment described above in relation to Figure 3, once the call between the intermediate node and user agent 308 is connected, it is placed on hold. This can be requested by including Session Description Protocol (SDP) data '0.0.0.0' in SIP 'Invite' message 3h. In this embodiment, the call connection remains as a persistent connection for at least the duration of the incoming telephone call, unless the call is dropped by the user, or the user logs- out of the telephone system via user terminal 306.
In some embodiments of the invention, the call connection between intermediate node 300 and user agent 308 is maintained for further incoming calls distributed by ACD system 104 to user agent 308. This can help reduce delays between calls that a user deals with and hence help to increase efficiency and throughput of the call centre.
In alternative embodiments of the present invention, a persistent call connection between intermediate node 300 and user agent 308 is not used. Instead, each time an incoming call is distributed by ACD system 104 to user agent 308, a connection between intermediate node 300 and user agent 308 is created. This may be preferable if for example user agent 308 is located offshore and creating and tearing down a call connection as and when necessary instead of a persistent connection may help to avoid any expense incurred in relation to use of foreign telephony bandwidth and/or network infrastructure.
Note that in this embodiment, user agent 308 is a SIP compliant device, so is able to understand and process SIP messages from intermediate node 300 in order to set up the call connection in steps 3h-3k. In other embodiments where user agent 308 is a non-SIP compliant device, such as an analogue telephone, or a SIP device with limited SIP messaging capabilities, which cannot understand or process the SIP messaging sufficiently, then all, or some, SIP messages cannot be sent directly to user agent 308. In such cases, SIP messages are sent to a media gateway (not shown) located in the network 130 which is responsible for handling such messaging on behalf of the user agent. The media gateway will then do any necessary data format conversion and communicate with the user agent in a format which the user agent understands, for example using a non-SIP protocol. In the embodiments of the invention described above, intermediate node
300 contacts and accesses data store 102 in order to obtain an available agent position to allocate to user terminal 306 and the associated user agent. In alternative embodiments of the invention, intermediate node 300 may access data store 302 and download a group of agent positions at once, or all available agent positions. Intermediate node 300 can then subsequently allocate agent positions directly upon request without having to revert to data store 302 each time an allocation request is received.
Data store 302 may be situated locally to ACD system 104 (for example as per item 102 in Figure 1) or may be hosted remotely to ACD system 104, for example at a website or other file depository maintained by a third party who are responsible for providing agent positions and/or issuing licences for accessing the telephony system.
Figure 4 is a message flow diagram showing a service initiation procedure according to a further embodiment of the present invention. Many of the steps in Figure 4 are similar to those shown in Figure 3 and described in detail above, i.e. steps 4a and 4d relate to an agent position request and corresponding response, steps 4b and 4c relate to accessing the data store and corresponding response, and step 4e relates to a registration initiation request. In the embodiment of Figure 4 however, instead of proceeding to registration of one or more allocated agent positions with SIP server 404 after transmittal of a registration request in step 4e, a registration confirmation response is transmitted from intermediate node 400 to user terminal 406 in step 4m. Data processing 406 then logs-in to the call centre system via SIP server 404 in step 4n and SIP server 404 informs intermediate node 400 that user terminal 406 has logged-in with the allocated agent position in step 4o. Intermediate node 400 then makes a call connection to user agent 408 in steps 4h-4k, after which intermediate node 400 registers the allocated agent position with SIP server 404 of ACD system 104 in step 4f, with corresponding response in step 4g. Once step 4g has been carried out, the user is able to receive incoming calls distributed by ACD system 104 at user agent 408 via intermediate node 400.
Figure 5 is a message flow diagram showing a service initiation procedure according to a yet further embodiment of the present invention. Many of the steps in Figure 5 are similar to those shown in Figure 3 and described in detail above, i.e. steps 5a and 5d relate to an agent position request and corresponding response, steps 5b and 5 c relate to accessing the data store and corresponding response, and step 5e relates to a registration initiation request. Similarly, intermediate node 500 makes a call connection to user agent
508 in steps 5h-5k, step 5m entails transmittal of a registration confirmation response, and step 5n and 5o involve data processing 506 logging-in to the call centre system via SIP server 504 and SIP server 504 informing intermediate node 500 of such respectively. Here, however, registration of one or more allocated agent positions with SIP server 504 occurs before any of steps 5a-5e, 5h-5k, or 5m-5o take place. Such pre-registration allows the intermediate node to pre-register one or more agent positions with ACD system 104, which can then subsequently be associated with a particular user agent when a user contacts intermediate node 500 identifying a user agent at which they wish to retrieve calls distributed by ACD system 104.
Figure 6 is a message flow diagram showing a command processing procedure for putting an incoming call on hold according to an embodiment of the present invention.
This embodiment of the invention employs an intermediate node 600 to interface with SIP 604 server of ACD system 104 in order to handle transfers of signalling information on behalf of user agent 608. Intermediate node 600 uses the SIP 'Register' function to instruct SIP server 604 that signalling information for calls for user agent 608 should be directed to intermediate node 600.
The user of user agent 608 also has access to an associated user terminal 606 such as a personal computer. User terminal 606 is used to display information to the user about available in-call call status change options for changing the status of calls associated with the user agent. Various in-call processing options are supported, but this particular example relates to changing the call status of a call to put the call on hold, i.e. from 'connected' status to 'hold' status. The user controls the status of incoming calls to their user agent via their user terminal 606 and intermediate node 600 controls the necessary signalling procedure and instructs SIP server 604 accordingly. When the user chooses to put the call on hold, the user inputs a relevant instruction via data input means such as a keyboard or mouse on user terminal 606, i.e. to change the in-call status of the current call from 'connected' status to 'hold' status. Accordingly, the command generator in user terminal 606 generates an in-call status change command to change the status of the call, which is transmitted from user terminal 606 to SIP server 604 of ACD system 104 in step 6a.
SIP server 604 processes the in-call status change command and conducts a signalling procedure with intermediate node 600 in order change the call status. The signalling procedure includes SIP server 604 transmitting a SIP 'Invite' message containing SDP data '0.0.0.0' in step 6b to intermediate node 600. Intermediate node 600 processes the SIP 'Invite' message from SIP server 604 and places the call on hold by transmitting a further SIP 'Invite' message containing SDP data '0.0.0.0' in step 6c to user agent 608. User agent 608 responds with a SIP '200 OK' message in step 6d, which intermediate node 600 acknowledges by responding with a SIP 'ACK' message in step 6e.
Intermediate node 600 responds to the SIP 'Invite' message transmitted from SIP server 604 in step 6b with a SIP '200 OK' message in step 6f, which SIP server 604 acknowledges by responding with a SIP 'ACK' message in step 6g. User terminal 606 is then informed that the call status change to put the call on hold was successful with a message from SIP server 604 to user terminal 606 in step 6h. The user can be notified that the requested call status change was successful via display means on user terminal 606.
The command sent from user terminal 606 in step 6a and call status change confirmation message in step 6h are sent in a protocol which can be understood by ACD system 104, for example a protocol particular to the call centre. Steps 6b-6g may be transmitted in a different protocol, for example using SIP. Alternatively, if user terminal 606 is a SIP compliant device, all steps 6a-6h may include SIP messaging. If user agent 608 cannot process SIP messaging itself, then a suitable media gateway (not shown) processes these on behalf of user agent 608 and communicates with user agent 608 to put the call connection on hold using a POTS compatible protocol.
In alternative embodiments of the invention, the in-call call status change command to change the status of the call, may be generated and transmitted from intermediate node 600 to SIP server 604 of ACD system 104 (instead of from user terminal 606 to SIP server 604 as depicted in step 6a in Figure 6). In this case, when the user chooses to put the call on hold, the user inputs a relevant instruction via user terminal 606 which informs intermediate node, which then proceeds to generate and transmit the in-call call status change command.
Figure 7 is a message flow diagram showing a command processing procedure for retrieving an incoming call from hold according to an embodiment of the present invention. Figure 7 can be seen to follow a similar sequence as Figure 6. Here, however, when the user chooses to retrieve the call from hold, the user inputs a relevant instruction via user terminal 706 to change the in-call status of the current call from 'hold' status to 'connected' status. Similarly to before, an in-call status change command to change the status of the call is generated and transmitted from user terminal 706 to SIP server 704 of ACD system 104 in step 7a. SIP server 704 processes the in-call status change command and conducts a signalling procedure with intermediate node 700 in order to change the call status. The signalling procedure proceeds in a similar manner as with Figure 6, including SIP server 704 transmitting a SIP 'Invite' message containing valid SDP data for the call being retrieved in step 7b, intermediate node 700 retrieving the call on hold by transmitting a further SIP 'Invite' message containing valid SDP data for the call to user agent 608 in step 7c, with corresponding response and acknowledgment in steps 7d and 7e respectively, intermediate node 700 responding to the SIP 'Invite' message of step 7b in step 7f, with corresponding acknowledgment in step 7g. User terminal 706 is then informed that the call status change to retrieve the call from hold was successful with a message from SIP server 704 to user terminal 706 in step 7h. The user can be notified that the requested call status change was successful via display means on user terminal 706.
It will be clear to one skilled in the art that various other in-call call status changes can be processed in a similar manner to those depicted in Figures 6 and 7.
One embodiment of the invention involves a call being redirected to a media server node so that a calling party may be played an announcement, music or suchlike.
In other embodiments of the invention, an in-call call status command may relate to several in-call call status changes. For example, an in-call status command can be generated which instructs ACD system 104 to distribute another call to a user agent and also to put a call to the same user agent on hold. The call put on hold may be the call previously distributed to the user agent or alternatively may be the subsequently distributed call. Embodiments of the invention allow processing of multiple call connections to the call distributing system in association with a single connection to a user agent. The intermediate node located between the call distributing system and a user agent is arranged to handle call connections on behalf of the user agent. The call distributing system distributes a plurality of incoming calls to the intermediate node in association with the user agent. The incoming calls are distributed along a plurality of call connections created between the call distributing system and the intermediate node, with each connection being able to convey call content in relation to an incoming call. A user is made aware of the various calls available to them via their user terminal, for example via a Graphical User Interface (GUI) on an incorporated display means. The user may then choose a particular call which they wish to take at their user agent by making a suitable input via their user terminal, which informs the intermediate node accordingly. In response to the call status change, the intermediate node selects the appropriate call connection from the various available call connections and conveys call content from the selected call connection to and from the single connection to the user agent accordingly.
The intermediate node may handle a plurality of call connections with the call distributing system simultaneously during handling of a single call connection with the user agent. Alternatively, intermediate node may initially process a first incoming call on a first connection with the call distributing system and connect this to a single connection to the user agent, before handling a second incoming call on a second connection with the call distributing system, and in response to a call status change initiated at the user terminal, switching the second connection of the second incoming call over to the single connection with the user agent. Figure 8 is a diagram of an intermediate node arranged to perform multiple call connection processing according to an embodiment of the present invention. Here, intermediate node 100 has three call connections with ACD system 104, namely (3), (2) and (1). Intermediate node 100 has a single call connection (0) with user agent 108. Depending on call status changes initiated at user terminal 106, intermediate node 100 will switch either call connection (3), (2), or (1) to connection (0) such that the appropriate call content can pass to and from user agent 108.
Note that in Figure 8, user terminal 106 is depicted connected to ACD system 104 and intermediate node 100. In reality, user terminal 106 will be connected to one or the other or both of ACD system 104 and intermediate node 100, possibly via network 130, depending on how call status changes are relayed on from user terminal 106. User terminal 106 and intermediate node may communicate with ACD system 104 via SIP server 122.
In some embodiments of the invention, call status changes are first relayed from user terminal 106 to intermediate node 100, which then interacts with ACD system 104 to exchange the necessary signalling information to implement the call status change.
In other embodiments of the invention, call status changes are first relayed from user terminal 106 to ACD system 104, which then interacts with intermediate node 100 to exchange the necessary signalling information to implement the call status change.
Figure 9 is a message flow diagram showing switching between call connections according to an embodiment of the present invention. Initially a first call ('Call 1 ') is connected to user agent 908, as shown by item 910. Intermediate node 900 is informed by SIP server 904, of a second incoming call ('Call 2') to user agent 908 in step 9a in the form of a SIP 'Invite' message containing valid SDP data for Call 2, to which intermediate node 900 responds with a SIP ' 100 Trying' message in step 9b. Intermediate node then transmits a SIP ' 180 Ringing' message for Call 2 to SIP server 904 in step 9c, which in turn informs user terminal 906 of such in step 9d. User terminal 906 notifies the user of the availability of Call 2, for example via a graphical display, in response to which the user decides that they want to take Call 2 instead of the Call 1, as shown by item 912.
This process is initiated by the user entering a suitable input on the user terminal, which results in a 'put Call 1 on hold' call status change command being transmitted to SIP Server 904 in step 9e. SIP server 904 processes the call status change command and conducts a signalling procedure with intermediate node 900 in order to change the call status of Call 1. The signalling procedure includes SIP server 904 transmitting a SIP 'Invite' message containing SDP data
'0.0.0.0' in step 9f to intermediate node 900. Intermediate node 900 processes the SIP 'Invite' message from SIP server 904, places Call 1 on hold and transmits a further SIP 'Invite' message containing SDP data '0.0.0.0' in step 9g to user agent 908. User agent 908 responds with a SIP '200 OK' message in step 9h, which intermediate node 900 acknowledges by responding with a SIP 'ACK' message in step 9i.
Intermediate node 900 responds to the SIP 'Invite' message transmitted from SIP server 904 in step 9f with a SIP '200 OK' message in step 9j, which SIP server 904 acknowledges by responding with a SIP 'ACK' message in step 9k. User terminal 906 is then informed that the call status change to put Call 1 on hold was successful with a message from SIP server 904 to user terminal 906 in step 9m. User terminal 906 now notifies the user that both Call 1 and Call 2 are on hold via its display, in response to which the user enters suitable input on the user terminal such that Call 2 can be answered.
This process results in an 'answer Call 2' call status change command being transmitted to SIP Server 904 in step 9n. SIP server 904 processes the call status change command and conducts a signalling procedure with intermediate node 900 in order to change the call status of Call 2. The signalling procedure includes SIP server 904 transmitting a SIP 'Notify' message in step 9o to intermediate node 900, to which intermediate node 900 responds with a SIP '200 OK' message in step 9p. Intermediate node 900 processes the SIP 'Invite' message from SIP server 904, places the call on hold and transmits a further SIP 'Invite' message containing valid SDP data in step 9q to user agent 908. User agent 908 responds with a SIP '200 OK' message in step 9r, which intermediate node 900 acknowledges by responding with a SIP 'ACK' message in step 9s.
Intermediate node 900 then makes a response to the SIP 'Invite' message transmitted from SIP server 904 in step 9a with a SIP '200 OK' message in step 9t, which SIP server 904 acknowledges by responding with a SIP 'ACK' message in step 9u. User terminal 906 is then informed that the call status change to answer the second incoming call was successful and that a connection to Call 2 has been established with a message from SIP server 904 to user terminal 906 in step 9v, and can notify the user accordingly via its display. Call 1 is now on hold and the user is able to conduct Call 2 via user agent 908. Note that the labels for steps 9a, 9b, 9c, 9o, 9p, 9t and 9u include the numeral 2 as a suffix which indicates that these message are related to a SIP session for the second incoming call connection, i.e. Call 2. Similarly, the labels for steps 9f, 9j and 9k have the numeral 1 as a suffix which indicates that these message are related to a SIP session for the first incoming call connection, i.e. Call 1. Further, the labels for steps 9g, 9h, 9i, 9q, 9r and 9s have the numeral 0 as a suffix which indicates that these messages are related to a SIP session for the single call connection to user agent 908.
In an alternative to the embodiment depicted in Figure 9, a user may enter a single input via data processing 906 in order to switch between Call 1 and Call 2. This can be implemented by the call status change commands of steps 9e and 9n being combined into a single call status change command with the intermediate node and SIP Server adapting the connection procedure accordingly. In embodiments of the present invention, once a user has finished dealing with an incoming call from a calling party, they may wish to notify the ACD system that the call should be terminated. This can be achieved by the user inputting a relevant instruction via their user terminal in the form of an end- of-call processing request. In one embodiment of the invention, the user terminal generates and transmits an end-of-call command to ACD system. In another embodiment of the invention, the user terminal notifies intermediate node of the end-of-call processing request, in response to which the intermediate node generates and transmits an end-of-call processing command to ACD system. Once the ACD system receives the end-of-call processing command, the ACD system and the intermediate node can transfer signalling information in order to tear down the call connection to end the call.
The generated end-of-call command transmitted to the call distributing system may also indicate that a further incoming call should be distributed to said first user agent. This can be useful if a user wishes to take a further incoming call at their user agent immediately and help reduce the delay before the further call can be taken. The above embodiments are to be understood as illustrative examples of the invention. Further embodiments of the invention are envisaged. For example, the present invention is described above in relation to the processing of incoming telephone calls. The present invention could also be used in the processing of video calls, tele- or video-conferencing, or other such services.
Various embodiments of the invention have been described where one or more entities communicate using SIP messaging. The invention is equally applicable to other suitable communication formats and protocols, or combinations thereof, such as the International Telecommunication Union (ITU) H.323 standard.
It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any other of the embodiments. Furthermore, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims.

Claims

Claims
1. A method of processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said method comprising the steps of: arranging an intermediate node, located between said call distributing system and a first user agent, to handle transfers of signalling information with said call distributing system on behalf of said first user agent; arranging a first user terminal, separate from said first user agent, to initiate call status changes on behalf of said first user agent; initiating an in-call call status change at said first user terminal; in response to the initiation of said in-call call status change, generating an in-call call status change command in said command set; transmitting said generated in-call call status change command to said call distributing system; and at said intermediate node, transferring signalling information with said call distributing system during a first signalling procedure conducted by said call distributing system in response to receipt by said call distributing system of said in-call call status change command.
2. A method according to claim 1, comprising generating, and transmitting, said in-call call status change command from said first user terminal to said call distributing system.
3. A method according to claim 1, comprising generating, and transmitting, said in-call call status change command from said intermediate node in response to initiation of the in-call status change at said first user terminal.
4. A method according to any preceding claim, wherein said generated in-call call status change command is transmitted via a different data communications protocol than a data communications protocol via which signalling information is transferred during said first signalling procedure.
5. A method according to any preceding claim, wherein said first signalling procedure comprises the Session Initiation Protocol.
6. A method according to any preceding claim, wherein said first user agent is not capable of generating said in-call call status change command.
7. A method according to any preceding claim, wherein said generated in-call call status change command is associated with one or more of: putting a call on hold, retrieving a call from hold, creating a teleconference, and transferring a call to a second user agent different to said first user agent.
8. A method according to any preceding claim, wherein said generated in-call call status change command is associated with requesting an incoming call to be distributed to said first user agent and putting a call on hold.
9. A method according to claim 8, wherein said incoming call to be distributed and said call to be put on hold are the same call.
10. A method according to claim 8, wherein said incoming call to be distributed and said call to be put on hold are different calls.
11. A method according to any of claims 8 to 10, wherein said generated in-call call status change command is further associated with redirecting a call to a media server node, said media server node being responsible for transmitting media data to calling parties.
12. A method according to any preceding claim, comprising: receiving an end-of-call processing request at said first user terminal; in response to receipt of said end-of-call processing request, generating an end-of-call command in said command set; and transmitting said generated end-of-call command to said call distributing system.
13. A method according to claim 12, wherein said end-of-call command transmitted to said call distributing system indicates to said call distributing system that a further incoming call should be distributed to said first user agent.
14. A method according to any preceding claim, wherein said call distributing system is capable of conducting registration processing in response to receipt of a registration command in said command set, said method comprising: generating a registration command in said command set at said intermediate node, said registration command indicating that said intermediate node is to handle call processing on behalf of said first user agent; and transmitting said registration command from said intermediate node to said call distributing system.
15. A method according to claim 14, comprising: receiving a registration request from said first user terminal, said registration request indicating that a user is available to receive incoming calls at said first user agent, wherein said registration command is generated in response to receipt of said registration request at said intermediate node.
16. A method according to any preceding claim, wherein said method comprises creating a telephony connection between said intermediate node and said first user agent at least for the duration of an incoming telephone call distributed to said first user agent.
17. A method according to claim 16, comprising maintaining the created telephony connection after said incoming telephone call has terminated, whereby a subsequent incoming telephone call distributed by said call distributing system to said intermediate node may be routed via the maintained telephony connection.
18. A method according to claim 16, comprising terminating said created telephony connection after said incoming telephone call has terminated, whereby a subsequent incoming telephone call distributed by said call distributing system to said intermediate may be routed via a subsequently initiated telephony connection.
19. A method according to any preceding claim, wherein said method comprises arranging said intermediate node to handle transfer of signalling information with said call distributing system on behalf of a plurality of user agents, such that said intermediate node is capable of transferring signalling information with said call distributing system during a plurality of signalling procedures conducted by said call distributing system in response to receipt by said call distributing system of in-call call status change commands associated with said plurality of user agents.
20. A system for processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said system comprising: means for arranging an intermediate node, located between said call distributing system and a first user agent, to handle transfers of signalling information with said call distributing system on behalf of said first user agent; means for arranging a first user terminal, separate from said first user agent, to initiate call status changes on behalf of said first user agent; means initiating an in-call call status change at said first user terminal; means for, in response to the initiation of said in-call call status change, generating an in-call call status change command in said command set; means for transmitting said generated in-call call status change command to said call distributing system; and means for, at said intermediate node, transferring signalling information with said call distributing system during a first signalling procedure conducted by said call distributing system in response to receipt by said call distributing system of said in-call call status change command.
21. Computer software for processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said computer software comprising: a function for arranging an intermediate node, located between said call distributing system and a first user agent, to handle transfers of signalling information with said call distributing system on behalf of said first user agent; a function for arranging a first user terminal, separate from said first user agent, to initiate call status changes on behalf of said first user agent; a function for initiating an in-call call status change at said first user terminal; a function for, in response to the initiation of said in-call call status change, generating an in-call call status change command in said command set; a function for transmitting said generated in-call call status change command to said call distributing system; and a function for, at said intermediate node, transferring signalling information with said call distributing system during a first signalling procedure conducted by said call distributing system in response to receipt by said call distributing system of said in-call call status change command.
22. A method of processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls along call connections to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said method comprising the steps of: arranging an intermediate node, located between said call distributing system and a first user agent, to handle call connections with said call distributing system on behalf of said first user agent; arranging a first user terminal, separate from said first user agent, to initiate call status changes on behalf of said first user agent; at said intermediate node, handling a plurality of call connections with said call distributing system, the plurality of call connections each being able to convey call content, at said intermediate node, handling a single call connection with said first user agent, the single call connection being able to convey call content; at said first user terminal, initiating a call status change; at said intermediate node, selecting a call connection from said plurality of call connections, said selected call connection conveying call content which is conveyed on said single call connection, in response to the initiation of the call status change by said first user terminal.
23. A method according to claim 22, comprising, at said intermediate node, simultaneously handling said plurality of call connections with said call distributing system during the handling of said single call connection with said first user agent.
24. A method according to claim 22, comprising, at said intermediate node: handling a first incoming call on a first call connection with said call distributing system; arranging said first incoming call to be connected to said first user agent on said single call connection; handling a further incoming call on a second call connection; and switching the connection of said first user agent on said single call connection, from said first incoming call to said second incoming call, in response to the initiation of the call status change by said first user terminal.
25. A method of processing telephone calls in association with a call centre call distributing system in a telecommunications network, said call distributing system being capable of distributing incoming telephone calls to a plurality of users, each of said users accessing said system via a respective user agent, the incoming telephone calls being distributed according to availability of said plurality of users, said call distributing system having a command set and further being capable of conducting both: end-of-call processing in response to receipt of an end-of-call command in said command set; and in-call call status change processing in response to an in-call call status change command in said command set, said in-call call status change processing being conducted for a call separately from and prior to end-of-call processing for said call, said in-call call status change processing comprising conducting a signalling procedure, said method comprising the steps of: arranging a network node which is different to said first user agent, to handle transfers of signalling information with said call distributing system and initiate call status changes on behalf of said first user agent; initiating an in-call call status change at said network node; in response to the initiation of said in-call call status change, generating an in-call call status change command in said command set; transmitting said generated in-call call status change command to said call distributing system; and at said network node, transferring signalling information with said call distributing system during a first signalling procedure conducted by said call distributing system in response to receipt by said call distributing system of said in-call call status change command.
PCT/EP2009/051736 2008-02-13 2009-02-13 Control of supplementary services such as call hold for sip phones via pc WO2009101191A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP09709920A EP2253129A2 (en) 2008-02-13 2009-02-13 Processing telephone calls

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0802645.2A GB0802645D0 (en) 2008-02-13 2008-02-13 Processing telephone calls
GB0802645.2 2008-02-13

Publications (2)

Publication Number Publication Date
WO2009101191A2 true WO2009101191A2 (en) 2009-08-20
WO2009101191A3 WO2009101191A3 (en) 2009-10-08

Family

ID=39247575

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2009/051736 WO2009101191A2 (en) 2008-02-13 2009-02-13 Control of supplementary services such as call hold for sip phones via pc

Country Status (3)

Country Link
EP (1) EP2253129A2 (en)
GB (1) GB0802645D0 (en)
WO (1) WO2009101191A2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050123117A1 (en) 2003-10-16 2005-06-09 Stockdale Robert S. Method for providing third-party call control reuse of telephony features

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180034B2 (en) * 2001-07-27 2012-05-15 Alcatel Lucent Apparatus, and associated method, for a CTI-enabled SIP-phone
US7852859B2 (en) * 2002-12-31 2010-12-14 Alcatel Lucent System and method for interfacing legacy IP-PBX systems to SIP networks
US20050141692A1 (en) * 2003-10-01 2005-06-30 Mark Scherer Computer-telephony integration (CTI) system for controlling an automatic call distribution system using a bidirectional CTI model
US7899168B2 (en) * 2005-08-31 2011-03-01 Microsoft Corporation Controlling or monitoring PBX phone from multiple PC endpoints

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050123117A1 (en) 2003-10-16 2005-06-09 Stockdale Robert S. Method for providing third-party call control reuse of telephony features

Also Published As

Publication number Publication date
WO2009101191A3 (en) 2009-10-08
EP2253129A2 (en) 2010-11-24
GB0802645D0 (en) 2008-03-19

Similar Documents

Publication Publication Date Title
US10148820B2 (en) Call transfer using session initiation protocol (SIP)
EP1882357B1 (en) System and method for return to agents during a contact center session
JP4819923B2 (en) Session setting protocol based early media service providing method and session setting protocol based early media service providing application server
CN101146156B (en) A multimedia information push method and call center system
US8284920B2 (en) Method and system for transferring a call at an automatic call distribution system
US20070070980A1 (en) Method and system for providing network-based call processing of packetized voice calls
KR101233736B1 (en) System and method for bridge call appearance in distributed peer-to-peer network
EP2150013A1 (en) System, equipment and method for implementing special calling services
US9185232B2 (en) Method and apparatus for creating and distributing cost telephony-switching functionality within an IP network
KR101169493B1 (en) Facilitating early media in a communications system
US8437464B2 (en) Handling of a session initiation protocol-capable telecommunications terminal that is put on hold
WO2013040832A1 (en) Method, device and system for enabling the operator inserting calling in switchboard service
JP5331995B2 (en) Call center system
WO2009101191A2 (en) Control of supplementary services such as call hold for sip phones via pc
KR100640289B1 (en) Method of internet protocol terminals for providing a plurality of call services and ip terminals enabling the method
KR100587945B1 (en) Method And System For Providing Call Transfer Service
EP2253128A1 (en) Sharing licenses in a call center with per-seat licensing 1
CN103475648B (en) Blind Call Transfer method and Blind Call Transfer system based on Session Initiation Protocol
WO2012152116A1 (en) Call forwarding method and system and web server

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09709920

Country of ref document: EP

Kind code of ref document: A2

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009709920

Country of ref document: EP