Billing for call complete calls

A method and system for billing a calling party for an unanswered call attempt is provided. A first network component receives a call attempt from the calling party and routes the call attempt to a second network component for establishing a communications link between the calling party and a called party. The second network component redirects the call attempt unanswered by the called party to the voice server. A billing management application, provided for managing the billing of the calling party, detects the redirection of the call attempt and indicates to the first network component to disable billing the calling party for the unanswered call attempt. The billing management application, in communication with the voice server, initiates billing of the calling party based on billing criteria, via the second network component instead of the first network component, for utilizing one or more services provided by the voice server.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of the following patent applications:1. Provisional patent application number 1718/CHE/2010 titled “Billing For Call Complete Calls”, filed on Jun. 21, 2010 in the Indian Patent Office.2. Non-provisional patent application number 1718/CHE/2010 titled “Billing For Call Complete Calls”, filed on Jun. 20, 2011 in the Indian Patent Office.

The specifications of the above referenced patent applications are incorporated herein by reference in their entirety.

BACKGROUND

In telecommunication networks, a call made by a calling party to a called party is routed through a source switch of the calling party to a destination switch of the called party. If the called party is unavailable, for example, due to the called party's communication device being switched off, an occurrence of a busy signal, or an out of network signal, the call is sometimes redirected to a server that provides, for example, voice services such as an automatic voice short message service (AVSMS), voicemail, etc., or non-voice services at the called party side. This redirection results in the call being answered at the destination switch, but not by the called party.

Conventionally billing of the calling party is under the control of the source switch. It is the source switch that decides whether to charge for the call and if so, the amount to be charged. In the case of toll free calls, the source switch knows that it is a toll free call and thus does not charge the calling party. In the case of a toll free call, the call charge is billed to the called party, and the destination switch generates the call charges events and charges the called party accordingly.

Conventionally, a charging server associated with the calling party bills the calling party for utilizing voice services and non-voice services provided by the server based on a subscription plan of the calling party. The server that provides the voice services or the non-voice services and to which the call is redirected by the destination switch has no control over billing the calling party via the destination switch for the services utilized by the calling party. There is a need for providing control of billing of the calling party to the server based on services provided to the calling party by the server.

Hence, there is a long felt but unresolved need for a method and system that detects the redirection of an unanswered call attempt made to the called party by the calling party to a server at the called party side, disables billing of the calling party via the source switch, and initiates billing of the calling party via the destination switch based on services provided to the calling party by the server.

SUMMARY OF THE INVENTION

This summary is provided to introduce a selection of concepts in a simplified form that are further described in the detailed description of the invention. This summary is not intended to identify key or essential inventive concepts of the claimed subject matter, nor is it intended for determining the scope of the claimed subject matter.

The method and system disclosed herein addresses the above stated needs for detecting redirection of an unanswered call attempt made to a called party by a calling party to a voice server at the called party side, disabling billing of the calling party via a first network component, that is, a source switch, and initiating billing of the calling party via a second network component, that is, a destination switch based on services provided to the calling party by the voice server. As used herein, the term “unanswered call attempt” refers to a call attempt made by a calling party to a called party, that is not received or answered by the called party due to an occurrence of, for example, a busy signal, an out of coverage signal, an unreachable signal, a switched off signal, network congestion, an unanswered signal from the called party, etc. Also, as used herein, the term “calling party” refers to a user who originates a call or attempts to place a call to a called party. The term “called party” refers to a user who is a recipient or an intended recipient of a call made by the calling party. The method and system disclosed herein enables billing of the calling party via the destination switch instead of the source switch, for the unanswered call attempt made to the called party.

The method and system disclosed herein provides a billing management application in communication with a voice server for managing billing of a calling party. In an embodiment, the billing management application is implemented within the voice server. In another embodiment, the billing management application is implemented on an independent application server. The first network component receives a call attempt from the calling party to contact the called party. The first network component routes the received call attempt to the second network component for establishing a communications link between the calling party and the called party. As used herein, the terms “first network component” and “second network component” refer to, for example, a mobile switching center (MSC), a base station subsystem (BSS), a radio access network (RAN), a telephone exchange, a telephone switch, etc., serving the calling party and the called party respectively.

The second network component redirects the call attempt unanswered by the called party to the voice server. The voice server provides one or more services, for example, automatic voice short message services (AVSMS), voicemail services, emergency services, non-voice services, etc. The second network component redirects the call attempt to the voice server due to an occurrence of, for example, a busy signal, an out of coverage signal, an unreachable signal, a switched off signal, network congestion, or an unanswered signal from the called party. The billing management application detects the redirection of the call attempt unanswered by the called party to the voice server.

The billing management application then indicates to the first network component to disable billing of the calling party for the unanswered call attempt. In an embodiment, the billing management application communicates with and indicates to the first network component to disable billing of the calling party by transmitting one or more message parameters to the first network component, for example, prior to, during, and/or after receipt of a call answer message from the voice server. In another embodiment, the billing management application communicates with and indicates to the first network component to disable billing of the calling party by transmitting one or more message parameters to the first network component, in the call answer message of the call attempt.

In another embodiment, the billing management application communicates with and indicates to the first network component to disable billing of the calling party by direct communication between the billing management application and the first network component via a proprietary communications protocol. For example, the billing management application directly communicates with the first network component by invoking one or more proprietary application programming interface (API) calls provided by the first network component. In another embodiment, the billing management application communicates with and indicates to the first network component to disable billing of the calling party by informing a charging server associated with the calling party to disregard billing requests made by the first network component for billing of the calling party. In another embodiment, the billing management application indicates to the first network component to disable billing of the calling party by an absence of a billing communication between the billing management application and the first network component. The first network component disables the billing of the calling party due to the absence of the billing communication.

The billing management application, in communication with the voice server, initiates billing of the calling party based on billing criteria, via the second network component for utilizing one or more services provided by the voice server. The billing criteria comprise, for example, one or more of event based criteria, time duration based criteria, a charging limit defined by the charging server, state of the call attempt, number of services utilized by the calling party, type of services utilized by the calling party, etc., or any combination thereof. In an embodiment, the billing management application determines the billing charge for the calling party based on one or more of the billing criteria. In another embodiment, the billing management application detects utilization of one or more services by the calling party and informs the charging server to bill the calling party as directed by the billing management application. Therefore, the calling party is billed via the second network component instead of the first network component for utilization of one or more services provided by the voice server. The billing management application can determine the billing charge in communication with the voice server, via the second network component and instruct the charging server associated with the calling party to bill the calling party that billing charge. If the initiation of billing of the calling party by the billing management application fails, the billing management application can instruct the voice server not to offer the services requested by the calling party.

In an embodiment, the billing management application detects redirection of repeated call attempts made by the calling party to contact the called party within a short period of time to the voice server as emergency call attempts. The billing management application, in communication with the voice server, initiates the billing of the calling party via the second network component for utilizing one or more emergency services provided by the voice server for the emergency call attempts unanswered by the called party.

In another embodiment, the voice server provides one or more services to the calling party based on one or more of the billing criteria, for example, a charging limit defined by the charging server. The billing management application, in communication with the voice server, initiates the billing of the calling party based on one or more of the billing criteria via the second network component for utilizing the provided services. In an embodiment, the billing management application, the calling party, or the first network component can terminate the utilization of the services provided by the voice server.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1illustrates a method for billing a calling party for an unanswered call attempt made to a called party. As used herein, the term “unanswered call attempt” refers to a call attempt made by a calling party to a called party, that is not received or answered by the called party due to an occurrence of, for example, a busy signal, an out of coverage signal, an unreachable signal, a switched off signal, network congestion, an unanswered signal from the called party, etc. The term “call attempt” refers to an effort made by a calling party to contact and communicate with a called party in a telecommunication network. Also, as used herein, the term “calling party” refers to a user who originates a call or attempts to place a call to a called party. The term “called party” refers to a user who is a recipient or an intended recipient of a call made by the calling party. The called party is therefore the user with whom the calling party wants to communicate a voice call.

The method disclosed herein provides101a billing management application in communication with a voice server. The billing management application is a software application implemented on an independent application server or within a voice server for managing billing of the calling party. A first network component receives102a call attempt from the calling party to contact a called party. The first network component routes103the received call attempt to a second network component for establishing a communications link between the calling party and the called party. As used herein, the terms “first network component” and “second network component” refer to, for example, a mobile switching center (MSC), a base station subsystem (BSS), a radio access network (RAN), a telephone exchange, a telephone switch, etc., serving the calling party and the called party respectively. The first network component is, for example, an originating switch or a source switch associated with the calling party. The second network component is, for example, a terminating switch or a destination switch associated with the called party. Also, as used herein, the term “communications link” refers to a transmission medium for exchanging telecommunication signals. The first network component directs the call attempt received from the calling party to the called party, for example, based on the called party's number dialed on a communication device of the calling party. The communication device is, for example, a mobile phone, a laptop, a personal digital assistant (PDA), a tablet computing device, etc.

The second network component redirects104the call attempt unanswered by the called party to the voice server. The voice server provides one or more services, for example, voice services such as automatic voice short message services (AVSMS), voicemail services, etc., non-voice services, emergency services, etc. The second network component redirects the call attempt to the voice server due to an occurrence of, for example, a busy signal, an out of coverage signal, an unreachable signal, a switched off signal, network congestion, or an unanswered signal from the called party. The billing management application detects105the redirection of the call attempt unanswered by the called party to the voice server. Moreover, the billing management application comprises logic for determining the billing charge and processing the billing of the calling party, for example, based on the voice services utilized at the voice server by the calling party, the state of the call attempt, etc. The billing management application, in communication with the voice server, determines the billing charge for billing the calling party and instructs a charging server associated with the calling party to bill the calling party the determined billing charge.

The billing management application indicates106to the first network component to disable billing of the calling party for the unanswered call attempt. In an embodiment, the billing management application communicates with and indicates to the first network component to disable billing of the calling party by transmitting, for example, one or more message parameters to the first network component prior to, during, and/or after receipt of a call answer message from the voice server. As used herein, the term “call answer message” refers to a message sent by the voice server to initiate provision of one or more services, for example, voice services, to the calling party on detection of an unanswered call attempt. In an example, the message parameters are transmitted as part of the integrated services digital network (ISDN) user part (ISUP) standard call handling message. The ISUP is an International Telecommunication Union (ITU) standard for exchanging messages for call control. In another embodiment, the billing management application communicates with and indicates to the first network component to disable billing of the calling party by transmitting one or more message parameters to the first network component, in the call answer message of the call attempt. The message parameters inform the charging server associated with the calling party not to bill the calling party for utilizing one or more services provided by the voice server. The charging server is a server that performs and tracks the billing of the calling party. In an example, the billing management application sends one or more message parameters during integrated services digital network (ISDN) user part (ISUP) signaling, where an ISUP answer message comprises a billing indicator “no charge”.

In another embodiment, the billing management application communicates with and indicates to the first network component to disable billing of the calling party by direct communication between the billing management application and the first network component via a proprietary communications protocol. In this embodiment, the charging server associated with the calling party provides proprietary application programming interface (API) calls for handling the billing of the calling party. The billing management application invokes the API calls and thereby instructs the charging server when and how to bill the calling party. The API calls can be proprietary, and hence the details of the API calls vary from one implementation to another.

In another embodiment, the billing management application communicates with and indicates to the first network component to disable billing of the calling party by informing the charging server to disregard billing requests made by the first network component for billing of the calling party. In this embodiment, the billing management application communicates with the charging server, for example, using the Customized Applications for Mobile networks Enhanced Logic (CAMEL) standard, the Intelligent Network Application Part (INAP) protocol, etc.

In another embodiment, the billing management application indicates to the first network component to disable billing of the calling party by an absence of a billing communication between the billing management application and the first network component. That is, if the first network component is not configured to handle the message parameters that indicate to the first network component to disable the billing of the calling party, the billing management application disables transmission of an event such as an answer message to the first network component to prevent the first network component from billing the calling party. The first network component disables the billing of the calling party due to the absence of the billing communication. In this embodiment, the charging server responsible for billing the calling party does not receive charging events, for example, an answer signal or message and therefore does not bill the calling party. In an example, the billing management application does not transmit one or more message parameters that comprise an indication to bill the calling party prior to, during, and/or after receipt of the call answer message from the voice server to prevent the first network component from billing the calling party.

The billing management application, in communication with the voice server, initiates107billing of the calling party based on billing criteria, via the second network component, for utilizing one or more services provided by the voice server. The billing criteria comprise, for example, one or more of event based criteria, time duration based criteria, a charging limit defined by the charging server, state of the call attempt, number of services utilized by the calling party, type of services utilized by the calling party, etc., or any combination thereof. The event based criteria comprise, for example, billing the calling party at the start of utilization of a service such as a voice service by the calling party. The event based criteria is independent of the duration of the utilization of the service provided by the voice server. The time duration based criteria comprise, for example, billing the calling party in proportion to the duration of utilization of the service provided by the voice server. That is, the longer the utilization of the service, the higher is the billing charge. The billing management application instructs the charging server to bill the calling party based on the billing criteria. The billing management application also disables billing of the calling party by the charging server based on the subscription plan of the calling party. In an embodiment, the billing management application detects utilization of one or more services by the calling party and informs the charging server to bill the calling party as directed by the billing management application. The calling party is therefore billed via the second network component instead of the first network component for utilizing one or more services provided by the voice server.

In an embodiment, the billing management application detects redirection of repeated call attempts made by the calling party to contact the called party within a short period of time to the voice server as emergency call attempts. The billing management application, in communication with the voice server, initiates the billing of the calling party via the second network component for utilizing one or more emergency services provided by the voice server for the emergency call attempts unanswered by the called party.

In another embodiment, the voice server provides one or more services to the calling party based on one or more of the billing criteria, for example, a charging limit defined by the charging server. The billing management application, in communication with the voice server, initiates the billing of the calling party based on one or more of the billing criteria via the second network component for utilizing the provided services. In an embodiment, the billing management application, the calling party, or the first network component can terminate the utilization of the services provided by the voice server.

Consider an example where the calling party attempts to call the called party. If the called party is unavailable, for example, due to the called party's communication device being switched off, an occurrence of a busy signal, or an out of network signal, the call attempt by the calling party is redirected to the voice server that provides voice services, for example, automatic voice short message services (AVSMS), voicemail services, etc. The method disclosed herein enables billing of the calling party by the billing management application via the second network component based on the voice services utilized by the calling party at the voice server and disables the billing of the calling party via the first network component based on the subscription plan of the calling party. In this manner, the method disclosed herein enables the billing management application to determine the billing charge of the calling party and to instruct the charging server to bill the calling party, for example, based on the voice services, one or more events, a duration for the voice services, actions of the calling party, etc., or any combination thereof. If the billing management application or the voice server associated with the second network component fails to initiate billing of the calling party for the voice services, the billing management application instructs the voice server to disable the voice services provided to the calling party.

Consider another example where the calling party attempts to call the called party. If the called party does not answer the call, the calling party is redirected to the voice server associated with the called party due to the unavailability of the called party. In this example, the voice server associated with the second network component prompts the calling party to leave a voice recording for the called party. The billing management application communicates with the charging server to disable the billing of the calling party based on the subscription plan of the calling party. In this example, the billing management application further communicates with the charging server to bill the calling party based on the calling party leaving a voice recording for the called party as specified by the voice server via the second network component. The call attempt may be terminated by the calling party or the first network component.

In an example, when a calling party A calls a called party B, and if called party B does not answer the call, then the second network component redirects this call to the voice server. The voice server then decides if the calling party A is to be given the option of leaving, for example, a voice SMS in the voice server for the called party B. If the voice server provides this option, the method disclosed herein enables the billing management application, in communication with the voice server, to initiate billing of the calling party A based on the charge as determined by the voice server or the billing management application rather than the voice call charge as per the subscription plan of the calling party A.

FIG. 2exemplarily illustrates a system200for billing a calling party201for an unanswered call attempt made to a called party204. The system200disclosed herein comprises a first network component202, a second network component203, a voice server205, a billing management application207, and a charging server208communicating via a network209. The network209is a telephone network and/or a data network that connects exchanges, switches, etc. The network209is, for example, a wired telephony network, a wireless network, a voice call network, a signaling system number 7 (SS7) network, an internet protocol data network, other data networks, etc.

When the calling party201attempts to make a call using a communication device210to contact the called party204, the communication device210of the calling party201connects to the network209via the first network component202. The communication device210of the calling party201connects to the first network component202. The communication device211of the called party204connects to the second network component203. The first network component202serves the calling party201and receives the call attempt from the calling party201. The first network component202routes a call made by the calling party201to an appropriate destination based on a dialed number via the network209. The first network component202routes the received call attempt to the second network component203via the network209for establishing a communications link between the calling party201and the called party204. The second network component203serves the called party204and is configured to redirect incomplete or unanswered calls of the called party204.

The second network component203receives the call attempt from the first network component202via the network209and in turn routes the received call attempt to the called party's204communication device211. The second network component203redirects unanswered calls, that is, calls not answered by the called party204to the voice server205. The voice server205is the point of interaction of calls made to the called party204and redirected by the second network component203. The second network component203redirects the call attempt unanswered by the called party204to the voice server205due to an occurrence of, for example, a busy signal, an out of coverage signal, an unreachable signal, a switched off signal, network congestion, or an unanswered signal from the called party204.

The billing management application207, in communication with the voice server205, manages billing of the calling party201. In an embodiment, the billing management application207is implemented on an independent application server206. The application server206is an application logic processing server that communicates with the voice server205to initiate billing of the calling party201. In this embodiment, the voice server205and the application server206can be implemented as a single server or multiple servers capable of performing the functions rendered by both the voice server205and the application server206. In another embodiment, the billing management application207can be implemented on a single application server206or multiple applications servers for managing billing of the calling party201. In another embodiment, the billing management application207is implemented within the voice server205. In this embodiment, the billing management application207can be implemented on a single server or multiple servers capable of performing the functions rendered by both the billing management application207and the voice server205.

The billing management application207comprises a detection module207a, an indication module207b, and a billing initiation module207c. The detection module207adetects redirection of the call attempt unanswered by the called party204from the second network component203to the voice server205. The indication module207bindicates to the first network component202to disable billing of the calling party201for the unanswered call attempt as disclosed in the detailed description ofFIG. 1. In an embodiment, the indication module207bcommunicates with and indicates to the first network component202to disable billing of the calling party201by transmitting one or more message parameters to the first network component202, for example, prior to, during, and/or after receipt of a call answer message from the voice server205. In another embodiment, the indication module207bcommunicates with and indicates to the first network component202to disable billing of the calling party201by transmitting one or more message parameters to the first network component202, in the call answer message of the call attempt.

In another embodiment, the indication module207bcommunicates with and indicates to the first network component202to disable billing of the calling party201by direct communication between the billing management application207and the first network component202via a proprietary communications protocol. In another embodiment, the indication module207bcommunicates with and indicates to the first network component202to disable billing of the calling party201by informing the charging server208associated with the calling party201to disregard billing requests made by the first network component202for billing the calling party201. In another embodiment, the indication module207bindicates to the first network component202to disable billing of the calling party201by an absence of a billing communication between the billing management application207and the first network component202. The first network component202disables billing of the calling party201due to the absence of the billing communication.

The billing initiation module207c, in communication with the voice server205, initiates billing of the calling party201based on one or more of billing criteria, for example, event based criteria, time duration based criteria, a charging limit defined by the charging server208, state of the call attempt, number of services utilized by the calling party201, type of services utilized by the calling party201, etc., via the second network component203for utilizing one or more services provided by the voice server205. The billing initiation module207cof the billing management application207instructs the charging server208to bill the calling party201for utilizing one or more services provided by the voice server205. Therefore, the calling party201is billed via the second network component203instead of the first network component202for utilization of one or more services provided by the voice server205. The charging server208bills the calling party201as directed by the billing initiation module207cof the billing management application207.

In an embodiment, the billing initiation module207cdetermines the billing charge and processes the billing of the calling party201, for example, based on the services utilized at the voice server205by the calling party201, the state of the call attempt, etc. In an embodiment, the detection module207adetects utilization of one or more services by the calling party201and informs the charging server208to bill the calling party201as directed by the billing initiation module207c. In an embodiment, the billing initiation module207cterminates the utilization of one or more services provided by the voice server205.

In an embodiment, the detection module207adetects redirection of repeated call attempts made by the calling party201to contact the called party204within a short period of time to the voice server205as emergency call attempts. The billing initiation module207c, in communication with the voice server205, initiates the billing of the calling party201via the second network component203for utilizing one or more emergency services provided by the voice server205for the emergency call attempts unanswered by the called party204.

In an embodiment, the voice server205provides one or more services to the calling party201based on one or more of the billing criteria, for example, a charging limit defined by the charging server208. The billing initiation module207c, in communication with the voice server205, initiates the billing of the calling party201based on one or more of the billing criteria via the second network component203for utilizing the provided services. The voice server205, in addition, to completing the calls by offering related voice services for call completion to the calling party201, also offers other services. For example, if the same calling party201makes multiple call attempts to the called party204within a short span of time, the voice server205treats this is an emergency and offers emergency services or redirects the unanswered call to emergency servers.

Moreover, the voice server205instead of initiating charging of a single charge to the calling party201for the voice services offered, checks the charging limit of the calling party201from the charging server208, and based upon the charging limit defined by the charging server208, offers the services with corresponding quality of services to the calling party201depending upon the charging limit. In an example, the voice server205interacts with the calling party201and determines what kind of voice service the calling party201desires, offers the desired voice service to the calling party201, and communicates with the billing management application207to initiate billing of the calling party201accordingly.

FIG. 3exemplarily illustrates the architecture of a computer system300employed by the billing management application207for managing billing of a calling party201for an unanswered call attempt made to a called party204. The computer system300comprises, for example, a processor301, a memory unit302for storing programs and data, an input/output (I/O) controller303, a network interface304, a data bus305, a display unit306, input devices307, a fixed media drive308, a removable media drive309for receiving removable media, output devices310, etc.

The processor301is an electronic circuit that executes computer programs. The memory unit302stores programs, applications, and data. For example, the modules207a,207b, and207cof the billing management application207are stored on the memory unit302of the computer system300. The memory unit302is, for example, a random access memory (RAM) or another type of dynamic storage device that stores information and instructions for execution by the processor301. The memory unit302also stores temporary variables and other intermediate information used during execution of the instructions by the processor301. The computer system300further comprises a read only memory (ROM) or another type of static storage device that stores static information and instructions for the processor301. The network interface304enables connection of the computer system300to the network209. The network209is, for example, a local area network (LAN), a wide area network, a mobile communication network, a signaling system number 7 (SS7) network, a wired telephony network, any generic data network, etc. The computer system300that executes the billing management application207communicates with other computer systems, for example, the voice server205through the network interface304. The network interface304comprises, for example, an infrared (IR) interface, a WiFi interface, a universal serial bus interface (USB), a local area network (LAN), a wide area network (WAN) interface, a Worldwide Interoperability for Microwave Access (WiMAX) interface, etc. The billing management application207communicates with the second network component203via the network interface304.

The I/O controller303controls the input and output actions performed, for example, by operators of the billing management application207. The data bus305permits communication between the modules, for example,207a,207b, and207cof the billing management application207. The display unit306displays the results computed by the billing management application207, for example, to the operators of the billing management application207. The input devices307are used for inputting data into the computer system300. The input devices307are, for example, a keyboard such as an alphanumeric keyboard, a joystick, a mouse, a touch pad, a light pen, etc. The output devices310output the results of the actions computed by the billing management application207, for example, the determined billing charge, to the operators of the billing management application207.

Computer applications and programs are used for operating the computer system300. The programs are loaded onto the fixed media drive308and into the memory unit302of the computer system300via the removable media drive309. In an embodiment, the computer applications and programs may be loaded directly through the network209. Computer applications and programs are executed by double clicking a related icon displayed on the display unit306using one of the input devices307.

The computer system300employs an operating system for performing multiple tasks. The operating system is responsible for management and coordination of activities and sharing of resources of the computer system300. The operating system further manages security of the computer system300, peripheral devices connected to the computer system300, and network connections. The operating system recognizes keyboard inputs and pointing device inputs of an operator, output display, files, and directories stored locally on the fixed media drive308. The operating system on the computer system300executes different programs, for example, a web browser, an electronic mail (email) application, a customized program, etc., initiated by the operators of the billing management application207using the processor301. The operating system monitors the use of the processor301. The processor301retrieves the instructions for executing the modules, for example,207a,207b, and207cof the billing management application207from the program memory in the form of signals. A program counter determines the location of the instructions in the program memory. The program counter stores a number that identifies the current position in the program of the modules, for example,207a,207b, and207cof the billing management application207.

The instructions fetched by the processor301from the program memory after being processed are decoded. The instructions are placed in an instruction register (IR) in the processor301. After processing and decoding, the processor301executes the instructions. For example, the detection module207adefines instructions for detecting redirection of the call attempt unanswered by the called party204to the voice server205. The indication module207bdefines instructions for indicating to the first network component202to disable billing of the calling party201for the unanswered call attempt as disclosed in the detailed description ofFIG. 2. The billing initiation module207cdefines instructions for initiating billing of the calling party201based on one or more of the billing criteria, in communication with the voice server205, via the second network component203, for utilizing one or more services provided by the voice server205. In an embodiment, the billing initiation module207cdefines instructions for determining the billing charge for the calling party201based on one or more of the billing criteria and for instructing the charging server208to bill the calling party201the determined billing charge.

The detection module207adefines instructions for detecting utilization of one or more services by the calling party201and for informing the charging server208to bill the calling party201as directed by the billing initiation module207c. In an embodiment, the billing initiation module207cdefines instructions for terminating the utilization of one or more services provided by the voice server205.

In another embodiment, the detection module207adefines instructions for detecting redirection of repeated call attempts made by the calling party201to contact the called party204within a short period of time to the voice server205as emergency call attempts. The billing initiation module207cdefines instructions for initiating the billing of the calling party201, in communication with the voice server205, via the second network component203for utilizing one or more emergency services provided by the voice server205for the emergency call attempts unanswered by the called party204. The processor301of the computer system300retrieves the instructions defined by the detection module207a, the indication module207b, and the billing initiation module207cand executes the instructions.

At the time of execution, the instructions stored in the instruction register are examined to determine the operations to be performed. The operations include arithmetic and logic operations. The processor301then performs the specified operations. The operating system performs multiple routines for performing a number of tasks required to assign the input devices307, the output devices310, and memory for execution of the modules, for example,207a,207b, and207cof the billing management application207. The tasks performed by the operating system comprise assigning memory to the modules, for example,207a,207b, and207cof the billing management application207, moving data between the memory unit302and disk units, and handling input/output operations. The operating system performs the tasks on request by the operations and after performing the tasks, the operating system transfers the execution control back to the processor301. The processor301continues the execution to obtain one or more outputs. The outputs of the execution of the modules, for example,207a,207b, and207cof the billing management application207are displayed, for example, to the operators of the billing management application207.

Disclosed herein is also a computer program product comprising computer executable instructions embodied in a non-transitory computer readable storage medium. As used herein, the term “non-transitory computer readable storage medium” refers to all computer readable media, for example, non-volatile media such as optical disks or magnetic disks, volatile media such as a register memory, processor cache, etc., and transmission media such as wires that constitute a system bus coupled to the processor301, except for a transitory, propagating signal.

The computer program product disclosed herein comprises one or more computer program codes for managing billing of a calling party201for an unanswered call attempt made to a called party204. For example, the computer program product disclosed herein comprises a first computer program code for detecting redirection of the call attempt made by the calling party201and unanswered by the called party204to the voice server205, a second computer program code for indicating to the first network component202to disable billing of the calling party201for the unanswered call attempt, and a third computer program code for initiating billing of the calling party201based on one or more of the billing criteria, in communication with the voice server205, via the second network component203, for utilizing one or more services provided by the voice server205, whereby the calling party201is billed via the second network component203instead of the first network component202for the utilization of one or more services provided by the voice server205. The computer program product disclosed herein further comprises additional computer program codes for performing additional steps that may be required and contemplated for managing billing of the calling party201for an unanswered call attempt made to the called party204.

The computer program codes comprising the computer executable instructions for managing billing of the calling party201for an unanswered call attempt made to the called party204are embodied on the non-transitory computer readable storage medium. The processor301of the computer system300retrieves these computer executable instructions and executes them. When the computer executable instructions are executed by the processor301, the computer executable instructions cause the processor301to perform the method steps for managing billing of the calling party201for an unanswered call attempt made to the called party204. In an embodiment, a single piece of computer program code comprising computer executable instructions performs one or more steps of the method disclosed herein for managing billing of the calling party201for an unanswered call attempt made to the called party204.

For purposes of illustration, the detailed description refers to the billing management application207being run locally on a computer system300; however the scope of the method and system200disclosed herein is not limited to the billing management application207being run locally on the computer system300via the operating system and the processor301, but may be extended to run remotely over the network209by employing a web browser and a remote server, a mobile device, or other electronic devices.

FIGS. 4A-4Cexemplarily illustrate a flowchart comprising the steps for managing billing of a calling party201for an unanswered call attempt made to a called party204. Consider an example where a calling party A201dials401adestination number of a called party B204using a communication device210of the calling party A201for establishing a communications link between the calling party A201and the called party B204in a global system for mobile (GSM) communications network209. The first network component202is herein referred to as “switch A” referenced by the numeral202. Switch A202is, for example, a base station controller (BSC). Switch A202in conjunction with a mobile switching center (MSC) of the GSM network209validates402the calling party A201and allows the calling party A201to initiate a call attempt to the called party B204. Switch A202validates the calling party A201by determining whether the calling party A201is a valid customer. After validation, the GSM network209allows the calling party A201to proceed with the call attempt. Switch A202then routes403the call attempt made by the calling party A201to the destination number of the called party B204via the second network component203herein referred to as “switch B” referenced by the numeral203. Switch A202treats the call attempt as a regular call attempt where the calling party A201is billed based on the subscription plan of the calling party A201, when the called party B204answers the call. Switch A202may not bill the calling party A201if the destination number of the called party B204is a toll free number.

The called party B204may be a fixed line customer or a mobile customer. If the called party B204is a mobile customer in the GSM network209, switch B203is the base station controller (BSC) where the called party B204is currently connected as per a home location register (HLR) status and/or a visitor location register (VLR) status of the called party B204. When switch B203receives404the call attempt at an integrated services digital network user part (ISUP) level, switch B203checks405whether the called party B204is available for alerting. If the called party B204is not available for alerting, the call attempt is deemed406as an unsuccessful call attempt. Switch B203redirects410the unsuccessful call attempt to the voice server205associated with switch B203. If the called party B204is available for alerting, the called party B204is alerted407, for example, by ringing.

If the called party B204answers408the call attempt, the communications link is established between the calling party A201and the called party B204. As per billing rules in conventional GSM networks209, switch A202bills the calling party A201for regular voice calls and switch B203bills the called party B204, if the call is a toll free call. In this example, the call is a regular voice call and switch A202bills409the calling party A201based on the subscription plan of the calling party A201.

If the call attempt is unanswered408by the called party B204, switch B203redirects410the call attempt to the voice server205associated with switch B203. The voice server205provides voice services, for example, automatic voice short message services (AVSMS), voicemail, etc. The billing management application207detects411the redirection of the call attempt to the voice server205.

The billing management application207then indicates412to switch A202to disable billing of the calling party A201for the unanswered call attempt. The billing management application207indicates to switch A202to disable billing the calling party A201in one of the following methods: In a first method, the billing management application207sends one or more message parameters during ISUP signaling, in which an ISUP answer message comprises a billing indicator, for example, “no charge”. In a second method, the billing management application207withholds transmission of the ISUP answer message comprising the billing indicator. Since the ISUP answer message is not received by switch A202, switch A202does not initiate billing of the calling party A201by the charging server208associated with the calling party A201. In a third method, the billing management application207directly communicates with switch A202to not initiate billing the calling party A201via a proprietary communications protocol. In a fourth method, the billing management application207instructs the charging server208to disregard the billing requests by switch A202for billing the calling party A201. The billing management application207indicates to the first network component202to disable billing of the calling party A201, for example, prior to initiation of call processing by the voice server205.

The billing management application207communicates with the charging server208to bill the calling party A201based on services provided by the voice server205to the calling party A201. The voice server205offers a voice based menu and allows the calling party A201to make choices as per services to be utilized by the calling party A201. The voice server205also has capability to record the voice messages as spoken by the calling party A201. Since this voice recording is independent of language, the voice recording can be performed in any language and is therefore language agnostic.

The billing management application207detects413that the calling party A201has utilized one or more services provided by the voice server205, for example, that the calling party A201has left a voice recording for the called party B204. The billing management application207then communicates414with the charging server208to bill the calling party A201via switch B203based on the service utilized by the calling party A201, that is, for the voice recording left for the called party B204by the calling party A201. After the calling party A201has completed utilization of the service by completing the voice recording, the call attempt is terminated415by the calling party A201, the billing management application207, or switch A202.

It will be readily apparent that the various methods and algorithms disclosed herein may be implemented on computer readable media appropriately programmed for general purpose computers and computing devices. As used herein, the term “computer readable media” refers to non-transitory computer readable media that participate in providing data, for example, instructions that may be read by a computer, a processor or a like device. Non-transitory computer readable media comprise all computer readable media, for example, non-volatile media, volatile media, and transmission media, except for a transitory, propagating signal. Non-volatile media comprise, for example, optical disks or magnetic disks and other persistent memory volatile media including a dynamic random access memory (DRAM), which typically constitutes the main memory. Volatile media comprise, for example, a register memory, processor cache, a random access memory (RAM), etc. Transmission media comprise, for example, coaxial cables, copper wire and fiber optics, including wires that constitute a system bus coupled to a processor. Common forms of computer readable media comprise, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a compact disc-read only memory (CD-ROM), digital versatile disc (DVD), any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a random access memory (RAM), a programmable read only memory (PROM), an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM), a flash memory, any other memory chip or cartridge, or any other medium from which a computer can read. A “processor” refers to any one or more microprocessors, central processing unit (CPU) devices, computing devices, micro-controllers, digital signal processors, or like devices. Typically, a processor receives instructions from a memory or like device, and executes those instructions, thereby performing one or more processes defined by those instructions. Further, programs that implement such methods and algorithms may be stored and transmitted using a variety of media, for example, the computer readable media in a number of manners. In an embodiment, hard-wired circuitry or custom hardware may be used in place of, or in combination with, software instructions for implementation of the processes of various embodiments. Thus, embodiments are not limited to any specific combination of hardware and software. In general, the computer program codes comprising computer executable instructions may be implemented in any programming language. Some examples of languages that can be used comprise C, C++, C#, Perl, Python, JAVA, PHP, JavaScript, Flex, Ruby, JavaServer Pages (JSP), Active Server Pages (ASP), etc. The computer program codes or software programs may be stored on or in one or more mediums as object codes. The computer program product disclosed herein comprises computer executable instructions embodied in a non-transitory computer readable storage medium, wherein the computer program product comprises computer program codes for implementing the processes of various embodiments.

The present invention can be configured to work in a network environment including a computer that is in communication, via a communications network, with one or more devices. The computer may communicate with the devices directly or indirectly, via a wired or wireless medium such as the Internet, a local area network (LAN), a wide area network (WAN) or the Ethernet, token ring, or via any appropriate communications means or combination of communications means. Each of the devices may comprise computers such as those based on the Intel® processors, AMD® processors, UltraSPARC® processors, Sun® processors, IBM® processors, etc., that are adapted to communicate with the computer. Any number and type of machines may be in communication with the computer.