WO2020076344A1 - Routage d'appel à l'aide d'options de transfert d'appel dans des réseaux de téléphonie - Google Patents

Routage d'appel à l'aide d'options de transfert d'appel dans des réseaux de téléphonie Download PDF

Info

Publication number
WO2020076344A1
WO2020076344A1 PCT/US2018/055698 US2018055698W WO2020076344A1 WO 2020076344 A1 WO2020076344 A1 WO 2020076344A1 US 2018055698 W US2018055698 W US 2018055698W WO 2020076344 A1 WO2020076344 A1 WO 2020076344A1
Authority
WO
WIPO (PCT)
Prior art keywords
call
recipient
contact information
computing device
communication
Prior art date
Application number
PCT/US2018/055698
Other languages
English (en)
Inventor
Enlai Chu
Original Assignee
Phoneic, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Phoneic, Inc. filed Critical Phoneic, Inc.
Priority to PCT/US2018/055698 priority Critical patent/WO2020076344A1/fr
Publication of WO2020076344A1 publication Critical patent/WO2020076344A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/54Arrangements for diverting calls for one subscriber to another predetermined subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/40Electronic components, circuits, software, systems or apparatus used in telephone systems using speech recognition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/60Medium conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/25Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service
    • H04M2203/251Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service where a voice mode or a visual mode can be used interchangeably
    • H04M2203/252Aspects of automatic or semi-automatic exchanges related to user interface aspects of the telephonic communication service where a voice mode or a visual mode can be used interchangeably where a voice mode is enhanced with visual information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/50Aspects of automatic or semi-automatic exchanges related to audio conference
    • H04M2203/5018Initiating a conference during a two-party conversation, i.e. three-party-service or three-way-call
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/65Aspects of automatic or semi-automatic exchanges related to applications where calls are combined with other types of communication
    • H04M2203/654Pre, in or post-call message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42382Text-based messaging services in telephone networks such as PSTN/ISDN, e.g. User-to-User Signalling or Short Message Service for fixed networks

Definitions

  • the cellular ecosystem has not opened up the development of mobile calling features to third party developers due in part to the security concerns such as unauthorized eavesdropping. Additional complexities include the need for technology standardization as well as the coordination and cost required to provide and manage this access. Additionally, the cellular industry has traditionally focused their efforts on broader-reach consumer features such as increased data bandwidth and higher clarity voice calls instead of features that may only be relevant to specific groups such as professionals or industries that require them due to legal regulations.
  • FIG. 1 depicts an example of a Public Switched Telephone Network (PSTN) according to some embodiments.
  • PSTN Public Switched Telephone Network
  • FIG. 2 shows the flow of calls where the recipient device has call forwarding set up and the forwarding number is configured to be a Direct Inward Dial (DID) number that routes the calls to the application server 38 according to some embodiments.
  • DID Direct Inward Dial
  • FIG. 3 depicts a simplified flowchart of a method for selecting a connection option for unconditional call forwarding according to some embodiments.
  • FIG. 4 shows a system with a calling device with phone number 5550000001 using a blocklist according to some embodiments.
  • FIG. 5 depicts a simplified flowchart of a method for determining which of CCF or UCF was used according to some embodiments.
  • FIG. 6 depicts a system showing a flow of a conversation where voice is converted to text and text is used to reply according to some embodiments.
  • FIG. 7 illustrates an example of a special purpose computer systems configured with an application server according to one embodiment.
  • a method, computer system, computer program product, phone application, and user interface is provided for enabling call recording, transcription and other features on cellular phone calls that have traditionally been isolated from third-party applications.
  • a system inserts itself between the caller and recipient’s call.
  • the insertion is accomplished by configuring settings, such as the call forwarding settings, for the mobile device to divert calls to an application server instead of the default voicemail server of the wireless operator.
  • the features may include additional features that are not present in a callee to caller connection.
  • the call passes through the application server before being connected with the recipient.
  • the application server remains in the path of the call and is able to provide features for routing as well as processing media for the duration of the call.
  • An application (“device application”) residing on the mobile device can communicate and coordinate with the application server using a data connection to perform additional functionality on the mobile device.
  • This device application can enable control functions such as starting and stopping call recording on the server, transferring the call to another party, sending the call to voicemail or choosing a specific voicemail greeting to play, etc.
  • the device application can also be used by the recipient to make outbound calls so that the calls can first pass through the application servers before being connected to the intended recipient, thereby enabling new call features for outgoing calls as well.
  • the device application can also organize and display a history of inbound and outbound calls, call recordings, and transcripts by individual contacts.
  • the text in the recordings can be indexed by the device application or a server-side storage engine and made searchable.
  • the application server can also send a copy of the audio streams to other services in real-time.
  • the participants’ speech can be sent to a speech-to-text engine and the resulting text shown to participants in the conversation to aid in comprehension should users have difficulty hearing each other.
  • the audio or text can also be used by in-call virtual assistants that use natural language processing (NLP) to understand the conversation and perform actions in response to what is spoken.
  • NLP natural language processing
  • FIG. 1 depicts an example of a PSTN according to some embodiments.
  • the phone call is routed from an initial calling device 10 (e.g., user device A) to the caller’s home operator network 11, then through a network 13, such as a Signaling System No. 7 (SS7) network (e.g., PSTN), and finally to the recipient’s operator network 15 and recipient’s device 16 (e.g., user device B).
  • SS7 Signaling System No. 7
  • the call is routed using the recipient’s PSTN number (e.g., a cellular phone number).
  • the audio stream from the first user device passes between both operators’ networks and equipment through the PSTN at 12 and 14, and the audio stream from the second user device passes the opposite way at 17 and 18 before reaching the first user’s home operator network 11 and device 10.
  • the recipient's device 16 may be configured to redirect the call to voicemail via device settings. This setting may ring the recipient’s device first before redirection. For example, if the conditional call forwarding (CCF) settings for the receiver’s device have been configured to redirect the caller to the receiver’s network operator’s voicemail number, the call is redirected to voicemail using the voicemail number and the caller will hear the voicemail greeting and be asked to leave a message.
  • CCF conditional call forwarding
  • Some configured CCF settings include Call Forwarding Busy (CFB) whereby incoming calls are diverted when the recipient is on another call or rejects the call by choosing the Decline option on the incoming call screen; Call Forwarding on No Answer (CFNA) whereby incoming calls are not answered within a specified number of seconds; and Call Forwarding on Not Reachable (CFNRC) where the recipient’s device is off or does not have coverage.
  • CFB Call Forwarding Busy
  • CFNA Call Forwarding on No Answer
  • CNRC Call Forwarding on Not Reachable
  • the recipient’s device can also be configured with Call Forward Unconditional (CFU), which will unconditionally divert all calls to a specified phone number. This will cause all inbound calls made to the recipient’s phone number to be sent to the specified number without first ringing the recipient’s phone.
  • CFU Call Forward Unconditional
  • call forwarding can be configured on mobile devices using settings of the operating system, such as via the settings menus.
  • call forwarding can be configured using codes, such as Unstructured Supplementary Service Data (USSD) codes, also known as“star codes”, which are entered into the mobile device’s native phone dialer and called.
  • USSD Unstructured Supplementary Service Data
  • star codes also known as“star codes” which are entered into the mobile device’s native phone dialer and called.
  • Each carrier may have a different set of star codes to perform each type of forwarding configuration.
  • call forwarding forwards calls to a voicemail server.
  • incoming phone calls should be sent to an application server before being answered by the recipient.
  • Either unconditional call forwarding or conditional call forwarding can be used to accomplish this call flow by configuring a forwarding phone number that corresponds to the application server, which replaces the voicemail server’s phone number that may have been configured originally.
  • the application server may connect the incoming call between the application server and the recipient.
  • the application server receives a diverted phone call as a result of the call forwarding setting the user has configured, at least two pieces of information have been added to the signaling that the application server receives from the phone network: the caller’s phone number and the original dialed number (e.g., the recipient’s phone number).
  • the application server uses the two pieces of information to initiate a call between the application server and the recipient’s device.
  • One example of how this information is transmitted includes using a header in a control message to include the numbers.
  • a Diversion header of session initiation protocol (SIP) messages that are used in call control of VoIP calls may include the numbers.
  • Other information that is transmitted includes the reason for the diversion, the number of times the call was diverted, etc.
  • FIG. 2 shows the flow of calls where the recipient device has call forwarding set up and the forwarding number is configured to be a Direct Inward Dial (DID) number that routes the calls to the application server 38 according to some embodiments.
  • the recipient’s device may set up call forwarding and specify the application server’s phone number as the forwarding number.
  • the call forwarding may be set using a device application or by an operating system menu or feature of the recipient’s device. (00271 When a phone call is made by a caller device 30, the call is carried by caller’s operator network 31 and passes through the PSTN 33 to the recipient’s operator network 35.
  • the recipient’s operator network diverts the call to the application server’s phone number that is configured by the call forwarding settings of the user’s phone number.
  • the provider servicing the application server’s phone number converts the PSTN call to a VoIP call using a telephony gateway 37 and the call is then carried over a data network 42 to the application server.
  • the application server receives the inbound call (e.g., the first“call leg”) from the caller, initiates a new call with the recipient device (e.g., the second call leg) and bridges the two calls so the caller and callee’s calls are connected. That is, application server 38 is connected in between the caller and the callee and bridges the two calls.
  • the call made by the application server 38 to the callee can be a circuit- switched (PSTN) call or a Voice over IP call.
  • PSTN circuit- switched
  • a VoIP call may first be initiated from the application server 38 to the data network 42 and sent out the VoIP gateway 37, which converts the VoIP call to a PSTN call.
  • the call is routed through the PSTN 33 to the recipient device’s operator network 35 and on to the recipient’s device 36.
  • the application server establishes a VoIP connection at 43 with the recipient’s device 36 through a data connection instead of a PSTN connection.
  • the application server 38 sits in the voice path between the calling device 30 and the recipient device 36, giving application server 38 the ability to provide features such as recording the media passing through application server 38 or sending a copy of the media to a speech-to-text engine 44 to convert the voice media to text in real time.
  • the text can be input to a language translation engine 47 that translates it into the recipient’s language.
  • the text from the translation can then be sent to a text-to-speech engine 46 and the audio output can be sent to the application server 38 and played in the call to the recipient device 36.
  • the reverse process can then be followed for speech from the recipient where the application server 38 sends a copy of the recipient’s speech to the speech-to-text server 44 and the resulting text sent to the language translation engine 47 for translation to the caller’s language.
  • the application server 38 sends the resulting converted text to the text-to- speech engine 46 and speech is played back by the application server 38 into the call for the caller to hear.
  • application server 38 can provide its own voicemail functionality to the recipient by routing the call to a voicemail server 45 separate from the operator’ s voicemail server.
  • Application server 38 may be inserted into the call path using different call forwarding techniques. Within each technique, different methods of inserting application server 38 into the call path may be used. The insertion of application server 38 may be accomplished using settings native to an operating system of the recipient’s device 36 or by using a device application downloaded to the recipient’s device 36. The use of the native settings allows application server 38 to be inserted into the call path without having any other applications downloaded to the recipient’s device 36. The features can be provided in the call path seamlessly and without the requirement of having an application running on the recipient’s device 36. This provides many advantages. For example, an application does not need to be downloaded to the recipient’s device 36. Also, the features can be provided without having an application running on the recipient’s device 36 or running in the background.
  • an application does not need to be opened to provide the features when a call is received.
  • the use of the setting of the operating system allows the processing of the features to be solely in the application server 38. This configuration uses less resources on the recipient’s device 36 because the processing is performed on the application server 38 without the need for an application to be running on the recipient’s device 36.
  • Using application server 38 to provide features in the processing of media between the caller and the callee also provides advantages. Certain applications such as speech-to-text conversion / transcription or sentiment analysis from a speaker’s voice requires significant computational power that may not be available on the recipient’s device 36 whereas a more powerful application server 38 can be used for such features. Other applications such as Natural Language Processing (NLP) require large data sets that may not fit into the storage and memory on the recipient’s device 36 but can do so on the application server 38. The operating system of the recipient’s device 36 may also not permit an application to run in the background so call features would not be available if the recipient’s device 36 is using a PSTN call in the foreground to connect to the application server 38.
  • NLP Natural Language Processing
  • Unconditional Call Forwarding may be used. However, after application server 38 receives the diverted call, application server 38 is not able to make an outbound PSTN call to connect to the recipient number since the call will be diverted back to application server 38 due to the call being unconditionally forwarded again. Because call forwarding settings may be configured with the device operator for PSTN calls only, VoIP calls to the device application are not diverted by the PSTN call forwarding rules and can be used to connect application server 38 with the device application.
  • application server 38 analyzes the call to determine the call forwarding settings. For example, application server 38 determines whether UCF was used to redirect the call.
  • Application server 38 may determine that UCF was used by looking at fields in the call that is received, such as in SIP messages. If UCF was used, then application server 38 determines that a call other than a PSTN call is needed. In other embodiments, application server 38 is preconfigured to recognize that UCF was used.
  • application server 38 may connect to the recipient’s device 36 using an outbound VoIP call.
  • application server 38 can determine contact information for the recipient’s device for a VoIP call.
  • the recipient’s device application can register an address, such as the SIP address, where recipient’s device 36 can be reached (e.g., Internet Protocol (IP) address, port, and transport protocol) to a registration server or database (not shown) that can be accessed by application server 38.
  • IP Internet Protocol
  • Application server 38 can be configured to search the registration server for the recipient’s VoIP address upon determining UCF was used.
  • Application server 38 can then make an outgoing VoIP call to the registered address of the recipient’s device.
  • the device application receives the VoIP call and shows the user an inbound call screen to give the user an option to answer or decline the call. If the user answers the call, application server 38 creates the VoIP connection between the device application and application server 38, and application server 38 bridges the call with the original caller’s call leg.
  • application server 38 can send the device application a push notification to ask the recipient’s device 36 to register its network address. Once the network address is registered, application server 38 can retrieve the network address and then make an outbound VoIP call to the device application.
  • the push notification can also be used to trigger the device application to make a VoIP call to application server 38 instead of requiring the device application to register its network address or wait for the server to initiate a VoIP call to it.
  • the device application shows the recipient the inbound call screen.
  • the push notification will also contain the application server’s contact information, such as a network and SIP address, so the device application can initiate a VoIP call to application server 38 when the recipient answers the call on the inbound call screen.
  • the device application calls a SIP address that can contain instructions telling application server 38 which caller’s PSTN call to bridge the call with.
  • the original caller’s PSTN call could have a Call Identifier that is unique for each inbound calls on application server 38.
  • the device application could embed this Call ID into the SIP address when making the VoIP call to application server so application server 38 can bridge the call to the correct caller’s PSTN call leg.
  • the recipient in another embodiment where a PSTN call between application server 38 and recipient device 36 is desired, the recipient’s device 36 calls application server 38 (instead of application server 38 calling the device 36 because of the unconditional forwarding setup that prevents the recipient device 36 from receiving any PSTN calls).
  • application server 38 when an incoming call arrives at application server 38, application server 38 first sets up a mapping of known phone numbers that the recipient could be calling from, a dial-in phone number
  • Application server 38 then sends the recipient device a push notification with the dial-in number.
  • the device application receives the push notification, it shows the recipient an incoming call screen.
  • the device application initiates a PSTN call from the device to the dial-in number of application server 38.
  • application server 38 looks up the original caller’s call leg on application server 38 by using the recipient’s phone number and bridges the recipient’s call with the original caller’s call leg.
  • application server 38 may select one of the connection
  • FIG. 3 depicts a simplified flowchart of a method for selecting a connection option for unconditional call forwarding according to some embodiments.
  • application server 38 receives a redirected call from the recipient’s device 36. The call was redirected using unconditional call forwarding.
  • application server 38 determines that unconditional call forwarding was used to redirect the call. In some embodiments, application server 38 determines that unconditional call forwarding was used by analyzing fields in a message received.
  • application server 38 analyzes information for the recipient’s device to determine one of the connection options to select. The analysis may determine which option is the highest ranked option. For example, depending on a status of the recipient’s device 36, a VoIP call may be desired. If a recipient’s device is stationary and in an area with good data connectivity, a VoIP call may be preferred so the call does not consume PSTN minutes from the recipient’s phone plan. If a recipient is in a moving vehicle where data connectivity is of an unpredictable nature, a PSTN call may be preferred. The device can report these conditions to the application server 38 and the application server 38 can select the appropriate connection to use for different conditions.
  • application server 38 initiates a communication with the recipient’s device 36 to connect the call.
  • the communication may use the selected connection option.
  • Conditional Call Forwarding (00491) Some users may prefer to have certain calls to pass through application server 38 while allowing other calls to reach them directly. In order to accomplish this, Conditional Call Forwarding (CCF) can be used instead of Unconditional Call Forwarding (UCF).
  • CCF Conditional Call Forwarding
  • UPF Unconditional Call Forwarding
  • the use of CCF allows calls to reach recipients directly if the user picks up an incoming call.
  • One configuration uses CCF to divert calls to the operator’s voicemail service if the calls are unanswered, the mobile device is unreachable, or if the user is busy and chooses the Decline option on the incoming call screen of the phone.
  • the device application can configure the CCF number to be the number of application server 38.
  • the call recipient is able to decline the call to divert the call to application server 38, which can remain in the path of the call while routing the call back to the recipient’s phone. If the recipient chooses to answer the incoming call without declining it, the recipient will be able to speak to the caller without application server 38 in the path of the call.
  • conditional call forwarding is used in conjunction with selective call blocking functionality on the recipient’s device 36.
  • Selective call blocking involves the specification of a list comprising one or more phone numbers (the“blocklist” on the recipient’s device 36. When the phone number of an incoming caller (the“caller ID” number) matches a number on the blocklist, the recipient’s device 36 automatically rejects the call and the call will be diverted to the phone number configured in the CCF
  • the call is then routed to application server 38.
  • Blocklists may be used to prevent calls from undesirable phone numbers, such as a nuisance caller, from reaching the recipient.
  • the recipient’s device 36 can configure blocking and unblocking of individual callers in the mobile device configuration settings of the operating system. Blocking phone numbers manually causes the device to add the blocked numbers to the list of blocked numbers (the“blocklist”) for the recipient’s device 36. (00561 When a call arrives on the recipient’s device 36, the recipient’s device 36 checks its blocklist and rejects the call before ringing the recipient’s device 36. The blocked call is diverted to the number configured in the CCF settings. When the CCF number is configured to be the application server’s number, the call is diverted to application server 38.
  • application server 38 when application server 38 receives the diverted call, application server 38 initiates a VoIP or PSTN call to the recipient’s device 36 with a different caller ID number that is known to not be on the blocklist of the device (for example, by setting the caller ID to be the CCF number of application server 38 so that the call rings through to the recipient device 36 instead of being blocked again).
  • Application server 38 may receive the blocklist and analyze the blocklist to select a number not on the blocklist.
  • FIG. 4 shows a system with a calling device 30 with phone number 5550000001 using a blocklist according to some embodiments.
  • a recipient’s device 36 with phone number 555-000-0002 has a configured blocklist that includes the caller’s phone number 5550000001.
  • the recipient’s device 36 has a conditional call forwarding configuration to divert rejected calls to the application server at a phone number of 555-555-5555.
  • the caller’s operator network 31 routes the call through the PSTN 33 to the recipient operator network 35 and recipient’s device 36.
  • the recipient’s device 36 checks its blocklist, which includes the caller’s number 5550000001, and rejects the call, sending the back to the recipient’s operator network 35.
  • the recipient’s operator sends the call to the recipient’s conditionally forwarded number, 555-555-5555 by routing the call back to the PSTN 33 and through the VoIP gateway for 555-555-5555.
  • the call is sent to application server 38, which receives information from the incoming call signaling and diversion headers that the caller’s number is 5550000001 and the original recipient number is 555-000-0002.
  • a format of an example message, such as a SIP INVITE message, that the application server receives when the inbound call is diverted to the application server 38 can be seen below“xxx” indicates server IP addresses or names that have been replaced for the purposes of this example.
  • the original caller’s number 5550000001 can be ascertained from the“From” or“Remote-Party-ID” line, the original called number (the recipient’s number) from the‘Diversion” line, and the application server’s number from the“To” or INVITE line.
  • Application server 38 sets the caller ID of the outgoing call to be a different phone number such as 5550000002 before making the outbound PSTN call 70 to the original recipient’s number 555-000-0002.
  • the call routes back out the VoIP gateway 37 to the PSTN 33, to the recipient’s operator network 35 and to the recipient’s device 36. Because the caller ID of this call is not in the blocklist on the recipient’s device 36, the recipient’s device 36 rings and the call is connected to the recipient with application server 38 bridging both the original caller and recipient’s call legs.
  • the goal of having application server 38 in the middle of the call is accomplished without having to have an application running on the recipient’s device to add the application server 38 to the call. Rather, settings on the operating system are set to add the application server 38 to the call.
  • application server 38 creates a connection to the recipient device 36 using a VoIP call.
  • Application server 38 can use pre-existing information stored in a mapping table to look up the VoIP address (e.g., a SIP uniform resource indicator (URI)) of the recipient’s device application).
  • Application server 38 sets the caller ID of the call to 5550000002 and makes the outgoing VoIP call to the recipient device 36, resulting in the device application receiving the incoming call as VoIP instead of as a PSTN call from its home operator.
  • URI uniform resource indicator
  • the VoIP address mapping table can be populated by the device application on a regular basis (every hour, for example) so the information is available when the caller’s call arrives at application server 38.
  • application server 38 can send a push notification to the recipient’s device application requesting its VoIP address only when the caller’s call arrives at application server 38.
  • the recipient’s device application receives the push notification requesting its VoIP address
  • the recipient’s device 36 sends the information to application server 38.
  • application server 38 then makes the outgoing VoIP call to the recipient device by using the newly reported VoIP address.
  • the recipient’s device 36 can dial in to application server 38 using a VoIP call instead of application server 38 calling out to the recipient’s device 36.
  • application server 38 upon receipt of an inbound call 68, application server 38 sends a push notification to the recipient’s device application informing the device application that an inbound call has been received.
  • the device application shows the recipient a notification or an incoming call screen on the recipient’s device 36. If the recipient chooses to answer the call, the device application uses information in the push notification that includes the application server’s VoIP address and initiates a VoIP call to application server 38.
  • application server 38 bridges the call to the diverted caller’s call leg and establishes an end-to-end call between the caller and the recipient.
  • the recipient s device calls in to application server 38 using a PSTN number after the diverted inbound call is received on application server 38.
  • Application server 38 sends a push notification to the recipient’s device application that includes the server’s PSTN“dial-in” number.
  • the device application shows the recipient an incoming call screen .
  • the device application initiates a PSTN call to the server’s dial-in number.
  • application server 38 bridges the call with the diverted caller’s call leg, thereby connecting both parties.
  • This example allows the recipient to use a PSTN connection that is more stable than a VoIP call using the data connection for the recipient’s device.
  • the recipient is would be responsible for the cost of the outbound call from the recipient’s device to application server 38 rather than application server 38 incurring the cost of the outbound PSTN call made to the recipient. This can be important for financial and business model reasons.
  • the blocklist can be generated not manually by a user but automatically by the device application. This enables a list of known numbers to be diverted to application server 38 when a caller ID of the calling user is in the blocklist of the receiving party.
  • Automatically generated blocklists can be used when it is desirable to send calls from a group of known parties, such as work or client contacts, through application server 38 before the call is answered by the recipient. For example, recording of phone calls is desired in certain industries such as finance, where calls with clients need to be archived for regulatory compliance. By utilizing a blocklist including only clients, only calls from this group may be diverted to application server 38 automatically while calls from the user’s personal contacts will ring the recipient’s phone directly.
  • the device application can download the list of phone numbers from an external server such as a database or Customer Relationship
  • the device application then automatically populates the blocklist with the list of the downloaded numbers. Incoming calls from clients that match the blocklist may then be automatically diverted to application server 38. If the application server 38 also has the same list of client numbers stored, application server 38 can check that the calling number matches this list and if so, perform specific actions such as recording the call, greeting the caller with a recorded message from the recipient’s company, etc. before connecting the call with the recipient. Calls diverted to application server 38 that are not in a list on application server 38 can be configured to be directed to the voicemail of application server 38 as callers who are not on the blocklist are also routed to application server 38 due to the CCF settings on the device diverting calls that are not picked up by the recipient.
  • CCF Call Management
  • one or more lists can be maintained by application server 38 to perform different functions on different callers. For example, work calls may be treated differently than nuisance callers, e.g., work calls may be recorded and then routed back to the recipient device whereas nuisance callers may be played a busy tone and not routed back to the recipient device.
  • the recipient’s device needs to maintain only one blocklist associated with application server 38 while application server 38 maintains different lists with rules for each list or even individual rules for each calling number.
  • Application server 38 can aggregate the different list of numbers and send it to the device application to populate a single blocklist on the device.
  • the recipient’s device can request and obtain the aggregated list from application server 38 to populate its blocklist.
  • the call recipient may choose to allow known callers to directly ring the recipient’s device 36 and not be diverted to application server 38, whereas unknown callers will be first sent to application server 38 to be screened or recorded before the call is connected to the recipient’s device.
  • the device application can set up its blocklist to be all phone numbers that are not in a“whitelist” comprising the recipient’s personal contacts from the device’s address book and additional lists such as phone numbers of contacts obtained from CRM systems. Hence, calls from numbers that are from known contacts will not be blocked or diverted whereas unknown callers will be directed to application server 38 where features can be applied based on rules determined by the recipient.
  • An operating system of some recipient’s devices may have functions that enable users to block all calls except for known callers. This would simplify the generation of the allowed- caller lists as the list of numbers to block could be large compared to the list of approved callers. If the option to block all calls except for those originating from whitelisted numbers exists on the device, the user can choose to place the list of known callers into the whitelist. Alternatively, the device application can generate and populate this whitelist on the device automatically.
  • application server 38 may first set the caller ID of the call to be a number other than the phone number of the original caller. This is so that the recipient’s device 36 does not block and redirect the call again because it matches the blocklist. However, this means that while the call is not blocked, the recipient may see an unknown phone number and not the caller’s name since the caller ID number will not match a contact in the recipient’s device address book. The following represent some methods for overcoming this situation.
  • application server 38 may first set the caller ID of the call to be a number other than the phone number of the original caller. To display the name of the caller, additional actions can be performed to the call flow.
  • application server 38 can first send a push notification to the device application to notify the device application that it will be receiving an incoming call from the caller’ s phone number.
  • the device application can remove the phone number from the device’s blocklist and send an acknowledgement using an Application Programmer’s Interface (API) call to application server 38.
  • API Application Programmer’s Interface
  • application server 38 can then make the outbound VoIP or PSTN call to the recipient’s device.
  • the recipient’s device can re-populate the blocklist with the phone number so subsequent calls from the caller are blocked and diverted again. If the device is unable to detect when the call completes, the application server 38 can, optionally, send another push notification to the recipient’ s device after the call ends to instruct it to add the caller’ s number to the blocklist again.
  • application server 38 can send a push notification to the recipient’s device to notify it to unblock the caller’s number.
  • application server 38 may choose not to wait for an acknowledgement from the recipient’s device and, instead, make the connecting call to the recipient’s device after sending the push notification, with the assumption that the push notification will be received by the device before the call is received.
  • Another embodiment utilizes a caller ID number not on the blocklist of recipient device 36 when the application server 38 makes an outbound PSTN or VoIP call to the recipient device 36.
  • the application server 38 can set the caller ID number to be a phone number that only it is using.
  • the phone number may be one of a plurality of numbers assigned or leased for the use by the application server 38.
  • the device application can ensure that the blocklist does not contain the list of known application server caller ID numbers when automatically generating the blocklist. (00841 Creating contact for ringing-in number
  • Another embodiment that enables the display of the caller’s name on the recipient device when an inbound call from application server 38 is received involves the creation of a contact book entry on the native device that matches the caller ID number that will be used by application server 38 for the call.
  • application server 38 can send a push notification to the recipient’s device to inform it of the phone number of the original caller as well as the phone number that will be used as the new caller ID of the call from application server 38.
  • the device application receives this notification, the device application first looks up the contact its device address book corresponding to the original caller number. The device application then creates a new contact in the device address book with the name of the contact found and the new caller ID number that will be used by application server 38 for the incoming call.
  • the device application can send an acknowledgement that the new contact was created by using an API call to application server 38.
  • Application server 38 can then initiate the call to the recipient’s device with the new caller ID number and the recipient's device will show the name of the contact corresponding with the newly created address book entry.
  • the device application may not need to send an acknowledgement to application server 38 but application server 38 can make the call to the recipient’s device after sending the push notification with the assumption that the push notification will be received by the recipient’s device and the address book entry will be created before the call arrives on the recipient’s device.
  • the device application can remove the newly created contact from the device address book or keep it if application server 38 will re-use the same caller ID number for each unique caller number.
  • Application server 38 can receive the redirection via CCF or UCF. Different actions are taken to bridge the call between the caller and the callee based on whether CCF or UCF was used to redirect the call.
  • FIG. 5 depicts a simplified flowchart 500 of a method for determining which of CCF or UCF was used according to some embodiments.
  • application server 38 receives a redirected call.
  • application server 38 analyzes the call to determine the call forwarding option from a plurality of call forwarding options used to forward the call. For example, application server 38 determines the call forwarding option that was used to forward the call.
  • application server 38 selects a mechanism to connect the call between the caller and the recipient’s device 36.
  • the mechanism selected from the mechanisms described above based on the determining of the call forwarding option.
  • application server 38 initiates a communication to the recipient’s device 36 using the mechanism. The mechanism avoids triggering the call forwarding option set at the recipient’s device 36.
  • application server 38 connects the call between the caller and the recipient’s device upon initialing the communication.
  • the application server 38 is now in the call path of the call and performs a call feature such as processing media of the call or performing routing of the call.
  • application server 38 can maintain a table of caller numbers and corresponding actions to perform when a diverted call arrives at the application server from the caller device 30. Actions can be routing-based and configured by the recipient’s preference for each caller.
  • Routing-based actions can include not wanting to accept calls from specific callers or known spam numbers, or only to accept calls from known contact numbers.
  • Feature-based actions can include automatically recording calls from work contacts or unknown numbers, or playing custom greetings to certain users. Users can also be placed into groups that have the same routing and feature configurations applied. Examples of group routing and features are for business client contacts to be greeted by the company greeting, friend contacts to hear a musical ringback tone, known nuisance callers to be played a busy tone and hung up on, known solicitation callers to be sent to voicemail, and unknown callers to have call recording applied automatically before the call is connected to the recipient’s device 36.
  • Some embodiments enable users to communicate using“mixed mode” calls, such as a caller speaks (e.g., first mode) while a recipient can see (e.g., second mode) the caller’s speech represented as text in real-time.
  • the caller may be using voice to communicate because of safety or convenience (e.g., when driving or simply because speaking is faster than typing on a mobile device).
  • the recipient may not be able to engage in a voice conversation due to social norms (e.g. at a library or lecture).
  • the recipient may also want the text to supplement the speech audio due to an inability to hear the speaker (e.g., hearing impaired or in a loud location such as a concert).
  • a copy of the caller’s speech is sent by the application server 38 to the speech-to-text engine 44 in real-time.
  • the transcribed text is then sent at 43 the device application for display on the recipient device 36.
  • the transcribed text can first be sent to the language translation engine 47 and the translated text is then sent to the recipient device 36.
  • the display of text on the recipient device 36 does not prevent the caller’s speech from being sent to the recipient’s device 36 so the choice to listen to the call is left to the recipient.
  • the recipient can choose to speak replies that will be heard by the caller.
  • the recipient can type a reply into the device application and the text is sent to a text-to- speech engine 46.
  • the audio from the text-to- speech conversion is then sent to the application server 38 and played back as call audio to the caller.
  • the text reply can first be sent to the language translation engine 47 for translation to the caller’s preferred language and the translated text then input to the text-to- speech engine 46 and the audio played back to the caller.
  • FIG. 6 depicts a system showing a flow of a conversation where voice is converted to text and text is used to reply according to some embodiments.
  • a caller’s device 30 transmits speech at 71 to a speech-to-text engine 44 that transcribes the audio into a stream of recognized text messages in real-time.
  • the transcribed text is then sent at 73 to a recipient’s device 36, which displays it at 75 using a device application on the device.
  • the second user is able to type a response at 76 on the device keyboard at 77.
  • the application Upon submitting the text response to the application, the application transmits the text reply at 78 to a text-to- speech engine 46 which converts the text to an audio stream that is sent at 80 to the voice user’s device 30 and played back to the voice user.
  • the process repeats itself when the voice user speaks a response to the reply. If able, the text recipient can also use voice to reply by speaking into the recipient device 36 and be heard by the caller device 30
  • FIG. 7 illustrates an example of a special purpose computer systems 700-1 - 700-3 configured with an application server 38 according to one embodiment. Only one instance of computer system 700 will be described for discussion purposes, but it will be recognized that computer system 700 may be implemented for other entities described above, such as [other entities] .
  • Computer system 700 includes a bus 702, network interface 704, a computer processor 706, a memory 708, a storage device 710, and a display 712.
  • Bus 702 may be a communication mechanism for communicating information.
  • Computer processor 706 may execute computer programs stored in memory 708 or storage device 708. Any suitable programming language can be used to implement the routines of particular embodiments including C, C++, Java, assembly language, etc. Different programming techniques can be employed such as procedural or object oriented. The routines can execute on a single computer system 700 or multiple computer systems 700. Further, multiple computer processors 706 may be used.
  • Memory 708 may store instructions, such as source code or binary code, for performing the techniques described above. Memory 708 may also be used for storing variables or other intermediate information during execution of instructions to be executed by processor 706. Examples of memory 708 include random access memory (RAM), read only memory (ROM), or both.
  • RAM random access memory
  • ROM read only memory
  • Storage device 710 may also store instructions, such as source code or binary code, for performing the techniques described above. Storage device 710 may additionally store data used and manipulated by computer processor 706. For example, storage device 710 may be a database that is accessed by computer system 700. Other examples of storage device 710 include random access memory (RAM), read only memory (ROM), a hard drive, a magnetic disk, an optical disk, a CD-ROM, a DVD, a flash memory, a USB memory card, or any other medium from which a computer can read.
  • RAM random access memory
  • ROM read only memory
  • Memory 708 or storage device 710 may be an example of a non-transitory computer-readable storage medium for use by or in connection with computer system 700.
  • the non-transitory computer-readable storage medium contains instructions for controlling a computer system 700 to be configured to perform functions described by particular embodiments.
  • the instructions, when executed by one or more computer processors 706, may be configured to perform that which is described in particular embodiments.
  • Computer system 700 includes a display 712 for displaying information to a computer user.
  • Display 712 may display a user interface used by a user to interact with computer system 700.
  • Computer system 700 also includes a network interface 704 to provide data communication connection over a network, such as a local area network (LAN) or wide area network (WAN). Wireless networks may also be used.
  • network interface 704 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
  • Computer system 700 can send and receive information through network interface 704 across a network 714, which may be an Intranet or the Internet.
  • Computer system 700 may interact with other computer systems 700 through network 714.
  • client-server communications occur through network 714.
  • implementations of particular embodiments may be distributed across computer systems 700 through network 714.
  • Particular embodiments may be implemented in a non-transitory computer- readable storage medium for use by or in connection with the instruction execution system, apparatus, system, or machine.
  • the computer-readable storage medium contains instructions for controlling a computer system to perform a method described by particular embodiments.
  • the computer system may include one or more computing devices.
  • the instructions when executed by one or more computer processors, may be configured to perform that which is described in particular embodiments.

Abstract

La présente invention concerne, dans un mode de réalisation, un dispositif qui reçoit un appel provenant d'un appelant qui est lancé en tant qu'appel de réseau téléphonique public commuté (PSTN) et dirigé vers des premières coordonnées pour un dispositif du destinataire. L'appel est transmis à l'aide d'une option de transfert d'appel non conditionnel au dispositif. Le dispositif récupère des secondes coordonnées pour le dispositif utilisateur du destinataire. Les secondes coordonnées sont différentes des premières coordonnées utilisées dans l'appel PSTN. Le dispositif lance une communication vers le dispositif utilisateur du destinataire à l'aide des secondes coordonnées par l'intermédiaire d'un canal de communication différent du PSTN. La communication évite le déclenchement de l'option de transfert d'appel non conditionnel pour le dispositif du destinataire. Le dispositif connecte l'appel entre l'appelant et le dispositif du destinataire lors du lancement de la communication. Le dispositif se trouve dans un trajet d'appel de l'appel et effectue une caractéristique d'appel pour l'appel.
PCT/US2018/055698 2018-10-12 2018-10-12 Routage d'appel à l'aide d'options de transfert d'appel dans des réseaux de téléphonie WO2020076344A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2018/055698 WO2020076344A1 (fr) 2018-10-12 2018-10-12 Routage d'appel à l'aide d'options de transfert d'appel dans des réseaux de téléphonie

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/055698 WO2020076344A1 (fr) 2018-10-12 2018-10-12 Routage d'appel à l'aide d'options de transfert d'appel dans des réseaux de téléphonie

Publications (1)

Publication Number Publication Date
WO2020076344A1 true WO2020076344A1 (fr) 2020-04-16

Family

ID=70163887

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2018/055698 WO2020076344A1 (fr) 2018-10-12 2018-10-12 Routage d'appel à l'aide d'options de transfert d'appel dans des réseaux de téléphonie

Country Status (1)

Country Link
WO (1) WO2020076344A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11546741B2 (en) * 2017-07-01 2023-01-03 Phoneic, Inc. Call routing using call forwarding options in telephony networks

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0966145A2 (fr) * 1998-06-19 1999-12-22 Nortel Networks Corporation Passerelle pour IP telephonie
US20020057765A1 (en) * 2000-11-16 2002-05-16 Janusz Hyziak Systems and methods for transmitting and receiving text data via a communication device
US20040258233A1 (en) * 2003-01-21 2004-12-23 Behrouz Poustchi Call forwarding systems, methods and network devices
KR101151964B1 (ko) * 2009-11-11 2012-06-01 주식회사 케이티 Pstn 기반의 영상 착신이 가능한 지능망 시스템 및 그 지능망 서비스 제공 방법
US8855107B1 (en) * 2005-07-01 2014-10-07 Callwave Communications, Llc Methods and systems for call routing via a telephone number

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0966145A2 (fr) * 1998-06-19 1999-12-22 Nortel Networks Corporation Passerelle pour IP telephonie
US20020057765A1 (en) * 2000-11-16 2002-05-16 Janusz Hyziak Systems and methods for transmitting and receiving text data via a communication device
US20040258233A1 (en) * 2003-01-21 2004-12-23 Behrouz Poustchi Call forwarding systems, methods and network devices
US8855107B1 (en) * 2005-07-01 2014-10-07 Callwave Communications, Llc Methods and systems for call routing via a telephone number
KR101151964B1 (ko) * 2009-11-11 2012-06-01 주식회사 케이티 Pstn 기반의 영상 착신이 가능한 지능망 시스템 및 그 지능망 서비스 제공 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11546741B2 (en) * 2017-07-01 2023-01-03 Phoneic, Inc. Call routing using call forwarding options in telephony networks

Similar Documents

Publication Publication Date Title
US11546741B2 (en) Call routing using call forwarding options in telephony networks
US7042871B2 (en) Method and system for suppressing early media in a communications network
US7702792B2 (en) Method and system for managing communication sessions between a text-based and a voice-based client
US8369311B1 (en) Methods and systems for providing telephony services to fixed and mobile telephonic devices
US7317716B1 (en) Methods and systems for presence-based telephony communications
US9020108B1 (en) Methods and systems for confirming message delivery
US7123697B2 (en) Method and system for providing a call answering service between a source telephone and a target telephone
US8379824B2 (en) Methods and apparatus to provide a network-based caller identification service in a voice over internet protocol network
US9661035B2 (en) Method and apparatus for providing call flow information to terminal devices
US8532089B2 (en) Call intercept for voice over internet protocol (VoIP)
US8355708B2 (en) Method for announcing a calling party from a communication device
US7688954B2 (en) System and method for identifying caller
CN100531267C (zh) 通信系统中回铃音的实现方法
US20070130260A1 (en) Presence based telephony
US8351913B2 (en) Merging call notifications in cross ringing systems
Mahy et al. A Call Control and Multi-party usage framework for the Session Initiation Protocol (SIP)
US20040156493A1 (en) Method and apparatus for providing a central telephony service for a calling party at the called party telephone
KR100929059B1 (ko) 통신 시스템에서 멀티미디어 컨텐츠 제공 시스템 및 방법
US9854003B2 (en) System and method for initiating telecommunications sessions through an electronic mail address
US9020122B2 (en) Method and apparatus for tagging outgoing telephony calls
WO2020076344A1 (fr) Routage d'appel à l'aide d'options de transfert d'appel dans des réseaux de téléphonie
US9042541B2 (en) Multi-node predictive dialing for scalability
US8594315B1 (en) Speed dial administration based on call history
CA2329395C (fr) Controle d'un terminal destinataire a partir d'un terminal emetteur
CN109769072A (zh) 语音留言的处理方法、存储介质及服务器

Legal Events

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

Ref document number: 18936440

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18936440

Country of ref document: EP

Kind code of ref document: A1