throbber
WO 2009/124223
`
`8/1 6
`
`PCT/USZOO9/039371
`
`$1“im. fiamm
`V

`..
`“NEALa smfiiar
`
`Césaéfi:
`3&8 ‘5‘qu A .
`
`ht
`
`wm 5§fifl§ A5353
`.
`‘
`__,’
`'
`wag} afi$\m
`
`
`imxlwgw
`
`
`m ex
`
`SllO
`
`
`
`Siviz‘m.9\YI\S§t&t&§\V\‘Q\\wfi§-fi§fifli
`13%figs:“
`
`: mmwm "'/ S9
`
`w
`: mfissm
`
`{2%me ‘* 3%
`
`SUBSTITUTE SHEET (RULE 26)
`
`TELESIGN EX1002
`
`Page 221
`TW_00011370
`
`TELESIGN EX1002
`Page 221
`
`

`

`WO 2009/124223
`
`9/1 6
`
`PCT/USZOO9/039371
`
`(ii: ‘ =
`'
`t '
`:
`'
`; n
`mfifififfiw
`Saw "f
`fig:@fifliiw
`‘
`'
`mks $sum my“
`- MW?-
`
`
`8110
`
`S5
`
`
`
`Pamm
`So NR3:
`‘a‘a‘ih 5:33?
`Wmmxfiw xiii:
`
`K
`
`’ WE‘VE-Km}?
`imenfikm mmm
`
`Sm.§n§£m«w§&mx§w
`
`SS
`
`’ 1%“:s? mtw':
`$§*&E.$R}1.%%‘8&8~Wfiw®\
`
`
`
`{Tml‘fif-QN
`
`38%; $1an
`
`W
`
`whmxmm
`N“ NEW“
`
`
`
`‘ méstum;m3 tfismgfix}
`
`
`FIGURE 8
`
`SUBSTITUTE SHEET (RULE 26)
`
`TELESIGN EX1002
`
`Page 222
`TW_00011371
`
`TELESIGN EX1002
`Page 222
`
`

`

`WO 2009/124223
`
`10/16
`
`PCT/USZOO9/039371
`
`mm Bazaar
`-n.-
`-
`damfimi Manda:
`
`‘_
`r.
`”95.123
`3‘fl 13$my fix C‘xfi
`
`35mm mm‘m
`V,
`‘:
`‘
`wag £33m;
`
`Emm w
`$21M
`
`Sl
`
`\ 3;
`
`"
`
`swag»):
`43m“: 1m
`V
`
`$110
`
`3it3§mrigmm
`
`1!} Nif‘ih‘o“
`WW Ni 5.33%.
`Wmmwfi. “A A ‘
`
`ST?S“ fi‘l‘fii‘x‘
`
`mg»: m mammmér
`
`11‘me Wk
`
`FIGURE 9
`
`SUBSTITUTE SHEET (RULE 26)
`
`TELESIGN EX1002
`
`Page 223
`TW_00011372
`
`TELESIGN EX1002
`Page 223
`
`

`

`WO 2009/124223
`
`1 1/16
`
`PCT/USZOO9/039371
`
`Ith m:
`Hit
`Jfififisfitfil .Hfinfilatt
`
`fi'fisavfi:
`Tfiil'm Em? {:fifi:
`
`‘fi‘fitfifi Mimi fififin
`.-_ Ta,
`Watts Efifim
`
`
`s1\_
`8110
`
`
`
`
`S5
`
`’ MY??? S‘ifififi‘fi.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`fitfitfi fififimfimfi
`
`
`
`
`
`
`by“? Wfififimii
`
`
`fimfifimfififififififitfififim
`3’ fitfi
`V
`figfittfi fifiwfifi
`
`SS
`
`
`
`t“ fifitfi {Rafi fifit
`fiéfibfiiffili WEN“? :‘kW
`
`2‘; ffifitgfi fifit fifififi
`tfifi ififififififi fi.
`
`3'
`
`FIGURE 10
`
`SUBSTITUTE SHEET (RULE 26)
`
`TELESIGN EX1002
`
`Page 224
`TW_00011373
`
`TELESIGN EX1002
`Page 224
`
`

`

`WO 2009/124223
`
`12/16
`
`PCT/USZOO9/039371
`
`3113385:
`Emma-E Emmes as me 3}- mm mma“
`uufi‘fifi‘fl Wsimifin:
`“5%. Rmfifl
`,
`.
`.
`WEE“ 39mm N3" message: ssmsssm
`RITE??? Wit-Es MEN
`
`mfimfisms
`KREM{Skis
`
`
`
`“$1§mm$
`New“
`
`S130
`
`51
`
`\
`,s
`m 2.
`inmw U5“
`)
`
`S 3
`
`{ER
`
`'
`
`S3
`
`\
`
`\
`
`$110
`
`
`
`S5
`Nssssssss
`mimfiss\wsfisfissmmm
`7
`7 ¢/ S9
`NE‘2“? E'E’EEE‘. SW3:
`1:, a: W; Esteemfis es msfimm‘sm is} was
`Km EHBE NE; JNKLQRXW
`“Fm E ' Ems}: W E‘s“?
`
`gags ”1&3?!ng
`El 9&1 ‘
`
`fléxfimfie 232%?sz «memefitxfifitsmmmmx :
`S5
`3‘in WEE?
`
`Ewifim‘cfim ' sfi‘mswmmfigéa
`ifigirsfi‘kfi
`
`asfigssas’i'wmm
`
`
`
`
`
`
`
`
`§§s§§ssi¢we,\gkififimmmme‘smxflmmx
`
`8%;ms"s2m3)“
`mm mmsesmss
`“muss
`
`Em {News
`2 m‘fim‘m&\HNEX§.T§.‘§R$W§K§§
`
`2
`
`W
`“\‘E‘
`
`s‘52 st fimemmt/ S9
`
`S7
`
`A/
`
`FIGURE 11
`
`SUBSTITUTE SHEET (RULE 26)
`
`TELESIGN EX1002
`
`Page 225
`TW_00011374
`
`TELESIGN EX1002
`Page 225
`
`

`

`WO 2009/124223
`
`13/16
`
`PCT/USZOO9/039371
`
`‘ Wfifim
`saws-flaw mgr
`
`
`SMS Interfaced
`Web Sgs‘axw
`
`8110
`
`
` SMS Device
`
`
`
`SMS Gatewa
`
`S 1 ‘ —> SMS Sent
`(at 1 PM)
`
`SS
`
`
`N???" “RN?
`twili0.C0m/callmeback/A49F57D
`
`
`mwmwam 4/ S9
`Callback SMS sender at source number at 5PM.
`
`
`NextURL: twilio.com/callmeback/SPM/A49F57D
`
`
`[S7
`
`>.\\\\\‘:-§;« .W 3‘:
`
`
`
`
`t¥.\\\\\\\‘t~:v
`
`Lookup SMS sender,
`call them at a stored
`convenient time at
`
`number specified in
`message.
`
`Call Initiated
`$120 /'to SMS sender
`at 5PM
`
`FIGURE 12
`
`Web Appiicatiun Web Application Web Applicatian
`Sewer N
`Server B
`Server A
`
`,
`0313 Hauter
`
`
`
`
`
`By A
`
`Cali} Sentmféled
`
`By B
`
` Gail Cont'ruélied
`
`Catt Cantrefiied
`
`By A
`
`(3313 Baniméiled
`
`By N
`
`8110
`
`FIGURE 13
`
`SUBSTITUTE SHEET (RULE 26)
`
`TELESIGN EX1002
`
`Page 226
`TW_00011375
`
`TELESIGN EX1002
`Page 226
`
`

`

`WO 2009/124223
`
`14/16
`
`PCT/USZOO9/039371
`
`Web Applicaticn WEB Applicafian Web Agppiinatfian
`Server N
`Server 13
`Server A
`
`7
`5313 ROME-T
`
`\.M\\
`
`
`\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
`
`kk\\
`.r$5»
`.
`§'
`//1
`\§
`
`. Sari CantmtE-efl
`By A
`
`$311? Gontroiied
`By B
`
`{3851 Sentmfied
`
`By A
`
`flail: Gantr‘aiied
`By M
`
`FIGURE 14
`
`SUBSTITUTE SHEET (RULE 26)
`
`TELESIGN EX1002
`
`Page 227
`TW_00011376
`
`TELESIGN EX1002
`Page 227
`
`

`

`WO 2009/124223
`
`15/16
`
`PCT/USZOO9/039371
`
`Case:
`Cali Router AP; for cal! hold
`
`Si
`
`Incoming Cat!
`
`Passesto hURLer with
`init URL twilio.com/app/
`
`l
`.
`Wt
`interceptor
`(init URL
`lockup)
`
`
`
`S7
`hURL Router
`JavaAGl Handier s3
`1
`55
`J
`) / 1
`HTTP POST: twilio.com/app/ ~
`*
`HTTP RESPONSE:
`
`Voice App
`Web Service
`
`S 120
`
`Greeting
`
`Voice App
`Web Hold Service
`
`S3
`
`I. Play greeting
`\, 89
`
`I
`‘
`Cal; Router API POST: can resource
`transfer call control to
`
`S 130
`
`-' ‘‘‘‘‘‘‘‘‘‘ \
`
`HTTP RESPONSE:
`
`E HTTP POST:twario.com/app/hord/
`\
`1.Pray:twifio.com/holdmusic
`
`S7
`
`K, 59
`
`.
`2
`
`8110
`
`twilio.com/app/hold/
`
`S120
`
`
`
`$130
`Carl Router AP! POST:caH resource
`transfer call contror to
`
`37
`V/
`
`twilio.com/app/
`
`HTTPPOST:twilio.c0m/app/ E
`
`FIGURE 15
`
`SUBSTITUTE SHEET (RULE 26)
`
`TELESIGN EX1002
`
`Page 228
`TW_00011377
`
`TELESIGN EX1002
`Page 228
`
`

`

`WO 2009/124223
`
`16/16
`
`PCT/USZOO9/039371
`
` y SJX‘ERK‘
`
`hem” R'sg‘
`
`
`" mxvxnx’
`
`l y ‘1g 3 V
`25'"
`
`$6
`
`
`
`A
`V\\\\\\\\\\\\ “\“\\“‘;
`"§
`
`§\5'
`
`\
`
`“'VK‘
`NWT“
`<'° £3»): .'\\\;\2}st mm» a “a,
`
`
`
`
`max Key
`
`#‘xsmts‘zm‘
`fiaw
`
`
`
`
`KKK-w
`My.»
`:9» Nflaami Na»: RWY}?
`mfifimmhwfiwm \x‘
`
`
`V N“ VVVVVVVVVVVVVVVVVVVV
`
`
`
`
`FIGURE 16
`
`SUBSTITUTE SHEET (RULE 26)
`
`TELESIGN EX1002
`
`Page 229
`TW_00011378
`
`TELESIGN EX1002
`Page 229
`
`

`

`INTERNATIONAL SEARCH REPORT
`
`lmemationa] application No.
`PCT/U82009/039371
`
`A.
`
`CLASSIFICATION OF SUBJECT MATTER
`
`IPC(8) - H04L 12/66 (2009.01)
`USPC - 370/352
`According to lntemational Patent Classification (lPC) or to both national classification and lPC
`B.
`FIELDS SEARCHED
`
`Minimum documentation searched (classification system followed by classification symbols)
`IPC(8) - H04L 12/66 (2009.01)
`USPC - 370l352
`
`Documentation searched other than minimum documentation to the extent that such documents are included in the fields searched
`
`Electronic data base consulted during the international search (name of data base and, where practicable, search terms used)
`MicroPatent
`
`C. DOCUMENTS CONSIDERED TO BE RELEVANT
`‘
`Relevant to claim No.
`Citation of document, with indication, where appropriate, of the relevant passages
`
`
`US 2007/0036143 A1 (ALT et al) 15 February 2007 (15.02.2007) entire document
`
`1-14, 16-19. 21-2527
`
`15. 20. 26
`
`US 2007/0242626 A1 (ALTBERG et al) 18 October 2007 (18.10.2007) entire document
`
`15, 20, 26
`
`El Further documents are listedin the continuation of Box C
`Special categories of cited documents:
`document defining the general state of the art whichts not considered
`to be ofparticular relevance
`earlier application or patent but published on or afier the international
`filing date
`document which may throw doubts on priority claim(s) or which is
`cited to establish the publication date of another citation or other
`special reason (as spec1fied)
`document referring to an oral disclosure, use. exhibition or other
`means
`
`“1”
`
`later document published after the international filing date or
`riority
`date and not in conflict with the applicationbut cited to un erstand
`the principle or theory underlying
`e invention
`“X” document of particular relevance; the claimed invention cannot be
`considered novel or cannot be considered to involve an inventive
`step when the document is taken alone
`document of particular relevance; the claimed invention cannot be
`considered to involve an inventive step when the document
`is
`combined with one or more other such documents such combination
`being obvious to a person skilled1n the art
`
`
`
`document published prior to the international filing date but later than
`the priority date claimed
`Date of the actual completion of the international search
`26 June 2009
`1 4 JUL 2009
`
`Authorized officer:
`Name and mailing address ofthe ISA/US
`Blaine R. Copenheaver
`Mail Stop PCT. Attn: ISA/US. Commissioner for Patents
`PO. Box 1450, Alexandria. Virginia 22313-1450
`PCT Helpdesk: 571-272-4303
`PCT 05?: 571-272-7774
`Facsimile No.
`571-273-3201
`
`& document member of the same patent family
`Date of mailing of the international search report
`
`Form PCT/ISA/ZIO (second sheet) (April 2005)
`
`TELESIGN EX1002
`
`Page 230
`TW_00011379
`
`TELESIGN EX1002
`Page 230
`
`

`

`W02010037064
`
`Publication Title:
`
`SYSTEM AND METHOD FOR PROCESSING MEDIA REQUESTS DURING A
`TELEPHONY SESSIONS
`
`Abstract:
`
`Abstract of WO 2010037064
`
`(A1) Translate this text In a preferred embodiment, the method of caching media
`used in a telephony application includes: receiving a media request; sending the
`media request to a media layer using HTTP; the a media layer performing the
`steps of checking in a cache for the media resource; processing the media
`request within a media processing server; and storing the processed media in the
`cache as a telephony compatible resource specified by a persistent address. The
`system of the preferred embodiment includes a call router and a media layer
`composed of a cache and media processing server.
`
`Courtesy of http://v3.espacenet.com
`
`This Patent PDF Generated by Patent Fefcher(R), a service of Stroke of Coior; inc.
`
`TELESIGN EX1002
`
`Page 231
`TW_00011380
`
`TELESIGN EX1002
`Page 231
`
`

`

`(12) INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`(19) World Intellectual Property Organization
`International Bureau
`
`1 April 2010 (01.04.2010) (10) International Publication Number
`
`(43) International Publication Date
`
`WO 2010/037064 A1
`
`
`(51) International Patent Classification:
`H04M 7/00 (2006.01)
`,
`.
`,
`(21) InternatlonalApphcatlon Number:
`PCT/US2009/058671
`
`(22) International Filing Date:
`28 September 2009 (28.09.2009)
`
`(72) Inventors; and
`(75) Inventors/Applicants O’or US only): LAWSON, Jeffrey
`[US/US]; 548 Market St #14510, San Francisco, CA
`94104 (US). WOLTHUIS, John [US/US]; 548 Market
`St #14510, San Francisco, CA 94104 (US). COOKE,
`Evan [US/US]; 548 Market St #14510, San Francisco,
`CA 94104 (US)
`
`English
`.
`Enghsh
`
`(25) Filing Language:
`_
`(26) Publicatlon Language:
`_
`_
`(30) Prlorlty Data:
`US
`61/100,578
`26 September 2008 (26.09.2008)
`US
`61/100,630
`26 September 2008 (26.09.2008)
`US
`61/100,627
`26 September 2008 (26.09.2008)
`US
`61/156,751
`2 March 2009 (02.03.2009)
`US
`61/156,746
`2 March 2009 (02.03.2009)
`US
`12/417,630
`2 Apr1l 2009 (02.04.2009)
`(for
`(71) Applicant
`all designated States
`except US):
`TWILIO INC. [US/US]; 548 Market St #14510, San
`Francisco, CA 94104 (US).
`
`(74) Agent: SCHOX, Jeffrey; 500 3rd Street #515, San Fran-
`cisco, CA 94107 (US).
`
`(81) Designated States (unless otherwise indicated, for every
`kind ofnational protection available): AE, AG, AL, AM,
`AO, AT, AU, AZ, BA, BB, BG, BH, BR, BW, BY, BZ,
`CA, CH, CL, CN, CO, CR, CU, CZ, DE, DK, DM, DO,
`DZ, EC, EE, EG, ES, FL GB, GD, GE, GH, GM, GT,
`HN, HR, HU, ID, IL, IN, IS, JP, KE, KG, KM, KN, KP,
`I<R, I<Za LA, LC, LI<, LR, LS, LT, LU, LY, MA, MD,
`ME, MG, MK, MN, MW, MX, MY, MZ, NA, NG, NI,
`NO» NZ» OM» PE» PG» PH» PL» PT» RO» RS» RU» SC» SD»
`SE, SG, SK, SL, SM, ST, SV, SY, TJ, TM, TN, TR, TT,
`TZ, UA, UG, US, UZ, VC, VN, ZA, ZM, ZW.
`
`(54) Title: SYSTEM AND METHOD FOR PROCESSING MEDIA REQUESTS DURING A TELEPHONY SESSIONS
`
`[Continued on nextpagej
`
`(57) Abstract: In a preferred embodiment, the method of
`caching media used in a telephony application includes:
`receiving a media request; sending the media request to a
`media layer using HTTP; the a media layer performing the
`steps of checking in a cache for the media resource; pro—
`cessing the media request within a media processing serv-
`er; and storing the processed media in the cache as a tele—
`phony compatible resource specified by a persistent ad-
`dress. The system of the preferred embodiment includes a
`call router and a media layer composed ofa cache and me-
`dia processing scrvcr.
`
`
`
`50
`22
`
`KP CALL ROUTER
`_ "HTTP, , “Wham J
`
`
`
`
`
`
`40
`I
`/
`
`I
`\
`HTTP
`HTTP
`45
`411
`
`41
`/ /
`/
`
`
`
`
`
`
`
`k H'TP CACHE
`<—> E A003 A
`
`
`
`
`
`
`
`
`
`44
`/' \ ENCYPT ON/
`3RD PARTY
`
`\
`HTTP
`HTTP
`DECRYPTION SERVER
`STORAGE SERVER
`/
`\
`"TEXT—TO—SPEECH"
`42
`TRANSCODING
`
`
`
`DMRV'CE—IqADA)”JI\‘43
`
`MEDIA LAYER
`
`
`
`
`AUDIO: MP3, WAV ETC.
`XML INSTRUCTIONS
`PLAIN TEXT
`
`26
`
`J
`[bCUSTOMER WEB APP
`
`
`FIG.
`
`11
`
`TELESIGN EX1002
`
`Page 232
`TW_00011381
`
`
`
`wo2010/037064A1|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||I|||||||||||||II||||||||||||I|I|
`
`TELESIGN EX1002
`Page 232
`
`

`

`WO 2010/037064 A1 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
`
`(84) Designated States (unless otherwise indicated, for every
`kind ofregional protection available): ARIPO (BW, GH,
`
`TR), OAPI (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW,
`ML, MR, NE, SN, TD, TG).
`
`GM, KE, LS, MW, MZ, NA, SD, SL, SZ, TZ, UG, ZM, Published.
`ZW), Eurasian (AM, AZ, BY, KG, KZ, MD, RU, TJ,
`'
`TM), European (AT, BE, BG, CH, CY, CZ, DE, DK, EE, — with international search report (Art. 21(3))
`ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV,
`MC, MK, MT, NL, NO, PL, PT, RO, SE, SI, SK, SM,
`
`TELESIGN EX1002
`
`Page 233
`TW_00011382
`
`TELESIGN EX1002
`Page 233
`
`

`

`WO 2010/037064
`
`PCT/US2009/058671
`
`SYSTEM AND METHOD FOR PROCESSING MEDIA REQUESTS
`
`DURING A TELEPHONY SESSIONS
`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`
`[0001]
`
`This application is a continuation in part of prior application number
`
`12/417,630 filed 02 April 2009 and entitled “System and Method for Processing
`
`Telephony Sessions”, which claims the benefit of the following: US Provisional
`
`Application number 61/ 041,829 filed 02 April 2008 and entitled “System and Method
`
`for Processing Telephony Sessions”; US Provisional Application number 61/055,417
`
`filed on 22 May 2008 and entitled “System and Method for Processing SMS Messages”,
`
`US Provisional Application number 61/100,578 filed on 26 September 2008 and
`
`entitled “System and Method for Processing Telephony Sessions”, US Provisional
`
`Application number 61/156,746 filed on 02 March 2009 and entitled “System and
`
`Method for Processing Telephone Sessions”, and US Provisional Application number
`
`61/ 156,751 filed on 02 March 2009 and entitled “System and Method for Processing
`
`Telephony Sessions”.
`
`[0002]
`
`This application also claims the benefit of the following: US Provisional
`
`Application number 61/ 100,627 filed on 26 September 2008 and entitled “System and
`
`Method of Caching Media for Telephony Sessions” and US Provisional Application
`
`number 61/ 100,630 filed on 26 September 2008 and entitled “System and Method of
`
`Caching Media for Telephony Sessions.”
`
`TELESIGN EX1002
`
`Page 234
`TW_00011383
`
`TELESIGN EX1002
`Page 234
`
`

`

`WO 2010/037064
`
`PCT/US2009/058671
`
`[0003]
`
`All of priority documents identified in this section are incorporated in
`
`their entirety by this reference.
`
`TECHNICAL FIELD
`
`[0004]
`
`This
`
`invention relates generally to the telephony field, and more
`
`specifically to a new and useful system and method for processing media requests
`
`during telephony sessions in the telephony field.
`
`BACKGROUND
`
`[0005]
`
`In the last decade,
`
`legislation and the advent of Voice over Internet
`
`Protocol
`
`(VOIP) have
`
`revolutionized the
`
`communication industry with new
`
`technologies, business models, and service providers. Software and commodity
`
`hardware now provide an alternative to expensive carrier equipment. One can
`
`implement extensible call switching and voice application logic in Open source software
`
`applications, such as Asterisk and FreeSwitch. These new application stacks, however,
`
`usher in new complexities and challenges, requiring new skill sets to deploy, develop,
`
`and maintain. Deploying telephony services requires knowledge of voice networking and
`
`codecs, hardware or services to bridge servers to the public phone infrastructure, capital
`
`investment in hardware, and ongoing collocation of that hardware. These burdens are a
`
`mere prerequisite to developing the actual application, which requires developers to
`
`train in new languages,
`
`tools, and development environments. Even telephony
`
`applications that currently try to leverage a model more similar to web—development
`
`TELESIGN EX1002
`
`Page 235
`TW_00011384
`
`TELESIGN EX1002
`Page 235
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`such as Voice Extensible Markup Language (VoiceXML), require the dedication to learn
`
`a new language and understand telephony interaction. Ongoing operation and
`
`maintenance of these services requires teams to adopt new analysis tools, performance
`
`metrics, and debugging methodologies. Developing even the simplest of voice services
`
`(such as a so—called “phone tree”) requires significant upfront and ongoing investment
`
`in specialized infrastructure, skills, and operations.
`
`[0006]
`
`In similar manner to how multimedia has impacted the advance of the
`
`Internet, interacting with media through telephony services is also becoming more
`
`important for telephony applications. However, media consumption through an internet
`
`browser and a telephony device are completely different experiences, each having
`
`different user expectations. Unlike websites, where users have been conditioned for
`
`loading times and processing time, phone users expect real—time results and often View
`
`processing delays as application annoyances. Internet media is inherently multimedia: a
`
`combination of text, images, video, audio, and other forms of multimedia. Telephony
`
`devices are limited in the format of media consumable by a user. In the case of a typical
`
`phone, audio with 8—bit PCM mono with 8 kHz bandwidth format is the native form.
`
`Tremendous amounts of processing must be performed by telephony applications to
`
`convert from internet media to telephony compatible media. The processing increases
`
`infrastructure costs, slows down the responsiveness of a telephony application, and
`
`overall, limits the possibilities of telephony applications. The inefficiency of media
`
`processing impacts not only one telephony application but all applications operating on
`
`a system. Thus, there is a need in the telephony field to create a new and useful system
`
`TELESIGN EX1002
`
`Page 236
`TW_00011385
`
`TELESIGN EX1002
`Page 236
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`and method for processing media requests during telephony sessions. This invention
`
`provides such a new and useful system and method.
`
`SUMMARY
`
`[0007]
`
`The method of the preferred embodiment for processing telephony
`
`sessions include the steps of communicating with an application server using an
`
`application layer protocol, processing telephony instructions with a call router, and
`
`creating call router resources accessible through an Application Programming Interface
`
`(API). The method and system of the preferred embodiments enables web developers to
`
`use their existing skills and tools with the esoteric world of telephony, making telephony
`
`application development as easy as web programming. The method and system use the
`
`familiar web site visitor model to interact with a web developer’s application, with each
`
`step of the phone call analogous to a traditional page view. Within this model,
`
`developers reuse their existing tools and techniques, including familiar concepts such as
`
`H'I'I‘P redirects, accessing resources through an API, cookies, and mime—type responses
`
`to construct complex telephony applications. The method of processing telephony
`
`instructions and creating call router resources accessible through an API (a call router
`
`API) cooperatively function to enable a stateless and simple telephony language with
`
`more call router resources and information provided through the call router (preferably
`
`a REST API as is familiar to many web developers). In one embodiment, the telephony
`
`instructions set may have fewer than dozen verbs, simplifying the language so that
`
`developers can quickly learn and implement telephony applications, while the call
`
`TELESIGN EX1002
`
`Page 237
`TW_00011386
`
`TELESIGN EX1002
`Page 237
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`router API compliments the simple telephony instructions to enable complex telephony
`
`applications.
`
`[0008]
`
`Within this framework for processing a telephony session, a method and
`
`system is described for caching media of the telephony session. The method and system
`
`include a cache and a media layer that cooperatively works to minimize processing and
`
`create telephony compatible media files that are cacheable. This method and system
`
`further enhances the developer process by removing the complexities of telephone
`
`media formatting and creates an improved telephony application system.
`
`BRIEF DESCRIPTION OF THE FIGURES
`
`[0009]
`
`FIGURE 1 is a flowchart representation of a preferred method of the
`
`invention.
`
`[0010]
`
`FIGURES 2A, 2B, 3A and 3B are schematic representations of preferred
`
`embodiments of the invention.
`
`[0011]
`
`FIGURES 4A — 4C are examples of a HTTP GET request, a HTTP POST
`
`request, and a HTTP GET request, respectively.
`
`[0012]
`
`FIGURES 4D — 4F are examples of a HTTP requests.
`
`[0013]
`
`FIGURES 5A and 5B are examples of XML responses.
`
`[0014]
`
`FIGURE 6 is an example of a call Router request and response.
`
`[0015]
`
`FIGURES 7—9 are schematic representations of various applications that
`
`incorporate the principals of the preferred method of the invention.
`
`TELESIGN EX1002
`
`Page 238
`TW_00011387
`
`TELESIGN EX1002
`Page 238
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`[0016]
`
`FIGURE 10 is a flowchart representation of the sub—steps relating to the
`
`digital signature aspect of the preferred method of the invention.
`
`[0017]
`
`FIGURE 11 is a schematic diagram of the preferred embodiment of the
`
`invention.
`
`[0018]
`
`FIGURE 12 is a flowchart diagram of a preferred method.
`
`[0019]
`
`FIGURE 13 is a flowchart diagram of a first preferred variation of the
`
`preferred method, including a Text—To—Speech audio conversion.
`
`[0020]
`
`FIGURE 14 is a flowchart diagram of a second preferred variation
`
`including audio transcoding.
`
`[0021]
`
`FIGURE 15 is a schematic diagram of the preferred embodiment
`
`interfacing with a professional recording server.
`
`DESCRIPTION OF THE PREFERRED EMBODIMENTS
`
`[0022]
`
`The following description of the preferred embodiments of the invention is
`
`not intended to limit the invention to these preferred embodiments, but rather to enable
`
`any person skilled in the art to make and use this invention.
`
`1.
`
`Method for Processing Telephony Sessions
`
`[0023]
`
`As shown in FIGURES 1, 2A, 2B, 3A, and 3B, the method 10 of the
`
`preferred embodiment
`
`for processing telephony sessions
`
`include the steps of
`
`communicating with an application server using an application layer protocol SllO,
`
`processing telephony instructions with a call router $120, and creating call router
`
`TELESIGN EX1002
`
`Page 239
`TW_00011388
`
`TELESIGN EX1002
`Page 239
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`resources accessible through an Application Programming Interface (API) S130. The
`
`preferred method may also include other steps and/or sub—steps, as explained below.
`
`
`1A.
`Communicating with an Application Server
`
`[0024]
`
`As shown in FIGURE 1, the step of communicating with an application
`
`server using an application layer protocol 8110 preferably includes the following sub—
`
`steps: initiating a telephony session 81, mapping a call to a Universal Resource Identifier
`
`(URI) 83, sending a request to a server associated with the URI S5, processing the
`
`request corresponding to the state of a telephony session S7, and receiving a response
`
`from the server S9. One of the challenges of using the familiar web site visitor model is
`
`that a third party web application may expose URIs that contain sensitive data or that
`
`suggest actions that could maliciously manipulate the application database. In the
`
`preferred embodiment, the call router cryptographically signs outbound requests to
`
`customer web applications using an account-specific key. More specifically, the step of
`
`communicating with the application server includes the additional steps of digitally
`
`signing the request parameters S4 and verifying the digital signature of the request
`
`parameters S6. Only the call router and the application server know that key, so any
`
`request that includes parameters (URL, POST data, headers, etc) signed with that key
`
`can be checked for authenticity before allowing such operations. This method also
`
`provides verification of authenticity over insecure links (H'ITP) with low CPU overhead.
`
`[0025]
`
`Step 31, which recites initiating a telephony session, functions to accept an
`
`incoming message. The message is preferably a call from a PSTN—connected (Public
`
`TELESIGN EX1002
`
`Page 240
`TW_00011389
`
`TELESIGN EX1002
`Page 240
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`Switched Telephone Network) or Internet addressable devices, such as landline phones,
`
`cellular phones, satellite phones, Voice—Over—Internet—Protocol (VOIP) phones, SIP
`
`devices, Skype, Gtalk, or any other suitable PSTN—connected or Internet addressable
`
`voice device. The message may alternatively be a Short Message Service (SMS) message.
`
`A SMS gateway server may alternatively connect to a SMS network through a Short
`
`Message Service Center (“SMS—C”), directly to the Signaling System #7 (SS7) telephony
`
`network, or by any other suitable SMS gateway provider, and the message is preferably
`
`received from the gateway by the call router and translated into a format (such as a URI)
`
`that can be sent over the public Internet such as HTI‘P, based on the recipient address of
`
`the SMS, such as a short code, or Direct Inward Dialing (DID), or other suitable unique
`
`recipient identifier. The message may alternatively be a multimedia message, a facsimile
`
`transmission, an email, or any other suitable messaging medium. The originating phone
`
`number of the PSTN device is preferably captured using caller ID, but any other suitable
`
`ID may be captured, such as a VOIP provider ID, SMS device number, email address, or
`
`a short code. The dialed phone number, the EIN, and/or billing identifier, and/ or the
`
`date and time of the call are also preferably included in the session information. An
`
`authentication ID may additionally or alternatively be included in the session
`
`information.
`
`[0026]
`
`In one variation, Step Sl also functions to initiate a telephony session
`
`(such as a phone call) via an HTTP or other request sent to a call router from an
`
`application running on a third—party server. In this variation, the application running on
`
`the server preferably specifies an initial URI for the call router to use for telephony
`
`TELESIGN EX1002
`
`Page 241
`TW_00011390
`
`TELESIGN EX1002
`Page 241
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`session in step 83, as well as the phone number (or other addressable destination) to
`
`dial and the source phone number (caller id). In this variation, the call router API is
`
`preferably used by the application server to request an outgoing call from the call router.
`
`[0027]
`
`Step S3, which recites mapping the call to a Universal Resource Identifier
`
`(URI), functions to enable a telephony session to be converted into a format that may be
`
`handled with standard web servers and web applications. The mapping is preferably
`
`performed using a call router. The initial URI is preferably pre—specified at the call
`
`router by a web application (which may be running on a third party server) or call router
`
`account owner. More preferably, the initial URI is assigned to the call via a unique
`
`identifier for the call destination, such as a DID (Direct Inbound Dial) phone number, or
`
`a VOIP SIP address. The URI may alternatively be specified by a remote server or other
`
`suitable device or method. In one variation, the URI may be used to encapsulate state
`
`information or a portion of state information from the initiated telephony session, such
`
`as the originating phone number, the dialed phone number, the date and time of the
`
`call, geographic location of the caller (e.g. country, city, state, and/or zip), and/or the
`
`unique call ID. The information included in the URI may be included in the form of a
`
`URI
`
`template.
`
`For
`
`example
`
`the
`
`URI
`
`default
`
`template
`
`could
`
`be:
`
`http: //demo.twilio.com/myapp/{dialed phone number}/{originating phone number} or
`
`http: //demo.twilio.com/myapp/foo.php?dialed_number={dialed
`
`phone
`
`number}&
`
`originatinginumber={originating phone number}.
`
`[0028]
`
`Step S4 functions to digitally sign the request parameters. As shown in
`
`FIGURE 10, Step S4 preferably determines the call router account owner and, more
`
`TELESIGN EX1002
`
`Page 242
`TW_00011391
`
`TELESIGN EX1002
`Page 242
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`preferably, looks up the account owner’s unique ID or secret key and signs a set of
`
`request parameters. Step S4 is preferably accomplished by generating a cryptographic
`
`hash of the request parameters, preferably including the URI as well as any request body
`
`parameters (in the case of an HTTP POST, for example) with the unique key associated
`
`with the call router account owner. The cryptographic hash is preferably generated by
`
`appending the hash of the request parameters to the original set of request parameters.
`
`The hash is preferably appended to a URL, but if the hash is particularly long (i.e. for a
`
`very large number of parameters) the hash may be included in an HTTP header, where
`
`there is no limitation on size. In a variation of Step S4, at least one sensitive parameter
`
`may be individually encrypted using the account owner’s secret key before the hash is
`
`processed. In another variation, a cryptographic credential delegation system, such as
`
`Oauth (oauth.net), may alternatively be used to electronically sign the request.
`
`[0029]
`
`Step S5 functions to send the request to a server. Preferably, the request is
`
`sent to a URI and, more preferably, the request is sent to the URI mapped in $3. The
`
`request preferably includes a cryptographic hash computed from the set of request
`
`parameters (acting as a digital signature), but the request may alternatively include
`
`individually encrypted request parameters if the parameters are determined to contain
`
`sensitive data. The server is preferably a third party server and, more preferably, the
`
`server is running a web application. The request is preferably sent to a server over a
`
`network. In one variation, the request is sent to a local server on a local area network. In
`
`another variation,
`
`the request
`
`is sent to a server running locally on the device
`
`originating the call. In yet another variation, the request may be sent to multiple servers.
`
`10
`
`TELESIGN EX1002
`
`Page 243
`TW_00011392
`
`TELESIGN EX1002
`Page 243
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`The request preferably encapsulates at least a portion of the state information from the
`
`initiated telephony session, such as the originating phone number, the dialed phone
`
`number, the date and time of the call, geographic location of the caller (e.g. country, city,
`
`and/or state, zip), and/or the unique call ID. The request, more preferably, encapsulates
`
`all the state information of the call, but may alternatively include no state information or
`
`partial state information. The state information from the initiated telephony session is
`
`preferably sent via HTTP POST in the request body, H'I'I‘P GET in the request URI,
`
`HTTP header parameters to mimic the data flow of a web browser, or by any
`
`combination or suitable alternative way. If new state information is generated in the
`
`course of the operation of the call router, a request to the application server is preferably
`
`made to communicate the new state and to request new telephony instructions.
`
`Preferably, new state information is not kept or acted upon internally by the call router,
`
`but is passed to the application server for processing. Alternatively, partial state
`
`information is preferably stored on the call router until a fully updated state is achieved,
`
`and then communicated to the application server. For example, the application server
`
`may specify that multiple digits should be pressed on the keypad, not just one, before
`
`new call state is derived and communicated to the application server. In one variation,
`
`the information from the initiated telephone session may be a web—form submission
`
`included in the HTTP POST request. The request may include any state information
`
`from the telephony session, such as the originating phone number, the dialed phone
`
`number, the date and time of the call, and/or the unique call ID, the current status of
`
`the phone call (pending,
`
`in—progress, completed, etc.), or the results of a telephony
`
`11
`
`TELESIGN EX1002
`
`Page 244
`TW_00011393
`
`TELESIGN EX1002
`Page 244
`
`

`

`WO 2010/037064
`
`PCT/U82009/058671
`
`action,
`
`including Dual Tone Multi Frequency (DTMF) digit processing, or
`
`a
`
`representation of or a link to a sound recording, or the status of the last command, or
`
`other call state. Examples of a HTTP GET request, a HTTP POST request, and a HTTP
`
`GET request are shown in FIGURES 4A, 4B, and 40, respectively. Further examples of
`
`HTTP communication used for SMS messaging are shown in FIGURES 4D, 4E, and 4F.
`
`The HTTP request (or any suitable request communication) to the server

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket