Patent Description:
Mobile and web applications allow users, such as operators of smartphones and other portable computing devices as well as tablets, laptop, notebook, and desktop computers, to perform a wide range of communication functions. Of course, one continuing use of smartphones and portable computing devices (together "client devices") is to participate in audio and video calls with friends, family, co-workers, and other acquaintances (e.g., people known to the call recipient (or the "called party"). While not a new problem, an ongoing and challenging issue is how to detect and block calls from unwanted callers.

In recent years, telemarketing organizations, scammers, and others spoof caller ID in an attempt to have the called party receive calls from such unwanted callers. Caller ID spoofing is the practice of causing the telephone network to indicate to the receiver of a call that the originator of the call is a station other than the true originating station. This can lead to a caller ID display on a client device such as a smartphone showing a phone number different from that of the telephone from which the call was placed. The term "spoofing" is commonly used to describe situations in which the motivation is considered malicious by the originator. One effect of the widespread availability of caller ID spoofing is that many in the public believe that you can no longer trust call ID.

Call spoofing is being used by scammers to hide their real identity and make fraudulent calls. The caller deliberately falsifies the information transmitted to the display of the receiver's device to disguise their identity. Unfortunately, this can result in an incoming call appearing to originate from a trusted contact or from a local number, and the called party may answer the call and fall into the trap of the scammers. A recent study suggests that people fell victim to call scams leading to a loss of $<NUM> billion (USD) in the United States alone, with the average person reporting receipt of twenty-three spam calls per month. Call spoofing is widespread, with the number of fake calls (e.g., calls with a misrepresentation of the caller's identity) including <NUM> billion robocalls that were placed to U. phone numbers in <NUM> and with estimates in <NUM> indicating half of all cellphone calls being from spam callers.

Caller ID on smartphones and other client devices fundamentally has no authentication mechanism such that it is easily spoofed. Various solutions have been introduced to detect caller ID spoofing, but these solutions have failed to successfully address this deficiency in existing communication systems. In brief, these involve use of call filters, covert channels, and identifying the caller by tracing the calls to the corresponding SIP-ISUP interworking, using single-ended audio features to determine call provenance, calculating packet loss and noise profiles to determine source and path of the call, and digital signatures.

One exemplary approach is labeled as the STIR/SHAKEN technique. To overcome the influx of unwanted calls in the service provider's network, the industry has created two standards: (<NUM>) STIR (Secure Telephone Identity Revisited) and (<NUM>) SHAKEN (Signature-based Handling of Asserted Information using tokens). Together, these two standards create the framework to ensure every SIP-signaled call has a certificate of authenticity attached to it (e.g., a digital signature) that allows service providers to verify caller ID to mitigate unwanted robocalls and attempts to prevent bad actors from using caller ID spoofing. With STIR/SHAKEN, a service provider can try to restore their end customer's trust in the validity of caller ID.

Another approach is "iVisher," which attempts to provide real-time detection of caller ID spoofing. An iVisher system is configured for detecting a concealed incoming number (e.g., a caller ID) in SIP VoIP initiated phone calls. The iVisher system is capable of detecting a concealed caller ID without significantly impacting the overall call setup time. Another approach is provided by SecureLogix, which delivers a unified voice network security and call verification system. It protects the customer from call attacks and authenticates inbound calls through a smart and affordable auto-authentication solution that is scalable across a contact center and enterprise. An additional technique that has been implemented is called Knowledge-based Authentication or KBA. KBA requires knowledge of private information of the individual to prove that the person providing the identity information is the owner of the identity.

Others have employed "PinDrOp," which is a mechanism to assist users in determining call provenance, i.e., the source and the path taken by a call. The mechanism employs techniques to detect and measure single-ended audio features to identify all of the applied voice codecs and to calculate packet loss and noise profiles while remaining agnostic to characteristics of the speaker's voice (as this may legitimately change when interacting with a large organization). In the absence of verifiable call metadata, these features in combination with machine learning allow the mechanism to determine the traversal of a call through as many as three different providers (e.g., cellular, then VoIP, then PSTN, and all combinations and subsets thereof) with high accuracy. Any discussion of problems provided in this section has been included in this disclosure solely for the purposes of providing a background for the present invention and should not be taken as an admission that any or all of the discussion was known at the time the invention was made.

<CIT> discloses identifying potential social engineering activity associated with one or more communications on a first communication channel of a plurality of communication channels. Restriction of at least partial access to at least a second communication channel of the plurality of communication channels may be requested based upon, at least in part, the identification of the potential social engineering.

<CIT> discloses a trusted caller ID authority receiving registration data from a first communication device. The first communication device is authenticated by the trusted caller ID authority using the registration data and an authentication object is provided to the first communication device. A second communication device receives a call and the authentication object from the first communication device.

<CIT> discloses a computer-based method for real-time communication authorization which includes receiving, from a first communication device, a communication request, verifying, with a verification engine, a pre-approval status of the communication request, storing the communication request in an approval queue if the communication authorization the pre-approval status is set to false, issuing an alert to the authorization device, and receiving one or more authorization parameters from an authorization device.

<CIT> discloses providing access control and identity verification for communications when receiving a communication from an entity to be verified. <CIT> discloses a system and method for managing incoming requests for a communication session using a graphical connection metaphor.

<CIT> discloses a system and methods for scheduling and optimizing inbound call flow to a call center. The method comprises evaluating communicators and potential communicators, and issuing invitations for reserved communication sessions to qualified communicators and potential communicators, the reserved times coordinated according to data pertaining to predicted communication load and resource availability statistics.

A more complete understanding of the present disclosure, however, may best be obtained by referring to the detailed description and claims when considered in connection with the drawing figures, wherein like numerals denote like elements and wherein:.

The description of exemplary embodiments of the present invention provided below is merely exemplary and is intended for purposes of illustration only; the following description is not intended to limit the scope of the invention disclosed herein and as defined by the subject-matter of the claims.

As set forth in more detail below, exemplary embodiments of the disclosure relate to electronic communication systems, and corresponding methods performed by such systems, that can, for example, enhance the person-to-person communications including telephone communications between two (or more) callers. In brief, the communication system (and corresponding method(s) implemented by such a system) is adapted for mitigating (e.g., identifying, controlling, blocking, and the like) incoming spoofed callers through the use of social media.

<FIG> illustrates an electronic, cloud-based communication system <NUM> in accordance with exemplary embodiments of the disclosure that is specially adapted to mitigate spoofed callers. The system <NUM> is shown at a high level and includes a communications network <NUM> and a telco network or system <NUM> (note, a social media framework can also become the telecommunications framework such that the Facebook (or other social media service or platform) user is receiving a call from a fake profile, in which case the systems and methods described herein can mitigate the spoofed identity using the social media utility/application), with the network <NUM> being used to facilitate digital communications via the Internet or similar networks, thus providing an out-of-band signaling path relative to the telco network <NUM>, and with network <NUM> being representative of a wireless (or wired) system run or operated by a telephone service provider to provide communication links between communications or client devices (e.g., cellphones, smartphones, computing devices configured for making telephone calls, and so on). The system <NUM> further includes a social media server or system <NUM> that is accessible by client devices over the communications network <NUM>, and it may be used to facilitate use of one or more social media applications or services such as, but not limited to Facebook™, Twitter™, Instagram™, LinkedIn™, and the like as the present invention is useful with nearly any social media server <NUM>.

The system <NUM> includes a first client device <NUM> that may be a member of the social media service provided by server/system <NUM> and interact with the social media sever <NUM>. Further, the first client device <NUM> may use (concurrently or separately in some circumstances) the telco network <NUM> to communicate with second and third client devices <NUM> and <NUM>. In some cases, the first client device <NUM> may use the system <NUM> (as discussed in detail below) to mitigate spoofed callers by verifying that a requested communication link or call as shown with arrow <NUM> from the second client device <NUM> is a trusted or non-spoofed caller (i.e., being used by a trusted user or operator) through interactions with the social media server <NUM> via network <NUM>. In other cases, though (such as when an Internet connection is not readily available), the client device <NUM> will locally perform similar spoofed caller mitigation to determine whether a call or communication link <NUM> over the telco network <NUM> should be trusted and accepted or be identified as likely being from a spoofed caller and be blocked or rejected.

Devices <NUM>, <NUM>, and <NUM> can be or can include any suitable device with wired or wireless communication features that can connect to networks <NUM> and <NUM> (with three being shown for simplicity but the system <NUM> typically including many of such device and including additional telco networks <NUM> and social media servers/systems <NUM>). For example, devices <NUM>, <NUM>, and <NUM> can include a wearable device, a tablet computer, a wired phone, a mobile phone, a personal (e.g., laptop or desktop) computer, a streaming device, such as a game console or other media streaming device, or the like.

The system <NUM> is configured to: (a) avoid spoof calls; and (b) provide a means of allowing blocked calls in exceptional situations that may be user defined (e.g., "Block all calls except those I know through my friends or work buddies"). The system implements a process or method that mitigates risk involved with spoofed or scam callers by leveraging the existing network of trusted contacts previously filtered through a social networking channel via the social media sever <NUM> (which may provide local data for use in detecting spoofed callers locally by the client device <NUM> such as for client device <NUM> requesting link/call <NUM>).

The system <NUM> uses the established trust over the social media utility or service provided by the server/system <NUM> and then informs the called party (e.g., operator of the first client device <NUM> in <FIG>) that a caller (e.g., an operator of second and third client devices <NUM>, <NUM>) in your social media network has or is about to call as shown by arrows <NUM>, <NUM>. The same trust can be extended, in some cases, to tertiary contacts. For example, C may be a friend of B, and A is a friend of B. Therefore, the system <NUM> may be configured such that when C calls A it knows the background of the caller (e.g., A knows something about C that may allow them to trust them enough to receive their call). In some embodiments of system <NUM>, a token or certificate is issued (e.g., by an application on the media server <NUM> or an application running on client devices <NUM>, <NUM>, and/or <NUM>) for every trusted contact that was added to a network for the social media utility or service provided by server/system <NUM>.

<FIG> illustrates a functional block diagram of a communication system <NUM> (e.g., a partial implementation of the system of <FIG>) showing more detail (than in <FIG>) of embodiments of client devices and of spoofed caller mitigation components that may be provided on a social media platform or elsewhere on the cloud. Particularly, the system <NUM> includes one or more communications networks <NUM> that communicatively link a called or receiving party's client device <NUM> and a caller or calling party's client device <NUM> and also link the devices <NUM> and <NUM> with a social media platform system or hub <NUM>. To this end, the networks <NUM> may include networks used to provide the devices <NUM> and <NUM> with an Internet connection and/or with telecommunication services (such as those provided by cellular or wireless services to which the operators of the devices <NUM> and <NUM> have subscribed).

The social media platform system <NUM>, which may be provided via one-to-many servers and data storage devices, includes a processor <NUM> running software or executing code/instructions to provide functions of both a social media platform module <NUM> (e.g., to provide social media services by interacting with social media applications on client devices) and a dialer service module <NUM> (e.g., to provide spoofed caller mitigation services by interacting with dialer applications on client devices). In some embodiments, the dialer service module <NUM> is provided on a separate server or system accessible via the network <NUM>. The processor <NUM> manages access to data storage <NUM>. The data storage <NUM> is used to store (e.g., in one or more databases) the social networks <NUM> for the caller and the called party, and this may include storing records for trusted identities <NUM> for each caller and called party (or user of the social media platform). Further, the data storage <NUM> is used to store a token or certificate <NUM> that includes a connection definition <NUM> for pairs of users of the social media platform who may be allowed to call each other over the network <NUM> in system <NUM>.

The client devices <NUM> and <NUM> likely will have similar configurations with different names and features discussed with reference to <FIG> to assist in discussion of operations when being used/operated to receive a call (i.e., the called party client device <NUM>) and to make a call (i.e., the caller client device <NUM>), with it being understood that both can operate to perform either function at different operating time of the system <NUM>. As shown, the called party client device <NUM> includes a processor <NUM> managing operations of input and output (I/O) devices <NUM> such as to communicate with the social media platform system <NUM> as shown at <NUM> via network <NUM> and to communicate with the caller client device <NUM> as shown at <NUM> via network <NUM>. The I/O devices <NUM> may include a display device <NUM> for displaying a graphical user interface (GUI) <NUM>, and the GUI <NUM> may be modified during operations of the system <NUM> to display a heads up message <NUM> or an alerting message <NUM> to assist in mitigating spoofed callers.

The processor <NUM> further operates to execute code/instructions and/or run software downloaded on the device <NUM> (e.g., into local memory <NUM>) to provide the functionality of a social media app <NUM> and a dialer app <NUM>. The called party client device <NUM> includes memory <NUM> that may be used to store data (at least temporarily) for display in the GUI <NUM> and to store a dialer app configuration <NUM> for use by the dialer app <NUM> (and/or this may be stored in the data storage <NUM> for use by the dialer service module <NUM>).

Similarly, the caller client device <NUM> includes a processor <NUM> managing operations of I/O devices <NUM> such as to communicate with the social media platform system <NUM> as shown at <NUM> via network <NUM> and to communicate with the caller client device <NUM> as shown at <NUM> via network <NUM>. The I/O devices <NUM> may include a display device <NUM> for displaying a graphical user interface (GUI) <NUM>, and the GUI <NUM> may be modified during operations of the system <NUM> to display data related to mitigating spoofed callers. The processor <NUM> executes code/instructions or runs software to provide the functionality of a social media app <NUM> (typically the same one as app <NUM> on called party client device <NUM>) and a dialer app <NUM>. The caller client device <NUM> includes memory <NUM> that may be used to store data (at least temporarily) for display in the GUI <NUM> and to store a dialer app configuration <NUM> for use by the dialer app <NUM> (and/or this may be stored in the data storage <NUM> for use by the dialer service module <NUM>).

With the general components of the system <NUM> understood, it may be useful to discuss the system's operations to achieve mitigation of spoofed callers and to highlight features that make the system <NUM> different from prior solutions. The system <NUM> leverages trusted communications based on an existing social media network <NUM> where trust may be publicly acknowledged. For example, a user of the social media platform system <NUM> may have defined a network <NUM> with a plurality of people they interact with or "trust" (e.g., in Facebook, the trusted identity <NUM> may be a friend in their network <NUM>), but, prior to the system <NUM>, the network <NUM> only was used to identify relationships and not for used in receiving calls from those in their network <NUM>.

The system <NUM> utilizes a trusted network/relationship (as defined in social media platform network <NUM>) over a social media platform (provided by system <NUM> and apps <NUM>, <NUM> on client devices <NUM>, <NUM>) between the caller (or operator of caller client device <NUM>) and the receiving or called party (or operator of called party client device <NUM>) for verification purposes. Such verification may include prior "intimation" (such as "friending" when the platform <NUM> provides the Facebook service) of the intended call by the caller party to the receiving or called party. In some cases, a social media voice endpoint, such as Facebook Messenger Audio, may be used to make a call through the social media framework to the client device connected to the network (e.g., see <CIT>, which is incorporated herein by reference). In such a situation, the social media user may be fake and the proposed system <NUM> can be used to distinguish a real account from a fake one.

In some cases, the system <NUM> will operate to generate and deliver to the called party a heads up message, which may be displayed on their client device <NUM> as is shown at <NUM> in <FIG>. This may be achieved by the caller's dialer app <NUM>, before the caller places a call <NUM>, sending a heads up message <NUM> with a timestamp to the called party (or their client device <NUM>) through the social media app <NUM> and platform system <NUM> in which the calling and the called parties already have a pre-established trusted relationship (as defined by the caller/called network <NUM> and a token or certificate <NUM> with a connection definition <NUM> (two caller/called identifiers, for example). The message <NUM> may take the form of an alert, an icon, and/or a message allowing the operator of the client device <NUM> to allow or prevent/block the requested call from caller client device <NUM>. In other cases, the system <NUM> may generate an alerting message that is transmitted to and displayed as shown at <NUM> in the GUI <NUM> of the called party client device <NUM>. In these operational cases, the called party dialer app <NUM> receives a call <NUM> over network <NUM> and observes or determines a caller ID as a known caller ID (such as via its social media network <NUM> and the trusted identities <NUM>), but the dialer app <NUM> recognizes that a heads up message <NUM> was not received from any social media app <NUM> and module <NUM> to which it is registered. In response, the called party dialer app <NUM> sends an injury or inquiry message, through the social media app <NUM>, <NUM>, and <NUM> (the social media service associated with this contact making identified in the caller ID) as shown with arrows <NUM> and <NUM>. The injury or inquiry message is sent to the caller client device <NUM> for display in the GUI <NUM> (as shown at <NUM> when the device <NUM> may operate as a caller device), and the message is configured to request the operator of the caller client device <NUM> to confirm that the call <NUM> is genuine (originating from the device <NUM> and the trusted operator). If positive confirmation is received (such as via a return message <NUM>, <NUM> via the social media apps <NUM>, <NUM>, <NUM>), the called party's dialer app <NUM> accepts the call <NUM>. If negative or no confirmation is received (such as within a preset time period), the called party's dialer app <NUM> rejects the call <NUM> as likely being a spoofed caller.

During operation of system <NUM>, the called party social media app <NUM> passes the notification (e.g., confirmation that the call should be accepted or blocked) to the called party dialer app <NUM>, and the dialer app <NUM> may subscribe to the social media app <NUM> for such notifications. The called party dialer app <NUM> may, in some embodiments, be configurable, with the configuration (default or set by an operator of the device <NUM>) <NUM> stored in memory <NUM>. For example, the dialer app <NUM> may be configurable to accept calls from the trusted parties defined for their network <NUM> (as shown at <NUM> in <FIG>). The "trusted parties" or identities may be expanded in some cases to include those parties or possible callers that are connected through social media-verified ones, e.g., trusted if a friend of a friend in the network <NUM> or a member of a network belonging to one of the trusted identities or "friends" <NUM> of the called party's social media network <NUM>.

Once the call <NUM> gets placed and called party's dialer app <NUM> receives the call <NUM>, the called party's dialer app <NUM> verifies the call <NUM> is expected with the presented caller ID and allows the call <NUM> to proceed. The dialer app <NUM> also obtains the calling party's identity (as may be defined in trusted identity <NUM> and/or in the connection definition <NUM> in the token or certificate <NUM>), and the identity may be how the caller is identified in a mutual friend list, in followers of the called party, a mobile identification number, a phone number, a connection, or other suitable identification. This identity or "number" is then displayed (e.g., in the GUI <NUM> or otherwise in the display <NUM>)) by the dialer app <NUM> on the called party client device <NUM> as the calling party number or identifier. It should be remembered, though, that a token/certificate would be used to verify this number/caller as a trusted party. For example, a "friend" could include an established business such as a bank. Businesses that are trusted in your social media network would not just have a phone number that is recorded in the social media profile but would also be assigned a token/certificate (which is important since phishing and other spoofing may involve calling from a number associated with a business and recognized by a dialer app as such).

With the system <NUM> understood, it may now be useful to describe its operations to perform a method of mitigating spoofed callers <NUM>, as shown in <FIG> providing functional blocks or method steps that may be performed using the communication system <NUM> (and/or the system <NUM> of <FIG>). As discussed with reference to <FIG>, the system <NUM> may be configured to issue a token or digital certificate <NUM> to the users connected over one, two, or more social media platforms (such as the one provided by system <NUM> and local social media apps <NUM> , <NUM> on client devices <NUM>, <NUM>).

In this regard, the method <NUM> may begin at <NUM> with determining each user's connections over the social media platform. This step <NUM> may include each social media user (e.g., operators of called party and caller client devices <NUM>, <NUM>) subscribing to the dialer service <NUM>, which may result in loading of dialer apps <NUM> and <NUM> upon the client devices <NUM>, <NUM>. In some cases, the social media user registers with dialer apps through its API and subscribes for notifications (both receive and transmit directions). The dialer apps <NUM>, <NUM> registers with the corresponding or local social media apps <NUM>, <NUM> such through its API (e.g., Facebook Developer's Kit or the like) and subscribes for notification (again both receive and transmit directions).

The social media user may submit their caller ID, name, or other identifiable factor, and, in step <NUM>, the system (e.g., the dialer service module <NUM>) acts to store these identifiers or factors in the records <NUM> for each trusted identity in each caller/called party's network or connections definition <NUM> in data storage <NUM> (e.g., within a database defining each user's connections that are allowed or trusted to receive calls from during operation of the system <NUM>). For example, a social media user may have a handle within the social media platform but have a different name or identifier for other uses such as for work that they can provide for use in identifying them as a caller in the system <NUM> (e.g., ID of calling party in heads up and alerting messages <NUM>, <NUM>). With this information, the method <NUM> continues at <NUM> with the dialer service module <NUM> issuing a token or digital certificate <NUM> to each connection (pair of social media users as defined in a connection definition <NUM>) connected over the social media platform provided by module <NUM> and system <NUM>. Step <NUM> may involve the connected users providing their identification details for use in the token <NUM> as part of this connection definition <NUM> or this data may be collected in step <NUM> (as discussed above).

With these initial or background functions completed (and, note, these may be updated in response to changes in a user's network <NUM> including the issuing of a token <NUM> to a newly added connection/trusted identity <NUM>), the method <NUM> continues at <NUM> with the initiation of a new call. In step <NUM>, the calling party (such as with their dialer app <NUM>) searches for and identifies a receiving or called party (operator of device <NUM>) to whom he/she intends to make a call. The dialer app <NUM> communicates with the dialer service module <NUM> to determine at <NUM> whether a valid token <NUM> exists. In some embodiments, the system <NUM> determines the validity of the token or the digital certificate <NUM> associated with the receiving or called party such as by searching through the social media platform (e.g., are the calling party and receiving party Facebook friends, LinkedIn contacts, Twitter followers, WhatsApp contacts, or the like) or step <NUM> may simply involve determining whether the token/certificate <NUM> exists defining the connection definition <NUM> (e.g., indicating that the calling party is allowed to call the receiving party).

If a valid token exists or the connection is otherwise verified, the method <NUM> continues at <NUM> with the dialer app <NUM> verifying that the calling party is not a spoofed caller, and the method <NUM> continues at <NUM> with transmitting a message to the receiving party over the social media platform. As indicated at <NUM>, the message (e.g., a heads up message <NUM>) may be composed on the caller client device to include a time of the intended call as well as to include the identifier or identification details for the calling party (previously provided as discussed above). Hence, in operations of the system <NUM>, after confirmation of caller validity, the calling party is allowed to transmit a message to the receiving party over the social media platform (e.g., via Facebook Messenger or the like), through which they are connected, notifying them of the upcoming call including details such as name, calling number, caller ID, and/or the like.

In some cases, though, the system <NUM> will be unable to verify (in steps <NUM> and <NUM>) the calling party (e.g., there is no social media connection in network <NUM> or there is no token or digital certificate <NUM> defining a connection <NUM> between the calling party and the receiving party). In such cases, the system <NUM> may operate to block the calling party from communicating with the receiving party (e.g., block the transmittal of a heads up message <NUM>) or, alternatively, the system <NUM> may allow at <NUM> the calling party to send a heads up message <NUM> to allow them to choose whether or not to accept a call from the calling party (see block/step <NUM> in <FIG>). For example, if no token or digital certificate <NUM> is discovered between the calling party and the receiving party, the system <NUM> will either not allow the calling party to send a message (or, in some cases, call) the receiving party or intimate the receiving party with a message indicating that an upcoming call may soon be received from a calling party that is not verified (at which point the called party can make an informed decision to answer or ignore the call <NUM>). Specifically, a receiving party may receive a denied call message over the social media platform or via the alerts on the dialer app <NUM> (e.g., "Your Identity May Have Been Breached on Social Media Platform N").

As indicated in box/step <NUM>, the called party client device <NUM> is operated to provide identification details for the calling party, with the heads up (or other) message <NUM> being displayed over the screen <NUM> of the receiving party's device <NUM>. As indicated in box/step <NUM>, the message <NUM> may provide an indication of whether or not the calling party has been verified as being a trusted caller via their social media networks. Then at step <NUM>, it is noted that the message <NUM> may include information such as connection details (e.g., identifier for the calling party), mutual connections (e.g., the calling party is a friend of a friend in the social media platform), historical events involving the calling party over the social media platform. The method <NUM> continues at step <NUM> with the receiving party being able to take action in some embodiments via the dialer app <NUM> such as to accept or reject the call or to postpone the call to a later time. This information may be transmitted back to the calling party, e.g., via a social media message or an alert/notification from their dialer app <NUM>, or the dialer app <NUM> of the receiving party device <NUM> may simply act on this user selection, e.g., by allowing the call to be received, by blocking the call <NUM>, and so on.

To summarize, the systems <NUM> and <NUM> may be operated to perform a method of mitigating the risk of an incoming spoofed caller. The method includes the following steps or stages: (a) issuing a token or a digital certificate to each network connection of a user (e.g., to each member of a social media platform to which the user is connected (with connection or "trust" being defined within the social media platform)); (b) receiving at least one identification detail of each user connected over the social media platform (e.g., a calling name, a calling number, a calling ID, or the like); (c) determining a validity of the token or the digital certificate of the network connection with a receiving party (which may be performed in response to searching and identifying the receiving party by a calling party); (d) transmitting a message to the receiving party by the calling party in response to the validity confirmation of the token or the digital certificate of the network connection of the calling party with the receiving party over the social media platform (e.g., a message may be generated and transmitted that includes at least one of a calling number and/or name to be displayed to provide calling ID to the receiving party and a time of the intended call); (e) viewing the connection details, mutual connections, and/or historical events with the calling party in response to receiving the message from the calling party over the social media platform; and (f) triggering an action based on the received message such as an accept, a reject, or a postpone action for the requested/intended call.

As will be appreciated from the above discussion, the new system offers protection from unsolicited callers or spammers by ensuring that only verified callers (e.g., an operator of a client device in <FIG>) are able to contact someone using the system and unverified callers will be flagged as coming from an untrusted source (but, note that in some implementations the callee/receiving party may decide to accept either or neither call from a caller/calling party). The proposed method implemented by the system may involve a social media server (e.g., Facebook), a caller app, and a cloud PBX (for TDM calls). Whenever an incoming call is received, the caller app verifies that the user of the calling client device is trusted by reviewing the social profile associated with the caller. Whenever a user creates their social media profile, the call recipient depends on the meshing of those so called "contacts" or "friends" that establishes a network of familiarization.

The caller app originally may create a digital token for every social media contact that the recipient has in their personal network. The trusted network can be configured to include primary contacts (e.g., first order connections), secondary contacts (second order connections), and even tertiary contacts who are third in order or level within the social media framework, e.g., LinkedIn, Liker. com, Facebook, Twitter, or the like. Multiple social media footprints can be used to build up the trusted contact list, which may be stored by the caller app (locally on a client device or on a network-available server). In some implementations, it may be preferred that the allowed contacts may be created either on the basis of a cross-referenced identity (e.g., "I know this person from my Facebook network, and I am manually adding their number to the this profile. ") or learned from an existing profile that already includes their various respective phone numbers. Variations may include voice capabilities that are built into social media utilities such as Facebook Voice and Video Calling.

In either case, once the system extracts a new profile, the system may store the new profile as an alias in the caller app (or in a way accessible by the app). As mentioned, for each alias, a digital token is created and then stored by the caller app as well. The alias can also function as a prerequisite in calling that person within the caller app. The digital token is used by the caller app to determine when to allow an incoming caller to be labelled as someone the recipient can trust. In some cases, the trusted incoming caller is also indicated within the caller app graphical interface such as by using a notification (e.g., <Incoming_Caller_Name> is a "<IMG> Trusted Contact" (with the circle being shown green or otherwise indicating the call is a "Go" or can be accepted) or the like).

It may be useful at this point to describe one useful (but non-limiting) general use-case. In this exemplary use case, a call comes in from the PBX (or social media apparatus) and the header information (CID) is verified by the caller app. The incoming identity is checked against the metadata represented in the alias, which leads the caller app to verify that this is either a new caller or an existing contact. The system can then check if a digital token is present. The presence of a token is what determines if a call is allowed and not the sole presence of an alias. Sometimes, a known contact may not be someone the user associated with a caller app wants to accept calls from, such as an annoying friend/network connection, a local business you connected to on Facebook ("Liked"), and so on. For these connections with an alias assigned, a digital token can be rescinded (or never issued), but they remain a known connection (or "friend") in the social media network. The presence of a digital token determines if the call should be allowed, in which case the PBX connects the parties. The caller app, in some implementations, can issue a hard block of the call or simply advise the user of a client device that the incoming caller is trusted or not be trusted (so that the user can choose to accept it or not).

To further clarify the operations of system (such as system <NUM> or system <NUM> of <FIG> and <FIG>), it may be useful to presented call or data flow sequences for additional use cases. <FIG> illustrates a call sequence or use case scenario, with diagram <NUM>, as may be provided during operations of the systems of <FIG> and/or <FIG>. <FIG> illustrates a variant of the scenario of <FIG>, with diagram <NUM>, that encapsulates relevant apps under each participant's mobile or client device. <FIG> illustrates a call sequence or use case scenario, with diagram <NUM>, in which the heads-up message gets delayed.

Scenario diagram <NUM> of <FIG> shows the case where a heads-up message makes it quickly through the network and alerts the callee prior to the PSTN network (or other communication network used for calling) signaling. Scenario diagram <NUM> of <FIG> is a variant of the use case or scenario of <FIG> in which the relevant applications are encapsulated or shown under each participant's mobile or client device (in this example, the caller is Adam using his mobile device (e.g., a smartphone or the like) and the callee or receiving party is Ben using his mobile device). In <FIG>, the use case <NUM> shows the case in which the heads-up message is delayed from reaching the callee (such as "Ben" in the <FIG> example), but it still arrives in a timely enough manner to allow the callee to use it make a decision as to whether or not to answer a received call on their mobile or client device.

In the two examples shown by diagrams <NUM>, <NUM>, and <NUM>, spoofing is controlled or mitigated using the existence of messaging applications associated with one (or more) social media applications (such as Facebook Messenger, LinkedIn Messaging, and the like) and the end-to-end encryption provided by such messaging applications. These two features of social media applications mean that both the trusted relationships and secure communication channels have already been established and can be used to provide enhanced mitigation of spoofed callers.

As a result, the heads-up messages would ride on the pre-established communication channels without the need for a dialer service module <NUM>, in some preferred cases or implementations of system <NUM>. Instead, the social media application <NUM>, <NUM> on mobile or client devices <NUM>, <NUM> in the system <NUM> of <FIG> provide API for the dialer apps <NUM>, <NUM> to: (i) register; and (ii) send messages it (e.g., Adam, in the example of <FIG>, is calling Ben with this number at this time). The social media app, with its messaging component, would form a message for the peer's social media app on the callee's side. Once received, the callee's social media app would interpret this message and instead of posting it to the social media app GUI, it would instead be adapted to alert the callee's dialer app (that previously had registered with it for such a service).

The message sequence charts <NUM>, <NUM>, and <NUM> show an approach to spoofed caller mitigation that uses the pre-established trusted relationship and also the way to communicate privately though a secure communication channel that was also pre-established as part of the social media-associated messaging app. To achieve an end-to-end encryption (so that only Adam and Ben can read the content of messages they exchange and anybody else who might be either snooping or just serve as a transport medium or service see it as gibberish), the system is configured such that only the device users (e.g., first and second users labeled Adam and Ben above) have full control of their private keys, but typically not the social media servers or service providers. Posting on a social media platform (such as Twitter or Facebook) is public in nature, but exchanging messages with members of that social network should not be via the messaging services or applications provided by the social media applications associated with such platforms. Stated differently, the system <NUM> may utilize dialer apps <NUM>, <NUM> that are enhanced or modified (not just a dialer app that most mobile or client devices have already installed and use to make mobile/PSTN calls) to be able to interface with messaging apps associated with social media via an enhanced API that the messaging app would provide and send heads-up messages as out of band (with respect to the mobile/PSTN network) signaling messages.

The operations of the system (such as system <NUM> of <FIG>) shown in use case/scenario <NUM>, <NUM> is one way the social media designation for a known contact can be used to verify an out of band call (i.e., PSTN). In some cases, the social media platform might have an open architecture allowing the phone/client device dialer app to directly connect with the social media server to verify that the dialer app's request to verify a user is received. The social media server could then issue a thumbs up or acknowledgement, which can be remembered using a digital token or the like for future calls. The allowed call will proceed provided the digital token remains valid. As discussed above, the first time the unknown caller calls will result in an initial checking of the social media profile that leads to the digital token and associated steps. Then, subsequent calls from the person/same caller will result in steps to verify that the token is still a valid one. If not such as when the caller ends up being unfriended, the dialer app may alert the recipient that this person cannot be trusted.

Another option is that the dialer app is used to interface with the installed social media client app as a means to verify the contact through the social media server. So instead of a caller manually sending a message via a social media messaging service (e.g., "I am about to call you from this number"), the messaging is automated by the systems described herein. This approach does not make social media platform-based call, but it, instead, uses the messaging service of the social media platform as an out of band signaling path for heads-up messages. The call still goes through the mobile/PSTN network.

In <FIG>, network <NUM> can include or be, for example, an internet protocol (IP) network. Exemplary types of networks suitable for communication with network <NUM> can be or include a local area network, a wide-area network, a metropolitan area network, wireless networks, a private branch exchange (PBX), or a portion of the Internet. Various components of network <NUM> can be coupled to one or more other components using an Ethernet connection, other wired connections, and/or wireless interfaces. Network <NUM> can be coupled to other networks and/or to other devices typically coupled to networks. By way of particular example, network <NUM> includes a communication network, and network <NUM> can be coupled to additional networks that can be coupled to one or more devices, such as devices <NUM>, <NUM>, and <NUM>, which may communicate via spoofed caller mitigation provided during operations of the system <NUM>.

It will be appreciated from the above description that the communication systems taught herein may be used to provide auto-verification of callers in real time using cost effective and pre-established network connections over social media platforms. Social groups other than friends or official contacts of social media platforms may also be utilized to mitigate spoofed callers such as special interest or other defined groups such as "Tuesday Tech at the Pub" and the like that may be groups identified by a social media platform without necessarily being friend as these connections defined by the platforms may be trusted by some users of the system. Such levels of "trust" can be configured or defined as shown at <NUM> for each user's dialer app <NUM> so that a user can dial up or down the list of those trusted and allowed to place calls to their client devices. Note, the "trust" may be applied on a person-by-person level and/or may be applied to groups of possible callers including businesses or organizations (e.g., the connection may be with such a group and result in the dialer app allowing calls from anyone linked to that group (e.g., accept calls from employees of Hospital D, Bank J, and so on, from members of My Craft Club, and the like). The scope of the mitigation performed by communications systems of the present description are not limited to providing automated security protection from unsavory call centers and voice networks but can also provide defense against one or more of the following: TDoS attacks; call pumping; robocalls; account takeover attacks; and other threats. Typically, the system is configured to validate an incoming call using the social media-based information (including trusted connections) without the need to go through a telephone company (including wireless providers).

Further, with regard to social media users receiving voice calls from imposters, the systems described herein may be configured such that the fake accounts that could be created could be declined on the basis of a token not being present. So, as with regular phone devices, received calls from devices using social media platforms/service can be verified using social media.

Claim 1:
An electronic communication system (<NUM>, <NUM>) adapted to mitigate spoofed callers comprising:
a first client device (<NUM>, <NUM>) communicatively linked to a communications network (<NUM>);
a social media application (<NUM>) configured to interact via the communications network with a social media platform (<NUM>, <NUM>) to generate a connection network defining a set of trusted members for an operator of the first client device, where the operator of the first client device is a user; and
on the first client device, a dialer application (<NUM>) configured to:
validate an operator of a second client device (<NUM>, <NUM>, <NUM>) as a trusted caller of the operator of the first client device by determining whether the operator of the second client device belongs to the set of trusted members; and
after validating the operator of the second client device as a trusted caller, receive and display at the first client device a message including an identifier for the operator of the second client device and a proposed time for a call from the trusted caller, the message received over the social media platform,
where the operator of the second client device is another user.