1. Field of the Invention
The invention is related to the field of communication systems and, in particular, to the reporting of hold time for a call in a communication network. More particularly, a communication network reports hold information for a call to a billing system so that hold time for the call may be billed differently than active time for the call.
2. Statement of the Problem
Many service providers track minutes or seconds for a call in order to provide time-based or usage-based billing. For instance, wireless service providers commonly track air time for calls, and bill a subscriber on a monthly basis based on the total air time used during that month. If the subscriber subscribes to a service plan offering a maximum amount of air time per month, then a billing system for the service provider compares the total air time used for the month versus the maximum amount of air time allowed under the plan, and bills the subscriber for the service plan amount and any overages. Similarly, wireline service providers commonly track long distance minutes for calls. The service providers then bill the subscriber on a cost-per-minute basis.
In a wireless communication network, an originating Mobile Switching Center (MSC) receives a call from a wireless calling device (e.g., a cell phone) of a subscriber. The originating MSC then routes the call to a terminating node, such as another MSC in the wireless communication network or a switch in a wireline communication network, for connecting the call to a destination for the call. When the call is established, the originating MSC tracks the air time used for the call. When the call is torn down, the originating MSC transmits call information in the form of a call record to a billing system for the service provider. The call record indicates the air time used for the call. The billing system can then accumulate air time for the subscriber and bill the subscriber, such as on a monthly basis.
The service plan of the subscriber may also be prepaid. For prepaid service, the originating MSC transmits call information periodically or in real-time to the billing system during a call. The billing system in this instance may also be referred to as a prepaid server. The billing system then processes the call information and decrements the air time for the current call from a prepaid account in real-time. If the prepaid account is drained, then the billing system reports this to the originating MSC which may tear down the call.
One problem with current time-base or usage-based billing is that active time on a call is not distinguished from hold time on the call. Active time refers to time on a call where an active voice conversation is taking place. Hold time refers to time on a call where one of the parties has activated a hold state, a wait state, or any other state where an active voice conversation is not taking place. If a caller is placed on hold during a call, that caller is still billed based on the total time for the call regardless of how long that caller is on hold. This can be a particular problem for wireless subscribers as more and more wireless subscribers are using their cell phones as home phones and business phones.
As an example of the problem, assume a wireless subscriber places a call to a large business utilizing a call center. The call center answers the call, but all agents at the call center are currently busy on other calls. The call center will then put the subscriber on hold until an agent is available. Depending on the size of the business and the time of the call, this hold time for the agent may be five minutes, ten minutes, or more. When an agent is available, the call center connects the call to the agent, and the subscriber may converse with the agent. Subsequently, the agent may need to put the subscriber on hold again for a variety of reasons. Once again, this hold time may be several minutes. After the call has ended, the subscriber will be billed for the total air time for the call even though the amount of time on hold may exceed the time the subscriber was actually speaking to the agent.
Thus, it would be desirable for communication networks to distinguish between active time and hold time for calls.
The invention solves the above and other related problems by reporting hold information for a call in a communication network. The communication network of the invention receives hold information provided by the destination of the call. The communication network then reports the hold information to a billing system. By reporting the hold information to the billing system, a service provider may advantageously bill or charge hold time for a call differently than active time for the call. Thus, the service provider may distinguish its service from other service providers in a highly competitive market.
In one embodiment of the invention, a communication system of the invention includes a communication network and a billing system. The communication network receives a call from a calling device, and connects the call to a destination for the call. During the call, the destination puts the calling device (or the subscriber using the calling device) on hold at one or more instances during the call. The destination tracks the time the subscriber is put on hold for the call, and generates hold information for the call.
According to the invention, the communication network receives the hold information for the call from the destination. The communication network transmits the hold information to the billing system. The billing system receives the hold information. Subsequently, the billing system bills for the call based on the hold information and other relevant information. The billing system may bill hold time for the call differently than active time for the call. For instance, the billing system may bill the hold time at a lower rate than the active time. Alternatively, the billing system may bill for the active time, but not bill for the hold time.
The invention may include other exemplary embodiments described below.
The same reference number represents the same element on all drawings.
Communication network 102 is operable to connect a call between a calling device 110 and a destination 112. Some assumptions are made for this embodiment. One assumption is that a call has been established between calling device 110 and destination 112. Another assumption is that destination 112 puts calling device 110 on hold at one or more instances during the call. Being on hold means that a call is connected but one party is not active on the call. Another assumption is that destination 112 is properly equipped to track the time on hold for the call and to transmit hold information to communication network 102. Destination 112 may include an Automatic Call Distributor (ACD), an enhanced PBX, or another device currently known or developed in the future that is able to track the hold time for calls and transmit the hold information to communication network 102.
In step 202 of method 200, communication network 102 receives hold information for the call from destination 112. Destination 112 may transmit the hold information over a signaling path between destination 112 and communication network 102. Hold information comprises any data or information that indicates if a party is on hold and/or a duration that a party is on hold during a call. The hold information may comprise an indicator of minutes, an indicator of seconds, or any other information indicating that calling device 110 was put on hold by destination 112.
In step 204, communication network 102 transmits the hold information to billing system 106. The hold information may vary depending on billing system 106. For instance, if billing system 106 is a traditional billing system, then the hold information may comprise a call record. Alternatively, if billing system 106 is a prepaid billing system, then the hold information may comprise hold messages, such as a HOLD_START message or a HOLD_STOP message.
In step 206, billing system 106 bills for the call based on the hold information and other relevant information. Billing system 106 may bill hold time for the call differently than active time for the call. Billing system 106 may bill the hold time at a lower rate than the active time. Alternatively, billing system 106 may bill for the active time, but not bill for the hold time.
Method 200 or individual steps of method 200 may be performed during the call (in real-time) or after the call has ended. Communication network 102 may receive the hold information at the end of the call or at multiple times during the call, such as every minute (see step 202). Communication network 102 may transmit the hold information to billing system 106 at the end of the call or at multiple times during the call (see step 204). If communication network 102 transmits the hold information at the end of the call, communication network 102 may accumulate hold information received during the call, and transmit the hold information to billing system 106 after the call has ended. Communication network 102 may also transmit the hold information at the end of the call when it receives the hold information from destination 112. If communication network 102 transmits the hold information during the call, communication network 102 transmits the hold information to billing system 106 in real-time responsive to receiving the hold information from destination 112.
Communication system 100 as described in
When in operation, terminating node 304 receives hold information for the call from destination 112. Destination 112 may transmit the hold information over a signaling path between destination 112 and terminating node 304. The hold information may comprise an indicator of minutes, an indicator of seconds, or any other information indicating that calling device 110 was put on hold by destination 112. Terminating node 304 may receive the hold information from destination 112 at the end of the call. Terminating node 304 may alternatively receive the hold information from destination 112 multiple times during the call, such as every minute, for real-time reporting of the hold information. Terminating node 304 then transmits the hold information to originating node 302.
Originating node 302 receives the hold information, and transmits the hold information to billing system 106. The hold information may vary depending on billing system 106. For instance, if billing system 106 is a traditional billing system, then the hold information may comprise a call record. Alternatively, if billing system 106 is a prepaid billing system, then the hold information may comprise hold messages, such as a HOLD_START message or a HOLD_STOP message.
Originating node 302 may transmit the hold information to billing system 106 at the end of the call. For instance, originating node 302 may receive the hold information at the end of the call from terminating node 304, and generate a call record that includes the hold information. Originating node 302 may also accumulate hold information received during the call, and generate the call record after the call has ended. The call record may comprise a call detail record as traditionally generated by network nodes, or may comprise any other type of call record.
Alternatively, originating node 302 may transmit the hold information to billing system 106 multiple times during the call, such as every minute. For instance, originating node 302 may receive the hold information from terminating node 304 in real-time during the call. Originating node 302 may then transmit a HOLD_START message or a HOLD_STOP message in real-time responsive to receiving the hold information.
Originating node 302 also tracks the total call time for the call. Originating node 302 may also transmit the total call time to billing system 106.
Billing system 106 receives the hold information from originating node 302 in the form of a call record, hold messages, or some other form. Billing system 106 bills for the call based on the hold information. Billing system 106 may bill hold time for the call differently than active time for the call. For instance, if billing system 106 receives the hold information for the call from originating node 302 and a total call time for the call from originating node 302, then billing system 106 may subtract the hold time from the total call time to calculate the active time for the call. Billing system 106 may then bill the hold time at a lower rate than the active time. Alternatively, billing system 106 may bill for the active time, but not bill for the hold time.
With the call established, ACD 442 attempts to locate an available agent to handle the call. ACD 442 determines that all agents are currently busy. Thus, ACD 442 puts the subscriber on hold and enters the call in a queue to be handled in the future. ACD 442 also starts a hold timer for the call.
When an agent becomes available to handle the call, ACD 442 transmits a setup message to the station 444 of the available agent. The receiving station 444 responds with a connect message. ACD 442 then stops the hold timer. The agent converses with the subscriber to handle the call. If the agent needs to put the subscriber on hold at some point during the call, ACD 442 detects the hold state and again starts the hold timer. When the agent subsequently takes the subscriber off hold, ACD 442 detects the state change and stops the hold timer.
During the call or after the call has ended, ACD 442 transmits hold information for the call to terminating switch 420. The hold information is based on the hold timer maintained by ACD 442 during the call. Terminating switch 420 transmits the hold information to originating MSC 410 with any desired signaling message. Originating MSC 410 receives the hold information.
If the subscriber is billed on a monthly basis, then originating MSC 410 collects the hold information for the call and calculates a total hold time for the call. Originating MSC 410 generates a call record and inserts the total hold time in the call record. Originating MSC 410 also tracks the total call time for the call and inserts the total call time in the call record. Originating MSC 410 then transmits the call record to billing system 412.
Based on the call record, billing system 412 subtracts the hold time for the call from the total call time to calculate the active time for the call. Billing system 412 then generates a bill for the subscriber where the hold time for the call is billed differently than the active time for the call. For instance, billing system 412 may bill the hold time at a lower rate than the active time. Alternatively, billing system 412 may bill for the active time, but not bill for the hold time.
Prepaid billing system 414 receives the HOLD_START message indicating that the calling device 430 is on hold. Prepaid billing system 414 can then determine how much time to decrement from the prepaid account based on the HOLD_START message. Prepaid billing system 414 may handle the hold time differently than active time. For instance, prepaid billing system 414 may not decrement hold time from the prepaid account based on the hold messages. Alternatively, prepaid billing system 414 may decrement hold time at a different amount than active time, such as decrementing one minute from the prepaid account for every five minutes of hold time.
When ACD 442 takes wireless calling device 430 off hold, ACD 442 transmits a HOLD_STOP message to terminating switch 420 during the call. The HOLD_STOP message indicates when the calling device 430 is taken off hold. Terminating switch 420 transmits the HOLD_STOP message to originating MSC 410. Originating MSC 410 transmits the HOLD_STOP message to prepaid billing system 414.
Prepaid billing system 414 receives the HOLD_STOP message indicating that the calling device 430 is off hold. Prepaid billing system 414 can then resume billing calling device 430 in a normal manner. Many such hold messages may be transmitted to prepaid billing system 414 during the call depending on how many times calling device 430 is put on hold during the call.
Originating MSC 410 then transmits an IAM to terminating switch 420. The IAM includes a request for hold information from terminating switch 420. Responsive to the IAM, terminating switch 420 transmits a setup message to ACD 442 to set up the call. ACD 442 responds to terminating switch 420 with a connect message. Responsive to the connect message, terminating switch 420 transmits an ANM to originating MSC 410. The call is thus established.
With the call established, ACD 442 attempts to locate an available agent to handle the call. ACD 442 determines that all agents are busy. Thus, ACD 442 puts the subscriber on hold and enters the call in a queue to be handled in the future. ACD 442 also starts a hold timer for the call.
When an agent becomes available to handle the call, ACD 442 transmits a setup message to the station 444 for the available agent. The station 444 responds with a connect message. ACD 442 then stops the hold timer. The agent converses with the subscriber to handle the call. If the agent needs to put the subscriber on hold at some point during the call, ACD 442 detects the hold state and again starts the hold timer. When the agent subsequently takes the subscriber off hold, ACD 442 detects the state change and stops the hold timer.
At some point during the call or after the call has ended, ACD 442 transmits hold information for the call to terminating switch 420. The hold information is based on the hold timer maintained by ACD 442 during the call. Terminating switch 420 transmits the hold information to originating MSC 410 with any desired signaling message. Originating MSC 410 and billing system 412 may then operate as described above to bill for the call.
The service provider and the destination 440 may have some type of agreement to provide this service to the subscriber. In consideration for destination 440 transmitting the hold information to communication system 400, the service provider may advertise on behalf of destination 440 by offering free hold time minutes for calls to destination 440. For instance, assume that destination 440 comprises a large pizza delivery business. The service provider may advertise that free hold minutes are provided for calls to the pizza delivery business. By doing so, the service provider may acquire more subscribers while providing the pizza delivery business with more pizza business.