The present invention is directed to an internet telephony system and a method for the metering of calls in an internet protocol telephony system.
VoIP or voice over Internet protocol refers to the carriage of telephony traffic in packets over an IP-based network, such as the Internet or a proprietary IP network. VoIP is not restricted to voice alone but also encompasses such things as video calls or conferencing and a more general term is “internet protocol (IP) telephony”
In a IP telephony call, the content stream, i.e. voice or video, is compressed and broken down into packets. The packets may be sent toward the final destination by a variety of routes (as opposed to establishing a ‘permanent’ end-to-end connection for the duration of the call), Selection of the routes for a particular call may be based on avoiding network congestion, etc. At the destination, the packets are reassembled, decompressed and converted back into one or more media streams by various hardware and software elements, depending on the nature of the call and its final destination.
Two major standards have emerged for implementing IP telephony: session initiation protocol (SIP) defined by the Internet Engineering Task Force (IETF) in RFC 2543. and H.323 “Packet-based multimedia communications systems”—a standard formulated by the International Telecommunication Union (ITU-T). It will be understood that these two are by no means the only choices for carrying IP telephony. Other choices include Google Talk, IAX (Inter-Asterisk eXchange protocol), SCCP (Skinny Client Control Protocol), Skype and XMPP (Extensible Messaging and Presence Protocol).
In general, SIP is more streamlined than H.323 and is widely used for IP telephony. As defined by the IETF, SIP is an application-layer control/signalling protocol for creating, modifying and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution and multimedia conferences.
SIP allows two or more participants to establish a session using text-based request and response messages, as set out in the RFC. A SIP user (or SIP endpoint), is addressed by a SIP URI in the form of an e-mail address, such as sip:alan@bt.com. The application used for communication is called the user agent (UA). Call initiation and modification is done through INVITE messages. Two endpoints can communicate with each other directly, or via a redirect server. On receipt of a request for call initiation, the redirect server (or SIP proxy) accesses a location service (or SIP registrar) to retrieve the IP address and port of the target user. The location service keeps track of the current location of the users.
As with conventional PSTN telephony traffic, there is a need to establish a metering and billing regime for SIP controlled Internet telephony traffic. In a peer-to-peer arrangement, metering could be conducted at one or other user but this introduces the prospect of tampering by a rogue user. To allow for secure metering of IP calls, it has been proposed to establish a call metering function at a SIP redirect server remote from the end users.
IP telephony has, in the mean time, been developing from a medium for simple voice traffic to supporting sophisticated service delivery over the internet. An example of such service delivery over IP telephony is on-line personal advice services, such as those hosted by BT
An on-line personal advice service over IP telephony would typically be initiated by a customer, who is seeking advice, browses a service directory to find a suitable service provider. Having located a provider whose service they wish to use they would select the appropriate link and be directed to a local client, where they may need to login. The client would automatically place an IP telephony call to the provider of the selected service. The service is provided for a fee based on the duration of the call and the customer's client will typically include a display facility to inform the user of the current cost of the IP call. Conventional VoIP metering mirrors conventional PSTN call metering in measuring the length of a call from beginning to end.
Conventional billing in SIP-based IP telephony is implemented by recording the start time of a communication and monitoring the payload in order to detect the end of the communication. From this information, the length of the call may be determined. A call detail record (CDR) is then generated and sent to a billing server.
The present invention is directed to providing metering in a manner more suited for supporting the provision of services via IP telephony and to providing an efficient means of providing flexible metering of IP telephony communications.
The present invention provides a method of metering a communication between users in an internet protocol (IP) telephony system, including the steps of: using SIP telephony control messages to control IP telephony communication between two or more users; and metering the communication on the basis of one or more SIP metering control message from at least one of the users to control the metering.
Preferably, the metering includes distinguishing between chargeable and non-chargeable periods of the communication.
According to a further aspect, the telephony control messages and the one or more metering control message are implemented in a single logical SIP session.
According to further aspects, the server receives and examines one or more metering control message from at least one user to determine the intent of the users as to the metering of the communication; and the one or more metering control message are received by the server during the communication. Each metering control message preferably comprises a SIP INFO message.
According to further aspects the first metering period is terminated in response to a metering control message received from one of the users during the communication and subsequent to terminating the first metering period, the server starts a second metering period in response to a metering control message received from one of the users during the communication.
Preferably, the metering is associated with a charge rate and in which the charge rate is changed in response to one or more metering control message received from at least one of the users during the communication.
The communication may be used to communicate a service provided by one of the users to at least one of the other users and the service provided could include advice provided by one of the users to the at least one of the other users.
According to a further aspect, a call detail record is generated for sending to a billing platform or payment services provider.
According to alternative embodiments, the metering and the control of the IP telephony communication may be provided by a server or the metering may be provided by a SIP client of a user.
The present invention also provides an Internet protocol telephony system, comprising: a server for setting up IP telephony communication between two or more users; in which the server is arranged to use SIP telephony control messages to set up the IP telephony communication; metering means to meter the communication; in which the metering means is arranged to receive SIP metering control messages from at least one of the users for control of the call metering.
Preferably, the metering means comprises means to distinguish between chargeable and non-chargeable periods of the communication for metering purposes.
According to an aspect of the invention, the telephony control messages and the metering control messages are comprised in a single logical SIP session.
According to a further aspect, the metering control messages are received during the communication.
According to further aspects, the metering means is arranged to terminate a first metering period in response to one or more SIP messages received from at least one of the users during the communication and the metering means is arranged, subsequent to terminating the first metering period, to start a second metering period in response to one or more SIP messages received from at least one of the users during the communication.
According to a further aspect the metering is associated with a charge rate and in which the metering means is arranged to change the charge rate in response to one or more SIP messages received from at least one of the users during the communication.
According to a further aspect, the metering means is arranged to generate a call detail record for sending to a billing platform or payment services provider.
According to alternative embodiments, one of the users comprises a SIP client comprising the metering means or the server comprises the metering means.
The present invention also provides a computer program or suite of programs so arranged such that when executed by a computer system it/they cause/s the system to perform the method of the invention.
Embodiments of the invention will now be described by way of example with reference to the drawings in which:
For the purposes of setting up an IP telephony call, the users' PCs 12, 22 are connected via a SIP platform 30 (also known as a Voice and Multimedia platform—VMP). VMP 30 has a session border controller 32 for interfacing with each user PC 12, 22 and for exchanging messages between a user and a SIP server 34 forming part of VMP 30. According to a preferred embodiment, these messages include the transmittal of charge-related information using SIP INFO messages. The SIP control and SIP INFO messages are sent over a single logical data session. According to a preferred embodiment, these messages are sent over User Datagram Protocol (UDP). SIP server 34 may be provided by a commercially available softswitch such as the Alcatel 5020.
The SIP protocol was originally designed for peer-to-peer operation but is used in the present invention with a central point of control in SIP server 34. SIP server 34 comprises a SIP registrar 36 and a SIP proxy 38. SIP proxy 38 is active to route requests to a user and to authenticate and authorize users for services. As the location of a user can change, the SIP registrar 36 handles SIP register requests and maintains a register of a user's current location for use by the SIP server. Normally, the registrar is dependent on users providing details of location changes in order to keep the register up to date.
SIP server 34 is linked to SIP application server 40 which supports metering application 42 that establishes the metering profile for each call. SIP application server 40 may be provided by a commercially available multimedia application server such as the Alcatel 8605 MMAS. SIP server 34 is configured to forward SIP requests relating to the service to SIP application server 40 so that they can be handled by the application, and forwarded to the remote party if appropriate. Metering application 42 is in communication with payment services provider (PSP) 50 using a payment services provider API, e.g. according to the Parlay specification. PSP 50 is responsible for actually making payment to service provider 20 based on the charging information provided by metering application 42. The payment services provider is a third party, which provides eWallet services used to transfer money between the customer and service provider. Payment services provider 50 may be provided by a number of commercial operations such as Click&Buy™, PayPal™, etc. As an alternative, a billing platform may be used in place of the PSP to store the charge information for inclusion in the customer's telephone bill.
According to a preferred embodiment of the present invention, a CDR is generated at the end of the communication. This CDR is sent to the payment services provider in order to obtain immediate payment for the communication, and may be retained locally for audit and MIS purposes. The CDR preferably includes details of the participants in a communication, the duration of the communication and an indication of the charging rate or rates for various periods of the communication. Alternatively the CDR information may be stored locally for inclusion in the customer's telephone bill. According to a preferred embodiment of the invention, the information relating to charging is exchanged using SIP INFO messages. SIP INFO messages, defined in IETF RFC 2976, are designed to carry session-related control information that is generated during a session. The present inventors envisioned effectively extending the SIP protocol to include call metering.
The setting up of an IP telephony communication between the two users of
According to an embodiment of the present invention, an IP telephony communication is set up between two users 10, 20. The service provider 20 is a user offering a service (which will be provided over an IP telephony session). The customer 10 is a user who wants to make use of the service offered by the service provider. The service is provided, for example, on the instigation of the prospective customer selecting a link from a web page displayed on the first user's terminal. In more detail, when the prospective customer selects a link to evoke a desired service, the customer's client initiates the creation of a VoIP session with the service provider to support a call (e.g. voice or video) between the customer 10 and the service provider 20. According to the present invention, this is done via the SIP server 34 (part of voice and multimedia platform 30) in client-server fashion. A typical communication sequence will now be described in detail, with reference to the SIP requests and responses shown in the sequence diagram of
At some point during the call the service provider clicks a “start charging” link displayed on PC 22 to instruct service provider client 24 to send a “start” message to the metering application 42 hosted on SIP application server 40 in voice and multimedia platform 30 to request the start of the chargeable consultancy session. The start message includes information on the published charging rate for the communication (or service). The metering application, upon receiving the start message from the service provider client triggers the set-up of the consultancy session, specifying the charging rate to both parties. The specified charging rate information is displayed by the client of each user on that users' terminal. The sequence is as follows:
In the example given above, the underlying SIP VoIP call setup is triggered by the customer's client making a call to the service provider. This means that the customer's client has to dial the service provider. As an alternative to client-dialed call setup (i.e. originated from the customer client, also known as first party call-connect), call initiation may be by third party call-connect. Typically, third party call-connect may be triggered from a service directory web site—the web site makes a web services call into the SIP application, requesting that a call be set up between the customer and the service provider. This triggers a call to the customer, then a call to the service provider. The SIP platform issues a SIP INVITE to the customer and, upon answer, issues a SIP INVITE to the service provider. Both clients see this as an incoming call, though the customer's client may be set to auto answer the call. Once the service provider invitation has been issued the two ends of the call are connected together, and the SIP server ceases to take a role in the call (apart from supporting metering of the call).
The metering application could be provided by the SIP server or, alternatively, integrated into a user client 14, 24—the decision where to implement the application depends on the degree of trustworthiness of customers, service providers, and the clients they use.
As we have seen, the initial communication with the service provider may typically be free-of-charge to allow for the prospective customer to obtain further details of the service offered, to discuss whether the service provider can meet the prospective customer's requirements and, possibly, to agree a charging structure. Once these initial negotiations are completed, the service provider requests charging to start by sending a SIP INFO message carrying a “Request_Start” message to the voice and multimedia platform. The message from service provider 20 would include an instruction to commence metering of the existing communication between the users and may include information on the applicable charging rate. However, before metering can start, voice and multimedia platform 30 would also require a similar SIP INFO message carrying a “Request Start” message from customer 10 indicating their agreement to the start of metering and, optionally, giving their consent to the proposed charging rate.
On receipt of appropriate messages from both users 10, 20, metering application 42 on voice and multimedia platform 30 starts metering the call, i.e. recording the length of the communication between the users from that point in time.
In a further embodiment, the metering may be started by the message received from only one of the users, with the other users being notified that charging has started by the display on their terminal.
According to a preferred embodiment, the meter application would send “heartbeat” or “sync” messages to the users at regular intervals. These messages would act to give the users a consistent view of the current chargeable duration of the communication and may be used as a prompt for further authorisation from the users to continue with the communication on a chargeable basis. This authorisation may be restricted to the next time period or “heartbeat” interval.
Once the metering application has sent a heartbeat message to the users for the next time period, effectively requesting confirmation from the users that they are still active on the call, and has received suitable replies indicating that the call is to be continued, the metering application may first check with a payment provider to ensure that the paying user has sufficient funds to cover the cost of this next period. If adequate funds are found then the metering application allows the communication to continue.
According to a further embodiment, one or more of the users may send a message to temporarily halt the metering of the communication i.e. where the service provider needs to access reference information before proceeding with providing the service or, possibly, the customer seeks more details or wishes to negotiate new terms for continuing the service.
Hence charging for the call is now disconnected from merely recording of the overall length of the call. The metering service of the present invention provides for a sophisticated and flexible method for charging for a call that is better suited to the more sophisticated commercial applications being planned for IP telephony. In particular, the metering of the call can be started, paused and stopped under control of one or more users and, according to a preferred embodiment, a charging rate may be agreed and modified during the lifetime of a communication. Advantageously, the use of SIP INFO messages to implement the present invention removes the need for invoking an additional protocol to handle metering and charge control. The use of SIP also increases the inherent robustness of the system as the same SIP communications channel may be used to set up a call as well as to control the metering of it. This means that, where there is any problem with a SIP session that would prevent metering, it is unlikely that a communication could be set up. Hence the situation is avoided where a communication is set up but, due to a problem with the metering protocol, correct metering of the communication is not possible.
The extension of SIP to control of metering also avoids potential problems with fire walls. In a typical communication system in which the present invention may be implemented, each of the users' terminals, together with the voice and multimedia platform, would typically be protected behind their own firewall. One characteristic of a firewall is that they are normally designed to block unsolicited incoming packets. Hence a packet may be allowed in through a firewall only if a corresponding packet had previously been sent out through the same firewall. This is known as stateful packet inspection (SPI). SPI records the state of outgoing packets and admits incoming packets that match a corresponding, earlier outgoing packet. By carrying the metering message in the SIP INFO message the current invention takes advantage of the techniques already in place in the UA to maintain state in the users firewall (typically by resending a SIP register message at intervals to maintain the firewall state).
According to an alternative embodiment, the initial period of a call is not completely free but at a reduced or minimal rate (for example, to discourage “time wasters”) and the meter is instructed to increase the rate for the communication or service, i.e. to the full chargeable rate, using one of the mechanisms detailed above, once the initial negotiation period is complete.
Once the call is set up, the payload (i.e. the voice and/or video traffic), unlike the call control, will preferably follow a direct route in a peer-to-peer connection between the users, although this is not the only option. One reason for deciding to bring the payload through the voice and multimedia platform 30 is that this could provide a break-out point to the public switch telephone network (PSTN—not shown). However, the primary function of the voice and multimedia platform in the present invention is that of control and metering of the communication between the end users 10, 20. Although it is possible, it is not necessary for the purposes of the present invention to route the payload through the same path as the call control. Passing the payload directly between the end users will avoid any potential bottleneck at the voice and multimedia platform 30.
The metering messages used in this invention are carried as message bodies of the SIP INFO message.
The fields of the SIP INFO message body are defined as follows:
Charge Amount—the amount that is to be charged for each interval of the metered session, as defined by the selected charging model.
Charge Currency—the currency in which financial values are represented for this meter session.
Current Session Cost—The amount which has been charged against the customer account so far.
Max Session Cost—The maximum amount which will be charged without further approval from the customer and service provider.
Here “currency” may be any negotiable real-world currency or similar value-tokens, such as saving-scheme points and, possibly, virtual world currencies.
The message types are as follows:
Example SIP INFO message bodies:
Where Charge_Model 1 is pence per minute in advance.
Where event code 701 corresponds to a session terminated at the request of the service provider.
Those skilled in the art will appreciate that the above embodiments of the invention are simplified for brevity and to avoid rehearsing quantities of detail with which the skilled reader would already be well familiar. Those skilled in the art will moreover recognise that several equivalents to the features described in each embodiment exist. Where known equivalents exist to the functional elements of the embodiments, these are considered to be implicitly disclosed herein, unless specifically disclaimed. Accordingly, the spirit and scope of the invention is not to be confined to the specific elements recited in the description but instead is to be determined by the scope of the claims, when construed in the context of the description, bearing in mind the common general knowledge of those skilled in the art.
The skilled person will recognise that the above-described apparatus and methods may be embodied as processor control code, for example on a carrier medium such as a disk, CD- or DVD-ROM, programmed memory such as read only memory (Firmware), or on a data carrier such as an optical or electrical signal carrier. For many applications embodiments of the invention will be implemented on a DSP (Digital Signal Processor), ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array). Thus, the code may comprise conventional programme code or microcode or, for example code for setting up or controlling an ASIC or FPGA. The code may also comprise code for dynamically configuring re-configurable apparatus such as re-programmable logic gate arrays. Similarly, the code may comprise code for a hardware description language such as Verilog™ or VHDL (Very high speed integrated circuit Hardware Description Language) or industry equivalents. As the skilled person will appreciate, the code may be distributed between a plurality of coupled components in communication with one another, e.g. servers and user processing platforms.
The content of the attached abstract is incorporated herein, as follows: a method and system for metering a communication between users (10, 20) in an Internet protocol (IP) telephony system (1). The method includes the steps of: using SIP telephony control messages (110-162) to control IP telephony communication between two or more users; and metering the communication on the basis of one or more SIP metering control message (130-154) from at least one of the users to control the metering. The internet protocol telephony system (1) comprises a server (30) for setting up IP telephony communication between the two or more users (10, 20). The server is arranged to use SIP telephony control messages to set up the IP telephony communication; metering means (42) to meter the communication. The metering means is arranged to receive SIP metering control messages from at least one of the users for control of the call metering. The ability to distinguish between chargeable and non-chargeable periods of the communication provides for more flexible metering suitable to support e-commerce.
Number | Date | Country | Kind |
---|---|---|---|
0714697.0 | Jul 2007 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB08/02114 | 6/20/2008 | WO | 00 | 1/27/2010 |