Embodiments disclosed herein relate generally to methods and systems for telecommunications, and in particular to the use of call initiation systems for voice communication.
Voice over Internet Protocol (VoIP) is a protocol whereby any Internet-enabled device may place a phone call using the Internet. VoIP frees phone service from traditional phone lines and cellular networks, resulting in phone service that is often more robust and less expensive than traditional phone service. For international calls in particular, VoIP is an increasingly popular choice due to its low cost and flexibility. However, many potential users are currently unable to take advantage of VoIP because at the moment they need to place a call, they do not have access to an Internet-enabled device, whether through poverty or a lack of access to appropriate services for geographical reasons.
A challenge in providing simple to use, low-cost packet based phone calls for a Caller using a phone without Internet access is for the Caller to make the call and communicate to the VoIP switch necessary information such as the long distance phone number to dial, the identity of a prepaid account or billed-to account, and the status or balance of an account. Strategies for communicating the desired long distance phone number and handling the payment thereof for text-enabled phones without Internet access have so far centered around prepaid phone cards, text messaging call-back requests to designated, preregistered text-enabled phones from proprietary distributers, and purchase of dedicated forwarding virtual phone number(s) by the party in one country who wishes to be called by Callers in another foreign country. All three strategies require substantial up-front costs to the end-user while providing inadequate service in return. Prepaid phone cards must be repeatedly purchased by the user, and require a long and often frustrating dialing process involving the prepaid card service's number, a card-specific code, and the destination number, and will interrupt the phone call when the prepaid balance runs out. Because preregistered phones for texting call-back methods are identified by current systems using their device identifiers, they must be specially purchased, such that new users cannot take advantage of the service without purchasing a new phone. The user cannot switch phones except by purchasing another pre-registered phone if the user wishes to continue using the service, and has no way to use the service by borrowing another person's phone, for instance if the specially-purchased phone needs to be recharged. The use of a forwarding virtual number typically requires the user to purchase the use of that number on an ongoing basis, resulting in the ability of any user calling the number to make VoIP calls for which the purchasing user will have to pay.
In one aspect, a method for initiating Voice over Internet Protocol communication includes receiving, by a Voice over Internet Protocol switch, data identifying a call-originating phone and data identifying at least one recipient device The method includes creating, by the Voice over Internet Protocol switch, a first Voice over Internet Protocol call to the call-originating phone using the data identifying the call-originating phone. The method includes creating, by the Voice over Internet Protocol switch, a second Voice over Internet Protocol call to the at least one recipient device using the data identifying the at least one recipient device. The method includes combining, by the Voice over Internet Protocol switch, the first call with the second call.
In a related embodiment, receiving further involves receiving, from the call-originating phone, the data identifying the call-originating phone and the data identifying at least one recipient device. In another related embodiment, receiving includes receiving, via non-packet-based network communication, the data identifying the call-originating phone and the data identifying at least one recipient device from the call-originating phone. In another embodiment, the non-packet-based network communication is a text message. In an additional embodiment, the non-packet-based network communication is a phone call placed using the first publically switched telephone network. In yet another embodiment, the Voice over Internet Protocol switch receives the data via the user's voice input in response to a series of prompts provided by the Voice over Internet Protocol switch. In another embodiment still, the data identifying the call-originating phone further includes a first telephone number associated with the call-originating phone. In a further method, the data identifying the call-originating phone further includes data identifying a first country within which call-originating phone is located. In an additional embodiment, the data identifying the call-originating phone further includes data identifying a first person or entity associated with the call-originating phone. In another embodiment, the data identifying the at least one recipient device further includes a first IP address associated with the call-originating phone. In another embodiment, the data identifying the at least one recipient device further includes a second telephone number associated with the at least one recipient device.
Another related embodiment involves detecting, by the Voice over Internet Protocol switch, that the second telephone number does not include a country code, retrieving, by the Voice over Internet Protocol switch, a first country code associated with the second telephone number, and automatically appending, by the Voice over Internet Protocol switch, the first country code to the second telephone number. In an additional embodiment, the Voice over Internet Protocol switch receives the first country code in the data identifying the call-originating phone. In another embodiment, the data identifying the at least one recipient device further includes a second country within which the at least one recipient device is located. In yet another embodiment, the data identifying the at least one recipient device further includes data identifying at least one second person or entity associated with the recipient device. In another embodiment still, the data identifying the at least one recipient device further includes a second IP address associated with the at least one recipient device.
In an additional embodiment, creating the first Voice over Internet Protocol call further involves creating the first Voice over Internet Protocol call using a using a first publically switched telephone network. In a further embodiment, creating the second call further includes creating a Voice over Internet Protocol session with the at least one recipient device using a packet-based network communication protocol. In a further embodiment still, creating the second call further includes creating a telephone call using a second publically switched telephone network to the recipient device. In yet another embodiment, creating the second Voice over Internet Protocol call further involves creating a Voice over Internet Protocol call to a plurality of recipient devices. An additional embodiment involves receiving, by the Voice over Internet Protocol switch, data specifying a particular time and date and postponing, by the Voice over Internet Protocol switch, the creation of the first Voice over Internet Protocol call and the second Voice over Internet Protocol call, until the particular time and date. Another embodiment involves determining that a first country code associated with the call-originating phone differs from a second country code associated with the at least one recipient device and placing at least one of the first call and the second call via international long distance.
Another related embodiment involves locating, by the Voice over Internet Protocol switch, at least one payment account associated with at least one of the call-originating phone and the at least one recipient device. A related embodiment further involves verifying, by the Voice over Internet Protocol switch that the at least one payment account contains sufficient funds to initiate the first Voice over Internet Protocol call and the second Voice over Internet Protocol call, and charging, by the Voice over Internet Protocol switch, the at least one payment account for the first Voice over Internet Protocol call and the second Voice over Internet Protocol call. An additional embodiment involves determining, by the Voice over Internet Protocol switch, that the at least one payment account does not contain sufficient funds to initiate the first Voice over Internet Protocol call and the second Voice over Internet Protocol call, prompting, by the Voice over Internet Protocol switch, a user of at least one of the call-originating phone and the at least one recipient device to provide a method of payment, receiving, by the Voice over Internet Protocol switch, the method of payment from the user, and charging, by the Voice over Internet Protocol switch, the received method of payment for the first Voice over Internet Protocol call and the second Voice over Internet Protocol call. Still another embodiment involves charging, by the Voice over Internet Protocol switch, the cost of the first Voice over Internet Protocol call and the second Voice over Internet Protocol call to a phone bill associated with the call-originating phone. A further embodiment involves prompting, by the Voice over Internet Protocol switch, a user of the call-originating phone to create a user account, receiving, by the Voice over Internet Protocol switch, an agreement or a decline to create the user account, and creating a user account using the data identifying the call-originating phone. Another embodiment includes prompting, by the Voice over Internet Protocol switch, the user to provide billing data, receiving, by the Voice over Internet Protocol switch, billing data from the user, and adding, by the Voice over Internet Protocol switch, the billing data to the user account. Yet another embodiment involves adding, by the Voice over Internet Protocol switch, a promotional credit having a value to the user account and deducting, by the Voice over Internet Protocol switch, the value of the promotional credit from a cost of the first Voice over Internet Protocol call and the second Voice over Internet Protocol call using the promotional credit.
Also disclosed is a system for telephone-initiated Voice over Internet Protocol communication. The system includes at least one call-originating phone, at least one recipient device, and at least one Voice over Internet Protocol switch configured to receive data identifying the call-originating phone and recipient device, to create a first Voice over Internet Protocol call to the call-originating phone, to create a second Voice over Internet Protocol call to the recipient device, and to combine the first call with the second call.
Other aspects, embodiments and features of the system and method will become apparent from the following detailed description when considered in conjunction with the accompanying figures. The accompanying figures are for schematic purposes and are not intended to be drawn to scale. In the figures, each identical or substantially similar component that is illustrated in various figures is represented by a single numeral or notation. For purposes of clarity, not every component is labeled in every figure. Nor is every component of each embodiment of the system and method shown where illustration is not necessary to allow those of ordinary skill in the art to understand the system and method.
The preceding summary, as well as the following detailed description of the disclosed system and method, will be better understood when read in conjunction with the attached drawings. It should be understood, however, that neither the system nor the method is limited to the precise arrangements and instrumentalities shown. The novel features believed characteristic on the invention are set forth in the appended claims. The invention itself, however, as well as preferred modes of use, further objectives and advantages thereof, may be read in conjunction with the accompanying drawings, wherein:
Some embodiments of the disclosed system and methods will be better understood by reference to the following comments concerning computing devices. A “computing device” may be defined as including personal computers, laptops, tablets, smart phones, and any other computing device capable of supporting an application as described herein. The system and method disclosed herein will be better understood in light of the following observations concerning the computing devices that support the disclosed application, and concerning the nature of web applications in general. An exemplary computing device is illustrated by
The computing device also includes a main memory 195, such as random access memory (RAM), and may also include a secondary memory 196. Secondary memory 196 may include, for example, a hard disk drive 197, a removable storage drive or interface 198, connected to a removable storage unit 199, or other similar means. As will be appreciated by persons skilled in the relevant art, a removable storage unit 199 includes a computer usable storage medium having stored therein computer software and/or data. Examples of additional means creating secondary memory 196 may include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 199 and interfaces 198 which allow software and data to be transferred from the removable storage unit 199 to the computer system. In some embodiments, to “maintain” data in the memory of a computing device means to store that data in that memory in a form convenient for retrieval as required by the algorithm at issue, and to retrieve, update, or delete the data as needed.
The computing device may also include a communications interface 200. The communications interface 200 allows software and data to be transferred between the computing device and external devices. The communications interface 200 may include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, or other means to couple the computing device to external devices. Software and data transferred via the communications interface 200 may be in the form of signals, which may be electronic, electromagnetic, optical, or other signals capable of being received by the communications interface 200. These signals may be provided to the communications interface 200 via wire or cable, fiber optics, a phone line, a cellular phone link, and radio frequency link or other communications channels. Other devices may be coupled to the computing device 192 via the communications interface 200. In some embodiments, a device or component is “coupled” to a computing device 192 if it is so related to that device that the product or means and the device may be operated together as one machine. In particular, a piece of electronic equipment is coupled to a computing device if it is incorporated in the computing device (e.g. a built-in camera on a smart phone), attached to the device by wires capable of propagating signals between the equipment and the device (e.g. a mouse connected to a personal computer by means of a wire plugged into one of the computer's ports), tethered to the device by wireless technology that replaces the ability of wires to propagate signals (e.g. a wireless BLUETOOTH® headset for a mobile phone), or related to the computing device by shared membership in some network consisting of wireless and wired connections between multiple machines (e.g. a printer in an office that prints documents to computers belonging to that office, no matter where they are, so long as they and the printer can connect to the internet). A computing device 192 may be coupled to a second computing device (not shown); for instance, a server may be coupled to a client device, as described below in greater detail.
The communications interface in the system embodiments discussed herein facilitates the coupling of the computing device with data entry devices 201, the device's display 202, and network connections, whether wired or wireless 203. In some embodiments, “data entry devices” 201 are any equipment coupled to a computing device that may be used to enter data into that device. This definition includes, without limitation, keyboards, computer mice, touchscreens, digital cameras, digital video cameras, wireless antennas, Global Positioning System devices, audio input and output devices, gyroscopic orientation sensors, proximity sensors, compasses, scanners, specialized reading devices such as fingerprint or retinal scanners, and any hardware device capable of sensing electromagnetic radiation, electromagnetic fields, gravitational force, electromagnetic force, temperature, vibration, or pressure. A computing device's “manual data entry devices” is the set of all data entry devices coupled to the computing device that permit the user to enter data into the computing device using manual manipulation. Manual entry devices include without limitation keyboards, keypads, touchscreens, track-pads, computer mice, buttons, and other similar components. A computing device may also possess a navigation facility. The computing device's “navigation facility” may be any facility coupled to the computing device that enables the device accurately to calculate the device's location on the surface of the Earth. Navigation facilities can include a receiver configured to communicate with the Global Positioning System or with similar satellite networks, as well as any other system that mobile phones or other devices use to ascertain their location, for example by communicating with cell towers.
In some embodiments, a computing device's “display” 201 is a device coupled to the computing device, by means of which the computing device can display images. Display include without limitation monitors, screens, television devices, and projectors.
Computer programs (also called computer control logic) are stored in main memory 195 and/or secondary memory 196. Computer programs may also be received via the communications interface 200. Such computer programs, when executed, enable the processor device 194 to implement the system embodiments discussed below. Accordingly, such computer programs represent controllers of the system. Where embodiments are implemented using software, the software may be stored in a computer program product and loaded into the computing device using a removable storage drive or interface 198, a hard disk drive 197, or a communications interface 200.
The computing device may also store data in database 204 accessible to the device. A database 204 is any structured collection of data. As used herein, databases can include “NoSQL” data stores, which store data in a few key-value structures such as arrays for rapid retrieval using a known set of keys (e.g. array indices). Another possibility is a relational database, which can divide the data stored into fields representing useful categories of data. As a result, a stored data record can be quickly retrieved using any known portion of the data that has been stored in that record by searching within that known datum's category within the database 204, and can be accessed by more complex queries, using languages such as Structured Query Language, which retrieve data based on limiting values passed as parameters and relationships between the data being retrieved. More specialized queries, such as image matching queries, may also be used to search some databases. A database can be created in any digital memory.
Persons skilled in the relevant art will also be aware that while any computing device must necessarily include facilities to perform the functions of a processor 194, a communication infrastructure 193, at least a main memory 195, and usually a communications interface 200, not all devices will necessarily house these facilities separately. For instance, in some forms of computing devices as defined above, processing 194 and memory 195 could be distributed through the same hardware device, as in a neural net, and thus the communications infrastructure 193 could be a property of the configuration of that particular hardware device. Many devices do practice a physical division of tasks as set forth above, however, and practitioners skilled in the art will understand the conceptual separation of tasks as applicable even where physical components are merged.
The systems may be deployed in a number of ways, including on a stand-alone computing device, a set of computing devices working together in a network, or a web application. Persons of ordinary skill in the art will recognize a web application as a particular kind of computer program system designed to function across a network, such as the Internet. A schematic illustration of a web application platform is provided in
Many computing devices, as defined herein, come equipped with a specialized program, known as a web browser, which enables them to act as a client device 82 at least for the purposes of receiving and displaying data output by the server 84 without any additional programming. Web browsers can also act as a platform to run so much of a web application as is being performed by the client device 82, and it is a common practice to write the portion of a web application calculated to run on the client device 82 to be operated entirely by a web browser. Such browser-executed programs are referred to herein as “client-side programs,” and frequently are loaded onto the browser from the server 84 at the same time as the other content the server 84 sends to the browser. However, it is also possible to write programs that do not run on web browsers but still cause an computing device to operate as a web application client 82. Thus, as a general matter, web applications 205 require some computer program configuration of both the client device (or devices) 82 and the server 84. The computer program that comprises the web application component on either computing device's system
Referring to
The VoIP switch 101 is configured to connect and route VoIP calls by streaming data over a network from one electronic device to another electronic device. In some embodiments, VoIP calls stream data using a packet-based network communication protocol such as Internet protocol (IP). In one embodiment, packet-based network communication is the exchange of data packaged in formatted units over a network. The network may be a network 83 as defined above in reference to
In some embodiments, the VoIP switch 101 is configured to receive from the call originating device, data identifying the call originating device and recipient device, to create a first Voice over Internet Protocol call to the call originating device using the first publically switched telephone network, to create a second Voice over Internet Protocol call to the recipient device using the second publically switched telephone network, and to combine the first call with the second call, as set forth in further detail below. The VoIP switch 101 may be configured using one or more computer programs as defined above in reference to
In some embodiments, the VoIP switch 101 communicates using one or more forwarding virtual numbers. In one embodiment, a forwarding virtual number is a phone number that forwards data to a computing device in communication with the VoIP switch 101. In some embodiments, information sent to the forwarding virtual number is received by a text messaging server 105 that processes text messages; the text messaging server 105 may forward data contained in text messages to the VoIP switch. The text messaging server 105 may receive data from the VoIP switch and transmit it as text messages. In some embodiments, the text messaging server 105 translates data from one protocol to another; for instance, the text messaging server 105 may be configured to insert the data from text messages, such as those sent in the simple messaging service (SMS) protocol, into packets to convey the data to the VoIP switch 101 using a packet-based protocol. Likewise, the text messaging server 105 may translate packet-based communications from the VoIP switch 101 into bit streams to transmit them as text messages.
The system 100 includes a first PSTN 102a. In one embodiment, a PSTN is set of one or more interconnected circuit-switched telephone networks. The networks may include any facility for communicatively connecting one electronic machine to another. A PSTN may include networks of telephone lines. A PSTN may include networks of fiber optic cables. A PSTN may include networks of microwave transmission links. A PSTN may include one or more cellular networks. A PSTN may include one or more communications satellites. A PSTN may include on or more undersea telephone cables. In some embodiments, the networks making up the PSTN are coordinated by switching centers that connect one machine to another via the networks. In some embodiments, the PSTN adheres to ITU-T: International Telephone Unit Telecommunication Standardization Sector. The PSTN may also follow protocols for universally unique telephone numbers developed in E.163, E.164, and later standards recommendations promulgated by the ITU-T. Any telephone device connected to a PSTN may be capable of communicating with any other telephone device connected to the same PSTN. A PSTN may be local, national, or global.
Some embodiments of the system 100 use non-packet-based network communication to exchange data. In one embodiment, non-packet-based network communication involves the transmission and reception of unformatted data, for instance in the form of bit streams. The non-packet-based network communication protocol may involve the use of circuit switching stations, such as the stations that connect telephone calls in a PSTN, as defined above. Telephone calls may be performed via non-packet-based network communication. Text messaging, as described in further detail below, may also be performed using non-packet-based network communication. As used below, a device is using non-packet-based communication if the message transmitted by the device itself is not transmitted via a packet-based network communication. For instance, if a phone sends an SMS message via a bit stream, and the SMS message is later converted by an intermediary device to a packet to transmit via a packet-based protocol, the phone is using non-packet-based network communication.
The system 100 includes a call-originating phone 103. The call-originating phone may be a telephone. The call-originating phone 103 may be a “land line” phone that communicates via wires. The call-originating phone 103 may be a cellular phone. The call-originating phone may be a digital phone. In some embodiments, the call-originating phone 103 is a text-enabled phone. In one embodiment, a text-enabled phone is a phone capable of sending text messages to other devices. The text-enabled phone may also be capable of receiving text messages from other devices.
In one embodiment, a text message is an electronic message sent from one device to another over a telephone network, such as a PSTN 102a as described above. A text message may contain alphanumeric data. In some embodiments, text messages are sent via the short messaging system (SMS) protocol. In some embodiments, text messages do not hit the PSTN carrier switch, but rather stay internal, for instance through other cell traffic carriers (usually fellow domestic carriers) with which a cell phone carrier shares cellular network traffic through the carrier's cellular network to its SMS texting server, where the call-originating phone 103 is a cell phone. As a result, text messaging may provide a relatively low-cost telecommunications tool. The primary (default) SMS server may be the cell phone carrier's SMS server. SMS messaging has become a ubiquitous method for low-cost domestic communications worldwide, in part because it does not require the packet-based communication capabilities necessary to use an Internet connection. In some embodiments, text messages are also relayed via “gateway” text messaging services internationally through the Internet by using a SMS server gateway.
In some embodiments, the system 100 also includes a user interface (not shown). The user interface may be provided via an application installed on the call-originating phone 103. The user interface may be provided via a web browser. In some embodiments, the user interface has elements as disclosed below in reference to
The VoIP switch 101 also connects to a recipient device 104. In some embodiments, the recipient device 104 is a telephone. The recipient device 104 may be capable of sending text messages. The recipient device 104 may be a cellular phone. The recipient device 104 may be a smartphone. In other embodiments, the recipient device 104 is a computing device 192 as described above in reference to
In some embodiments, the VoIP switch communicates with one or more third-party payment processors to process payments for calls as set forth in more detail below. For example, SMS communication may facilitate money transfers via third-party payment processors such as the PAYPAL service offered by Paypal Inc., of San Jose, Calif., wherein the user enters his cell phone number into his account profile with the third-party payment processor. A further example of third party payment processors is represented by the BOOM service offered by Boom! Payments, LLC of Los Angeles, Calif., and the PAYSAFE service offered by paysafecard.com Wertkarten AG Corporation of Vienna, Austria. These services rely on an established international retail network, and use virtual cards or accounts loaded with cash and having associated personal identification numbers (PIN) that, when provided to a merchant, allow the merchant to process a payment using the PIN. To transfer money, one store on either geographic end of the money sender and the money receiver is required. The payment sender gives Retailer A funds to send by electronic funds transfer to a given party in another city (or country). The “receiver” of the money (the text message with the receipt number for the transaction) goes to Retailer B, which is also in the “network” of retailers carrying that service and has received a funds transfer for the transaction. These services also function if Retailer A or B is a website.
In some embodiments, a phone carrier sets up “short codes,” using 4 to 6 numeric digits to which the cell phone's owner can text a “keyword” to purchase a service or “item,” such as a ringtone, donation, or digital purchase. The carrier may charge the cell phone owner's cell phone account for the service, and pay the service or item provider, less a service fee for the payment processing. In other embodiments, text messaging is used in programmed communications. Text messages in some embodiments may also be used by third-party payment processors to process payments. The owner of the third-party payment processor account may send a text to an SMS server operated by the third-party payment processor, which receives the message. The SMS server may be configured to parse the text message for commands regarding processing of payments; for instance, the “message” section of the sent text may follow a simple command structure such as “send 10.99 to 214-203-1212” (or a short form thereof), wherein the “send” and “to” are mapped by the payment processor's SMS server to commands initiating a transfer of funds and used as tokens to find message sections corresponding to the funds to send and the destination account to which the funds should be sent. The SMS server may further store data in its memory mapping the destination identifier to an account with the third party payment processor.
Referring to
The data identifying the at least one recipient device 104 may include one or more telephone numbers; for instance, where the at least one recipient device 104 is a telephone, the data identifying the recipient device 104 may be a telephone number associated with the telephone. The data identifying the recipient device 104 may include the identities of one or more recipient devices 104 in at least one VoIP system. The at least one VoIP system may include the same VoIP system operated by the VoIP switch 101. The at least one VoIP system may include a VoIP system operated by a different party. In some embodiments, the data identifying the recipient device 104 includes at least one IP address. The data identifying the recipient device 104 includes at least one a device identifier in other embodiments. The data identifying the recipient device 104 may include one or more identifiers associated with one or more user accounts registered with the VoIP switch 101, as set forth in more detail below. The data identifying the at least one recipient device 104 may be the identifier of one or more contacts created by the user of the call-originating phone 103, as set forth in more detail below; for instance, the identifier of the recipient device 104 may be an alias or a group identifier as set forth in further detail below. The data identifying the at least one recipient device 104 may include a second country within which the at least one recipient device is located. The data identifying the at least one recipient device 104 may include data identifying at least one person or entity associated with the recipient device.
In some embodiments, the call-originating phone 103 sends the data in a non-packet-based communication form. In one embodiment, the call-originating phone 103 sends the data via a text message. In some embodiments, the user enters a text message by following syntax enabling the VoIP switch 101 to parse the text message to determine the data. The text in the text message may be delimited by character data that divides the text into data fields; the character data may be a single character. The character data may be a string of characters. For instance, the text message may be delineated by spaces, such that a string of text in the text message preceding the first space identifies the call-originating phone 103 while the string of text following the first space represents the at least oned recipient device 104; where there is more than one recipient device, there may be further delimiters to distinguish each separate recipient device 104. In some embodiments, the text message contains additional items of data; the additional items may be separated from the rest of the message by further delimiters. The identity of the call-originating phone 103 may be contained in a field identifying the sending device according to the text messaging protocol; for instance, the “source_addr” field in an SMS message may contain the phone number associated with the call-originating phone 103.
In some embodiments, the text message contains text identifying the category of command the text message is conveying to the VoIP switch 101. For example, the VoIP switch 101 may be configured to recognize a prefix indicating the nature of the command conveyed in the text message; one prefix may indicate that the text message is a command to initiate a call, and identifies the call-originating phone 103 and the at least one recipient device 104. Non-limiting examples of additional commands that may be conveyed by text messages are illustrated in
In some embodiments of the method 200, the non-packet-based network communication is a phone call placed using the first publically switched telephone network. In some embodiments, the call-originating phone 103 calls a forwarding virtual number operated by the system 100, via the first PSTN, which is connected to the VoIP switch 101. The initial call may contain the data identifying the call-originating phone as a call-back number. In some embodiments, the user of the call-originating phone enters data by manual entry upon the connecting to the VoIP switch 101; for instance, the user may enter data identifying one or more recipient devices 104, such as a phone number.
In other embodiments, the VoIP switch 101 maintains, in its memory, an account associated with the phone number of the call-originating phone 103. The account may map the forwarding virtual number to one or more identifiers associated with recipient devices 104; thus, when a particular call-originating phone 103 places a call to a particular forwarding virtual number, the VoIP switch 101 uses the map to select the identifier of the one or more recipient devices 104 associated with that forwarding virtual number for that call-originating phone 103. Where the map associates a single recipient device 104 with the forwarding virtual number, the VoIP switch may proceed to create a two-device phone call as set forth in further detail below. Where the map associates multiple recipient devices 104 with the forwarding virtual number, the VoIP switch 101 may proceed to create a multiple-device phone call, or conference call, as set forth in further detail below. The VoIP switch 101 may operate multiple forwarding virtual numbers, such that the user of each call-originating phone 103 is able to associate a forwarding virtual number with each recipient device 104 or group of recipient devices 104 that the user wishes to call. The VoIP switch 101 may create the map associating a particular forwarding virtual number with a particular set of one or more recipient devices 104 for a particular call-originating device 103 upon the user of the call-originating device creating a contact associated with the set of recipient devices 104 as set forth in further detail below.
The VoIP switch 100 creates a first Voice over Internet Protocol call to the call-originating phone using the first PSTN (202). In some embodiments, the VoIP switch 101 places a VoIP call to the call-originating phone 103. For instance, where the call-originating phone 103 initiated the process by transmitting a text message to the VoIP switch, the VoIP switch 101 may call the call-originating phone back. Where the call-originating phone 103 initiating the process by placing a phone call to the VoIP switch 101, the VoIP switch 101 may exit the call and place a new call to the call-originating phone 103. In other embodiments, where the call-originating phone 103 calls the VoIP switch 101 via a forwarding virtual number, the VoIP switch 101 creates the call to the call-originating phone 103 by responding to the initial call, which it does not exit unless prompted by the user of the call-originating phone 103.
The VoIP switch 101 creates a second Voice over Internet Protocol call to the recipient device 104 (203). In some embodiments, the VoIP switch 100 creates the second call by creating a VoIP session with the at least one recipient device 104 using a packet-based network communication protocol. For instance, where the recipient device 104 is a computing device 192 as described above in reference to
In some embodiments, as further illustrated by
In some embodiments, the VoIP switch 101 receives a first country code with which the call-originating phone 103 is associated, detects that the second telephone number associated with the at least one recipient device 104 does not include a country code, retrieves a first country code associated with the second telephone number, and automatically appends the first country code to the second telephone number. The VoIP switch may receive the first country code in the data identifying the call-originating phone; for instance, the first country code may be obtained automatically from a Short Message Service server over which the user telephone and the at least one destination number data were transmitted to the VoIP switch 101. The second country code may be retrieved from a linked database of country codes, other information associated with the at least one recipient device 104. The at least a second country code may be derived automatically, by the VoIP switch 101, using syntax analysis of the received data and the linked database of information. In some embodiments, the VoIP switch 101 determines that a first country code associated with the call-originating phone 103 differs from a second country code 104 associated with the at least one recipient device, and places at least one of the first call and the second call via international long distance; in other words, the VoIP switch 101 may place the first call, the second call, or both via international long distance.
In other embodiments, the above steps are performed by an application operating on the call-originating phone 103. By way of a non-limiting example, if the user is in the United States 168, and makes a call and the call is to a friend in Mexico 169, the contact in the user's contact list may have the friend's number with country code for Mexico in it 170. Continuing the example the user texts to an SMS forwarding virtual number in the United States 171, and sends a command to place an international call 172 the application sends as international call to Mexico 173. Further continuing the example, if the user Lands in Mexico—DF Airport 174 the application changes the SMS forwarding virtual number to a Mexican number, 175 and the application determines that the that SMS server is in Mexico 176, deleting the country code from the phone number and makes the call as domestic long distance call 177.
The VoIP switch 101 combines the first call with the second call (204). In some embodiments, the VoIP switch 101 patches, or merges the first call to the second call. Where there is more than one recipient device 104, the second call may consist of several separate component calls to different recipient devices 104; VoIP switch 101 may then effectively merge several different VoIP calls together to produce the completed call. In some embodiments, the Voice over Internet Protocol switch 101 receives data specifying a particular time and date, and postpones the creation of the first Voice over Internet Protocol call and the second Voice over Internet Protocol call until the particular time and date. The time and date may be received in the data identifying the call-originating phone 103 or the data identifying at least one recipient device 104; the time and date may be sent separately from any device, including the call-originating phone 103 or the at least one recipient device 104.
In some embodiments, the VoIP switch 101 receives, from a user of the call-originating phone 103, an instruction providing account information. The user may transmit the instruction to the VoIP switch 101 using the call-originating phone 103; for instance, the user may transmit the instruction using text messaging as described above in reference to
The account information may create a user account. The account information may create a new contact or alias for the user; for instance, the user may enter information necessary to complete a call to a recipient device 104, and an identifier to associate with that information. The identifier may be a name, or similar simplified datum easier for a user to remember than the original contact information. The contact created may for a group; for instance, the user may enter information identifying a set of recipient devices 104 and an identifier for the set taken together, such that calling the identifier will cause the VoIP switch 101 to call the entire set; the user may enter some recipient device 104 information that is new. The user may enter an identifier corresponding to recipient device 104 information that was previously stored as a contact. In some embodiments, the VoIP switch 101 maps each newly entered contact or alias to a distinct forwarding virtual number as described above in reference to
In some embodiments, the account information includes payment information. For instance the account information may include a user account with a third-party payment processor that the VoIP switch 101 may bill for calls made by the user. The account information may include a user account with a financial institution; for instance, the account information may include credit card billing information for the user. The account information may include bank account billing information for the user, such as a bank account number or a routing number.
In some embodiments, the VoIP switch 101 calculates the price of the combined call, determines a payment account associated with the call-originating phone 104, and processes a payment for the price using the determined account. The VoIP switch may determine the price according to any stored or derived information setting prices for calls; the price may be determined by a billing rate per unit of time, such as a price per minute. The price may be determined as a flat rate for calls placed over a certain period of time. In some embodiments, the payment account is stored in memory accessible to the VoIP switch 101; for instance, the user may have entered the payment account as described above in reference to
In another embodiment, the VoIP switch calculates the price of the combined call, determines an account associated with the at least one recipient device 104, and processes a payment for the price using the determined account. The calculation of the price may proceed as described above in reference to
In some embodiments, the VoIP switch 101 determines that the at least one payment account contains sufficient funds to pay for the first Voice over Internet Protocol call and the second Voice over Internet Protocol call, and the VoIP switch charges the at least one payment account. The VoIP switch 101 may determine that the at least one payment account does not contain sufficient funds to initiate the first Voice over Internet Protocol call and the second Voice over Internet Protocol call. The VoIP switch 101 may prompt a user of at least one of the call-originating phone and the at least one recipient device to provide a method of payment; the VoIP switch 101 may prompt a user of the call-originating phone 103, the at least one recipient device 104, or both. The prompt may be conveyed using any form of communication that may be initiated by the VoIP switch 104, including without limitation web applications, electronic mail, and non-packet-based communications such as text messages and PSTN calls. In some embodiments, the VoIP switch 101 receives the method of payment from the user; the method of payment may include an account number, such as a checking account number with its routing number, or a credit card number. The method of payment may be conveyed by any device used by the user, including the call-originating device 103, the at least one recipient device 104, or an additional computing device (not shown). The VoIP switch 101 may charge the received method of payment for the first Voice over Internet Protocol call and the second Voice over Internet Protocol call. The VoIP switch 101 may suspend one or more of the calls until payment is processed. In other embodiments, the VoIP switch 101 charges the cost of the first Voice over Internet Protocol call and the second Voice over Internet Protocol call to a phone bill associated with the call-originating phone.
In some embodiments, the VoIP switch 101 prompts a user of the call-originating phone to create a user account, receives an agreement to create the user account, and creates a user account using the data identifying the call-originating phone. The VoIP switch 101 may further prompt the user to provide billing data; when the VoIP switch receives the billing data from the user, the VoIP switch 101 may add the billing data to the user account. In some embodiments, billing data and authorization includes credit card information and authorization, third party platform information and payment authorization, and bank account information and charge authorization. The VoIP switch may add a promotional credit having a value to the user account and deduct the value of the promotional credit from a cost of the first Voice over Internet Protocol call and the second Voice over Internet Protocol call using the promotional credit.
The user of a recipient device 104 may establish an account with the proprietor of the VoIP switch 101 whereby the user of the recipient device 104 compensates the proprietor of the VoIP switch 101 for the cost of calls placed via the VoIP switch to the recipient device 104; in some embodiments, the arrangement functions similarly to a toll-free number provided by the VoIP switch 101. In some embodiments, the user of the recipient device 104 pays a monthly fee to cover the price of incoming calls. In other embodiments, the user of the recipient device 104 pays a bill proportionate to the volume of calls the recipient device 104 receives via the VoIP switch; the user may pay a fee per minute for the calls, as an example. Payment may be processed according to any method described above in reference to
In some embodiments, the user may perform the method steps described above via a user interface.
In another embodiment Subscriber B 104 uses his call-originating phone 105, selects the system's contact entry in his call-originating phone's contact's list 106, and types in the payment command, using the special character “$” that indicates the payment is to be made via third party services. In one embodiment, the payment request text 107 is sent 108 and then forwarded 109 to the system SMS server 91, which recognizes the text message as a payment request and thus forwards the text 92 to the system's payment request syntax conversion server 93. In an embodiment, the payment request syntax conversion server 93 is linked 110 with a party payment services syntax money rules database 111, which recognizes acceptable third party services cards 112. In some embodiments, after recognizing Subscriber B's 104 requested form of payment the conversion Server 93 sends a non-text ULTP request for payment 113 to a prepaid receipt number 114 associated with Subscriber B's account at a second third party payment processor. The requested payment may then forwarded 115 on to the payment receipts server 98 which may post the payment 116 to Subscriber B's account 117 with the system, in some embodiments. The SMS server may send Subscriber B's call-originating phone 105 a confirmation text 81 acknowledging the payment has been received.
In a further embodiment, first-time caller who is not already listed under a subscriber's account may “try out” the system, by texting the desired recipient device 104 identifier to the system's SMS server's forwarding virtual number or short code. In an embodiment, the system will send a welcoming message to the first time caller explaining that the first call is a free call of a certain duration and that there will be a beep on the call when there is one only minute of service left on the call. In some embodiments, after the free call has been completed the system's SMS server texts a message to the first time caller's phone offering the option for the system to assign an “Alias” to the number just called (i.e. “Mom” or “Maria”). In another embodiment, the first time caller may also be given the option to have a domestic forwarding virtual number assigned for that recipient device 104 number, so that the Caller may simply create a Contact Entry listed as either “Mom” or “Maria” in his contact list with that domestic forwarding virtual number as the person's “domestic” phone number, to call in the future as disclosed above in reference to
Referring to
The VoIP switch 101 calculates a price of a call involving the call-originating phone (702). In some embodiments, this is implemented as disclosed above in reference to
It will be understood that the system and method may be embodied in other specific forms without departing from the spirit or central characteristics thereof. The present examples and embodiments, therefore, are to be considered in all respects as illustrative and not restrictive, and the system method is not to be limited to the details given herein.
Number | Date | Country | |
---|---|---|---|
62008426 | Jun 2014 | US |