WO2008030181A1 - Apparatus and methods for selection of communication providers for calling system - Google Patents

Apparatus and methods for selection of communication providers for calling system Download PDF

Info

Publication number
WO2008030181A1
WO2008030181A1 PCT/SG2006/000256 SG2006000256W WO2008030181A1 WO 2008030181 A1 WO2008030181 A1 WO 2008030181A1 SG 2006000256 W SG2006000256 W SG 2006000256W WO 2008030181 A1 WO2008030181 A1 WO 2008030181A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
server
communications
call
client
Prior art date
Application number
PCT/SG2006/000256
Other languages
French (fr)
Inventor
C. Alfredo Fajardo
Original Assignee
Veritas Mobile Solutions Pte. Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Veritas Mobile Solutions Pte. Ltd. filed Critical Veritas Mobile Solutions Pte. Ltd.
Priority to PCT/SG2006/000256 priority Critical patent/WO2008030181A1/en
Publication of WO2008030181A1 publication Critical patent/WO2008030181A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/18Selecting a network or a communication service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/508Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement
    • H04L41/5087Network service management, e.g. ensuring proper service fulfilment according to agreements based on type of value added network service under agreement wherein the managed service relates to voice services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/14Backbone network devices

Definitions

  • the present invention relates to systems, apparatus and methods for making voice calls.
  • Telecommunications has undergone a number of changes in recent years, with standard PSTN networks being supplemented and in many cases supplanted by mobile telephone and VoIP (Voice over the Internet Protocol) systems.
  • VoIP Voice over the Internet Protocol
  • Messaging services such as email and SMS messaging
  • Instant Messaging services have become popular communications tools, with users able to identify contacts that are online and to exchange messages with them in real time.
  • These messaging services are generally text-based, but some Instant Messaging services also offer voice calls, an example being the Skype VoIP system.
  • the present invention aims to provide new calling systems, apparatus and methods, which, in their various configurations, may provide a number of advantageous features and may provide users with enhanced voice calling abilities.
  • the present invention provides a contacts management system for allowing a user to make a voice call to one or more contacts associated with the user, the system including: a contacts management client provided on a communications device of a user, and a contacts management server remote from the client and communicating with the client through a communications provider of the user; wherein the system including details of user contacts to whom a user may wish to place a voice call and details of further communications providers through which voice calls may be placed; wherein the system enables a user to select a contact from a list of contacts provided on the user's communications device; and wherein the system determines, for the selected contact, one or more of the further communications providers through which a call to the selected contact may be routed, the system connecting the user to the selected contact using one of the determined communications providers.
  • the system provides a flexible and convenient way of allowing a user to call a contact. It allows for example a user to call a contact quickly and easily using a selection of communications providers that may provide low cost connections.
  • the communications providers may take many different forms and may be for example standard PSTN providers, mobile phone providers or VoIP providers, and the system is applicable to many types of user device, including mobile telephones connected to cellular nets and computing devices connected to computer networks.
  • the user device may be for example a 2G, 2.5G or 3G phone, including a smart phone, or may be a personal computer, a laptop, a PDA, an ATA adaptor, a wi-fi phone or the like.
  • the client may include a VoIP facility or may initiate a VoIP application provided on the computing device.
  • the client may also provide a VoIP facility on a mobile telephone.
  • the system may select the communications provider based on one or more of a number of criteria, including the cost of a call and the coverage of the provider, e.g. whether the contact is accessible by the provider.
  • the system may for example include tables of provider rates, and may determine a call cost based on the tables, e.g. to provide a least cost routing in real-time.
  • the system may also for example determine the country or region to which a call is being made and may filter out providers that do not service that country or region.
  • the system may use other selection criteria as well, including whether or not the client has sufficient credits with a provider for a call, and, as another example, the system may determine a status of a contact, e.g. whether it is online, and may only select an internet-based VoIP provider if the contact is online.
  • the server makes a decision on the provider to use for a call, although other methods are possible, and for example, the server could send a list of providers to the client for the user to select one of them. The client could also make the choice based on data provided by the server.
  • the provision of data regarding contacts and communications providers on the server side of the system, and implementing the decision making process on the server-side, allow the client to remain relatively small for mobile phone use, and also allows the user to migrate the service across devices, e.g. between mobile phones and/or between computers.
  • the system may connect to the contact in a number of ways.
  • the server will establish a connection with the contact over the chosen communications provider and will establish a bridge between the user's device and the contact.
  • the server will send communications data, e.g. dialling information, to the client and the client will instruct the user's device to call the contact using the data.
  • the server may send the client a dialling string including a provider's access number, the contact's access number and the user's PIN number for the provider, correctly formatted for the provider, and the client may instruct the user's device to call the string.
  • the information may be presented to the user who may then dial the string themselves.
  • the system may monitor a user's account with a communications provider and may issue an alarm when the account is low in credit. It may also advise a user of how much time they will have on a call.
  • the system may directly access the user's account information, e.g. through an information line of the provider that the system can call. For example, the system may use the user's PIN number for a provider to access the provider's information line and have a balance sent to them via email or SMS. The system may then parse the message to determine the account status.
  • the system may monitor a user's call time on a provider and determine the credits used from a charging table for the provider. For example, after a call, the client may inform the server of the call length and the server may multiple this by the call charge and deduct the result from the user's currently stored credit amount for the provider.
  • the client may determine whether a contact should be called using the user's main communications provider, e.g. for a local call, before contacting the server for an alternate provider, e.g. for a national or long distance call.
  • a user may subscribe to the further communications providers in any suitable way, and, for example, a user may purchase an IDD call card, e.g. a scratch card sold in newsagents or the like, that provides a unique PIN that the user may utilize to access the IDD service provider.
  • IDD call card e.g. a scratch card sold in newsagents or the like
  • Information on such providers may be uploaded to the system through the client or through an associated web page, email address or the like. Contact information may be updated in a similar manner.
  • the system may also allow users to purchase credits to a provider through it or through a support service, e.g. a call line, web-site or messaging address, associated with the system.
  • a support service e.g. a call line, web-site or messaging address, associated with the system.
  • a PIN or the like for such a provider may be issued to the user via the client or an SMS message or the like, and the system or support service may automatically upload the data to the system to record the user's PIN, credits and the like for the provider, or the user may be required to input the data.
  • This ability to purchase provider access through the system may allow the system to suggest a provider for a call that the user is not subscribed to, as the user may then purchase credits for the suggested provider through the system.
  • Subscription may for example include a one-off payment for the call or a metered payment or the purchasing of an amount of credit on the provider.
  • the server may also act as a broker for a number of communications providers, and may purchase call units and on-sell and re-allocate them to users of the system.
  • the system may advantageously be provided as a feature of a messaging service, e.g. an instant messaging service.
  • a messaging service e.g. an instant messaging service.
  • the contacts of an instant messaging service could then form the contacts for the present system.
  • the system also has advantages even if only a single further communications provider is included in a user list of providers, as it may still provide calls more cheaply than a user's main provider, and facilitates the calling of the alternate provider in a quick and simple manner.
  • the present invention also extends to a server for a contacts management system, and, viewed from a further aspect, the present invention provides a contacts management server that allows a user to make a voice call to one or more contacts associated with the user through a client associated with the user, wherein: the server has access to a database of contacts information and to a database of communications providers; and the server receives a request from the client through a communications provider to which the user subscribes to call a contact of the user; the server determines one or more further communications providers through which a call to the contact may be routed; and the server communicates with the client to establish a call through a determined further communications provider.
  • the server may connect to the contact through a determined communications provider and may establish a connection between the user and the contact.
  • the server may send communications data, e.g. dialling information, to the client to enable the user to call the contact through a determined communications provider.
  • the server may itself select the further communications provider over which to place the contact call.
  • the present invention also extends to clients for use in contacts management systems, and, viewed from a further aspect, the present invention provides a contacts management client, the client being configured to run on a user's communications device to communicate with a contacts management server through a communications provider to which the user is a subscriber, wherein: the client provides an interface to allow the user to select a contact to call; and the client communicates with the server to determine one or more communications providers through which a call to the selected contact may be routed and to establish a communications link with the contact through a determined communications provider.
  • the client may receive communications data, e.g. dialling information, from the server, and the client may cause the user's communications device to call the contact using the communications data.
  • the client may establish a call to a contact through the server, the server establishing a bridge between the user communications device and the contact over a determined communications provider.
  • the client may determine whether a contact should be called on the user's communication provider, before communicating with the server to determine an alternate communications provider.
  • the present invention also extends to a method of enabling a user of a communications device to make a voice call to a contact on a contacts list of the user, the method including the steps of: providing a contents management client on the user communications device that communicates with a contents management server over a communications provider to which the user is subscribed; providing a contacts list on the user device using the client; using the client to allow selection of one of the contacts; sending a call request to the server from the client to call the selected contact; storing details of further communications providers accessible to the user; using the client and server to determine a one of the further communications providers with which a call to the selected contact may be placed; and using the client and server to establish a connection between the user and the selected contact over the determined communications provider.
  • the present invention provides a contacts management system, including a contacts management server with which a user communicates using a first communications provider, wherein the server stores data regarding a user's contacts and data regarding one or more alternate communications providers to the first communications provider, and wherein the server receives a request to call a contact from the user, and determines one or more of the alternate communications providers to route a call to the contact through.
  • the present invention provides a contacts management system, including a contacts management client residing on a user communication device and a contacts management server with which the client can communicate through a communications provider to which the user subscribes, wherein the client provides an interface for allowing the user to select a contact to call and sends information regarding the selected contact to the server, wherein the server determines one or more alternate communications providers through which a call to the contact may be routed, the server sending communications data, e.g. dialling information, to the client for calling the contact through a determined communications provider, and the client causing the user device to dial the contact using the communications data.
  • communications data e.g. dialling information
  • the present invention provides a contacts management system, including a contacts management client residing on a user communication device and a contacts management server with which the client can communicate through a communications provider to which the user subscribes, wherein the client includes an interface for allowing the user to select a contact to call and sends information regarding the selected contact to the server, and wherein the server determines one or more alternate communications providers through which a call to the contact may be routed, the server establishing a bridge between the user device and the contact over a determined communications provider.
  • Figure 1 is a schematic diagram of a contacts management system
  • Figure 2 is a further schematic diagram of a contacts management system
  • Figure 3 is a flowchart for a process of voice calling using a contacts management system
  • Figure 4 is a further flowchart of a process for voice calling using a contacts management system.
  • a contacts management system 100 includes a contacts management client 110 provided on a user's communications device 120, such as a mobile telephone or computing device, and a contacts management server 130 with which the client 110 can communicate using the communications provider 140 to which the user of the communications device subscribes.
  • a contacts management client 110 provided on a user's communications device 120, such as a mobile telephone or computing device, and a contacts management server 130 with which the client 110 can communicate using the communications provider 140 to which the user of the communications device subscribes.
  • the user's communications provider 140 may be for example a provider of a cellular telephone network for a user's mobile phone or an ISP (Internet Service Provider) for a user's personal computer, and data may be transferred between the client 110 and server 130 using data bearers appropriate for the communications provider's network.
  • the client may be an SMS based client and for a WAP-enabled phone or for a computing device the client may be an internet client or a web-based browser client.
  • the contacts management system may allow a user of the communications device 120 to place a voice call to a contact 150 quickly and easily via one of a number of alternate communications providers 160 that are registered with the system 100 and that the user has subscribed to or that the user may use temporarily, e.g. in a metered or one-off payment fashion.
  • the system can have, a number of advantages, and provides a framework on which a number of features may be implemented.
  • the system may for example provide an interface on the user's device that allows the user to bring up a list of contacts, to select one of the contacts for a call, and to be put through automatically to the contact 150 over an appropriate communications provider 160. It may therefore provide a "click and call" system that enables a user to use an alternate communications provider to a main provider and/or that allows for the selection of an alternate communications provider from a number of possible providers.
  • the choice of provider 160 may be based on one or more of a number of criteria, including call costs, service or contact availability, and whether or not the user has a subscription or credits for the provider. For example, the system may determine which of the communications providers the user has subscribed to, and which of the communications providers are able to or allow communications with a selected contact 150. The system may then determine call rates for these communications providers and select the least expensive provider to carry the call. Alternatively, the system may present a list of providers for the user to choose from.
  • the communications providers 160 may include providers of standard PSTN systems, mobile telephony systems, VoIP systems and any other suitable communications systems or combinations of systems which may be subscribed to.
  • One advantage of the present system is that it may allow access to otherwise unavailable communications providers. For example, some inexpensive telephony service providers do not allow direct subscriber access to their systems, e.g. via a card and PIN, and allow access only through enablers or retailers of IDD minutes (e.g. IDD calling centres and Spanish "locutorios").
  • the present system may allow for access to such providers. It may also provide gateway services where there might otherwise be incompatibility between the communications protocols used by the user device 120, the user's main communications provider 140 and a selected alternate provider 160.
  • the client 110 and/or server 130 will store or have access to information regarding the user, the user's contacts 150, and the various subscriber services 160 that are available. This information could for example be stored by the client 110.
  • the data is stored by and/or is accessible to the server 130, and a client may fetch data regarding alternate providers and user contacts from the server 130 as and when needed. This allows a user to migrate their contacts service across a number of different devices 120, with their contacts and subscriber information being available from any connection point. Information could also be cached on the user device 120 for speed of use, e.g. at the start of a connection.
  • System functionality e.g. the ability to take various actions, such as to select an alternate provider 160 or to connect to a provider 160 once selected, may be provided by the client 110 and/or server 130.
  • the server 130 may conduct all necessary decision making and the like, whilst in another, this functionality may reside in the client, in which case the server may mainly provide a data storage capacity. Connections may be made directly between the user device 120 and the selected communications provider 160, e.g. by downloading required communications data, such as provider access codes and passwords from the server to the user device, and by then making a direct connection using the client 110 or another communications application on the user device 120 that is launched by the client 110.
  • the server 140 may make the connection, and for example may act as a gateway or bridge between the user device 120 and the networks of the selected communications provider 160.
  • the first part of a call will generally be over the main provider 140 to the server 130 or to the alternate communications provider 160, and the second part of the call will be over the alternate communications provider 160 to the contact 150.
  • a call may however also bypass the main provider 140 altogether.
  • the user device 120 is a personal computer, the contacts client
  • the 110 may provide a VoIP facility to allow for voice calling, e.g. to the server 130 or direct to other communications providers. Where the device 120 is a mobile phone, this facility is not necessary, but could be provided.
  • the system may automate the calling system completely, so that the user need only select a contact in order to make a call. It could also require some user input. For example, the system may display a number of communications providers for the user to select from, or the system may determine the alternate communications provider to use and may provide the user with the necessary data for accessing the provider's service. The user may then need to input this data into the user device 120 or take some other action in order to initiate the connection.
  • the system 100 may monitor a user's usage of subscriber services and the user's subscriber account, and may provide information to the user based on this. For example, the server 140 may send a warning to the client 110 when a user's account with a provider 160 is low on credit, and may also inform a user as to how long they will have on a call based on their available credits.
  • the system may monitor usage by recording the length of user calls. For example, the client may monitor call lengths, and, after a call, the client 110 may inform the server 140 of the call length, and the server may calculate the used credits using a rate table of a provider 160.
  • the server 140 may obtain a user's account status directly from a provider 160 through an appropriate query of a provider's information system, e.g. by using a user's access PIN for the provider and by receiving an account message, such as an email or SMS message, that the server can parse and identify data in.
  • the system may store appropriate access information for the alternate communications providers 160, including for example access codes for connecting to a provider, user PINs for accessing a provider's services, and data formats regarding how to dial or otherwise connect to a provider. It may also store rate tables and other charging information in order to determine potential call costs and credit usage. This may include information regarding peak times, special deals and the like also.
  • the system 100 may advantageously be provided as a sub-functionality of a messaging service, and may for example leverage existing instant messaging platforms so as to provide the above extended and enhanced messaging services.
  • a user may subscribe to the alternate communications providers independently of the contacts management system, in any normal manner.
  • the user may then download data regarding their subscriptions to the contacts management system, e.g. through the user's client and onto the server or through an associated support service, e.g. using a call centre, web-site or messaging service address, e.g. email or sms address.
  • the system 100 itself may also provide a facility to allow a user to subscribe to a provider 160 and to buy credits for a provider's service, e.g. via the client and server or through an associated payment system, e.g. an associated call centre, web-site or messaging address.
  • the system or call centre may update the user's subscriber information on the server 130 or the like as and when updates are made.
  • the system may allow a user to subscribe to a provider 160 when wishing to make a call, e.g. to obtain credits or make a one-time or metered payment.
  • Fig. 2 shows a contacts messaging system 200 that includes a mobile telephone device 222 having a contacts client 212, a computing device 224 having a contacts client 214, and a contacts server 240.
  • the client 214 of the computing device 224 communicates with the contacts server 240 over the internet 250 via an Internet Service Provider (ISP) 252, and the client 212 of the mobile phone device 222 connects to the contacts server 240 via a cellular phone provider service 254 that will typically include a base station 254a and a mobile switching centre 254b that, inter alia, acts as a gateway to direct messages to the contacts server 240, e.g. again over the internet 250.
  • ISP Internet Service Provider
  • the mobile telephone 222 and computing device 224 could take many forms.
  • the mobile telephone 222 would generally be provided on a cellular network, and could be a 2G, 2.5G or 3G telephone. It could for example be a smart phone, and could run a suitable internet or browser client, or could be a basic GMS phone using an SMS client.
  • the computing device may be a personal computer, a laptop computer or PDA, and may include VoIP telephone apparatus. It may include ATA apparatus or wi-fi phones.
  • the contacts server 240 includes a database 270 of system users and contacts 250, and a database 280 of third party subscriber services (alternate communications providers) 260 that the system 200 enables access to.
  • the user/contacts database 270 will include details of the users of the contacts management service, including user names, user IDs and passwords to access the contacts system, user telephone numbers or other access numbers for their usual communications providers 252,254, personal information on users, including e.g. birth dates, email addresses and the like, contacts or buddy lists designating contacts 250 that users have registered, and lists of communications providers 260 that users are subscribed to.
  • the database 270 will also include a user's access information to their subscribed providers 260, e.g. their PINs and other ID codes for the providers 260, accounts information, such as a user's credits on their providers 260, as well as details of the contacts 250 in their contacts list.
  • the contacts details may include contact name, contact access numbers, e.g.
  • Contacts may be other users of the system, so that a separate "contacts" entry may not be needed, and the corresponding "user" entry may be utilised. It may be however that a contact is not a party to the system, in which case a separate "contacts" entry may be provided in the database.
  • the system may also keep track of a user's or contact's communications status, e.g. whether they are online on the internet, and may record this status in their details.
  • the communications provider database 280 may include information on each of the available third party communications providers 260, and may include the name of a provider, access information such as access codes and dialling strings, data formats used, e.g. how access numbers, PINs and contact numbers should be arranged, and coverage information, e.g. types of telephone numbers or area that are not accessible through the service. It may also include rate tables and the like, including peak and non-peak times, special offers and the like, so as to determine provider call charges, and may include a provider's customer service numbers and the like so as to be able to access a user's account on a provider and/or other provider information, e.g. charging schedules and the like.
  • the database 280 may be updated regularly, e.g.
  • the database 280 may be updated to include data on new providers 260. This may be prompted by a user registering a new provider 260 to which they have subscribed or by a new provider joining the system.
  • a user of the mobile phone 222 may call up a contacts list using the client 212, e.g. from a cache of contacts in the phone 22 or from a query of the server 240. The user may then select a contact to call, using an interface generated by the client 212, and this may automatically initiate a call sequence in which the system 200 provides access to a third party provider 260.
  • a client Before accessing the server 240, a client may determine whether the call is a local call, rather than e.g. a national or international call, or some other call type which would not be appropriate to route through the third party providers 260, and, if this is the case, may allow the mobile phone 222 to call the contact normally through their cellular network provider 254.
  • the client 212 may also bring up a menu on which a user may choose to call the contact via their standard communications provider 254 or by using a third party communications provider 260.
  • the server 240 may then determine possible alternate communications providers for the contact number to be called, and may select one or may provide the user with a list of providers to choose from. For example, the server may list all of the providers 260 that the user is recorded as being subscribed to.
  • the server 240 may provide a number of services regarding the selection of a third party provider 260. It may filter providers based on call charges, on a user's account status, e.g. whether they have an account and how many credits are available, and/or on the ability to access the contact number, e.g. in view of coverage limitations, e.g. a provider 260 may not provide access to a particular country or region. The system may also consider other criteria. For example, a contact may have multiple contact numbers, and e.g.
  • the system may be contactable via a PC using a VoIP service or via a mobile phone or PSTN phone, and the system may determine a contact's online status and offer a VoIP service to the PC when the contact is online and an alternate service to the mobile phone or PSTN line when not online.
  • the server 240 may provide a choice of providers to the client, which could be ranked in accordance with any suitable criteria, or could select a provider itself.
  • the server 240 may send access details to the client 212 so that the client may initiate the call, or the server 240 may establish a connection with the provider 260 and then act as a bridge between the mobile phone 222 and the provider 260.
  • the first stage in the communications will be through the main communications provider of the user, but this will only be to the contacts server 240 or to a number of the third party provider 260. It may however also be possible for the client 212 to access a third party provider 260 directly.
  • the client 214 may provide a VoIP facility to the computing device 224, or may access a VoIP application on the computing device 224.
  • the client 214 or other communications application on the computing device may communicate directly with the provider 260 or via the contacts server 240.
  • the contacts server 240 may enable a user to subscribe to and/or to purchase credits for a communications service 260. It may register the user with the service and may obtain a PIN from the service and store it and send it to the client 212,214.
  • a support system e.g. a call centre, web-site or messaging service address, e.g.
  • email or sms address may also be associated with the system 200 in order to subscribe or order credits, and the support system may keep the contacts system informed of any changes in a user's subscription or provider account.
  • the system may suggest a provider for a particular call, e.g. based on price, and may allow a user to subscribe to the service for a single call, e.g. by paying on a time usage basis or per call basis.
  • Payment for a subscription, for new credits or for renting a provider may be carried out in any suitable manner, e.g. as a billing on a user's main communications provider, and reconciliation services may be provided by the system in any suitable manner.
  • the system may also alert a user to their account status, e.g.
  • the provider information for a user may be uploaded by the user, e.g. through the client 212,214 or via a separate website or the like with which the server 240 is associated, or the server 240 may obtain the information directly from the providers.
  • Contact information may also be uploaded by the user to the server 240 again either via the client 212,214 or via an associated web-site, messaging address, e.g. email or sms address, or the like.
  • Fig. 3 is a flowchart 300 of one implementation of a call routine using a contacts management system. The various steps may therefore be implemented through the client 212,214 and server 240 of the system 200.
  • the user brings up a contacts list on the user's device.
  • the contact data may for example be provided by the client 212,214 sending a request to the server 240, or by the client having the data either permanently or as a cache from the server.
  • step S320 the user selects one of the contacts using an interface provided by the client 212,214, and at step S330 selects an option to call the contact, e.g. by clicking on the contact or on an entry in an associated menu.
  • the client 214 then contacts the server 240 with the call request at step S340, and a communications provider is selected at step S350.
  • the selection may be solely by the user, e.g. the server sends the user a list of available providers, and the user selects one of them, or the server may provide input to the selection, e.g. by selecting the provider itself or by providing a list of most appropriate providers according to various filter criteria, which may be a ranked list.
  • the server 240 may determine which of the communications providers 260 the user is subscribed to and has credits for, and may check whether the contact can be called through the provider. For each provider where a call to the contact is possible, the server may determine the provider's call charges to the contact number. The server may then select a provider based on the call charges, or may rank them on cost and allow a user to select the service.
  • the server may enable the purchase of access to communications systems, and may suggest a provider to the user which the client can then immediately subscribe to or purchase credits for. Subscription may only be temporary, and may be on a metered or timed basis, with suitable billing then been made in a suitable reconciliation procedure.
  • the server generates an appropriate dialling string to access the provider, at step S360, and sends this to the client 212,214.
  • the dialling string may comprise a phone number of the contact, an access number for the provider and a PIN for the user for the provider, and may be formatted in the appropriate form for the provider.
  • a provider's dialling string may take the form "access number#target phone number*PIN#", e.g. 1800987#6391891234567*987654321#.
  • the client Upon receiving the dialling string, the client causes the user device 222,224 to dial the string at step S370, and the user is accordingly connected to the contact.
  • This whole procedure is achieved from the user's viewpoint merely by selecting a contact on their communications device and selecting an option to call.
  • step S380 the user hangs up the device, and the call is ended.
  • step S390 which may occur at any time, and may be conducted separately from a call, allows a user to purchase credit or subscribe to a provider via the system.
  • the client may determine whether a call is a local call, and, if so, may instruct the user device to use their standard communications provider for the call without entering a provider selection routine with the server.
  • the system may provide account alerts, e.g. regarding low credits with a provider, and may allow for new credits to be purchased, and, in step S396, the system may provide account information, such as the amount of time that will be available for a call over a selected provider.
  • the length of the call may be tracked, and the user's credit record updated to reflect the credits used in the call. This may be achieved by the client communicating with the server after a call to advise on call length, and by the server determining credits used from the call length and a provider's rate table.
  • Fig. 4 is a flowchart for a further possible routine, which is similar to that of Fig. 3, and may follow the same procedure at steps S410-S450, at which point a provider is selected.
  • the server itself connects to the chosen provider and dials the contact.
  • the server then establishes a bridge between the user and contact at step S470, with the call ending at step S480.
  • the server may monitor call length and the like itself.
  • the various discussed communications between the client and server will be data transmissions using appropriate protocols for the networks and providers used, and the client and server will include appropriate functionality for this, e.g. will provide internet type communications including e.g. TCP/IP or WAP for mobile phones. Other data transfer mechanisms may also be used, e.g. messaging services and the like. It is to be understood that various alterations, additions and/or modifications may be made to the parts previously described without departing from the ambit of the present invention, and that, in the light of the above teachings, the present invention may be implemented in software, firmware and/or hardware in a variety of manners as would be understood by the skilled person.

Abstract

A contacts management system (100) allows a user to call a contact (150) using a number of communications providers (160) simply and easily. A client (110) on a user's communications device, e.g. a mobile phone or computer, connects with a server (130) over a user's main communications provider (140), e.g. a mobile phone service or ISP. The server (130) may store details of a user's contacts (150) and of various communications providers (160). A user may select a contact to call through the client, and the server may determine which provider (160) to place the call over. The server may open a connection to the contact over the determined provider or may send dialling information to the client (110) so that it may instruct the user's device (120) to initiate the call. The provider (160) may be chosen based on call prices, e.g. using provider charging tables stored on the server (130), and on ability to call the contact (150). The server may alert a user when a provider account is low, and may allow a user to purchase provider credits. Contacts and provider data, and selection and connection processes, may be split between the client and server in different manners.

Description

Apparatus and Methods for Selection of Communication Providers for Calling System
The present invention relates to systems, apparatus and methods for making voice calls. Telecommunications has undergone a number of changes in recent years, with standard PSTN networks being supplemented and in many cases supplanted by mobile telephone and VoIP (Voice over the Internet Protocol) systems.
Messaging services, such as email and SMS messaging, have also proliferated, and Instant Messaging services have become popular communications tools, with users able to identify contacts that are online and to exchange messages with them in real time. These messaging services are generally text-based, but some Instant Messaging services also offer voice calls, an example being the Skype VoIP system. The present invention aims to provide new calling systems, apparatus and methods, which, in their various configurations, may provide a number of advantageous features and may provide users with enhanced voice calling abilities.
Viewed from one aspect, the present invention provides a contacts management system for allowing a user to make a voice call to one or more contacts associated with the user, the system including: a contacts management client provided on a communications device of a user, and a contacts management server remote from the client and communicating with the client through a communications provider of the user; wherein the system including details of user contacts to whom a user may wish to place a voice call and details of further communications providers through which voice calls may be placed; wherein the system enables a user to select a contact from a list of contacts provided on the user's communications device; and wherein the system determines, for the selected contact, one or more of the further communications providers through which a call to the selected contact may be routed, the system connecting the user to the selected contact using one of the determined communications providers. The system provides a flexible and convenient way of allowing a user to call a contact. It allows for example a user to call a contact quickly and easily using a selection of communications providers that may provide low cost connections. The communications providers may take many different forms and may be for example standard PSTN providers, mobile phone providers or VoIP providers, and the system is applicable to many types of user device, including mobile telephones connected to cellular nets and computing devices connected to computer networks. The user device may be for example a 2G, 2.5G or 3G phone, including a smart phone, or may be a personal computer, a laptop, a PDA, an ATA adaptor, a wi-fi phone or the like. When the device is a computing device, the client may include a VoIP facility or may initiate a VoIP application provided on the computing device. The client may also provide a VoIP facility on a mobile telephone. The system may select the communications provider based on one or more of a number of criteria, including the cost of a call and the coverage of the provider, e.g. whether the contact is accessible by the provider. The system may for example include tables of provider rates, and may determine a call cost based on the tables, e.g. to provide a least cost routing in real-time. The system may also for example determine the country or region to which a call is being made and may filter out providers that do not service that country or region. The system may use other selection criteria as well, including whether or not the client has sufficient credits with a provider for a call, and, as another example, the system may determine a status of a contact, e.g. whether it is online, and may only select an internet-based VoIP provider if the contact is online.
Preferably, the server makes a decision on the provider to use for a call, although other methods are possible, and for example, the server could send a list of providers to the client for the user to select one of them. The client could also make the choice based on data provided by the server.
The provision of data regarding contacts and communications providers on the server side of the system, and implementing the decision making process on the server-side, allow the client to remain relatively small for mobile phone use, and also allows the user to migrate the service across devices, e.g. between mobile phones and/or between computers.
Once a provider has been selected, the system may connect to the contact in a number of ways. In one embodiment, the server will establish a connection with the contact over the chosen communications provider and will establish a bridge between the user's device and the contact. In another embodiment, the server will send communications data, e.g. dialling information, to the client and the client will instruct the user's device to call the contact using the data. For example, the server may send the client a dialling string including a provider's access number, the contact's access number and the user's PIN number for the provider, correctly formatted for the provider, and the client may instruct the user's device to call the string. Alternatively, the information may be presented to the user who may then dial the string themselves. The system may monitor a user's account with a communications provider and may issue an alarm when the account is low in credit. It may also advise a user of how much time they will have on a call. To monitor the account, the system may directly access the user's account information, e.g. through an information line of the provider that the system can call. For example, the system may use the user's PIN number for a provider to access the provider's information line and have a balance sent to them via email or SMS. The system may then parse the message to determine the account status. Alternatively, the system may monitor a user's call time on a provider and determine the credits used from a charging table for the provider. For example, after a call, the client may inform the server of the call length and the server may multiple this by the call charge and deduct the result from the user's currently stored credit amount for the provider.
The client may determine whether a contact should be called using the user's main communications provider, e.g. for a local call, before contacting the server for an alternate provider, e.g. for a national or long distance call.
A user may subscribe to the further communications providers in any suitable way, and, for example, a user may purchase an IDD call card, e.g. a scratch card sold in newsagents or the like, that provides a unique PIN that the user may utilize to access the IDD service provider. Information on such providers may be uploaded to the system through the client or through an associated web page, email address or the like. Contact information may be updated in a similar manner.
The system may also allow users to purchase credits to a provider through it or through a support service, e.g. a call line, web-site or messaging address, associated with the system. A PIN or the like for such a provider may be issued to the user via the client or an SMS message or the like, and the system or support service may automatically upload the data to the system to record the user's PIN, credits and the like for the provider, or the user may be required to input the data.
This ability to purchase provider access through the system may allow the system to suggest a provider for a call that the user is not subscribed to, as the user may then purchase credits for the suggested provider through the system. Subscription may for example include a one-off payment for the call or a metered payment or the purchasing of an amount of credit on the provider. The server may also act as a broker for a number of communications providers, and may purchase call units and on-sell and re-allocate them to users of the system.
The system may advantageously be provided as a feature of a messaging service, e.g. an instant messaging service. The contacts of an instant messaging service could then form the contacts for the present system.
The system also has advantages even if only a single further communications provider is included in a user list of providers, as it may still provide calls more cheaply than a user's main provider, and facilitates the calling of the alternate provider in a quick and simple manner.
The present invention also extends to a server for a contacts management system, and, viewed from a further aspect, the present invention provides a contacts management server that allows a user to make a voice call to one or more contacts associated with the user through a client associated with the user, wherein: the server has access to a database of contacts information and to a database of communications providers; and the server receives a request from the client through a communications provider to which the user subscribes to call a contact of the user; the server determines one or more further communications providers through which a call to the contact may be routed; and the server communicates with the client to establish a call through a determined further communications provider. The server may connect to the contact through a determined communications provider and may establish a connection between the user and the contact. Alternatively, the server may send communications data, e.g. dialling information, to the client to enable the user to call the contact through a determined communications provider. The server may itself select the further communications provider over which to place the contact call.
The present invention also extends to clients for use in contacts management systems, and, viewed from a further aspect, the present invention provides a contacts management client, the client being configured to run on a user's communications device to communicate with a contacts management server through a communications provider to which the user is a subscriber, wherein: the client provides an interface to allow the user to select a contact to call; and the client communicates with the server to determine one or more communications providers through which a call to the selected contact may be routed and to establish a communications link with the contact through a determined communications provider.
The client may receive communications data, e.g. dialling information, from the server, and the client may cause the user's communications device to call the contact using the communications data. Alternatively, the client may establish a call to a contact through the server, the server establishing a bridge between the user communications device and the contact over a determined communications provider. The client may determine whether a contact should be called on the user's communication provider, before communicating with the server to determine an alternate communications provider.
The present invention also extends to a method of enabling a user of a communications device to make a voice call to a contact on a contacts list of the user, the method including the steps of: providing a contents management client on the user communications device that communicates with a contents management server over a communications provider to which the user is subscribed; providing a contacts list on the user device using the client; using the client to allow selection of one of the contacts; sending a call request to the server from the client to call the selected contact; storing details of further communications providers accessible to the user; using the client and server to determine a one of the further communications providers with which a call to the selected contact may be placed; and using the client and server to establish a connection between the user and the selected contact over the determined communications provider. Viewed from a further aspect, the present invention provides a contacts management system, including a contacts management server with which a user communicates using a first communications provider, wherein the server stores data regarding a user's contacts and data regarding one or more alternate communications providers to the first communications provider, and wherein the server receives a request to call a contact from the user, and determines one or more of the alternate communications providers to route a call to the contact through.
Viewed from another aspect, the present invention provides a contacts management system, including a contacts management client residing on a user communication device and a contacts management server with which the client can communicate through a communications provider to which the user subscribes, wherein the client provides an interface for allowing the user to select a contact to call and sends information regarding the selected contact to the server, wherein the server determines one or more alternate communications providers through which a call to the contact may be routed, the server sending communications data, e.g. dialling information, to the client for calling the contact through a determined communications provider, and the client causing the user device to dial the contact using the communications data. Viewed from a further aspect, the present invention provides a contacts management system, including a contacts management client residing on a user communication device and a contacts management server with which the client can communicate through a communications provider to which the user subscribes, wherein the client includes an interface for allowing the user to select a contact to call and sends information regarding the selected contact to the server, and wherein the server determines one or more alternate communications providers through which a call to the contact may be routed, the server establishing a bridge between the user device and the contact over a determined communications provider.
It should be noted that any one of the aspects mentioned above may include any of the features of any of the other aspects mentioned above and may include any of the features of any of the embodiments described below, as appropriate. Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings. It is to be understood that the particularity of the drawings does not supersede the generality of the preceding description of the invention.
In the drawings: Figure 1 is a schematic diagram of a contacts management system;
Figure 2 is a further schematic diagram of a contacts management system;
Figure 3 is a flowchart for a process of voice calling using a contacts management system; and Figure 4 is a further flowchart of a process for voice calling using a contacts management system.
Referring to Fig. 1 , a contacts management system 100 includes a contacts management client 110 provided on a user's communications device 120, such as a mobile telephone or computing device, and a contacts management server 130 with which the client 110 can communicate using the communications provider 140 to which the user of the communications device subscribes.
The user's communications provider 140 may be for example a provider of a cellular telephone network for a user's mobile phone or an ISP (Internet Service Provider) for a user's personal computer, and data may be transferred between the client 110 and server 130 using data bearers appropriate for the communications provider's network. For example, for a basic GSM phone, the client may be an SMS based client and for a WAP-enabled phone or for a computing device the client may be an internet client or a web-based browser client.
The contacts management system that is provided by the client 110 and server 130 may allow a user of the communications device 120 to place a voice call to a contact 150 quickly and easily via one of a number of alternate communications providers 160 that are registered with the system 100 and that the user has subscribed to or that the user may use temporarily, e.g. in a metered or one-off payment fashion.
The system can have, a number of advantages, and provides a framework on which a number of features may be implemented. The system may for example provide an interface on the user's device that allows the user to bring up a list of contacts, to select one of the contacts for a call, and to be put through automatically to the contact 150 over an appropriate communications provider 160. It may therefore provide a "click and call" system that enables a user to use an alternate communications provider to a main provider and/or that allows for the selection of an alternate communications provider from a number of possible providers.
The choice of provider 160 may be based on one or more of a number of criteria, including call costs, service or contact availability, and whether or not the user has a subscription or credits for the provider. For example, the system may determine which of the communications providers the user has subscribed to, and which of the communications providers are able to or allow communications with a selected contact 150. The system may then determine call rates for these communications providers and select the least expensive provider to carry the call. Alternatively, the system may present a list of providers for the user to choose from.
The communications providers 160 may include providers of standard PSTN systems, mobile telephony systems, VoIP systems and any other suitable communications systems or combinations of systems which may be subscribed to. One advantage of the present system is that it may allow access to otherwise unavailable communications providers. For example, some inexpensive telephony service providers do not allow direct subscriber access to their systems, e.g. via a card and PIN, and allow access only through enablers or retailers of IDD minutes (e.g. IDD calling centres and Spanish "locutorios"). The present system may allow for access to such providers. It may also provide gateway services where there might otherwise be incompatibility between the communications protocols used by the user device 120, the user's main communications provider 140 and a selected alternate provider 160.
The client 110 and/or server 130 will store or have access to information regarding the user, the user's contacts 150, and the various subscriber services 160 that are available. This information could for example be stored by the client 110. Advantageously, the data is stored by and/or is accessible to the server 130, and a client may fetch data regarding alternate providers and user contacts from the server 130 as and when needed. This allows a user to migrate their contacts service across a number of different devices 120, with their contacts and subscriber information being available from any connection point. Information could also be cached on the user device 120 for speed of use, e.g. at the start of a connection.
System functionality, e.g. the ability to take various actions, such as to select an alternate provider 160 or to connect to a provider 160 once selected, may be provided by the client 110 and/or server 130. In one example, the server 130 may conduct all necessary decision making and the like, whilst in another, this functionality may reside in the client, in which case the server may mainly provide a data storage capacity. Connections may be made directly between the user device 120 and the selected communications provider 160, e.g. by downloading required communications data, such as provider access codes and passwords from the server to the user device, and by then making a direct connection using the client 110 or another communications application on the user device 120 that is launched by the client 110. Alternatively, the server 140 may make the connection, and for example may act as a gateway or bridge between the user device 120 and the networks of the selected communications provider 160. The first part of a call will generally be over the main provider 140 to the server 130 or to the alternate communications provider 160, and the second part of the call will be over the alternate communications provider 160 to the contact 150. A call may however also bypass the main provider 140 altogether. Where the user device 120 is a personal computer, the contacts client
110 may provide a VoIP facility to allow for voice calling, e.g. to the server 130 or direct to other communications providers. Where the device 120 is a mobile phone, this facility is not necessary, but could be provided.
The system may automate the calling system completely, so that the user need only select a contact in order to make a call. It could also require some user input. For example, the system may display a number of communications providers for the user to select from, or the system may determine the alternate communications provider to use and may provide the user with the necessary data for accessing the provider's service. The user may then need to input this data into the user device 120 or take some other action in order to initiate the connection.
The system 100 may monitor a user's usage of subscriber services and the user's subscriber account, and may provide information to the user based on this. For example, the server 140 may send a warning to the client 110 when a user's account with a provider 160 is low on credit, and may also inform a user as to how long they will have on a call based on their available credits. The system may monitor usage by recording the length of user calls. For example, the client may monitor call lengths, and, after a call, the client 110 may inform the server 140 of the call length, and the server may calculate the used credits using a rate table of a provider 160. Alternatively, the server 140 may obtain a user's account status directly from a provider 160 through an appropriate query of a provider's information system, e.g. by using a user's access PIN for the provider and by receiving an account message, such as an email or SMS message, that the server can parse and identify data in. The system may store appropriate access information for the alternate communications providers 160, including for example access codes for connecting to a provider, user PINs for accessing a provider's services, and data formats regarding how to dial or otherwise connect to a provider. It may also store rate tables and other charging information in order to determine potential call costs and credit usage. This may include information regarding peak times, special deals and the like also.
The system 100 may advantageously be provided as a sub-functionality of a messaging service, and may for example leverage existing instant messaging platforms so as to provide the above extended and enhanced messaging services.
A user may subscribe to the alternate communications providers independently of the contacts management system, in any normal manner. The user may then download data regarding their subscriptions to the contacts management system, e.g. through the user's client and onto the server or through an associated support service, e.g. using a call centre, web-site or messaging service address, e.g. email or sms address. The system 100 itself may also provide a facility to allow a user to subscribe to a provider 160 and to buy credits for a provider's service, e.g. via the client and server or through an associated payment system, e.g. an associated call centre, web-site or messaging address. In this case, the system or call centre may update the user's subscriber information on the server 130 or the like as and when updates are made. The system may allow a user to subscribe to a provider 160 when wishing to make a call, e.g. to obtain credits or make a one-time or metered payment.
Fig. 2 shows a contacts messaging system 200 that includes a mobile telephone device 222 having a contacts client 212, a computing device 224 having a contacts client 214, and a contacts server 240. The client 214 of the computing device 224 communicates with the contacts server 240 over the internet 250 via an Internet Service Provider (ISP) 252, and the client 212 of the mobile phone device 222 connects to the contacts server 240 via a cellular phone provider service 254 that will typically include a base station 254a and a mobile switching centre 254b that, inter alia, acts as a gateway to direct messages to the contacts server 240, e.g. again over the internet 250. It will be understood that other communications networks may also or alternatively be involved in such communications, and that the mobile telephone 222 and computing device 224 could take many forms. For example, the mobile telephone 222 would generally be provided on a cellular network, and could be a 2G, 2.5G or 3G telephone. It could for example be a smart phone, and could run a suitable internet or browser client, or could be a basic GMS phone using an SMS client. The computing device may be a personal computer, a laptop computer or PDA, and may include VoIP telephone apparatus. It may include ATA apparatus or wi-fi phones. The contacts server 240 includes a database 270 of system users and contacts 250, and a database 280 of third party subscriber services (alternate communications providers) 260 that the system 200 enables access to.
The user/contacts database 270 will include details of the users of the contacts management service, including user names, user IDs and passwords to access the contacts system, user telephone numbers or other access numbers for their usual communications providers 252,254, personal information on users, including e.g. birth dates, email addresses and the like, contacts or buddy lists designating contacts 250 that users have registered, and lists of communications providers 260 that users are subscribed to. The database 270 will also include a user's access information to their subscribed providers 260, e.g. their PINs and other ID codes for the providers 260, accounts information, such as a user's credits on their providers 260, as well as details of the contacts 250 in their contacts list. The contacts details may include contact name, contact access numbers, e.g. telephone number or other numbers, email addresses and the like. Contacts may be other users of the system, so that a separate "contacts" entry may not be needed, and the corresponding "user" entry may be utilised. It may be however that a contact is not a party to the system, in which case a separate "contacts" entry may be provided in the database. The system may also keep track of a user's or contact's communications status, e.g. whether they are online on the internet, and may record this status in their details.
The communications provider database 280 may include information on each of the available third party communications providers 260, and may include the name of a provider, access information such as access codes and dialling strings, data formats used, e.g. how access numbers, PINs and contact numbers should be arranged, and coverage information, e.g. types of telephone numbers or area that are not accessible through the service. It may also include rate tables and the like, including peak and non-peak times, special offers and the like, so as to determine provider call charges, and may include a provider's customer service numbers and the like so as to be able to access a user's account on a provider and/or other provider information, e.g. charging schedules and the like. The database 280 may be updated regularly, e.g. through querying of a provider's system and/or through manual input of data by support staff or users. The database 280 may be updated to include data on new providers 260. This may be prompted by a user registering a new provider 260 to which they have subscribed or by a new provider joining the system.
A user of the mobile phone 222 may call up a contacts list using the client 212, e.g. from a cache of contacts in the phone 22 or from a query of the server 240. The user may then select a contact to call, using an interface generated by the client 212, and this may automatically initiate a call sequence in which the system 200 provides access to a third party provider 260.
Before accessing the server 240, a client may determine whether the call is a local call, rather than e.g. a national or international call, or some other call type which would not be appropriate to route through the third party providers 260, and, if this is the case, may allow the mobile phone 222 to call the contact normally through their cellular network provider 254. The client 212 may also bring up a menu on which a user may choose to call the contact via their standard communications provider 254 or by using a third party communications provider 260. The server 240 may then determine possible alternate communications providers for the contact number to be called, and may select one or may provide the user with a list of providers to choose from. For example, the server may list all of the providers 260 that the user is recorded as being subscribed to. The server 240 may provide a number of services regarding the selection of a third party provider 260. It may filter providers based on call charges, on a user's account status, e.g. whether they have an account and how many credits are available, and/or on the ability to access the contact number, e.g. in view of coverage limitations, e.g. a provider 260 may not provide access to a particular country or region. The system may also consider other criteria. For example, a contact may have multiple contact numbers, and e.g. may be contactable via a PC using a VoIP service or via a mobile phone or PSTN phone, and the system may determine a contact's online status and offer a VoIP service to the PC when the contact is online and an alternate service to the mobile phone or PSTN line when not online.
The server 240 may provide a choice of providers to the client, which could be ranked in accordance with any suitable criteria, or could select a provider itself.
Once a provider 260 has been selected, the server 240 may send access details to the client 212 so that the client may initiate the call, or the server 240 may establish a connection with the provider 260 and then act as a bridge between the mobile phone 222 and the provider 260. Generally the first stage in the communications will be through the main communications provider of the user, but this will only be to the contacts server 240 or to a number of the third party provider 260. It may however also be possible for the client 212 to access a third party provider 260 directly.
The same general procedures will be followed when a user wishes to make a call via the computing device 224. In this case, the client 214 may provide a VoIP facility to the computing device 224, or may access a VoIP application on the computing device 224. Again, once a provider is chosen, the client 214 or other communications application on the computing device may communicate directly with the provider 260 or via the contacts server 240. The contacts server 240 may enable a user to subscribe to and/or to purchase credits for a communications service 260. It may register the user with the service and may obtain a PIN from the service and store it and send it to the client 212,214. A support system, e.g. a call centre, web-site or messaging service address, e.g. email or sms address, may also be associated with the system 200 in order to subscribe or order credits, and the support system may keep the contacts system informed of any changes in a user's subscription or provider account. The system may suggest a provider for a particular call, e.g. based on price, and may allow a user to subscribe to the service for a single call, e.g. by paying on a time usage basis or per call basis. Payment for a subscription, for new credits or for renting a provider may be carried out in any suitable manner, e.g. as a billing on a user's main communications provider, and reconciliation services may be provided by the system in any suitable manner. The system may also alert a user to their account status, e.g. to low credits or to how long they will have on a call based on their current credit amount. This may be achieved by accessing the third party provider's accounts information, e.g. using a user's recorded access PIN, or by monitoring the user's time on calls and by using a stored provider's rate table to calculate the credits used up.
The provider information for a user, e.g. the providers subscribed to and a user's provider PINs, may be uploaded by the user, e.g. through the client 212,214 or via a separate website or the like with which the server 240 is associated, or the server 240 may obtain the information directly from the providers. Contact information may also be uploaded by the user to the server 240 again either via the client 212,214 or via an associated web-site, messaging address, e.g. email or sms address, or the like.
Fig. 3 is a flowchart 300 of one implementation of a call routine using a contacts management system. The various steps may therefore be implemented through the client 212,214 and server 240 of the system 200. Firstly, at step S310, the user brings up a contacts list on the user's device. The contact data may for example be provided by the client 212,214 sending a request to the server 240, or by the client having the data either permanently or as a cache from the server.
Next, at step S320, the user selects one of the contacts using an interface provided by the client 212,214, and at step S330 selects an option to call the contact, e.g. by clicking on the contact or on an entry in an associated menu. The client 214 then contacts the server 240 with the call request at step S340, and a communications provider is selected at step S350.
At step S350, the selection may be solely by the user, e.g. the server sends the user a list of available providers, and the user selects one of them, or the server may provide input to the selection, e.g. by selecting the provider itself or by providing a list of most appropriate providers according to various filter criteria, which may be a ranked list. For example, the server 240 may determine which of the communications providers 260 the user is subscribed to and has credits for, and may check whether the contact can be called through the provider. For each provider where a call to the contact is possible, the server may determine the provider's call charges to the contact number. The server may then select a provider based on the call charges, or may rank them on cost and allow a user to select the service.
Other criteria may also affect the provider selection. For example, the server may enable the purchase of access to communications systems, and may suggest a provider to the user which the client can then immediately subscribe to or purchase credits for. Subscription may only be temporary, and may be on a metered or timed basis, with suitable billing then been made in a suitable reconciliation procedure.
Once the provider has been selected, the server generates an appropriate dialling string to access the provider, at step S360, and sends this to the client 212,214. The dialling string may comprise a phone number of the contact, an access number for the provider and a PIN for the user for the provider, and may be formatted in the appropriate form for the provider. For example, a provider's dialling string may take the form "access number#target phone number*PIN#", e.g. 1800987#6391891234567*987654321#.
Upon receiving the dialling string, the client causes the user device 222,224 to dial the string at step S370, and the user is accordingly connected to the contact.
This whole procedure is achieved from the user's viewpoint merely by selecting a contact on their communications device and selecting an option to call.
After the call, at step S380, the user hangs up the device, and the call is ended.
The above is only one possible routine and other steps and routines may be utilised to implement the contacts management system as well. Some other possible features of the routine are shown in phantom in Fig. 3.
For example, step S390, which may occur at any time, and may be conducted separately from a call, allows a user to purchase credit or subscribe to a provider via the system. In step S392, the client may determine whether a call is a local call, and, if so, may instruct the user device to use their standard communications provider for the call without entering a provider selection routine with the server. In step S394, the system may provide account alerts, e.g. regarding low credits with a provider, and may allow for new credits to be purchased, and, in step S396, the system may provide account information, such as the amount of time that will be available for a call over a selected provider. At step S398, the length of the call may be tracked, and the user's credit record updated to reflect the credits used in the call. This may be achieved by the client communicating with the server after a call to advise on call length, and by the server determining credits used from the call length and a provider's rate table.
Fig. 4 is a flowchart for a further possible routine, which is similar to that of Fig. 3, and may follow the same procedure at steps S410-S450, at which point a provider is selected. In this routine, however, at step S460, rather than send connection details to the client, the server itself connects to the chosen provider and dials the contact. The server then establishes a bridge between the user and contact at step S470, with the call ending at step S480. In this case, the server may monitor call length and the like itself.
Generally, the various discussed communications between the client and server will be data transmissions using appropriate protocols for the networks and providers used, and the client and server will include appropriate functionality for this, e.g. will provide internet type communications including e.g. TCP/IP or WAP for mobile phones. Other data transfer mechanisms may also be used, e.g. messaging services and the like. It is to be understood that various alterations, additions and/or modifications may be made to the parts previously described without departing from the ambit of the present invention, and that, in the light of the above teachings, the present invention may be implemented in software, firmware and/or hardware in a variety of manners as would be understood by the skilled person.

Claims

Claims
1. A contacts management system for allowing a user to make a voice call to one or more contacts associated with the user, the system including: a contacts management client provided on a communications device of a user, and a contacts management server remote from said client and communicating with said client through a communications provider of said user; wherein the system including details of user contacts to whom a user may wish to place a voice call and details of further communications providers through which voice calls may be placed; wherein said system enables a user to select a said contact from a list of contacts provided on said user's communications device; and wherein said system determines one or more of said further communications providers through which a call to said selected contact may be routed, the system connecting said user to said selected contact using one of said determined communications providers.
2. The system of claim 1 , wherein said user device is a mobile telephone connected to a telephone network.
3. The system of claim 1 , wherein said user device is a computing device connected to a computer network.
4. The system of claim 1 , 2 or 3, wherein said system selects the communications provider over which to place said contact call.
5. The system of any preceding claim, wherein said server selects the communications provider over which to place said contact call.
6. The system of any preceding claim, wherein said server sends communications data regarding a determined communications provider to said client to allow for the placement of said call by said user.
7. The system of claim 6, wherein said client automatically uses said communications data to cause said user communications device to dial said contact.
8. The system of claim 6 or 7, wherein said server sends a dialling string including a provider access code, a contacts access code and a user PIN to said client.
9. The system of any of claims 1 to 5, wherein said server calls said selected contact and establishes a communications link between said user and said contact over said determined communications provider.
10. The system of any preceding claim, wherein said determination of a further communications provider is based on call costs to said selected contact.
11. The system of any preceding claim, wherein said determination of a further communications provider is based on whether a communications provider provides a connection to said selected contact.
12. The system of any preceding claim, wherein said determination of a further communications provider is based on a user's account status with a communications provider.
13. The system of any preceding claim, wherein said system determines whether said selected contact is a local call, and, if said call is a local call, said contact call is made using said user's communications provider.
14. The system of any preceding claim, wherein said system monitors a user's account status with a communications provider.
15. The system of claim 14, wherein said system monitors call duration and calculates a user's account status based on said call duration and on provider call charges.
16. The system of claim 13 or 14, wherein said system provides an alert to a user when an account status reaches a threshold status.
17. The system of any preceding claim, wherein said system allows a user to purchase access to a said further communications provider through said system.
18. The system of any preceding claim, wherein said system is provided within a messaging service platform.
19. A contacts management server that allows a user to make a voice call to one or more contacts associated with the user through a client associated with the user, wherein: said server has access to a database of contacts information and to a database of communications providers; and said server receives a request from said client through a communications provider to which said user subscribes to call a contact of said user; said server determines one or more further communications providers through which a call to said contact may be routed; and said server communicates with said client to establish a call through a determined further communications providers.
20. The server of claim 19, wherein said server connects to said contact through a determined communications provider and establishes a connection between said user and said contact.
21. The server of claim 19, wherein said server sends communications data to said client to enable said user to call said contact through a said determined communications provider.
22. The server of claim 19, 20 or 21 , wherein said server selects the further communications provider over which to place said contact call.
23. A contacts management client, said client being configured to run on a user's communications device to communicate with a contacts management server through a communications provider to which said user is a subscriber, wherein: said client provides an interface to allow said user to select a contact to call; and said client communicates with said server to determine one or more communications providers through which a call to said selected contact may be routed and to establish a communications link with said contact through a said determined communications provider.
24. The contacts management client of claim 23, wherein said client receives communications data from said server, and said client causes said user communications device to call said contact using said dialling information.
25. The contacts management client of claim 23, wherein said client establishes a call to a contact through said server, said server establishing a bridge between said user communications device and said contact over a said determined communications provider.
26. The contacts management client of claim 23, 24 or 25, wherein said client determines whether a contact should be called on said user communication provider, before communicating with said server to determine a further communications provider.
27. A method of enabling a user of a communications device to make a voice call to a contact on a contacts list of the user, the method including the steps of: providing a contents management client on said user communications device that communicates with a contents management server over a communications provider to which said user is subscribed; providing a contacts list on said user device using said client; using said client to allow selection of one of said contacts; sending a call request to said server from said client to call said selected contact; storing details of further communications providers accessible to said user; using said client and server to determine a one of said further communications providers with which a call to said selected contact may be placed; and using said client and server to establish a connection between said user and said selected contact over said determined communications provider.
28. A contacts management system, including a contacts management server with which a user communicates using a first communications provider, wherein said server stores data regarding a user's contacts and data regarding one or more alternate communications providers to said first communications provider, and wherein said server receives a request to call a contact from said user, and determines one or more of said alternate communications provider to route a call to said contact through.
29. A contacts management system, including a contacts management client residing on a user communication device and a contacts management server with which said client can communicate through a communications provider to which said user subscribes, wherein said client provides an interface for allowing said user to select a contact to call and sends information regarding said selected contact to said server, wherein said server determines one or more alternate communications providers through which a call to said contact may be routed, said server sending communications data to said client for calling said contact through a said determined communications provider, and said client causing said user device to dial said contact using said communications data.
30. A contacts management system, including a contacts management client residing on a user communication device and a contacts management server with which said client can communicate through a communications provider to which said user subscribes, wherein said client includes an interface for allowing said user to select a contact to call and sends information regarding said selected contact to said server, and wherein said server determines one or more alternate communications providers through which a call to said contact may be routed, said server establishing a bridge between said user device and said contact over a said determined communications provider.
PCT/SG2006/000256 2006-09-04 2006-09-04 Apparatus and methods for selection of communication providers for calling system WO2008030181A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/SG2006/000256 WO2008030181A1 (en) 2006-09-04 2006-09-04 Apparatus and methods for selection of communication providers for calling system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SG2006/000256 WO2008030181A1 (en) 2006-09-04 2006-09-04 Apparatus and methods for selection of communication providers for calling system

Publications (1)

Publication Number Publication Date
WO2008030181A1 true WO2008030181A1 (en) 2008-03-13

Family

ID=39157511

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/SG2006/000256 WO2008030181A1 (en) 2006-09-04 2006-09-04 Apparatus and methods for selection of communication providers for calling system

Country Status (1)

Country Link
WO (1) WO2008030181A1 (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418844A (en) * 1992-04-17 1995-05-23 Bell Atlantic Network Services, Inc. Automatic access to information service providers
US6167253A (en) * 1995-01-12 2000-12-26 Bell Atlantic Network Services, Inc. Mobile data/message/electronic mail download system utilizing network-centric protocol such as Java
WO2001020491A2 (en) * 1999-09-14 2001-03-22 Christ Michael A System and method for brokering rated services
WO2002023835A1 (en) * 2000-09-08 2002-03-21 Anyusernet Corporation Service method for internet telephone number of voice over internet protocol endpoints
WO2002037470A2 (en) * 2000-10-30 2002-05-10 Keen.Com An apparatus and method for specifying and obtaining services through voice commands
US20020101858A1 (en) * 2001-01-31 2002-08-01 Stuart Thro W. Communication services through multiple service providers
US20030194077A1 (en) * 2002-04-15 2003-10-16 Blaine Edward Ramey Bridge between multiple telephone service providers
US20040047345A1 (en) * 2001-11-16 2004-03-11 Ibasis, Inc. System and method for voice over internet protocol (VoIP) and facsimile over internet protocol (FoIP) calling over the internet
US20050195842A1 (en) * 2000-10-27 2005-09-08 Dowling Eric M. Federated multiprotocol communication
US20050286711A1 (en) * 2004-06-02 2005-12-29 Lee Fisher C System and method for providing customized voice connection services via gatekeeper

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418844A (en) * 1992-04-17 1995-05-23 Bell Atlantic Network Services, Inc. Automatic access to information service providers
US6167253A (en) * 1995-01-12 2000-12-26 Bell Atlantic Network Services, Inc. Mobile data/message/electronic mail download system utilizing network-centric protocol such as Java
WO2001020491A2 (en) * 1999-09-14 2001-03-22 Christ Michael A System and method for brokering rated services
WO2002023835A1 (en) * 2000-09-08 2002-03-21 Anyusernet Corporation Service method for internet telephone number of voice over internet protocol endpoints
US20050195842A1 (en) * 2000-10-27 2005-09-08 Dowling Eric M. Federated multiprotocol communication
WO2002037470A2 (en) * 2000-10-30 2002-05-10 Keen.Com An apparatus and method for specifying and obtaining services through voice commands
US20020101858A1 (en) * 2001-01-31 2002-08-01 Stuart Thro W. Communication services through multiple service providers
US20040047345A1 (en) * 2001-11-16 2004-03-11 Ibasis, Inc. System and method for voice over internet protocol (VoIP) and facsimile over internet protocol (FoIP) calling over the internet
US20030194077A1 (en) * 2002-04-15 2003-10-16 Blaine Edward Ramey Bridge between multiple telephone service providers
US20050286711A1 (en) * 2004-06-02 2005-12-29 Lee Fisher C System and method for providing customized voice connection services via gatekeeper

Similar Documents

Publication Publication Date Title
US20190273824A1 (en) Universal Ring Free
US8938226B2 (en) Reassigned mobile message notifications
US20060218632A1 (en) Method and system for installing premise equipment
US8045544B2 (en) Method and system for operating a communication service portal
US11451939B2 (en) Routing of toll-free numbers and text messages using a toll-free exchange
US11128759B2 (en) Routing of toll-free numbers using a toll free exchange
US20100130177A1 (en) Methods and Apparatuses for Providing Carrier Selection on Display Capable Devices
US20080039074A1 (en) System and process for global dialing using a mobile device
JP2010516219A (en) Control prepaid balance status notifications
US9084088B2 (en) Wireless communication provisioning using state transition rules
US8649762B1 (en) Carrier network determination for providing real-time customer feedback of call information
CN101167306A (en) Method and apparatus for supplying billing information to a communication device
US8886174B2 (en) Method and system for service provider awareness
WO2008030181A1 (en) Apparatus and methods for selection of communication providers for calling system
EP2107780A1 (en) Method and server for facilitating transfer of services between users
TWI545933B (en) Method and apparatus for cost-saving telephone service
US7680258B2 (en) Providing information in a communication system
CN102083014B (en) Credit control method and system for data message service
JP2003244140A (en) Data exchange system, connection charge calculation method in data exchange system, and charging system in data exchange system
KR20130101217A (en) The method and system for collecting fund by using intelligent network service
WO2008154687A1 (en) Method and system for foreign network usage data collection
WO2009015436A1 (en) Least cost routing over separate networks
KR20070020526A (en) Providing information in a communication system
MXNL03000015A (en) Method, system and node for sending short messages between different telecommunication network operators.

Legal Events

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

Ref document number: 06784268

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06784268

Country of ref document: EP

Kind code of ref document: A1