Virtual telephony assistant

Examples are disclosed for screening an inbound telephony call to a called party. At a communications server, an inbound telephony call intended for a called party's telephone number is received and checked against a whitelist database and a blacklist database. When the caller ID of the inbound call matches a telephone number contained in the blacklist database, the communications server automatically routes the call to a voicemail system or spam folder associated with the called party's telephone number. When the caller ID of the inbound call matches a telephone number contained in the whitelist database, the communications server determines whether the called party is available to receive the call. Otherwise, when the caller ID of the inbound call does not match a telephone number contained in either the whitelist database or the blacklist database, the communications server prompts the caller for additional information.

TECHNICAL FIELD

Examples described herein are generally related to techniques for providing a virtual telephony assistant.

BACKGROUND

Mobile telephony devices (often called smartphones) utilizing wireless communication protocols are ubiquitous. Many of these devices utilize one of the competing circuit switched cellular voice protocols (e.g., Global System for Mobile Communications (GSM) or Code Division Multiple Access (CDMA)) for telephony voice communications with other telephony endpoint devices. More recently, many of these mobile telephony devices may also utilize an Internet Protocol (IP) communication link rather than a circuit switched communication link to exchange voice data with a communications server using a Voice-over Internet Protocol (VoIP) system. The communications server mediates telephony calls between and among various endpoints. In addition, the mobile telephony device may also wirelessly connect to an IP network over one or more wireless IP interfaces and communication links.

The IP communication link may be 802.11 based such as WiFi or may be cellular based utilizing at least one of the many cellular IP air interfaces. There are several cellular IP air interfaces already in existence that use specific frequency ranges that are suitable for use with the embodiments described herein. It should be noted that the term 802.11 encompasses all of the 802.11 versions that currently exist and may be developed. Some cellular IP air interface examples include the General Packet Radio Service (GPRS), Enhanced Data for GSM Evolution (EDGE), Evolution-Data Optimized (EV-DO), High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), Long-Term Evolution (LTE), Voice-over Long-Term Evolution (VoLTE), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), and High Rate Packet Data (HRPD). Moreover, there are many more wireless IP air interfaces in the planning and/or experimental stages (e.g., 5G, light-wave based, etc.) that use the same and/or different frequencies that would also be suitable for use with the embodiments described herein.

Some mobile telephony devices are capable of utilizing multiple different networks depending on network access or network conditions. For instance, the mobile telephony device may be able to communicate with a communications server that manages and mediates telephony calls, including the media stream itself, over either a circuit switched network or an IP based network. The communications server may be IP based but with interfaces to cellular circuit switched networks or the public switched telephone network (PSTN) as well as Voice-over Internet Protocol (VoIP) networks. If the communications server is IP based, it may include additional intelligence that allows it intervene in the call flow as well as access other IP data networks like the Internet in general to engage in IP data sessions. Moreover, the communications server may access other IP data networks while simultaneously managing a telephony call between or among a plurality of telephony endpoint devices. The mobile telephony device(s) are also able to access IP data networks such as the Internet over 802.11 WiFi and/or a cellular IP data connection.

In addition, a new category of home electronic device called the smart speaker is emerging. Some smart speakers may even be capable of VoIP telephony. The smart speaker may be provisioned with its own telephone number, may be linked to the account of one or more other telephony devices (e.g., mobile phones) that have their own telephone number, or both.

What is needed is a mechanism for accessing and leveraging the communication server's ability to intervene in the call flow and utilize IP data networks during a voice communication session.

DETAILED DESCRIPTION

The embodiments described herein disclose systems, methods, and computer program products for integrating a voice responsive telephony assistant into an existing telephony call. The embodiments may also describe systems, methods, and computer program products for integrating smart speakers into VoIP telephony systems. The systems and methods of the invention may be embodied in and performed by network based communications server(s) and other related components (e.g., databases), and software instructions executed by some or all of such devices and components, as will be explained in detail below. The different types of networks contemplated herein include, for example, circuit switched networks, IP based cellular mobile networks, and IP data networks, such as the Internet or other IP-based networks, including wide area networks, local area networks, and combinations thereof that include both wireless (e.g., 802.11) and wireline (e.g., Ethernet) means of access.

As used herein the term “telephony endpoint” is meant to generally indicate an end user physical device intended for, among other things, telephony calls to other telephony endpoints over one or more inter-connected telephony networks. Examples of telephony endpoints include a plain old telephone service (POTS) phones, VoIP telephones, mobile/cellular telephones, custom designed smart speakers, and software based soft-client applications executing on a computer device. Other examples may be understood to those of ordinary skill in the art.

As used herein the term “mobile telephony device” is meant to generally indicate a specific type of telephony endpoint, namely a mobile or cellular telephone such as a smartphone that may be equipped with multiple RF transceivers including an 802.11 WiFi transceiver, a cellular banded transceiver, and (optionally) a Bluetooth transceiver. Other similar RF transceivers configured to use various frequency ranges may also be implemented on the mobile telephony device as they are developed. A mobile telephony endpoint may further be messaging enabled meaning it includes the ability to send and receive text (SMS) or multi-media (MMS) messages using its telephone number as an address point. In addition, many mobile telephony devices may also include other installed messaging applications, such as, for instance, Facebook, WhatsApp, Instagram, Snapchat, and the like.

As used herein the term “smart speaker” is meant to generally indicate a specific type of telephony endpoint, namely an enhanced speaker device that may be equipped with multiple RF transceivers including an 802.11 WiFi transceiver, a cellular banded transceiver, and (optionally) a Bluetooth transceiver. Other similar RF transceivers configured to use various frequency ranges may also be implemented on the smart speaker as they are developed. A smart speaker endpoint may further be messaging enabled meaning it includes the ability to send and receive text (SMS) messages using its telephone number as an address point. Inbound text messages would first be converted to speech so as to be able to be played by the smart speaker. Out bound text messages are converted from speech to text before being delivered.

As used herein the term “telephony call” is meant to generally indicate any intended two-way exchange of voice data between two or more telephony endpoint devices.

As used herein, the term “communications server” is intended to mean an IP based computer that, among other capabilities, mediates and manages telephony calls and messages among telephony endpoints over one or more inter-connected telephony networks. In addition, the communications server may also include interactive voice response (IVR) technology that allows it to interact with users through the use of voice and/or DTMF tones input via a keypad. The IVR aspect may further include speech recognition functionality allowing the communications server to recognize keywords, commands, or instructions. Once recognized, any such commands or instructions may be carried out by the communications server or forwarded to another computer resource for execution.

As used herein, the term “communication link” is intended to mean a physical and/or logical channel that connects two or more telephony endpoints with the IP based communications server. A communication link may be a signaling link, a media link, or both. In this context, a telephony call may be established via one or more communication links in which the IP based communications server is an endpoint for each of the communication links. The IP based communications server may then join one or more communication links together to establish a telephony call between or among two or more telephony endpoints. The IP based communications server may be hosted within an IP network accessible to the Internet.

In some instances, the communications server itself may be considered a telephony endpoint in cases where an end user is communicating with an artificial intelligence (AI) bot hosted within the communications server over a communication link as described above. The AI bot may further be ‘present’ in a telephony call between two or more endpoints existing as a virtual assistant of sorts. For instance, the AI bot may be given a name and made responsive to such name when spoken by one of the end users. When the AI bot recognizes the invocation of its name, it may be programmed to listen for commands or instructions from one or more of the end users.

References herein to a mobile telephony device or smart speaker capable of connecting to or communicating via a mobile radio access network (MRAN) refer to a mobile telephony device or smart speaker equipped with a cellular transceiver for wireless communication with basestations for purposes of accessing circuit switched voice services and/or mobile IP data services. Similarly, references herein to a mobile telephony device or smart speaker capable of connecting to or communicating via an IP data network refer to a mobile telephony device or smart speaker equipped with a transceiver for wireless communication (e.g., 802.11 WiFi) with a router or other IP data network access point.

Certain embodiments herein describe techniques for the IP based communications server to intervene in a call flow to intelligently route or otherwise respond to an inbound call.

FIG. 1illustrates an exemplary networked environment100for implementing certain exemplary embodiments described herein. The networked environment100may include multiple distinct inter-connected networks such as, for instance, a large scale internet protocol (IP) network (e.g., the Internet)102, one or more IP based local area networks or wide area networks (LANs/WANs)130including an 802.11 wireless access point135, and one or more MRANs120accessible via a cellular basestation tower122.

It should be noted that alternative wireless IP based networks (not shown) that do not operate over the frequency spectrum typically associated with 802.11 (e.g., WiFi) or cellular may be implemented. One example of such an alternate wireless IP network may be WiMAX (e.g., 802.16). Other examples may include, but are not limited to, networks utilizing television whitespace frequencies and other unlicensed (or yet to be licensed) frequencies, including, but not limited to, those under consideration for 5G implementations. These may include wireless networks operating within a frequency range of 100 MHz and 700 MHz, and wireless networks operating within a frequency range of 3.5 GHz and 3.7 GHz, and anything at or above 5 GHz including light-wave based transmission systems.

The MRANs120and the LANs130each have backhaul IP connectivity to the Internet102that provides connectivity with a communications server140. The communications server140has many capabilities including: (i) an ability to manage and mediate telephony calls and messages between or among telephony endpoints, and (ii) an ability to manage and mediate IP data sessions between or among other IP enabled devices.

The MRAN120(sometimes referred to as a cellular network) may come in different varieties based on the circuit switched radio transmission protocol it supports. Two such circuit switched radio transmission schemes are the Global System for Mobile Communication (GSM) and Code Division Multiple Access (CDMA). These circuit switched radio transmission schemes are incompatible with one another necessitating an intervening interface to allow communication between mobile telephony devices110on either network. In addition, each network may operate over multiple specific frequency ranges. Often, there may even be an intervening network such as the Public Switched Telephone Network (PSTN) (not shown) between two distinct MRANs. Each MRAN120may include an interface to the PSTN (not shown) such that telephony calls crossing that interface can be handled by the receiving network whether it is an MRAN120or the PSTN.

The MRAN120may also provide mobile telephony devices110with wireless IP based data access to the Internet102using one of the aforementioned cellular IP protocols. Moreover, MRANs120may utilize IP protocols like Voice-over LTE (VoLTE) to enable telephony calling over an IP protocol rather than a circuit switched protocol. Similarly, an IP access point135may provide wireless connectivity for a mobile telephony device110to the Internet102via access point135using any of the 802.11 WiFi standards and/or any other type of IP based connectivity standard.

In certain embodiments, MRANs120include cellular networks or portions of cellular networks based on a variety of circuit switched and/or IP data protocols such as, but not limited to, Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), General Packet Radio Service (GPRS), Enhanced Data for GSM Evolution (EDGE), Evolution-Data Optimized (EV-DO), High Speed Packet Data (HSPD), High Speed Downlink Packet Access (HSDPA), Long-Term Evolution (LTE), Voice-over Long-Term Evolution (VoLTE), Wideband Code Division Multiple Access (WCDMA), Universal Mobile Telecommunications System (UMTS), or High Rate Packet Data (HRPD) and/or any other existing or developed/developing cellular network IP standards.

In normal operation, a mobile telephony device110may make and receive telephony calls. All calls are, at some point, routed through the communications server140residing in an IP network102. Depending on location and current network conditions, the mobile telephony device110may communicate with the communications server140over (i) a WiFi IP voice/data link116,118via an IP access point135, (ii) a cellular IP voice/data link114,117via a basestation122coupled to MRAN120, or (iii) a circuit switched voice link112,119via basestation122coupled to MRAN120. Communications server140may also include a database141containing data on service subscribers it manages.

For telephony calls, the communications server140may also establish a secondary communication link142with another communication device150to establish the telephony call. The secondary communication link142is VoIP based with respect to the communications server140but may traverse other interconnected voice networks such as another MRAN, the PSTN, another VoIP network, or some combination thereof before terminating at the other communication device150.

FIG. 2illustrates a block diagram of a communications server140according to an embodiment of the invention. The communications server140may include one or more processors205coupled with a data storage component210comprised of a memory215. The data storage component210may also include telephony assistant logic220and command execution logic225. A VoIP communication interface230manages and mediates telephony calls while an IP data interface235manages IP data sessions with external devices or programs. The VoIP communication interface230operates in an IP mode. However, it is capable of communicating with non-IP telephony networks via other integrated or external network interfaces.

The telephony assistant logic220may be comprised of computer code that when executed monitors incoming data over the VoIP communication interface230and the IP data interface235during an existing call with another party. The telephony assistant logic220monitors for a trigger event. A trigger event may take many forms including pattern matching to an acoustic signature or recognition of a keyword or phrase. For instance, a set of taps to the housing of the mobile telephony device110may create a unique acoustic signature that may be detected and interpreted as a trigger event. One such unique acoustic signature may be the detection of three taps within a one second period in which the taps emit a sound within a particular frequency range.

The command execution logic225may be comprised of computer code that when executed recognizes the trigger event and causes the mobile telephony device110to enter a temporary command mode. Entering command mode initially places the mobile telephony device110into mute mode with respect to the ongoing telephony call with the other party. This may be performed locally on the communications server140or via an instruction sent to the mobile telephony device110from the communications server140. Mute mode essentially blocks audio picked up from the mobile telephony device's microphone from being passed from the communications server140to the other communication device150. Once mute mode is engaged, the mobile telephony device user may still speak into the device's microphone. The audio may still be digitized and sent to the communications server140over the telephony communication link for the existing telephony call. However, the communications server140, being in command mode, treats the received audio differently. The communications server140parses the audio through the command execution logic225using natural language processing to recognize and interpret commands or instructions that may be carried out, or caused to be carried out, by the communications server140.

FIG. 3illustrates a block diagram of an end user mobile telephony device110according to an embodiment of the invention. The mobile telephony device110may include a variety of user interface(s) and sensors305such as a touchscreen display, a speaker, a microphone, a global positioning system (GPS) chip, an accelerometer, a light sensor, etc. The mobile telephony device110may also include one or more processors310coupled with a data storage component320including sensor detection logic325, command execution logic330, as well as other software applications335. The mobile telephony device110also comprises a cellular transceiver and a WiFi transceiver315for wireless communications with one or more wireless networks via wireless network access points (as shown inFIG. 1). The mobile telephony device110may include other wireless transceivers (not shown) like Bluetooth.

The sensor detection logic325may be comprised of computer code that when executed monitors incoming audio over the microphone for a trigger event. Just as above, a trigger event may take many forms including pattern matching to an acoustic signature or recognition of a keyword or phrase. The command execution logic330may be comprised of computer code that when executed recognizes the trigger event and causes the mobile telephony device110to enter a temporary command mode. Entering command mode initially places the mobile telephony device110into mute mode with respect to the ongoing telephony call with the other party. This may be performed locally by the mobile telephony device110itself. Mute mode essentially blocks audio picked up from the mobile telephony device's microphone from being passed to the other communication device150. Once mute mode is engaged, the mobile telephony device user may still speak into the device's microphone. The command execution logic330parses the audio using natural language processing to recognize and interpret commands or instructions that may be carried out, or caused to be carried out, by the mobile telephony device110.

FIGS. 4-14 and 18-19illustrate examples of logic flow diagrams according to an embodiment of the invention. The logic flows may be representative of some or all of the operations executed by one or more embodiments described herein. Further, the logic flows may performed by circuitry and one or more components discussed herein. Moreover, logic flows may be performed in conjunction with one or more other logic flows discussed herein and lists particular steps occurring in a particular order. However, embodiments are not limited in this manner and any step may occur in any order. Further, steps of the logic flows may not be dependent upon one another and as such particular steps in the logic flows may not occur.

FIG. 4illustrates an example logic flow diagram400according to an embodiment of the invention. A communications server140receives an inbound telephony call from an external originating telephony endpoint150intended for mobile telephony device110of a called party at block402. The communications server140may check a caller ID field included with the inbound call at decision block404. Decision block404may reference a pair of databases to determine the identity of the caller.

There may be a blacklisted database405and a whitelisted database409. The blacklisted database405may contain telephone numbers that have been flagged as undesirable to the user of mobile telephony device110and therefore should not be permitted to ring the mobile telephony device110. The whitelisted database409may contain telephone numbers that have been flagged as desirable to the user of mobile telephony device110and therefore should be permitted to ring the mobile telephony device110.

If the caller ID field comes back blacklisted from the blacklist database405lookup in decision block404, then the communications server140may send the inbound call to a voicemail system or a spam folder at block406. This process may be described in greater detail inFIG. 10.

If caller ID field comes back whitelisted from the whitelist database409lookup in decision block404, then the communications server140may check the current availability of the called party via a shared calendar application with the mobile telephony device110at decision block410. If the called party is available according to calendar information, then communications server140may pass the inbound call and ring the mobile telephony device110. If the called party is not available according to calendar information, then communications server140may play a custom message to the caller. This process may be described in greater detail inFIG. 5.

After a custom message is played, the communications server140may prompt the caller for a reply at decision block416. There may be three (3) options, for example, including voicemail, a pop-up notification, or a text message. If the caller response to decision block416is voicemail, then control is sent to block418where a voicemail system takes over as further described inFIG. 6. If the caller response to decision block416is pop-up notification, then control is sent to block420where a pop-up notification system takes over as further described inFIG. 7. If the caller response to decision block416is text message, then control is sent to block422where an SMS text message system takes over as further described inFIG. 8.

Returning to decision block404, If the caller ID field is neither whitelisted nor blacklisted, the communications server140may hold the inbound call before ringing the called party at block430. The communications server140may then answer the inbound call and prompt the caller for more information (e.g., name, purpose of call) at block432. The communications server140may then optionally subject the caller to a challenge type test to determine if the caller is a human or a machine. This challenge test process may be further described inFIG. 9. The communications server140may then convert whatever response the caller made as a result of block432into text at block434. The communications server140may then package the converted text into a pop-up notification that is sent to and displayed on the mobile telephony device110at block436. The communications server140may then prompt the called party's mobile telephony device110for a response at decision block438. Examples of called party responses may include: send to voicemail (FIG. 10), answer the call (FIG. 11), reject call (FIG. 12), send voice message back (FIG. 13), or send text message back (FIG. 14).

FIG. 5illustrates another example of a logic flow diagram500according to an embodiment of the invention. This logic flow diagram500may describe what a custom message from block414would be. In this example, the custom message that is played to the whitelisted caller may say “Hey ‘caller’, ‘called party’ is ‘calendar status’ until ‘time’”, where the fields for ‘caller’, ‘called party’, ‘calendar status’, and ‘time’ may be populated by referencing one or more databases available to the communications server140. For instance, the name of the caller may be pulled from the whitelisted database of contacts that match the caller ID for the incoming call. The called party is the person associated with mobile telephony device110being called. The name to use for the custom message, however, may be suited to fit the relationship between the caller and the called party. For instance, if the caller is the son of the called party, the name of the called party for the custom message may be set to ‘dad’. The calendar status of the called party may be pulled from a calendar application linked to the user of the mobile telephony device110. The calendar status may provide a reason why the called party is currently unavailable such as, for instance, in a meeting. The time field for the custom message may refer to the time at which the meeting expires. Putting all the information together may yield a custom message that reads as follows: “Hey Casey, dad is in a meeting until 3:15. Would you like to leave a voicemail, a pop-up, or a text message?” Upon a response (or a timeout) from the caller, control is returned toFIG. 4. The foregoing example is merely illustrative. The exact content of the custom message may be altered without changing the scope of the invention.

FIG. 6illustrates still another example of a logic flow diagram600according to an embodiment of the invention. In this logic flow diagram600, the caller has responded to decision block426ofFIG. 4with a reply to the custom message of the called party indicating voicemail at block602. The communications server140may then route the inbound call to the called party's voice mail system in block604before returning control of the overall process back toFIG. 4.

FIG. 7illustrates still another example of a logic flow diagram700according to an embodiment of the invention. In this logic flow diagram700, the caller has responded to decision block426ofFIG. 4with a reply to the custom message of the called party indicating pop-up notification at block702. The communications server140may then prompt the caller to speak a short voice message in block704. The communications server140may then convert the voice message to text in block706. The communications server140may then cause the text corresponding to the voice message to be sent to and displayed on the mobile telephony device110as a pop-up notification at block708before returning control of the overall process back toFIG. 4.

FIG. 8illustrates still another example of a logic flow diagram800according to an embodiment of the invention. In this logic flow diagram800, the caller has responded to decision block426ofFIG. 4with a reply to the custom message of the called party indicating text message notification at block802. The communications server140may then prompt the caller to speak a short voice message in block804. The communications server140may then convert the voice message to text in block806. The communications server140may then cause the text corresponding to the voice message to be sent to the mobile telephony device110as an SMS text message at block808before returning control of the overall process back toFIG. 4.

FIG. 9illustrates still another example of a logic flow diagram900according to an embodiment of the invention. In this logic flow diagram900, the caller has responded to block432ofFIG. 4with additional information that may be subjected to a challenge test to determine if the caller is a human or a machine (e.g., recording) at block902. The challenge test may be administered in decision block904and may involve choosing from any number of tasks that a human can understand and perform but a recording cannot. For example, a simple instruction to press any key could be performed by a human but not a recording. Upon detecting a key press, the communications server140may interpret the response as coming from a human caller and return control of the process to the point it was inFIG. 4just prior to the challenge test. Conversely, if the caller fails the challenge test, control may be returned to s different point in the process ofFIG. 4. In this case, the inbound call will be immediately routed to a voicemail system or a spam folder of the called party.

FIG. 10illustrates still another example of a logic flow diagram1000according to an embodiment of the invention. In this logic flow diagram1000, the called party has responded to decision block438ofFIG. 4with a selection of voicemail or a timeout due to no called party response at block1002. The communications server140may then route the inbound call to the called party's voice mail system in block1004before returning control of the overall process back toFIG. 4.

FIG. 11illustrates still another example of a logic flow diagram1100according to an embodiment of the invention. In this logic flow diagram1100, the called party has responded to decision block438ofFIG. 4with a selection to answer the inbound call at block1102. The communications server140may then pay a “connecting” response to the caller and/or resume the ringing function to indicate to the caller that the call is being placed at block1104. The communications server140may then ring the called party at block1106and upon connecting the call at block1108, return control of the overall process back toFIG. 4.

FIG. 12illustrates still another example of a logic flow diagram1200according to an embodiment of the invention. In this logic flow diagram1200, the called party has responded to decision block438ofFIG. 4with a selection to reject the inbound call at block1202. The communications server140may then query the called party whether to add the caller to the blacklist database at decision block1204. If the called party response is determined to be yes, the communications server140may then add the telephone number of the caller to the blacklist database in block1206before terminating the call at block1208and returning control of the overall process back toFIG. 4.

FIG. 13illustrates still another example of a logic flow diagram1300according to an embodiment of the invention. In this logic flow diagram1300, the called party has responded to decision block438ofFIG. 4with a selection to send a voice message back to the caller at block1302. The communications server140may then prompt the called party to record a short voice message at block1304. The communications server140may then play the called party's voice message back to the caller at block1306before returning control of the overall process back toFIG. 4.

FIG. 14illustrates still another example of a logic flow diagram1400according to an embodiment of the invention. In this logic flow diagram1400, the called party has responded to decision block438ofFIG. 4with a selection to send a text message back to the caller at block1402. The communications server140may then prompt the called party to record a short voice message at block1404. The communications server140may then convert or transcribe the voice message to a text message at block1406. The communications server140may then send the SMS text message back to the caller at block1408before returning control of the overall process back toFIG. 4.

FIG. 15illustrates still another example of a logic flow diagram1500according to an embodiment of the invention. In this logic flow diagram1500, the called party has been prompted to respond to a decision block438ofFIG. 4with a decision to add the caller to either the whitelist database or blacklist database at block1502. In response to the called party's response to add the caller to the whitelist database, the communications server140may then add caller's telephone number (TN) to whitelist database at block1504before returning control of the overall process back toFIG. 4. In response to the called party's response to add the caller to the blacklist database, the communications server140may then add caller's telephone number (TN) to blacklist database at block1508before returning control of the overall process back toFIG. 4.

FIG. 16illustrates an exemplary networked environment1600for implementing certain exemplary embodiments described herein. The networked environment1600is similar to that ofFIG. 1but may further include an associated smart speaker180that is also capable of VoIP communications and general IP data communications with communications server140via radio tower122and MRAN120or IP access point135over IP access network130.

FIG. 17illustrates a block diagram of a smart speaker device180according to an embodiment of the invention. The smart speaker device180may include a variety of user interface(s) and sensors1705such as one or more speakers, one or more microphones, a global positioning system (GPS) chip, etc. The smart speaker device180may also include one or more processors1710coupled with a data storage component1725including sensor detection logic1730, command execution logic1735, as well as other software applications1740. The smart speaker device180may also comprise a cellular transceiver and a WiFi transceiver1715for wireless communications with one or more wireless networks via wireless network access points (as shown inFIG. 1). The smart speaker device180may further include other wireless transceivers (not shown) like Bluetooth. Also included may be at least one SIM card slots1720adapted to receive and operate a SIM card from one or more mobile network service providers to provide access to one or more MRANs120as shown inFIG. 16.

FIG. 18illustrates an example logic flow diagram1800according to an embodiment of the invention. In this logic flow diagram1800, the communications server140receives an inbound call intended for smart speaker180. The smart speaker may be telephony enabled using Voice-over Internet Protocol (VoIP) telephony protocols to make and receive calls. The smart speaker may also be associated with its own telephone number and/or be associated with one or more telephony devices known to the communications server140. The communications server140may then check a caller ID field included with the inbound call at decision block1804. Decision block1804may reference a pair of databases to determine the identity of the caller.

There may be a blacklisted database1805and a whitelisted database1809. The blacklisted database1805may contain telephone numbers that have been flagged as undesirable to the user(s) of smart speaker180and therefore should not be permitted to ring the smart speaker180. The whitelisted database1809may contain telephone numbers that have been flagged as desirable to the user of smart speaker180and therefore should be permitted to ring the smart speaker180.

If the caller ID field comes back blacklisted from the blacklist database1805lookup in decision block1804, then the communications server140may send the inbound call to a voicemail system or a spam folder at block1806. This process may be described in greater detail inFIG. 10.

If caller ID field comes back whitelisted from the whitelist database1809lookup in decision block1804, the communications server140may then send a signal to wake up the smart speaker180and play an incoming call message at block1808. The incoming call message may be, for instance, something like, “Your son Shane is calling. What would you like to do?” The communications server140may then prompt the smart speaker180for a response at decision block1816. Examples of responses from a user to the smart speaker180may include: send to voicemail (FIG. 10), answer the call (FIG. 11), reject call (FIG. 12), send voice message back (FIG. 13), or open a channel to listen in to the caller at block1826.

Returning to decision block1804, If the caller ID field is neither whitelisted nor blacklisted, the communications server140may hold the inbound call before ringing the called party at block1810. The communications server140may then answer the inbound call and prompt the caller for more information (e.g., name, purpose of call) at block1812. The communications server140may then send a signal to wake up the smart speaker180and play whatever response the caller made as a result of block1812along with any caller ID information at block1814. The communications server140may then send control over to decision block1816to prompt the called party for a response as described above.

FIG. 19illustrates another example of a logic flow diagram1900according to an embodiment of the invention. In this embodiment, a user's mobile device110may be used as a secondary interface to the smart speaker180to place telephony calls. Because the smart speaker does not necessarily include a video display or touch screen capability, it can only be used directly via voice recognition and commands. However, a user may have multiple devices linked together in an account accessible to the communications server140. In such cases, the communications server can accept input or commands from one device and apply the commands to another associated device.

In this logic flow diagram1900, the user may wish to place an outbound telephony call from the smart speaker device180using the mobile telephony device110as the interface to “dial”. The communications server140may first determine if the mobile telephony device140is in close proximity to the smart speaker180at decision block1902. This may be determined in a variety of ways including a GPS geolocation comparison of both devices. Another method may be to have the communications server determine if both devices are currently connected to the same IP access point135. If the mobile telephony device110and the smart speaker180are not in proximity of one another, the communications server140may not permit the mobile telephony device110to place a call on behalf of the smart speaker180. If the mobile telephony device110and the smart speaker180are in proximity of one another, the communications server140may permit the mobile telephony device110to place a call on behalf of the smart speaker180. The user may then open the dialer or a contacts database on the mobile telephony device110at block1904and select a contact or dial a telephone number at block1906. The selected or dialed telephone number may then be sent to and received by the communications server140at block1908. The communications server140may then establish a telephony communication link with the smart speaker180at block1910. The communications server140may then dial the selected contact or telephone number at block1912. Once the called party answers the telephony call, the communications server140may then connect the called party to the smart speaker180at block1914to create a telephony communication session.

Some examples may be described using the expression “coupled”, “connected”, or “capable of being coupled” along with their derivatives. These terms are not necessarily intended as synonyms for each other. For example, descriptions using the terms “connected” and/or “coupled” may indicate that two or more elements are in direct physical or electrical contact with each other. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.