`
`;;
`
`;;
`
`;M
`
` Copyright (C) Webley Systems 1996-199. All rights reserved.
` Main GSL file for Webley
`;
`; $Id: menuProto.grammar,v 1.1 2000/01/08 01:30:14 alex Exp $
`#include "common_webley.grammar"
`#include "confirmation.grammar"
`#include "number.grammar"
`;#include "corporate.grammar"
` Webley main menu
`ENU_CHECK [check read access (go to) ]
`MENU_LISTEN
`[MENU_CHECK (listen to) play ]
`MENU_RECOVER
`[ recover restore undelete ]
`MENU_DELETED
`[deleted trashed]
`MENU_PHONE [phone telephone]
`MENU_NUMBER
`[(MENU_PHONE ?number) number]
`MENU_MEMBER
`[member subscriber]
`MENU_SETUP [setup make]
`MENU_CHANGE
`[change update]
`MENU_FORWARD
`[forward copy]
`MENU_MY
`[my the]
`MENU_THRU [through in]
`MENU_CELL [cell cellular]
`MENU_THE
`[the call]
`MENU_MESSAGES
`[ ( ?voice [messages message] ) voicemail ]
`MENU_XFER ( [transfer forward] ?my calls )
`BY
`[ by via ]
`PAGER
`[ page pager beeper ]
`FIND
`[ find call ]
`WHAT_IS
`[ what's (what is) (tell me) (look up) read
`give_me (give me) ]
`GOTO_MAIN ( ?[ (back to) (go to)] main menu )
`ULL_PHONE_NUMBER (
` ?[um uh]
` [
` ( ?[(area code) ACCESS_CODE:n1]
` AREA_CODE:n2 ?[um uh] PHONE_NUMBER:n3 )
`{return (strcat($n1 strcat($n2 $n3)))}
` ( PHONE_NUMBER:n ) {return($n)}
` ( PHONE_NUMBER:n2 (area code) AREA_CODE:n1 )
`{return(strcat($n1 $n2))}
` ( PHONE_NUMBER:n2 AREA_CODE:n1 (area code) )
`{return(strcat($n1 $n2))}
` ]
`)
`ACCESS_CODE
`PHONE_NUMBER
`
`( one ) {return (1)}
`( PHONE_PREFIX:n1 PHONE_LAST_FOUR:n2 )
`{return (strcat($n1 $n2))}
`
`1
`
`;F
`
`Parus Exhibit 2040
`Google, et al. v. Parus Holdings, Inc.
`IPR2020-00846
`Page 1 of 21
`
`
`
`AREA_CODE [
`(DigitsFirstNpa:n hundred ) {return (mul($n
`100))}
`(tripple Non_zero:n)
`{return (strcat($n
`strcat($n $n)))}
`( DigitsNxx:n1 Digit:n2 Digit:n3 )
`{return (strcat($n1 strcat($n2 $n3)))}
`]
`DigitsNxx [
`
`two {return(2)}
`three {return(3)}
`four {return(4)}
`five {return(5)}
`six {return(6)}
`seven {return(7)}
`eight {return(8)}
`nine {return(9)}
`]
`DigitsFirstNpa [
`eight {return(8)}
`nine {return(9)}
`
`]
`( DigitsNxx:n1 Digit:n2 Digit:n3 )
`PHONE_PREFIX
`{return (strcat($n1 strcat($n2 $n3)))}
`PHONE_LAST_FOUR [
`( Digit:n1 Digit:n2 Digit:n3 Digit:n4 )
`{return (strcat(strcat($n1 $n2) strcat($n3
`( Non_zero:n thousand ) {return (mul($n 1000))}
`( Two_digit:n hundred ) {return (mul($n 100))}
`]
`ZIP_CODE ( Digit:n1 Digit:n2 Digit:n3 Digit:n4 Digit:n5 )
` {return (strcat(strcat(strcat($n1 $n2)
`strcat($n3 $n4))) $n5))}
`
`$n4)))}
`
`[
`MENU10
`( [ (do i have) (did i get) ] ?any ?new
`MENU_MESSAGES ) {<menu 10>}
`(MENU_LISTEN ?[my the this new] MENU_MESSAGES ) {<menu
`10>}
`(MENU_LISTEN ?[my the this] saved MENU_MESSAGES )
`{<menu 11>}
`(enter message archive) {<menu 11>}
`(MENU_RECOVER MENU_DELETED messages) {<menu 13>}
`(MENU_RECOVER MENU_DELETED faxes) {<menu 14>}
`]
`
`MENU20
`16>}
`
`[
`([try dial redial] ?the (last MENU_NUMBER ) ) {<menu
`
`2
`
`Parus Exhibit 2040, Page 2 of 21
`
`
`
`193>}
`MENU30
`
`(make ?a call) {<menu 20>}
`(call ?MENU_MY office) {<menu 21>}
`(call ?my home) {<menu 22>}
`(call ?my [contact contacts]) {<menu 23>}
`(call MENU_MEMBER) {<menu 24>}
`(dial ?a MENU_NUMBER ) {<menu 25>}
`(MENU_SETUP ?a conference ?call) {<menu 26>}
`(join ?[a the] conference ?call) {<menu 27>}
`(locate MENU_MEMBER) {<menu 28>}
`( dial FULL_PHONE_NUMBER:n {<number $n>} ) {<menu
`]
`[
` MENU_XFER {<menu 30>}
` ( MENU_XFER to ?my voicemail ) {<menu 34>}
` ( MENU_XFER to ?MENU_MY office ?MENU_NUMBER )
`{<menu 31>}
` ( MENU_XFER to ?MENU_MY home ?MENU_NUMBER )
`{<menu 32>}
` ( MENU_XFER to ?MENU_MY mobile ?MENU_NUMBER )
`{<menu 33>}
` ( MENU_XFER to ?MENU_MY
` [this current] ?MENU_NUMBER ) {<menu
`35>}
` ( MENU_XFER to [( ?[some the] other) another]
`{<command 2>}
` MENU_NUMBER ) {<menu 35>}
` ( MENU_XFER to ?MENU_MY MENU_CELL ?MENU_NUMBER )
`{<menu 36>}
` ( MENU_XFER to ?MENU_MY operator ?MENU_NUMBER )
`{<menu 37>}
` ( MENU_XFER [by using via to]
`?[a the] ?call blast) {<menu 38>}
` ( MENU_XFER to ?MENU_MY [contact contacts] ?
`MENU_NUMBER )
`{<menu 39>}
`]
`[( [set change] ?my personal options) {<menu 40>}
`(MENU_CHANGE ?my security code) {<menu 41>}
`(MENU_CHANGE ?my name recording) {<menu 42>}
` ( [ rerecord record ] my name ) {<menu 42>}
`([ MENU_CHANGE rerecord ] ?my ?personal greeting)
`{<menu 43>}
` (record ?new ?personal greeting) {<menu 43>}
`(MENU_CHANGE ?my call screening) {<menu 44>}
`(MENU_CHANGE ?my call waiting) {<menu 45>}
`(MENU_CHANGE ?my fax forwarding) {<menu 46>}
`(MENU_CHANGE ?my calling card ) {<menu 47>}
`([ MENU_CHANGE switch (switch to new) new ] ?assistant
`[voice personality] ) {<menu 48>}
`]
`[(MENU_CHANGE ?my [(MENU_PHONE ?[number numbers])
`
`MENU40
`
`;
`
`MENU50
`
`3
`
`Parus Exhibit 2040, Page 3 of 21
`
`
`
`faxes) ]
`
`;
`
`MENU60
`60>}
`
`[number numbers] ]) {<menu 50>}
`(MENU_CHANGE ?my current MENU_NUMBER) {<menu 51>}
`(MENU_CHANGE ?my office MENU_NUMBER) {<menu 52>}
`(MENU_CHANGE ?my home MENU_NUMBER) {<menu 53>}
`(MENU_CHANGE ?my mobile MENU_NUMBER) {<menu 54>}
`(MENU_CHANGE ?my pager number) {<menu 55>}
`(MENU_CHANGE ?my MENU_CELL MENU_NUMBER) {<menu 56>}
`(MENU_CHANGE ?my fax number) {<menu 57>}
`(MENU_CHANGE ?my operator MENU_NUMBER) {<menu 58>}
`]
`[(MENU_CHANGE ?my ?message notification) {<menu
`(notify me BY PAGER)
`{<menu 61>}
`(notify me BY e_mail)
`{<menu 62>}
`(notify me by audio through e_mail) {<menu 63>}
`([transfer forward] {<command 30>}
` ?my [ calls MENU_MESSAGES faxes (MENU_MESSAGES and
`to ?my e_mail ?address) {<menu 63>}
`(turn notification off)
`{<menu 64>}
`(stop ?message notification )
`{<menu 64>}
`(don't notify me)
`{<menu 64>}
`(notify me BY [ (MENU_PHONE call) voice] ) {<menu 65>}
`(notify me BY broadcast)
`{<menu 66>}
`(notify me BY e_mail and PAGER) {<menu 66>}
`(notify me BY PAGER and e_mail) {<menu 66>}
`(start following me)
`{<menu 68>}
`(follow me)
`{<menu 68>}
`(stop following me)
`{<menu 69>}
`(don't follow me)
`{<menu 69>}
`]
`[
`( leave ?a [( ?voice message ) voicemail ]
`?(to MENU_MEMBER) ) {<menu 70>}
`(broadcast ?a message) {<menu 71>}
`( what time is it ?now ) {<menu 79>}
`( [ what's (what is) (tell me) give_me ]
`?the current time ) {<menu 79>}
`]
`[
`{<menu 80>}
`(MENU_CHECK ?my e_mail)
`( [ (do i have) (did i get) ] ?any ?new e_mail )
`{<menu 80>}
`(MENU_CHECK ?my faxes)
`{<menu 81>}
`( [ (do i have) (did i get) ] ?any ?new faxes )
`{<menu 81>}
`(send ?a page to MENU_MEMBER)
`{<menu 82>}
`( page MENU_MEMBER)
`{<menu 82>}
`( send ?a page ?(to ?my contact)) {<menu 83>}
`( page ?my contact)
`{<menu 83>}
`(send ?a message ?([through via] e_mail)) {<menu 85>}
`(leave ?a message ([through via] e_mail)) {<menu 85>}
`
`MENU70
`
`MENU80
`
`4
`
`Parus Exhibit 2040, Page 4 of 21
`
`
`
`MENU90
`
`191>}
`
`([leave send compose] ?an e_mail ?message
`?(to ?my contact) ) {<menu 85>}
`([leave send] ?a message to ?my contact ) {<menu 85>}
`(e_mail to ?my contact )
` {<menu 85>}
`(?check fax ?delivery status)
` {<menu 86>}
`(transcribe and send
`?(to ?my contact) ) {<menu 87>}
`([dictate transcribe] ?[a the this my]
`?voice ?message ) {<menu 87>}
`( WHAT_IS ?[the my] contact [data info information
` (pager ?number) {<class 32>}
` (fax ?number) {<class 64>}
` MENU_NUMBER {<class 16>}
` (?e_mail address) {<class 128>} ] ) {<menu 88>}
`]
`[
`( WHAT_IS ?[the my] [web internet]
`[password (pass code) (access code)] ) {<menu
`(?[do run] initial setup ) {<menu 192>}
` ?WHAT_IS ?the weather ?[info information report
`conditions]
` ? ( (?like in )
`[
`( (area code) AREA_CODE:n ) {<number $n>}
`( AREA_CODE:n (area code) ) {<number $n>}
`( (zip ?code) ZIP_CODE:n ) {<number $n>}
`( ZIP_CODE:n (zip ?code) ) {<number $n>}
`]
` )
`) {<menu 194>}
`( [ check (look up) (read ?me) give_me (give me) ]
` [ stock stocks ]
`) {<menu 195>}
`(enable barge MENU_THRU) {<menu 96>}
` (?call customer [service care support] ) {<menu
`94>}
` ([just wait] a [minute moment second] ) {<menu
`95>}
` ([allow enable] rules) {<menu 92>}
` (disable rules) {<menu 93>}
` (disable barge MENU_THRU) {<menu 97>}
` ( [ let_me (let me) ] put you on hold) {<menu
`98>}
` ( hold ?on ) {<menu
`98>}
`( [goodbye (bye bye) ] ?PERSONA) {<menu 99>}
`]
`[
`
`MENU500
`
`5
`
`(
`
`Parus Exhibit 2040, Page 5 of 21
`
`
`
`MENUMAIN
`
`OPTIONS {<menu 500>}
`CANCEL {<menu 501>}
`PERSONA {<menu 502>}
`]
`[MENU10
`MENU20
`MENU30
`MENU40
`MENU50
`MENU60
`MENU70
`MENU80
`MENU90
`MENU500
`]
`( ?POLITE_PREFIX MENUMAIN ?please )
`.MENU
` Corporate grammars, dynamically loaded
`CALL_DYNAMIC:dynamic [ ]
`.MCALL ( ?POLITE_PREFIX
`[
` MCALL_DYNAMIC
` ( ?( join ?[the a] ) conference ?call ) {<mcall
`3>}
` ( ?dial ?(the an) extension)
` {<mcall 8>}
` OPERATOR
` {<mcall 0>}
` ( PERSONA ?(message center) ) {<mcall
`502_P>}
` ( ?my message center )
` {<mcall
`502_P>}
` ( ?[hello hi] [ (this is) that's it's ] me ) {<mcall
`502_P>}
` OPTIONS {<mcall
`500_C>}
` CANCEL
` {<mcall 501_C>}
` ]
`?please
`)
`WEBLEY ( ?POLITE_PREFIX
` [
` {<mcall 1>}
` ( put ?[my the] call through )
` [(FIND them) find_them (FIND him) (FIND her) ]
`{<mcall 1>}
` ( [take leave] ?a [( ?voice message ) voicemail ])
`{<mcall 2>}
` ( ?( join ?[the a] ) conference ?call ) {<mcall
`3>}
` ( [(send ?them) send_them] ?a page)
`{<mcall 4>}
`
`;;
`
`;M
`
`6
`
`;.
`
`Parus Exhibit 2040, Page 6 of 21
`
`
`
`{<mcall 4>}
` [ page_them ( page them ) ]
` ( [ (send ?them) send_them] ?an e_mail ?message) {<mcall
`5>}
` ( [ (send ?them) send_them] ?a fax )
`{<mcall 6>}
` ( repeat ?[these the my] [choices options] ) {<mcall
`9>}
` ( [(give ?me) give_me ] ?more [choices options] )
`{<mcall 9>}
` CANCEL
` {<mcall 501_C>}
` ( PERSONA (message center) ) {<mcall
`502_P>}
` ( ?my message center ) {<mcall
`502_P>}
` ( [ (this is) that's it's ] me )
`{<mcall
`502_P>}
` (MENU_LISTEN ?[my the new] MENU_MESSAGES ) {<mcall 10
`_P>}
` (make ?a call)
`{<mcall 20_P>}
` MENU_XFER
`{<mcall 30_P>}
` (MENU_CHECK ?my faxes)
`{<mcall 81_P>}
` (MENU_CHECK ?my e_mail)
`{<mcall 80_P>}
` ]
` ?please
`)
`; Webley contacts, dynamically loaded
`ONTACTS_DYNAMIC:dynamic [ ]
`.CONTACTS ( ?[um uh]
`[ CONTACTS_DYNAMIC
` CANCEL {<menu 501>}
` [ PERSONA GOTO_MAIN ] {<menu 502>}
`please
`
`]?
`
`;C
`
` )
`LISTS_DYNAMIC:dynamic [ ]
`.LISTS
` ( ?[um uh]
`[ LISTS_DYNAMIC
` CANCEL {<menu 501_C>}
` [ PERSONA GOTO_MAIN ] {<menu 502_P>}
`]
`?please
`)
`ZIPS_DYNAMIC:dynamic [ ]
`.ZIPS ( ?[um uh]
` [
`ZIPS_DYNAMIC
` ( (area code) AREA_CODE:n ) {<number $n>}
` ( AREA_CODE:n (area code) ) {<number $n>}
`
`7
`
`Parus Exhibit 2040, Page 7 of 21
`
`
`
` ( (zip ?code) ZIP_CODE:n ) {<number $n>}
` ( ZIP_CODE:n (zip ?code) ) {<number $n>}
` CANCEL {<menu 501_C>}
` [ PERSONA GOTO_MAIN ] {<menu 502_P>}
` ]
` ?please
` )
`
`;;
`
` Webley personal options menu
`ADMENU ( ?POLITE_PREFIX
`[
` (MENU_CHANGE ?my security code) {<admenu 41>}
` (MENU_CHANGE ?my name recording) {<admenu 42>}
` ( [ rerecord record ] my name ) {<admenu 42>}
` (MENU_CHANGE ?my ?personal greeting) {<admenu
`43>}
` (record ?new ?personal greeting) {<admenu 43>}
` (MENU_CHANGE ?my call screening) {<admenu 44>}
` (MENU_CHANGE ?my call waiting) {<admenu 45>}
` (MENU_CHANGE ?my fax forwarding) {<admenu 46>}
`;
`(MENU_CHANGE ?my calling card ) {<admenu 47>}
`([ MENU_CHANGE switch (switch to new) new ] ?assistant
`[voice personality] ) {<admenu 48>}
`(MENU_CHANGE ?my MENU_NUMBER) {<admenu 50>}
` (MENU_CHANGE ?my current MENU_NUMBER) {<admenu
`51>}
` (MENU_CHANGE ?my office MENU_NUMBER) {<admenu
`52>}
` (MENU_CHANGE ?my home MENU_NUMBER) {<admenu 53>}
` (MENU_CHANGE ?my mobile MENU_NUMBER) {<admenu
`54>}
` (MENU_CHANGE ?my pager number) {<admenu 55>}
` (MENU_CHANGE ?my MENU_CELL MENU_NUMBER) {<admenu
`56>}
` (MENU_CHANGE ?my fax number) {<admenu 57>}
` (MENU_CHANGE ?my operator MENU_NUMBER) {<admenu
`58>}
`(MENU_CHANGE ?my ?message notification) {<admenu 60>}
`( what time is it ?now )
`{<admenu 79>}
`( [ what's (what is) (tell me) give_me ]
`?the current time ) { <admenu 79>}
`([just wait] a [minute moment second] ) {<admenu 95>}
` ( [ let_me (let me) ] put you on hold) {<admenu
`98>}
` ( hold ?on )
`{<admenu 98>}
`( [goodbye (bye bye) ] ?PERSONA) {<admenu 99>}
`;
`( [ what's (what is) (look up) read give_me (give
`me) ]
`;
` ?[the my] [web internet] [password passcode (access
`
`;.
`
`8
`
`Parus Exhibit 2040, Page 8 of 21
`
`
`
`code)] )
`{<menu 191>}
`;
` OPTIONS {<admenu
`500>}
` CANCEL {<admenu
`501>}
` [PERSONA GOTO_MAIN ] {<admenu
`502>}
`]
`?please
` )
` Webley availability menu
`AVMENU ( ?[um uh]
`[
`{<avmenu 31>}
` office
`{<avmenu 32>}
` home
`{<avmenu 33>}
` mobile
`{<avmenu 34>}
` ( voice mail )
` ( current ?number )
`{<avmenu
`35>}
` ( [ (?[some the] other) another ]
`{<command 2>}
`MENU_NUMBER )
`{<avmenu 35>}
` MENU_CELL
`{<avmenu 36>}
` operator
`{<avmenu 37>}
` ( call blast )
`{<avmenu 38>}
` (?my contact)
`{<avmenu
`39>}
` OPTIONS
`{<avmenu 500>}
` CANCEL
`{<avmenu 501>}
` [PERSONA GOTO_MAIN]
`{<avmenu 502>}
`please
`
` )
` Webley add to conference menu
`CALLCONF ( ?POLITE_PREFIX
`{<callconf 1>}
`add ?a party)
`([(return to) join]
` ?[the a this] conference ?call )
`{<callconf 2>}
`([disconnect (hang up) ] ?the ?last party) {<callconf
`([end close delete] ?[the this] conference ?call )
`{<callconf 4>}
`(call MENU_MEMBER)
`{<callconf 6>}
` (call ?my [contact contacts])
`{<callconf
`7>}
` (dial ?a MENU_NUMBER )
`{<callconf
`
`]?
`
`;;
`
`;.
`
`[(
`
`;;
`
`;.
`
`3>}
`
`9
`
`Parus Exhibit 2040, Page 9 of 21
`
`
`
`8>}
`([try dial redial] ?the (last MENU_NUMBER) )
`{<callconf 16>}
`( dial FULL_PHONE_NUMBER:n {<number $n>} ) {<callconf
`193>}
`( what time is it ?now )
`{<callconf 79>}
`( [ what's (what is) (tell me) give_me ]
`?the current time ) {<callconf 79>}
`([just wait] a [minute moment second] ) {<callconf
`95>}
` ( [ let_me (let me) ] put you on hold)
`{<callconf 98>}
` ( hold ?on )
`{<callconf 98>}
` ( [goodbye (bye bye) ] ?PERSONA) {<callconf
`99>}
` OPTIONS
`{<callconf 500>}
` CANCEL
`{<callconf 501>}
` [PERSONA GOTO_MAIN]
`{<callconf 502>}
`please
`
`)
` Webley on-the-fly menu
`CALLOPT ( ?POLITE_PREFIX
`MENU_SETUP ?a conference ?call) {<callopt 1>}
`(send to voicemail)
`{<callopt 2>}
`(transfer ?[the this] call)
`{<callopt 3>}
`(hold ?[the this] call)
`{<callopt 4>}
`( ?[i'll (i will) ]
` take ?[the this] call)
`{<callopt 5>}
`(return to ?[the this] [call caller]) {<callopt 5>}
` OPTIONS
`{<callopt 500>}
` CANCEL
`{<callopt 501>}
` [ PERSONA GOTO_MAIN ]
`{<callopt 502>}
`please
`
`]?
`
`[(
`
`;;
`
`;.
`
`;
`;
`
`]?
`
`)
` Webley call menu
`CALLMENU ( ?POLITE_PREFIX
`[
`{<callmenu
` (call ?MENU_MY office)
`21>}
`{<callmenu 22>}
` (call ?my home)
`{<callmenu 23>}
` (call ?my contact)
`{<callmenu 24>}
` (call MENU_MEMBER)
`([try dial redial] ?the (last MENU_NUMBER) )
`{<callmenu 16>}
`
`10
`
`;;
`
`;.
`
`Parus Exhibit 2040, Page 10 of 21
`
`
`
`{<callmenu
` (dial ?a MENU_NUMBER )
`25>}
`( dial FULL_PHONE_NUMBER:n {<number $n>} ) {<callmenu
`193>}
`( what time is it ?now )
`{<callmenu 79>}
`( [ what's (what is) (tell me) give_me ]
`?the current time ) {<callmenu 79>}
`([just wait] a [minute moment second] ) {<callmenu
`95>}
` ( [ let_me (let me) ] put you on hold)
`{<callmenu 98>}
` ( hold ?on )
`{<callmenu 98>}
`( [goodbye (bye bye) ] ?PERSONA) {<callmenu 99>}
` (MENU_SETUP ?a conference ?call) {<callmenu 26>}
` (join ?[a the] conference ?call) {<callmenu 27>}
` OPTIONS
`{<callmenu 500>}
` CANCEL
`{<callmenu 501>}
` [PERSONA GOTO_MAIN]
`{<callmenu 502>}
`please
`
` )
` Webley call screening menu
`CSCREEN ( ?POLITE_PREFIX
` [
`{<cscreen 1>}
` (ask caller name)
` (match caller i d ) {<cscreen
`2>}
` (stop call screening) {<cscreen
`3>}
` OPTIONS {<cscreen
`500>}
` CANCEL {<cscreen
`501>}
` [PERSONA GOTO_MAIN ] {<cscreen
`502>}
` ]
` ?please
` )
` Webley voice message menu
`MSGMENU ( ?POLITE_PREFIX
` [
` (?([listen go skip] to) next ?message)
`{<msgmenu 1>}
` (?([listen go back] to ?the) previous ?message)
`{<msgmenu 17>}
` (?([listen go back] to ?the) first ?message)
`{<msgmenu 18>}
`
`]?
`
`;;
`
`;.
`
`11
`
`;;
`
`;.
`
`Parus Exhibit 2040, Page 11 of 21
`
`
`
` (?([listen go skip] to ?the) last ?message)
`{<msgmenu 19>}
` ([replay repeat] ?[the this] message) {<msgmenu
`2>}
` ([replay repeat] ?it)
`{<msgmenu
`2>}
` (send ?it to trash)
`{<msgmenu
`3>}
` [(get rid of it) ([dump trash] it) ] {<msgmenu
`3>}
` ([remove delete] ?[it (?[the this] message) ] )
`{<msgmenu 3>}
` (throw it away)
`{<msgmenu
`3>}
` (save ?[the this] message) {<msgmenu
`4>}
` (save ?it )
`{<msgmenu
`4>}
` (MENU_FORWARD ?[the this] message) {<msgmenu
`5>}
` (MENU_FORWARD ?it)
`{<msgmenu
`5>}
`; (MENU_FORWARD ?[the this] message) {<msgmenu
`9>}
`; (MENU_FORWARD ?it)
`{<msgmenu
`9>}
` (MENU_FORWARD to MENU_MEMBER) {<msgmenu
`5>}
` ([play read (what is) what's give_me (give me) ]
`?the caller i d ) {<msgmenu 6>}
` ([add create] ?a ?new contact ) {<msgmenu
`7>}
` ([save add] caller [(i d) MENU_NUMBER]
` ?(as ?[my a] ?new contact) ) {<msgmenu 7>}
` (return [the this] call) {<msgmenu
`8>}
` (MENU_FORWARD to ?my contact) {<msgmenu
`9>}
` (broadcast ?[the this] message) {<msgmenu
`0>}
` (call ?MENU_MY office)
`{<msgmenu
`21>}
` (call ?my home)
`{<msgmenu 22>}
` (call ?my contact)
`{<msgmenu 23>}
` (call MENU_MEMBER)
`{<msgmenu 24>}
` (dial ?a MENU_NUMBER )
`{<msgmenu
`25>}
`( dial FULL_PHONE_NUMBER:n {<number $n>} ) {<msgmenu
`193>}
`([try dial redial] ?the (last MENU_NUMBER) ) {<msgmenu
`16>}
` ( what time is it ?now ) {<msgmenu
`
`12
`
`Parus Exhibit 2040, Page 12 of 21
`
`
`
`79>}
` ( [ what's (what is) (tell me) give_me ]
` ?the current time ) {<msgmenu
`79>}
`([just wait] a [minute moment second] ) {<msgmenu 95>}
` ( [ let_me (let me) ] put you on hold) {<msgmenu
`98>}
` ( hold ?on ) {<msgmenu
`98>}
`( [goodbye (bye bye) ] ?PERSONA) {<msgmenu 99>}
` OPTIONS {<msgmenu
`500>}
` CANCEL {<msgmenu
`501>}
` [PERSONA GOTO_MAIN]
`{<msgmenu
`502>}
` ]
`?please
`)
`
`;;;
`
`2>}
`
` Webley email forwarding menu
`EMAILFWD ( ?POLITE_PREFIX
`[send print MENU_FORWARD] [on to] my fax) {<emailfwd
`([send MENU_FORWARD] to MENU_MEMBER)
`{<emailfwd 4>}
`([send MENU_FORWARD] to ?my contact)
`{<emailfwd 5>}
`([send MENU_FORWARD] to ?a fax machine)
`{<emailfwd
`6>}
` ([print MENU_FORWARD] ?[a the this] fax)
`{<emailfwd 6>}
` ( what time is it ?now )
`{<emailfwd 79>}
` ( [ what's (what is) (tell me) give_me ]
` ?the current time )
`{<emailfwd 79>}
` ([just wait] a [minute moment second] )
`{<emailfwd 95>}
` ( [ let_me (let me) ] put you on hold)
`{<emailfwd 98>}
` ( hold ?on )
`{<emailfwd 98>}
` ([goodbye (bye bye) ] ?PERSONA) {<emailfwd 99>}
` OPTIONS
`{<emailfwd 500>}
` CANCEL
`{<emailfwd 501>}
` [PERSONA GOTO_MAIN] {<emailfwd
`502>}
`]
`
`;.
`
`13
`
`[(
`
`Parus Exhibit 2040, Page 13 of 21
`
`
`
`?please
` )
` Webley email menu
`EMAILMENU ( ?POLITE_PREFIX
`[replay repeat rewind]
`[?it (?[the this] ?[message e_mail]) ])
`{<emailmenu 0>}
` (?([listen go skip] to) next ?[message e_mail])
`{<emailmenu 1>}
` (?([listen go back] to ?the) previous
`?[message e_mail]) {<emailmenu 17>}
` (?([listen go back] to ?the) first
`?[message e_mail]) {<emailmenu 18>}
` (?([listen go skip] to ?the) last
`?[message e_mail]) {<emailmenu 19>}
`([(listen to) play give_me read] ?[message e_mail]
`[body content it] ) {<emailmenu 2>}
`([play give_me read] ?[message e_mail] header )
`{<emailmenu 3>}
`(?send ?a reply ?(to it) )
`{<emailmenu 4>}
`(MENU_FORWARD ?[the this it] ?[message e_mail])
`{<emailmenu 5>}
`([add create] ?a ?new ?e_mail contact )
`{<emailmenu 6>}
`([save add] sender ?e_mail ?address
` as ?a ?new contact ) {<emailmenu 6>}
`[(go back) (?go backward) ]
`{<emailmenu 8>}
`( [fast skip go move] forward )
`{<emailmenu 9>}
`([just wait] a [minute moment second] ) {<emailmenu
`95>}
` ( [ let_me (let me) ] put you on hold)
`{<emailmenu 98>}
` ( hold ?on )
`{<emailmenu 98>}
`([goodbye (bye bye) ] ?PERSONA) {<emailmenu 99>}
` ( what time is it ?now )
`{<emailmenu 79>}
` ( [ what's (what is) (tell me) give_me ]
` ?the current time )
`{<emailmenu 79>}
` ([send print MENU_FORWARD ] [on to] my fax)
`{<emailmenu 13>}
` ([send MENU_FORWARD ] to ?a fax machine)
`{<emailmenu 14>}
` ([print MENU_FORWARD] ?[a the this] fax)
`{<emailmenu 14>}
` ([send MENU_FORWARD] to ?my contact)
`{<emailmenu 15>}
` ([try dial redial] ?the (last MENU_NUMBER) )
`
`;.
`
`;;
`
`14
`
`[(
`
`Parus Exhibit 2040, Page 14 of 21
`
`
`
`{<emailmenu 16>}
`{<emailmenu 12>}
`([send MENU_FORWARD] to MENU_MEMBER)
` (call ?MENU_MY office)
`{<emailmenu 21>}
` (call ?my home)
`{<emailmenu 22>}
` (call ?my contact)
`{<emailmenu 23>}
` (call MENU_MEMBER)
`{<emailmenu 24>}
` (dial ?a MENU_NUMBER )
`{<emailmenu 25>}
` ( dial FULL_PHONE_NUMBER:n {<number $n>} )
`{<emailmenu 193>}
` OPTIONS
`{<emailmenu 500>}
` CANCEL
`{<emailmenu 501>}
` [PERSONA GOTO_MAIN]
`{<emailmenu
`502>}
`
`]?
`
`please
`
`)
` Webley fax menu
`FAXMENU ( ?POLITE_PREFIX
`{<faxmenu 1>}
` ?( [go skip] to ?the) next ?fax)
` (?([go back] to ?the) previous ?fax) {<faxmenu
`17>}
` (?([go back] to ?the) first fax) {<faxmenu
`18>}
` (?([go skip] to ?the) last fax) {<faxmenu
`19>}
` ([ send print MENU_FORWARD] [on to] my fax)
`{<faxmenu 2>}
` ([move send] ?it to trash) {<faxmenu
`3>}
` [(throw it away) ([dump trash] it) (get rid of
`it)]{<faxmenu 3>}
` ([remove delete] ?[ it (?[the this] fax) ] )
`{<faxmenu 3>}
` ([ send MENU_FORWARD] to MENU_MEMBER) {<faxmenu
`4>}
` ([send MENU_FORWARD] to ?my contact) {<faxmenu
`5>}
` ([send MENU_FORWARD] to ?[the a] fax machine)
`{<faxmenu 6>}
` ([print MENU_FORWARD] ?[a the this] fax)
`{<faxmenu 6>}
` ([play read (what is) what's give_me (give me)]
`
`;.
`
`15
`
`[(
`
`;;
`
`Parus Exhibit 2040, Page 15 of 21
`
`
`
`?the [caller fax] i d ) {<faxmenu 7>}
` (MENU_FORWARD to ?my e_mail) {<faxmenu
`8>}
`([add create] ?a ?new contact )
`{<faxmenu 9>}
` ([save add] [(caller i d) (fax MENU_NUMBER)]
` ?(as ?[my a] ?new contact) ) {<msgmenu 9>}
` (broadcast ?(?[the this] fax)) {<faxmenu
`0>}
`([try dial redial] ?the (last MENU_NUMBER ) )
`{<faxmenu 16>}
` (call ?MENU_MY office) {<faxmenu
`21>}
` (call ?my home) {<faxmenu
`22>}
` (call ?my contact) {<faxmenu
`23>}
` (call MENU_MEMBER) {<faxmenu
`24>}
` (dial ?a MENU_NUMBER ) {<faxmenu
`25>}
` ( dial FULL_PHONE_NUMBER:n {<number $n>} )
`{<faxmenu 193>}
` ( what time is it ?now ) {<faxmenu
`79>}
` ( [ what's (what is) (tell me) give_me ]
` ?the current time ) {<faxmenu
`79>}
`([just wait] a [minute moment second] ) {<faxmenu 95>}
` ( [ let_me (let me) ] put you on hold) {<faxmenu
`98>}
` ( hold ?on )
`{<faxmenu 98>}
`([goodbye (bye bye) ] ?PERSONA) {<faxmenu 99>}
` OPTIONS {<faxmenu
`500>}
` CANCEL {<faxmenu
`501>}
` [PERSONA GOTO_MAIN] {<faxmenu
`502>}
` ]
`?please
`)
` Webley name menu
`NAMEREC ( ?POLITE_PREFIX
`{<namerec
`use ?[it this the] ?name ?recording)
`(listen to ?[it this the] ?name ?recording) {<namerec
`(rerecord ?[it this the] ?name)
`{<namerec 3>}
`
`1>}
`2>}
`
`;;
`
`;.
`
`16
`
`[(
`
`Parus Exhibit 2040, Page 16 of 21
`
`
`
` OPTIONS {<namerec
`500>}
` CANCEL {<namerec
`501>}
` [PERSONA GOTO_MAIN] {<namerec
`502>}
`
`]?
`
`please
`
`[(
`
`;;
`
`;.
`
`]?
`
`;;
`
`;.
`
` )
` Webley greeting menu
`GREETREC ( ?POLITE_PREFIX
`use ?[it this the] ?greeting) {<greetrec 1>}
`(listen to ?[it this the] ?greeting) {<greetrec 2>}
`(rerecord ?[it this the] ?greeting) {<greetrec 3>}
` OPTIONS
`{<greetrec 500>}
` CANCEL
`{<greetrec 501>}
` [PERSONA GOTO_MAIN]
`{<greetrec 502>}
`please
`
` )
` Webley notification menu
`NOTIF
`( ?POLITE_PREFIX
`[
`{<notif 61>}
` pager
`{<notif 62>}
` e_mail
`{<notif
` (audio through e_mail)
`63>}
`{<notif
` (turn [it notification] off)
`64>}
`{<notif 64>}
` (stop [it notification] )
`{<notif 65>}
`; voice
`{<notif 66>}
` broadcast
` OPTIONS {<notif
`500>}
` CANCEL {<notif
`501>}
` [PERSONA GOTO_MAIN] {<notif
`502>}
`
`]?
`
`please
`
`)
` Webley change phone menu
`;
`
`17
`
`;;
`
`Parus Exhibit 2040, Page 17 of 21
`
`
`
`.PHONEMENU [
`{<phonemenu 51>}
` (current ?number)
`{<phonemenu 52>}
` office
`{<phonemenu 53>}
` home
`{<phonemenu 54>}
` mobile
`{<phonemenu 55>}
` pager
`{<phonemenu 56>}
` MENU_CELL
`{<phonemenu 57>}
` fax
`{<phonemenu 58>}
` operator
` OPTIONS
`{<phonemenu 500>}
` CANCEL
`{<phonemenu 501>}
` [PERSONA GOTO_MAIN ]
`{<phonemenu 502>}
`]
` Webley yes no menu
`YNCQH
`
`;;
`
`;.
`
`(?
`
`[um uh]
`
`[(
`
`] )
`
`YES_WORDS ?_YES_TRAILERS) {<yncqh 1>}
`(NO_WORDS ?_NO_TRAILERS) {<yncqh 2>}
` ( what time is it ?now ) {<yncqh
`79>}
` ( [ what's (what is) (tell me) give_me ]
` ?the current time ) {<yncqh
`79>}
` ([just wait] a [minute moment second] ) {<yncqh
`95>}
` ( [ let_me (let me) ] put you on hold) {<yncqh
`98>}
` ( hold ?on ) {<yncqh
`98>}
` ([goodbye (bye bye) ] ?PERSONA) {<yncqh 99>}
`CANCEL {<yncqh 501>}
`[PERSONA GOTO_MAIN ] {<yncqh 502>}
`
`;;
`
`;.
`
` Webley record message menu
`RECMSGMENU ( ?POLITE_PREFIX
`[send deliver] ?[it this the] ?message)
`{<recmsgmenu 1>}
`([repeat (listen to)] ?[it this the] ?message)
`{<recmsgmenu 2>}
`
`[(
`
`18
`
`Parus Exhibit 2040, Page 18 of 21
`
`
`
`(rerecord ?[it this the]
`?[message name greeting]) {<recmsgmenu 3>}
` OPTIONS
`{<recmsgmenu 500>}
` CANCEL
`{<recmsgmenu 501>}
` [PERSONA GOTO_MAIN]
`{<recmsgmenu 502>}
`please
` )
`
`]?
`
`;;;
`
`;.
`
` Webley take outbound call menu
`TAKECALL ( ?POLITE_PREFIX
`[
` ([i'll (i will) ] take ?[it this the] call)
`{<callopt 1>}
` ([send transfer forward ] ?[it this the]
`?call to voicemail) {<callopt 2>}
` ([play read (what is) what's give_me (give me) ]
`?the [caller callers] [number (i d)] ) {<callopt
`3>}
` ( what time is it ?now ) {<callopt
`79>}
` ( [ what's (what is) (tell me) give_me ]
` ?the current time ) {<callopt
`79>}
` ([just wait] a [minute moment second] ) {<callopt
`95>}
` OPTIONS {<callopt
`500>}
` CANCEL {<callopt
`501>}
` [ PERSONA GOTO_MAIN]
`{<callopt 502>}
` ]
`?please
` )
` Interrupt dialing process menu
`STOPDIALING ( ?POLITE_PREFIX
` ?no don't [call dial] ?[ him her them it (this
`number) ] )
`(hang up)
`( ?( ?no [ (this is) that's ] ) wrong ?[contact
`(contact name) name number])
`(drop [it ([the this] call)] )
`([cancel stop] ?[it dialing calling ([the this]
`
`[(
`
`;;
`
`;.
`
`call) ] )
`
`19
`
`Parus Exhibit 2040, Page 19 of 21
`
`
`
`]?
`
`please
` )
` Digit grammars
`
`;;
`
`; D
`
`IGIT [
`[0 1 2 3 4 5 6 7 8 9 ] {return ($string)}
`]
`.DIGITS [
`{return ($string)}
` +DIGIT
` CANCEL {return (501)}
` [ PERSONA GOTO_MAIN ] {return (502)}
` ]
`.DIGITS1 [
` DIGIT {return ($string)}
` CANCEL {return (501)}
` [ PERSONA GOTO_MAIN] {return (502)}
` ]
`.DIGITS2 [
` (DIGIT DIGIT) {return ($string)}
` CANCEL {return (501)}
` [ PERSONA GOTO_MAIN ] {return (502)}
` ]
`.DIGITS3 [
` [ ( Non_zero:n1 Two_digit:n2 ) ]
` {<number add(mul($n1 100) $n2)>}
` (Non_zero:n1 hundred ) {<number mul($n1 100)>}
` (tripple Non_zero:n1)
`{<number add($n1 add(mul($n1 100) mul($n1 10)))>}
` (DIGIT DIGIT DIGIT) {return ($string)}
` CANCEL {<command 501_C>}
` [ PERSONA GOTO_MAIN ]{<command 502_P>}
` ]
`.DIGITS4 [
` (DIGIT DIGIT DIGIT DIGIT) {return ($string)}
` CANCEL {return (501)}
` [ PERSONA GOTO_MAIN ] {return (502)}
` ]
`.DIGITS5 [
` (DIGIT DIGIT DIGIT DIGIT DIGIT) {return ($string)}
` CANCEL {return (501)}
` [ PERSONA GOTO_MAIN ] {return (502)}
` ]
`.DIGITS6 [
` (DIGIT DIGIT DIGIT DIGIT DIGIT DIGIT) {return
`($string)}
` CANCEL