# US 10,455,094 B2 · Telephony web event system and method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,455,094 B2
- Document ID: US10455094B2
- Status: Granted
- Kind: B2
- Application number: 16/241,746
- Filed: 2019-01-07
- Published: 2019-07-11
- Granted: 2019-10-22
- Earliest claimed: 2008-10-01
- Assignees: Twilio Inc.
- Applicants: Twilio Inc.
- Inventors: Jeffrey Lawson; John Wolthuis; Evan Cooke
- Web page: https://patentgrep.com/patent/US10455094B2

## CPC

- H04M 7/0012: {Details of application programming interfaces [API] for telephone networks; Arrangements which combine a telephonic communication equipment and a computer, i.e. computer telephony integration [CPI] arrangements}
- H04L 12/66: Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
- H04L 51/52: for supporting social networking services
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04M 3/2209: {for lines also used for data transmission}
- H04M 3/2218: {Call detail recording}
- H04M 7/006: {Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP) , including next generation networks with a packet-switched transport layer (H04L65/00 takes precedence; aspects not specific to the type of network H04M3/00; special services in those networks H04M3/42)}
- H04M 15/00: Arrangements for metering, time-control or time indication {; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP}
- H04M 15/44: {Augmented, consolidated or itemized billing statement or bill presentation}
- H04M 15/90: {using Intelligent Networks [IN] or Advanced Intelligent Networks [AIN]}
- H04M 3/42229: {Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location (diverting calls from one subscriber to another subscriber, i.e. two different subscriptions H04M3/54; selecting arrangements in intelligent networks H04Q3/005)}
- H04M 7/123: {where the packet-switched network is an Internet Protocol Multimedia System-type network}
- H04M 7/128: {Details of addressing, directories or routing tables}
- H04M 2215/0104: Augmented, consolidated or itemised billing statement, e.g. additional billing information, bill presentation, layout, format, e-mail, fax, printout, itemised bill per service or per account, cumulative billing, consolidated billing
- H04M 2215/016: Billing using Intelligent Networks [IN] or Advanced Intelligent Networks [AIN]
- H04M 2215/018: On-line real-time billing, able to see billing information while in communication, e.g. via the internet
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An embodiment of the system for publishing events of a telephony application to a client includes a call router that generates events from the telephony application and an event router that manages the publication of events generated by the call router and that manages the subscription to events by clients. The system can be used with a telephony application that interfaces with a telephony device and an application server.

## Claims

### Claim 1

A method comprising:
detecting, by an event router, a first event record published by a communication system, the event record indicating that the communication system received an application instruction associated with a first account of a plurality of accounts of the communication system;
transmitting the first event record to a first subscriber that is subscribed to events associated with the first account;
detecting, by the event router, a second event record published by the communication system, the second event record indicating that the communication system received an application instruction associated with a second account of the plurality of accounts of the communication system; and
transmitting the second event record to a second subscriber that is subscribed to events associated with the second account.

### Claim 2 (depends on 1)

The method of claim 1, wherein the application instruction associated with the first account is received by the communication system from an application server via an Application Programming Interface (API).

### Claim 3 (depends on 2)

The method of claim 2, wherein transmitting the first event record to the first subscriber that is subscribed to events associated with the first account comprises:
transmitting the first event record to the application server.

### Claim 4 (depends on 3)

The method of claim 3, wherein the first event is transmitted to the application server via an HTTP connection.

### Claim 5 (depends on 1)

The method of claim 1, wherein the application instruction associated with the first account is an instruction to dial a phone number.

### Claim 6 (depends on 1)

The method of claim 1, wherein the application instruction associated with the first account controls interaction between a telephony device and a call router.

### Claim 7 (depends on 6)

The method of claim 6, wherein the first event record is published based on the call router dialing a number.

### Claim 8 (depends on 6)

The method of claim 6, wherein the first event record is published based on the call router starting a Text-To-Speech conversation.

### Claim 9 (depends on 6)

The method of claim 6, wherein the first event record is published based on the call router gathering telephony input.

### Claim 10 (depends on 6)

The method of claim 6, wherein the first event record is published based on the call router playing an audio file.

### Claim 11

An event router comprising:
one or more computer processors; and
one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the event router to perform operations comprising:
detecting a first event record published by a communication system, the event record indicating that the communication system received an application instruction associated with a first account of a plurality of accounts of the communication system;
transmitting the first event record to a first subscriber that is subscribed to events associated with the first account;
detecting a second event record published by the communication system, the second event record indicating that the communication system received an application instruction associated with a second account of the plurality of accounts of the communication system; and
transmitting the second event record to a second subscriber that is subscribed to events associated with the second account.

### Claim 12 (depends on 11)

The event router of claim 11, wherein the application instruction associated with the first account is received by the communication system from an application server via an Application Programming Interface (API).

### Claim 13 (depends on 12)

The event router of claim 12, wherein transmitting the first event record to the first subscriber that is subscribed to events associated with the first account comprises:
transmitting the first event record to the application server.

### Claim 14 (depends on 13)

The event router of claim 13, wherein the first event is transmitted to the application server via an HTTP connection.

### Claim 15 (depends on 11)

The event router of claim 11, wherein the application instruction associated with the first account is an instruction to dial a phone number.

### Claim 16 (depends on 11)

The event router of claim 11, wherein the application instruction associated with the first account controls interaction between a telephony device and a call router.

### Claim 17 (depends on 16)

The event router of claim 16, wherein the first event record is published based on the call router dialing a number.

### Claim 18 (depends on 16)

The event router of claim 16, wherein the first event record is published based on the call router starting a Text-To-Speech conversation.

### Claim 19 (depends on 16)

The event router of claim 16, wherein the first event record is published based on the call router gathering telephony input.

### Claim 20

A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of an event router, cause the event router to perform operations comprising:
detecting a first event record published by a communication system, the event record indicating that the communication system received an application instruction associated with a first account of a plurality of accounts of the communication system;
transmitting the first event record to a first subscriber that is subscribed to events associated with the first account;
detecting a second event record published by the communication system, the second event record indicating that the communication system received an application instruction associated with a second account of the plurality of accounts of the communication system; and
transmitting the second event record to a second subscriber that is subscribed to events associated with the second account.
