Abstract:
Embodiments of the present invention pertain to an apparatus, a method, and a computer program configured to transmit messages between a plurality of devices during a conference call and connect the plurality of devices to a service provider based on a request for at least one service. The transmitted messages can be audio messages or audio and video messages.

Description:
RELATED APPLICATION INFORMATION 
     This application is a Continuation-in-Part of co-pending U.S. application Ser. No. 13/157,660, filed Jun. 10, 2011, entitled “Global Interpreter/Translation. Services via Conference Bridge”, herein incorporated by reference. 
    
    
     FIELD 
     The present invention relates to conferencing services and, more particularly, to services provided to a plurality of users during a conference call. 
     BACKGROUND 
     During a conference call, there may be a plurality of users speaking to one another. However, there may be instances when a user requires additional services during the conference call, such as an interpreter, answers to legal questions, medical questions, human resource questions, etc. In those instances, a third party service provider is needed to connect to the conference call to assist with the requested services. 
     SUMMARY 
     Certain embodiments of the present invention may provide solutions to the problems and needs in the art that have not yet been fully identified, appreciated, or solved by current service systems. 
     In accordance with an embodiment of the present invention, a computer-implemented method is provided. The method includes transmitting messages between a plurality of devices during a conference call, receiving information from a plurality of service providers, and connecting the plurality of devices to a service provider based on a request for at least one service. The transmitted messages can be audio messages or audio and video messages. In some embodiments, for each service provider, the information may include information regarding at least a profession of the service provider, a skill set of the service provider, an availability of the service provider, a location of the service provider, a dialect of the service provider, fees for services provided by the service provider, a gender of the service provider, a score based on knowledge of the service provider, and a performance quality of the service provider. 
     In yet another embodiment of the present invention, an apparatus is provided that includes a processor and memory including instructions. The processor is configured to transmit messages between a plurality of devices during a conference call and connect the plurality of devices to a service provider based on a request for at least one service. The transmitted messages can be audio messages or audio and video messages. 
     In accordance with another embodiment of the present invention, a computer program embodied on a non-transitory computer-readable medium is provided. The computer program is configured to cause the processor to transmit messages between a plurality of devices during a conference call and connect the plurality of devices to a service provider based on a request for at least one service. The transmitted messages can be audio messages or audio and video messages. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       For a proper understanding of the invention, reference should be made to the accompanying figures. These figures depict only some embodiments of the invention and are not limiting of the scope of the invention. Regarding the figures: 
         FIG. 1  illustrates a block diagram of a system that can be implemented in one or more embodiments of the present invention. 
         FIG. 2  illustrates a conference bridging system, in accordance with an embodiment of the present invention. 
         FIG. 3  illustrates a method for registering an interpreter, in accordance with an embodiment of the present invention. 
         FIG. 4  illustrates a method for connecting an interpreter to a conference, in accordance with an embodiment of the present invention. 
         FIG. 5  illustrates a method for an IICP translator application updating the WDI of interpreter dial-ins, in accordance with an embodiment of the present invention. 
         FIG. 6  illustrates a method for retrieving interpreter call information from the WDI, in accordance with an embodiment of the present invention. 
         FIG. 7  illustrates a system that connects an interpreter with a caller, in accordance with an embodiment of the present invention. 
         FIG. 8  illustrates a method for a translator to connect to a holding area, in accordance with an embodiment of the present invention. 
         FIG. 9  illustrates a system that connects an interpreter with a caller, in accordance with an embodiment of the present invention. 
         FIG. 10  illustrates a system that connects a translator to a customer, in accordance with an embodiment of the present invention 
     
    
    
     DETAILED DESCRIPTION OF THE EMBODIMENTS 
     It will be readily understood that the components of the invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments is not intended to limit the scope of the invention as claimed, but is merely representative of selected embodiments of the invention. 
     The features, structures, or characteristics of the invention described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, the usage of “certain embodiments,” “some embodiments,” or other similar language, throughout this specification refers to the fact that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of the invention. Thus, appearances of the phrases “in certain embodiments,” “in some embodiments,” “in other embodiments,” or other similar language, throughout this specification do not necessarily all refer to the same embodiment or group of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. 
     One or more embodiments described herein relate to an integration with a global bridging platform from an agent or other platform that allows a bridge for bridging of multiple people into a conference call with a translator that is situated somewhere globally. In other words, embodiments of the present invention provide for a platform that bridges a plurality of people into a conference call with a translator. 
       FIG. 1  illustrates a block diagram of a system  100  that can be implemented in one or more embodiments of the present invention. System  100  may include a bus  105  or other communication mechanism that can communicate information and a processor  110 , coupled to bus  105 , that can process information. Processor  110  can be any type of general or specific purpose processor. System  100  may also include a memory  120  that can store information and instructions to be executed by processor  110 . Memory  120  can be comprised of any combination of random access memory (“RAM”), read only memory (“ROM”), static storage such as a magnetic or optical disk, or any other type of non-transitory computer readable medium. System  100  may also include a communication device  115 , such as a network interface card, that may provide access to a network. 
     The computer readable medium may be any available media that can be accessed by processor  110 . The computer readable medium may include both volatile and nonvolatile media, removable and non-removable media, and communication media. The communication media may include computer readable instructions, data structures, program modules, or other data and may include any information delivery media. 
     Processor  110  can also be coupled via bus  105  to a display  140 , such as a Liquid Crystal Display (“LCD”). Display  140  may display information to the user. A keyboard  145  and a cursor control unit  150 , such as a computer mouse, may also be coupled to bus  105  to enable the user to interface with system  100 . 
     According to one embodiment, memory  120  may store software modules that may provide functionality when executed by processor  110 . The modules can include an operating system  125  and a bridging module  130 , as well as other functional modules  135 . Operating system  125  may provide operating system functionality for system  100 . Because system  100  may be part of a larger system, system  100  may include one or more additional functional modules  135  to include the additional functionality, such as an IICP translator application. 
       FIG. 2  illustrates a conference bridging system  200 , in accordance with an embodiment of the present invention. System  200  includes a holding area  205  having one or more interpreters, a conference bridge  210 , a customer service representative (CSR)  215 , a user or customer  220 , and a WDI  225 . Interpreters can provide language support, i.e., translate between an English speaking customer and a German-speaking agent. Conference Bridge (or V2 Conference Bridge)  210  is configured to connect the interpreter to conference holding area  205  after the interpreter has been authenticated. WDI  225  is configured to provide interpreter state data. 
     In this embodiment, the interpreter dials into Conference Bridge  210 , authenticates, indicates their language of expertise, and enters into a “music on hold” (MOH) state, which is conference holding area  205 . The interpreter remains in such a state until CSR  215  selects the interpreter and connects customer  220  to the interpreter. 
     For instance, when CSR  220  determines that an interpreter is beneficial or required, operator  220  connects to Conference Bridge  210 , authenticates, specifies a language, and engages interpreter  205  with customer  215 . 
       FIG. 3  illustrates a method  300  for registering an interpreter, in accordance with an embodiment of the present invention. When an interpreter dials in (i.e., connects) to a conference bridge, the conference bridge at  305  requests that the interpreter submit a personal identification number (PIN). At  310 , the bridge receives the PIN from the interpreter and transmits the PIN to WDI for validation. The PIN is utilized to authenticate and/or validate the interpreter, as well as identify the languages the interpreter is fluent in. Also, the PIN includes a number of digits that are used to validate the interpreter to the WDI. 
     At  315 , the WDI determines if the PIN is valid or invalid. If the PIN is invalid, the bridge is notified and requests the interpreter to re-enter at  305  the PIN in order to validate the interpreter. If the PIN is valid, the bridge is notified and connects at  320  the interpreter to a conference holding area where the interpreter can, for example, listen to music while placed on hold. At  325 , the bridge also transmits conference information regarding the interpreter to the WDI. For instance, the conference information can include, but is not limited to, a unit number, a line number, a setup time, a language identifier, a conference passcode, a conference identifier, a sub-conference identifier, and a state of the call. If necessary, the WDI can respond to the bridge with the unit number, the line number, the setup time, and a result. 
     In this embodiment, the unit number and the line number may be a four digit random number. The setup time can be a ten-digit time stamp, and the language indicator can be a three-digit language code. The conference passcode can be a sixteen-digit passcode, and the conference and the sub-conference identifiers can be a 60-byte identifier. The state of the call can indicate whether the parties are in a conference or whether the parties left the conference. 
     When the interpreter is disconnected or hangs up, the bridge transmits at  330  a message to the WDI notifying that the interpreter is no longer in the conference holding area or is no longer on a conference call. In response, the bridge receives a call data record (CDR) of the conference call. 
       FIG. 4  illustrates a method  400  for connecting an interpreter to a conference, in accordance with an embodiment of the present invention. Generally, when a customer contacts a customer service representative (CSR) at a call center, the customer presumes that the CSR speaks the same language as the customer. However, this may not be the case in some instances. When either the CSR or the customer, or both, determine that an interpreter is required in order to translate between the CSR and the customer, the CSR can connect to a conference bridge utilizing a dedicated number. It should be appreciated that the CSR can also connect to the bridge utilizing a hyperlink or any other method that may be appreciated by a person of ordinary skill in the art. 
     When the CSR connects to the bridge, the bridge at  405  transmits a request for information either simultaneously or sequentially. The information being requested can be a conference personal identification number (PIN) to identify the CSR and a language preference. It should be appreciated that more than one language can be selected in the case where the customer and/or the CSR understand more than one language. 
     At  410 , the bridge transmits the conference PIN and the language preference to the WDI. In particular, the conference PIN can be any number of digits that validates the CSR, and the language preference may be, but is not limited to, a three-digit code. At  415 , the bridge receives call information, including the conference code and interpreter information, in order to connect to the appropriate interpreter. The call information can also include a unit name, a line name, a setup time, a language identifier, a conference passcode, a conference identifier, a sub-conference identifier, and a result indicating whether the request is valid or invalid. 
     At  420 , when the CSR and customer are connected to the appropriate interpreter by the IICP, the bridge transmits to the WDI information regarding a conference start time. The information can include a conference passcode, a conference identifier, and a timestamp to indicate the start of the conference. When the conference has ended, the bridge at  425  returns the interpreter to the holding area so the interpreter can wait for the next conference when needed. 
     At  430 , the bridge notifies the WDI that the conference has ended. The notification can include the PIN, the conference identifier, and a time stamp to indicate when the conference ended. At  435 , when the conference ends, a CDR regarding the operator&#39;s call log and the interpreter&#39;s call log is generated, as well as the conference CDR. 
       FIG. 5  illustrates a method  500  for an IICP translator application updating the WDI of interpreter dial-ins, in accordance with an embodiment of the present invention. In this embodiment, the translator is presumed to be a Web service. At  505 , one or more interpreters connect to the IICP translator application. As interpreters dial into an IICP translator application, the interpreters&#39; information is relayed at  510  to the WDI application. The information may include a unit number (four-digit identifier), a line number (four-digit identifier), a setup timestamp, a language indicator (two-digit language code), a conference passcode (sixteen-digit passcode), a conference identifier (sixty-byte conference identifier), and a sub-conference identifier (sixty-byte sub-conference identifier). 
       FIG. 6  illustrates a method  600  for retrieving interpreter call information from the WDI, in accordance with an embodiment of the present invention. At  605 , the IICP translator application requests call information from the WDI. At  610 , the IICP translator application receives the call information having a unit number, a line number, a setup time, a language indicator, a conference passcode, a conference identifier, a sub-conference identifier, and a phone number. At  615 , a determination is made as to whether the interpreter is dialed in or not. If the interpreter is not dialed into the conference, then at  620  the IICP translator application is configured to perform connect or bridge the interpreter to the operator (i.e., CSR) via the phone number. If the interpreter is dialed into the conference, then the IICP translator application connects at  625  the interpreter to the operator utilizing the call information received from the WDI. 
       FIG. 7  illustrates a system  700  that connects an interpreter with a caller, in accordance with an embodiment of the present invention. System  700  includes a translator module  702 , a conference library module  704 , a WIC framework module  706 , media server module  708 , and a WDI module (or verification unit)  710 . Translator module  702  includes a conference call area  712  and a holding area  714 , and is operatively connected to WDI module  710 . 
     In this embodiment, a translator (or interpreter) such as a Spanish interpreter connects to translator module  702  by dialing a dedicated or non-dedicated number. Translator module  702  transmits a welcome message and prompts the translator to enter a Personal Identification Number (PIN). The PIN can be numerical and/or alphanumerical and can be four digits, five digits, etc. 
     Upon receipt of the PIN, translator module  702  transmits a request to WDI module  710  in order to validate the translator&#39;s PIN. WDI module  710  queries a database to determine whether the translator&#39;s PIN is valid. If the PIN is valid, translator module  702  receives a validation message from WDI module  710  and transmits a registration message to WDI module  710  in order to register the translator. If the PIN is invalid, translator module  702  transmits a message to the translator that the PIN enter was invalid and requests the translator to reenter the PIN. It should be appreciated that translator module  702  may include a mechanism to allow the translator to reenter the PIN a predetermined number of times before blocking the translator from system  700 . 
     Once the translator is registered in WDI module  710 , translator module  702  places the translator in a holding area  714  with music. Translator module  702  also transmits a message instructing the translator to wait in holding area  714  until a customer is connected to the translator. 
     For example, when a customer dials a dial in number to connect to a customer agent, the customer receives a welcome message from translator module  702 . Translator module  702  then transmits a message requesting the customer to enter a conference PIN. Once the customer enters the PIN, translator module  702  prompts the customer to select an interpreter language. For example, the customer is requested to select “1” for Spanish, “2” for English, “3” for French, etc. 
     When, for example, the customer selects “1” for Spanish, translator module  702  transmits a message to the customer indicating that translator module  702  is connecting the customer to the Spanish translator. During this time, translator module  702  transmits a request for a translator to WDI module  710  identifying the Spanish translator, and receives a call-ID message of the Spanish interpreter from WDI module  710 . 
     Translator module  702  transmits a message to the Spanish translator indicating that the translator is being connected to the customer. In order to connect the Spanish translator to the customer, translator module  702  transmits a conference start message to WDI module  710  in order to start the conference call. As a result, the customer and the translator are connected to the conference call (e.g., conference call area  712 ) and the translator and customer can speak with each other. 
     If the customer disconnects from the conference call, conference module  702  places the translator into the holding area  714  and informs the translator accordingly. Translator module  702  also transmits a message to WDI module  710  to end the conference call between the customer and the translator. In an alternative embodiment, if the translator disconnects from the conference call, translator module  702  transmits an option menu to the customer and informs the customer that the translator is disconnected from the call and is requested to enter the interpreter language, if needed. Also, translator module  702  instructs WDI module  710  to end the conference call and to unregister the translator. 
       FIG. 8  illustrates a method  800  for a translator to connect to a holding area, such as a holding area, in accordance with an embodiment of the present invention. At  802 , a translator connects to a translator module and the system plays a welcome message to the translator. The translator module then requests that the translator enter a PIN at  804 . At  806 , the translator module transmits a request to the WDI module in order to validate the PIN, and receives a validation message at  808 . In response to the validation message, the translator module requests that the WDI module register the translator at  810  and places the translator into a holding area at  812 . 
       FIG. 9  illustrates a system  900  that connects an interpreter with a caller, in accordance with an embodiment of the present invention.  FIG. 9  includes similar modules to those shown in  FIG. 7 . In this embodiment, a translator connects to system  900  by dialing a phone number and a welcome message is played. Translator module  902  requests that the translator enter a PIN and, upon receipt of the PIN, translator module  902  transmits a request to WDI module  910  in order to validate the translator. If the PIN is valid, then translator module  902  receives a confirmation from WDI module  910  that the PIN associated to the translator is valid and places the translator in a holding area  914 . 
     When the customer dials a number to connect with a customer agent, the customer is connected to system  900 , at which point a welcome message is played. Translator module  902  requests that the customer enter a conference PIN and, upon receipt of the conference PIN, translator module  902  prompts the customer to select the language, e.g., “1” for Spanish, “2” for French, etc. 
     When the customer selects the language, translator module  902  informs the customer that a translator is being connected to the conference call. In this embodiment, translator module  902  transmits a request for a translator message to WDI module  910  and receives a caller ID of the translator for the language selected by the customer. 
     Translator module  902  transmits a message to the translator indicating that a customer is being connected, and transmits a message to WDI module  910  to begin the conference call with the customer. Once connected, the customer and translator speak with each other, and the customer requests that the translator connect to a participant. The request includes a name and phone number of the participant in some embodiments. 
     The translator then dials “0”, for example, and is prompted to enter the telephone number of the participant. The entered telephone number is replayed to the translator for confirmation and is connected to the participant. When the participant answers the call, the participant is prompted with a welcome message and is informed that the participant is being connected to a translator. 
     Once connected, the participant, the customer, and translator can speak with one another. Once the translator hangs up, translator module  902  provides the customer with an option menu and is informed that the translator has been disconnected from the conference. Translator module  902  also disconnects the participant from the conference call by transmitting a message to WDI module  910  to end the conference call, as well as a message to unregister the translator from the conference call. 
       FIG. 10  illustrates a system  1000  that connects a translator to a customer, in accordance with an embodiment of the present invention. Similar to  FIG. 7 ,  FIG. 10  includes similar module to those shown in  FIG. 7 . 
     In this embodiment, when a customer connects to system  1000 , a welcome message is played. Translator module  1002  then prompts the customer to enter a conference PIN. Upon receipt of the PIN, translator module  1002 , for example, prompts the customer to enter a translator language. When the translator language is received from the customer, translator module  1002  transmits a message to WDI module  1010  to request a translator for the customer. If there is no translator available, translator module  1002  receives a response from WDI module  1010  that a translator is not available. The response also includes a phone number of a translator for the customer to connect with. 
     Translator module  1002  connects to the translator and informs the customer that the customer is being connected to a translator. When the translator picks up, the translator is provided with a welcome message and is informed that the translator is being connected to the customer. For instance, translation module  1002  transmits a message to WDI module  1010  to start or begin the conference call between the customer and translator. As a result, the translator and customer are able to speak with each other. 
     If the customer hangs up, then translator module  1002  informs the translator of the customer&#39;s action and disconnects the translator from the conference by transmitting a message to WDI module  1010 . If, however, the translator hangs up, then translator module  1002  informs the customer of the translator&#39;s action and is requested to enter a language for translation. Also, translator module  1002  transmits a message to WDI module  1010  to end the conference call between the translator and the customer. 
     The method steps shown in  FIGS. 3-6  and  8  may be performed, in part, by a computer program product, encoding instructions for a nonlinear adaptive processor to cause at least the methods described in  FIGS. 3-6  and  8  to be performed by the apparatuses discussed herein. The computer program product may be embodied on a non-transitory computer readable medium. The computer readable medium may be, but is not limited to, a hard disk drive, a flash device, a random access memory, a tape, or any other such medium used to store data. The computer program product may include encoded instructions for controlling the nonlinear adaptive processor to implement the method described in  FIGS. 3-6  and  8 , which may also be stored on the computer readable medium. 
     The computer program product can be implemented in hardware, software, or a hybrid implementation. The computer program product can be composed of modules that are in operative communication with one another, and which are designed to pass information or instructions to display. The computer program product can be configured to operate on a general purpose computer, or an application specific integrated circuit (“ASIC”). 
     One having ordinary skill in the art will readily understand that the invention as discussed above may be practiced with steps in a different order, and/or with hardware elements in configurations that are different than those which are disclosed. Therefore, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention. In order to determine the metes and bounds of the invention, therefore, reference should be made to the appended claims.