throbber
US008036366B2
`
`(12) Ulllted States Patent
`Chu
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 8,036,366 B2
`Oct. 11, 2011
`
`(54) INTELLIGENT FORMATTING OF VOIP
`TELEPHONE NUMBERS
`
`(75) Inventor: L‘m'chan Ch“, Redmond’ WA (Us)
`_
`_
`_
`(73) Ass1gnee: MICI‘OSOft COI‘p0ratl0ll, Redmond, WA
`(Us)
`
`*
`
`'
`
`.
`
`~
`
`~
`
`~
`
`-
`
`2/2006 Fowler
`6,999,458 B2
`4/2006 Khello et al.
`7,027,582 B2
`2/2008 Nasielski ................. .. 455/435.1
`7,336,949 B2 *
`2002/0136387 A1* 9/2002 Choi et al.
`.. 379/220.01
`2004/0243596 A1* 12/2004 Lillqvist et al. ............. .. 707/100
`2005/0182781 A1
`8/2005 Bouvet
`2005/0243806 A1 * 11/2005 Sakano et a1. .............. .. 370/352
`2006/0046785 A1
`3/2006 Cagney
`2006/0094353 A1* 5/2006 Nielsen et al. ................ .. 455/17
`2007/0064919 A1* 3/2007 Chen et al.
`.. 379/355.05
`
`(
`
`)
`
`patent 15 extended or adjusted under 35
`
`>l<
`
`‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ “
`
`U30 154(1)) by 1406 days-
`
`OTHER PUBLICATIONS
`
`(21) Appl_ No; 11/462,540
`
`(22) Filed;
`
`Aug 4, 2006
`
`Prior Publication Data
`
`McTaggart, Telephone Numbers, Domain Names, and Enumbers,
`IEEE Communications Magazine, Sep. 2002.
`Park, “Address Translation Method for InterWorking Between Public
`and Private ATM Networks”, Electronics and Telecommunications
`Research Institute, Jan. 19, 1998.
`
`US 2008/0043718 A1
`
`Feb. 21, 2008
`
`* Cited by examiner
`
`(51) Int. Cl.
`(200601)
`H04M 7/00
`(52) US. Cl. ............. .. 379/220.01; 379/219; 379/355.01
`(58) Field of Classi?cation Search ........... .. 379/22001,
`'
`'
`379/219, 355.01, 355.05
`See appl1cat1on ?le for complete search hlstory.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`5,467,381 A 11/1995 Peltonen et a1‘
`5,961,608 A 10/ 1999 Onosaka et al.
`6,108,540 A
`8/2000 SOIlti et al.
`6,594,257 B1
`7/2003 Doshi et al.
`6,751,481 B2 *
`6/2004 Chen et al. .................. .. 455/564
`6,868,416 B2
`3/2005 Choi et al.
`
`Primary Examiner * William Deane, Jr.
`(74) Attorney, Agent, or Firm *Vierra Magen Marcus &
`DeNirO LLP
`
`(57)
`
`ABSTRACT
`
`A system and method are disclosed for intelligent formatting
`of VOIP telephone numbers. The intelligent VoIP formatting
`system includes a presentation and user interface layer, an
`E. 1 64 formatting engine, a location routine, and a database of
`telephone number data Which are used to deconstruct input
`telephone numbers and reconstruct them as E.164 compliant
`telephone numbers_
`
`16 Claims, 11 Drawing Sheets
`
`I, - - - - - — - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - — — — - \\
`
`I .
`:
`
`l
`|
`
`10h
`Presentat|0n and Input Layer (UI)
`
`I
`
`l
`l
`'
`l
`i
`:
`,
`.
`.
`:
`.
`l .
`l
`l
`
`I
`
`.
`l
`I
`l
`\
`
`102 \
`
`194 \
`E.164 Call
`.
`.
`Locatlon
`.
`.
`. —> E.164 Formattlng Englne <— lnformatlon
`Routme
`Database
`
`‘106
`
`\
`
`W8 \
`
`l
`
`.
`
`.
`
`Slgnallng & Vo|ce Englne
`
`.
`
`.
`
`1
`:
`
`|
`|
`
`|
`|
`'
`|
`g
`I
`:
`I
`I
`1
`:
`:
`|
`|
`
`:
`l
`|
`I
`
`PETITIONER APPLE INC. EX. 1004-1
`
`

`
`US. Patent
`
`Oct. 11,2011
`
`Sheet 1 0111
`
`US 8,036,366 B2
`
`i00\
`Presentation and Input Layer (UI)
`
`\
`m l
`194
`E.164 Call
`\
`Locagn
`Routine —> E.164 Formatting Engine <— Information
`Database
`
`“is \ l
`Signaling & Voice Engine
`
`:'
`i
`:
`I
`'
`i
`:
`5
`i
`I i
`a
`
`I
`
`E
`i
`I
`:
`,
`i
`:
`i
`i

`,=
`
`l
`
`I
`\
`l l l l l l l l l l l l l l l l l l l l l I l l l l I l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l \
`
`PETITIONER APPLE INC. EX. 1004-2
`
`

`
`US. Patent
`
`Oct. 11,2011
`
`Sheet 2 of 11
`
`US 8,036,366 B2
`
`K110
`Launch Application
`
`Fig. 2
`
`/ 1 M
`
`Launch Origin Setup UI
`
`112
`
`Set Up
`New Call Origin
`Location?
`
`r118
`Set New Call
`Origen Location
`
`Enter Telephone Number <—
`
`Yes
`
`Try Call Again?
`
`No
`
`l
`
`/122
`
`Initiate Call Session
`
`1
`
`r124
`
`E.164 Formatting
`
`Yes
`
`f ‘iSQ
`
`Pass Information
`
`V
`
`[132
`
`End Call Session
`
`PETITIONER APPLE INC. EX. 1004-3
`
`

`
`US. Patent
`
`0a. 11, 2011
`
`Sheet 3 0f 11
`
`US 8,036,366 B2
`
`11 II 1111':
`
`VVVVVV VVVVV A
`
`'
`
`~
`
`144 ’
`
`0 i
`y
`
`,
`\148
`
`PETITIONER APPLE INC. EX. 1004-4
`
`

`
`US. Patent
`
`0a. 11, 2011
`
`Sheet 4 0f 11
`
`US 8,036,366 B2
`
`Fig. 4
`
`John Smith
`
`Home: ‘
`
`.
`
`WW2:
`
`‘I Mc-biie:
`
`Cunnected
`\\ Wigwam-J mammal m4
`
`
`
`1 inner: ........
`
`58f;
`
`‘
`
`vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
`
`142
`
`PETITIONER APPLE INC. EX. 1004-5
`
`

`
`US. Patent
`
`0a. 11, 2011
`
`Sheet 5 0f 11
`
`US 8,036,366 B2
`
`ith
`
`142
`
`Set CaH Origin Location 7
`
`PETITIONER APPLE INC. EX. 1004-6
`
`

`
`US. Patent
`
`0a. 11, 2011
`
`Sheet 6 6f 11
`
`US 8,036,366 B2
`
`Fig. 6
`
`Retrieve Formatting ‘
`Data For Origin
`‘
`\154
`
`Retrieve Origin 1
`Designation
`‘
`\ r52
`
`Phone Number
`Received
`\ 15o
`
`K156
`
`Parse Entered
`Telephone Number ‘
`
`158
`Yes
`
`E.164 Format?
`
`IDD Pre?x?
`
`Remove IDD Pre?x
`
`>
`
`Concatenate
`E.164 Prefix and
`Number
`
`r @68
`
`Remove NDD Pre?x
`
`[we
`Concatenate
`> E.164 Pre?x, Country
`Code and Number
`
`>
`
`r ‘W4
`Concatenate
`E.164 Pre?x, Country
`Code and Number
`
`r W8
`
`Send Number As Is
`
`Number
`Fits Customize
`ormatting Rule’?
`
`No
`
`‘t84
`/
`Treat as Local Call
`
`182
`f
`Format Number Per Rule
`
`186 /
`Concatenate E.164
`Prefix, Country Code,
`Area Code and Number
`
`'
`
`199
`" f
`Place Call
`
`>
`
`PETITIONER APPLE INC. EX. 1004-7
`
`

`
`US. Patent
`
`Oct. 11, 2011
`
`Sheet 7 of 11
`
`US 8,036,366 B2
`
`Fig. 7
`r192
`Enter Call
`Origin Name
`
`l [1%
`
`Enter Call Origin
`Geographic
`information
`1 figs
`
`Set Area Code For
`Call Origin
`
`i ,198
`
`Set Special Dialing
`Instructions
`
`l {200
`
`Save and Store
`Pro?le
`
`PETITIONER APPLE INC. EX. 1004-8
`
`

`
`US. Patent
`
`Oct. 11, 2011
`
`Sheet 8 0f 11
`
`US 8,036,366 B2
`
`Fig. 8
`
`220
`
`224
`
`PETITIONER APPLE INC. EX. 1004-9
`
`

`
`US. Patent
`
`0a. 11, 2011
`
`Sheet 9 0f 11
`
`US 8,036,366 B2
`
`Fig. 9
`
`PETITIONER APPLE INC. EX. 1004-10
`
`

`
`US. Patent
`
`0a. 11, 2011
`
`Sheet 10 0f 11
`
`US 8,036,366 B2
`
`PETITIONER APPLE INC. EX. 1004-11
`
`

`
`U
`
`3:6
`
`2
`
`M$_%o_>_%m%_o2EmaoiUmi
`
`B.%:mm
`
`mg
`J
`
`Em
`
`t§_=o_>__Hn_HmH.................--HaEmHHP_..................................................I-II-IIII1--_S/Em
`
`nHféoéoz.........I-
`
`._o>-:ozaoEm_>_._o>-:oz:§m9n_-.II........Im82%_>>_m_Ht8mH._mE_8m..coE_E3HMao_$_>_
`
`
`
`
`
`
`o_Qm.>oE¢m__Svzoémzm_nm>oE3.._-:ozH82H83_$_:oo_>_HKmHEementmfio_
`
`1amHM _wE$men_:o_:8__&<HHmamHm_M_o%__H.a_HH._E;HO_59:082>E5_
`
`
`_mamomm95805_I.................I_
`
`Em
`
`mmm
`
`mmm
`
`Ram
`
`C’)
`V")
`
`%C
`
`PETITIONER APPLE INC.
`
`EX. 1004-12
`
`PETITIONER APPLE INC. EX. 1004-12
`
`
`

`
`US 8,036,366 B2
`
`1
`INTELLIGENT FORMATTING OF VOIP
`TELEPHONE NUMBERS
`
`BACKGROUND
`
`IP telephony, also known as voice over IP or VoIP, has
`become a key driver in the evolution of voice communica
`tions. VoIP technology is useful not only for phones, but also
`as a broad application platform enabling voice interactions on
`devices such as PCs, mobile handhelds and many other
`devices Where voice communication is an important feature.
`Several VoIP service providers, such as Skype® and Von
`age®, noW provide VoIP communications services globally.
`In order to technically accommodate the groWing number
`of telephone users around the World, and increased interest in
`Internet telephony, the International Telecommunications
`Union (ITU) has adopted a number of protocols to facilitate
`communications. One such protocol is E. 164, Which provides
`a uniform means for identifying any telephone number in the
`World to any telephony user in the World. This protocol oper
`ates for standard public sWitched telephone netWorks
`(PSTNs). Additionally, a standard referred to as Electronic
`Numbering, or ENUM, has been adopted Which uses the
`domain name system (DNS) to map E.l64 formatted tele
`phone numbers to Web addresses or uniform resource loca
`tors, thereby effectively enabling the E164 protocol to be
`used for IP telephony.
`The international E.l64 protocol has a standard format for
`telephone numbers. An E.l64 formatted number has at most
`15 digits, and contains an E.l64 pre?x (Which is typically a
`“+” sign), a country code, and a subscriber telephone number.
`In North America, the subscriber telephone number may for
`example consist of an area code and a seven digit telephone
`number.
`When making telephone calls via a traditional PSTN, a
`subscriber is able to enter abbreviated numbers for local and
`national telephone calls. For example, for a local call in the
`United States, a user may simply enter the seven digit tele
`phone number Without an E.l64 pre?x, the country code or
`the area code. Local and national calls are possible With
`PSTN systems because the ?xed-line phones from Which
`such calls are made are hardWired directly to the local PSTN
`center.
`By contrast, there is no such concept of local, long distance
`or national calls When making a call via Internet telephony.
`VoIP calls use the Internet, Which is World-Wide and not tied
`to any single location. While a VoIP call may be made
`betWeen tWo local points, that call may be routed through
`servers located across the globe. Consequently, existing glo
`bal VoIP service providers require users to enter fully format
`ted E. l 64 telephone numbers. Even When making a local call,
`Within for example the United States, instead of simply enter
`ing the seven digit telephone number, the VoIP subscriber
`must enter “+,” then the country code, then the area code, then
`the telephone number. This is time consuming and bother
`some, especially When subscribers are used to the concept of
`abbreviated telephone numbers for local and national calls
`With traditional PSTN systems.
`
`SUMMARY
`
`Embodiments of the present system in general relate to a
`system and method for intelligent formatting of VoIP tele
`phone calls. The intelligent VoIP formatting system includes
`a presentation and user interface layer, an E.l64 formatting
`engine, a location routine, a database of telephone number
`data and, optionally, a signaling and voice engine. According
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`to the present system, a user is able to enter telephone num
`bers for VoIP telephone calls as they Would according to a
`traditional telephone numbering plan for land-line telephone
`calls.
`Upon launching the application program according to the
`present system, the user may be presented With the presenta
`tion and user interface layer, Which may include a variety of
`graphical objects alloWing the user to initiate and terminate
`VoIP telephone calls. The user interface layer may provide the
`user the ability to set up and store one or more call origin
`location pro?les Which identify geographic location informa
`tion as Well as the country and/ or area code (if applicable) for
`the one or more locations from Which the user may regularly
`place VoIP telephone calls, e. g., home, o?ice, satellite o?ice,
`etc.
`Once the user enters a telephone number via the user inter
`face layer and initiates a telephone call, the telephone number
`is put into in E.l64 format via the E164 formatting engine.
`The E. l 64 formatting engine receives the entered phone num
`ber and retrieves the call origin location. The E.l64 format
`ting engine is further in communication With the database of
`stored E. l 64 telephone call formatting information for a vari
`ety of countries or geographic regions. For each country or
`region, the database may store information including country
`code, international direct dialing pre?x, national direct dial
`ing pre?x, minimum local length of a telephone number in
`that area and/or the national length of a telephone number in
`that area.
`The formatting engine then parses the input telephone
`number into its constituent segments. The segments may be
`one or more of the E164 pre?x (“+”), a country code, a direct
`dialing pre?x (international and/or national), an area code
`and/or a local telephone number. The formatting engine may
`then check Whether the entered telephone number is already
`fully formatted in the E164 format. If so, the formatting
`engine may alloW the call to be placed using the input tele
`phone number as is.
`If the formatting engine does not detect a valid E.l64
`telephone number, the engine next determines Whether the
`entered telephone number begins With an international or
`national direct dialing pre?x. If so, the formatting engine
`removes the intemational/national direct dialing pre?x. If the
`input number Was an international telephone number, the
`formatting engine concatenates the E164 pre?x (“+”) With
`the number that folloWed the international direct dialing pre
`?x. If the input number Was a national telephone number, the
`formatting engine concatenates the E164 pre?x and the call
`destination country code With the number that folloWs the
`national direct dialing pre?x. The country code may be
`obtained from the call origin location pro?le designated by
`the user. In embodiments, the formatting engine only checks
`the direct dialing pre?xes against direct dialing pre?xes for
`the designated call origin location. HoWever, in an alternative
`embodiment, the formatting engine may check the direct
`dialing pre?xes for all countries and/or regions in the data
`base.
`If the E164 formatting engine does not detect a direct
`dialing pre?x, the engine may next determine Whether the
`entered telephone number is equal in length to the national
`length of the country set as the call origin location. If so, the
`formatting engine interprets this as a call someWhere Within
`the country of the designated call origin location. Accord
`ingly, the formatting engine concatenates the E164 pre?x,
`the country code for the country of the designated call origin
`location and the entered telephone number to form a fully
`formatted E.l64 telephone number. The call is then placed
`using that number.
`
`PETITIONER APPLE INC. EX. 1004-13
`
`

`
`US 8,036,366 B2
`
`3
`In many countries, certain shortened telephone numbers
`are designated for special purposes, such as for example
`numbers Which may be frequently called (e.g., 411) or num
`bers Which are used in cases of emergency (e.g., 911).
`Accordingly, the formatting engine may detect Whether the
`number length of the entered telephone number is less than
`the minimum length of local phone number for the country or
`area designated by the call origin location. If so, the format
`ting engine places the call using the input telephone number
`as 1s.
`If none of the above forms of the input number are detected,
`the formatting engine may lastly treat the entered telephone
`number as a local call. Thus, the formatting engine concat
`enates the E164 pre?x, the country code for the call origin
`location, the area code for the call origin location (if any) and
`the entered number to form a fully formatted E. 1 64 telephone
`number. The call is then placed using that number.
`In accordance With a further aspect of the present system,
`the location routine may be used to set up and store multiple
`call origin location pro?les representing different locations
`from Which a user may place VoIP calls. The user may be
`presented With a call origin location setup user interface in
`Which the user is given the option to enter an arbitrary and/or
`descriptive name for the call origin location, geographic
`information for that call origin location, and a country and/or
`area code for the geographic location.
`The call origin location pro?les may be stored locally
`Within memory of the user’s computing system environment
`running the application program according to the present
`system. Alternatively, the location pro?les Which the user has
`generated may be maintained on a central server Within the
`VoIP service provider or elseWhere. In such an embodiment,
`When a pro?le is generated, it may also be versioned to
`include a change time stamp Which is the time When the call
`origin location pro?le is created or last changed. Such a
`system alloWs a user to access his or her stored pro?les from
`different computing devices at different locations, and to keep
`those pro?les up to date and synchronized.
`
`20
`
`25
`
`30
`
`35
`
`DESCRIPTION OF THE DRAWINGS
`
`40
`
`FIG. 1 is a block diagram of the softWare components of the
`present system.
`FIG. 2 is a ?owchart of the overall operation of the present
`system for conducting VoIP telephone calls using intelli
`gently formatted VoIP telephone numbers.
`FIG. 3 is an illustration of a presentation and user interface
`layer according to the present system ready to initiate a tele
`phone call session.
`FIG. 4 is an illustration of a presentation and user interface
`layer according to the present system during a telephone call
`session.
`FIG. 5 is an illustration of a presentation and user interface
`layer according to the present system upon terminating a
`telephone call session.
`FIG. 6 is a ?oWchart of the operation of the E164 format
`ting engine according to an embodiment of the present sys
`tem.
`FIG. 7 is a ?owchart of a location routine for setting up call
`origin location pro?les.
`FIG. 8 is a graphical user interface for setting up call origin
`location pro?les.
`FIG. 9 is a further illustration of a graphical user interface
`for setting up call origin location pro?les.
`FIG. 10 is a block diagram of a complete VoIP netWork for
`supporting VoIP communications according to the present
`system.
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`FIG. 11 is a block diagram of hardWare components on
`Which embodiments of the present system are capable of
`operation.
`
`DETAILED DESCRIPTION
`
`Embodiments for the present system Will noW be described
`With reference to FIGS. 1-11, Which generally relate to a
`system and method for intelligent formatting of VoIP tele
`phone calls. The present system may be embodied as an
`application program running on any of a variety of computing
`system environments including for example a desktop per
`sonal computer, a laptop, a handheld computer, a personal
`digital assistant (PDA), a cellular telephone, multiprocessor
`systems, microprocessor-based systems, programmable con
`sumer electronics, minicomputers, distributed computing
`environments that include any of the above systems or
`devices, and the like. The application program of the present
`system may be included as part of, or operate in conjunction
`With, a softphone application program running on the com
`puting system environment for enabling VoIP calling. The
`application program according to the present system may
`alternatively run on a central server, for example of a VoIP
`service provider. In such an embodiment, the application
`program may be accessed and doWnloaded or used on the
`above described devices via a broWser interface. The appli
`cation program according to the present system may be coded
`in a variety of coding languages, including for example C++
`and/or Java based languages.
`As shoWn in FIG. 1, the intelligent VoIP formatting system
`includes a presentation and user interface layer 100, an E. 1 64
`formatting engine 102, a location routine 104, a database 106
`of telephone number data and a signaling and voice engine
`108. In embodiments, the signaling and voice engine 108 may
`not form part of the intelligent VoIP formatting system. Each
`of these components of the present system is explained in
`greater detail hereinafter.
`Referring noW to FIG. 2, the presentation and user interface
`layer 100 presents a graphical user interface enabling a user to
`interact With the present system and to initiate and terminate
`VoIP telephone call sessions. In a step 110, a user may launch
`the application program according to the present system. For
`example, Where a computing system environment is running
`a Windows@ operating system from Microsoft Corporation,
`the application program according to the present system may
`be launched from an icon appearing on the display of the
`computing environment.
`Upon launching the application program in step 110, the
`user may be presented With the presentation and user interface
`layer 100, an example of Which is shoWn in FIG. 3. As Will be
`appreciated by those of skill in the art, user interface 100 may
`include a variety of graphical objects alloWing the user to
`initiate and terminate VoIP telephone calls. For example, user
`interface 100 may include a telephone number entry box 140,
`graphical keypad 142, call initiation/termination button 144,
`as Well as one or more additional content WindoWs 146.
`Although not critical to the present system, content WindoWs
`146 may be used to display various pieces of information,
`such as a call history of prior calls made by the user, tips for
`using VoIP features and/orVoIP service provider information.
`Additional or alternative graphical objects may be presented
`on interface 100 in alternative embodiments.
`In accordance With an aspect of the present system, user
`interface 100 provides the user the ability to set up and store
`a call origin location pro?le. The setup of a call origin location
`pro?le is explained in greater detail hereinafter. HoWever, in
`general a call origin location pro?le contains geographic
`
`PETITIONER APPLE INC. EX. 1004-14
`
`

`
`US 8,036,366 B2
`
`6
`5
`in the art, telephone number entry box 140 may be populated
`location information as Well as the country and/or area code
`(if applicable) regarding an origin of a VoIP telephone call.
`by manually typing in a telephone number. Alternatively, a
`The call origin location is set by the user (or a default location
`user may access a contact from a database of his or her stored
`is used) When making a VoIP telephone call and Will typically
`personal contacts, and have that contact’s telephone number
`be the location from Where the user is placing the call. HoW
`automatically inserted into telephone number entry box 140.
`ever, it is understood that the present system may still operate
`A user may click a phone number hyperlink on a Web page,
`to format and complete certain VolP telephone calls even
`and have the phone number automatically inserted into tele
`Where a user erroneously sets the Wrong call origin location
`phone number entry box 140. The user may then initiate the
`(i.e., a location that is not the actual location from Where the
`telephone call in step 122 by selecting the call initiation/
`10 termination button 144. The application program then for
`user 15 placmg the can)’
`.
`h
`t
`d t 1 h
`b
`d.
`t th E 1 6 4
`A user may commonly place VolP calls from different
`mats t 6.611 ere 6 ep one lmm er a.CCOr “lg 0 e '
`.
`locations, for example from theirhome andtheir o?iceAuser
`protocol in step 124 as explained here1nafter1n greater detail
`-
`-
`-
`_
`may also travel to one or more destinations from Wh1chVolP
`Wlth respect to FIG‘ 6'
`calls are frequently made. Accordingly, the present system
`If’_1na_Step 126’ the telephone call does not go thrcfugh’ the
`further provides the ability to set up and store multiple call 15
`user 15 glven the Opnon ln Step 128? try to can agam' Ifthe
`origin location pro?les. As explained hereinafter, the call
`user elects not to try agaln, the aPPheanen Program may end
`origin location pro?les may be stored locally on a user’s
`Conversely, ifthe user elects in Step 128 to try again or enter
`computing device, or remotely on a server accessible by the
`a new telephone number, the application Program returns to
`user’s computing device via a netWork such as the lntemet.
`When making a VQIP call, a user may Select and set a call 20 step 120. If the call does g0 through in step 126, the user 15
`origin location from a list of previously de?ned call origin
`connected, and information is passed to and/or from the user
`locations shoWn on a dropdoWn menu 148. If a user selects
`in step 130. A system for routing and connecting VoIP calls is
`dropdoWn menu 148, the user may also be provided With the
`explained in greater detail hereinafter With respect to FIG. 10.
`option to set up a neW call origin location pro?le (step 112,
`Once the user is connected, user interface 100 may indicate
`FIG. 2). If a user opts to set up a neW call origin location 25 the connection, and provide information regarding the tele
`pro?le, the application program of the present system pre-
`phone call, as shoWn in FIG. 4. Upon completion of the call,
`sents the user With a call origin pro?le setup user interface in
`a user may end the call session in step 132 by selecting the call
`step 114 as explained in greater detail hereinafter. It is under-
`initiation/termination button 144. The call is then discon
`stood that the option to set up a neW call origin location pro?le
`nected as shoWn in FIG. 5.
`may be located on interface 100 separate from the dropdoWn 30
`In accordance With a further aspect of the present system,
`menu 148.
`once the user enters a telephone number and initiates a tele
`After a user has set up one or more call origin locations,
`phone call, the telephone number is formatted in E.l64 for
`selecting dropdoWn menu 148 Will display the call origin
`mat in step 124. Formatting of the entered telephone number
`locations. In step 116, a user is given the option to change the
`in step 124 is performed by the E164 formatting engine 102.
`call origin location, for example by selecting a different call 35 The operation of formatting engine 102 is explained in greater
`origin location from those listed on the dropdoWn menu 148.
`detail With respect to the ?owchart of FIG. 6.
`If a user selects a neW call origin location step 116, the neW
`E.l64 formatting engine 102 receives the entered phone
`call origin location is set in step 118 and used for a VoIP call.
`number in step 150. Formatting engine 102 then retrieves the
`One of the call origin locations may be designated as a default
`call origin location indicated in dropdoWn menu 148. The
`location and used unless another location is selected.
`40 E164 formatting engine 102 is further in communication
`After a call origin location is set (or if no change in call
`With database 106, Which stores E.l64 telephone call format
`origin locationis made), auser may enteratelephone number
`ting information. An example of the information stored in
`in step 120 in telephone number entry box 140. As is knoWn
`database 106 is shoWn in the folloWing Table 1.
`
`TABLE 1
`
`Country
`Code IDD Pre?x Set
`
`NDD Min Local National
`Pre?x
`Length
`Length
`
`011
`l
`44 00
`33
`00, 40, 50, 70, 90
`49 00
`34 00
`41
`00
`43 00
`353 00
`31
`00
`32 00
`46 00
`39 00
`45 00
`47 00
`358 00, 990, 994, 999
`55
`0014, 0015, 0021, 0023, 0031
`351
`00
`30 00
`54 00
`51
`00
`56 00
`82
`001, 002
`
`l
`0
`0
`0
`NA
`0
`0
`0
`0
`0
`0
`NA
`NA
`NA
`0
`0
`NA
`NA
`0
`0
`0
`0
`
`7
`4
`6
`4
`6
`7
`4
`5
`7
`6
`7
`7
`7
`5
`4
`7
`6
`7
`6
`6
`6
`4
`
`10
`NA
`NA
`NA
`9
`NA
`NA
`NA
`NA
`NA
`NA
`10
`8
`8
`NA
`NA
`9
`10
`NA
`NA
`NA
`NA
`
`Country/Region
`
`United States
`United Kingdom
`France
`Germany
`Spain
`Switzerland
`Austria
`Ireland
`Netherlands
`Belgium
`SWeden
`Italy
`Denmark
`NorWay
`Finland
`Brazil
`Portugal
`Greece
`Argentina
`Peru
`Chile
`South Korea
`
`PETITIONER APPLE INC. EX. 1004-15
`
`

`
`7
`TABLE l-continued
`
`US 8,036,366 B2
`
`8
`
`Country/Region
`
`Country
`Code IDD Pre?x Set
`
`NDD Min Local National
`Pre?x
`Length
`Length
`
`Australia
`Japan
`Taiwan
`Hungary
`Czech
`Poland
`India
`China
`
`001 1
`61
`O01, 010, 0061, 0041
`81
`886 002
`36 00
`420 00
`48 0O
`91
`0O
`86 0O
`
`O
`O
`O
`06
`NA
`0
`0
`0
`
`8
`6
`5
`6
`7
`4
`7
`7
`
`NA
`NA
`NA
`NA
`9
`NA
`NA
`NA
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`As shown, database 106 may include country codes, inter
`national direct dialing (IDD) pre?x sets, national direct dial
`ing (NDD) pre?xes, minimum local lengths, and national
`lengths for telephone calls for each of a plurality of countries.
`It is understood that database 106 may include the above
`mentioned information for more or less countries than are
`shown in Table 1. In a further embodiment, it is understood
`that the database 106 may include the above-mentioned coun
`try code, IDD pre?x, etc., for a plurality of cities and/or
`geographic regions instead of, or in addition to, storing such
`information on a per country basis. Moreover, it is understood
`that, for each geographic location in database 106, there may
`be more or less telephone data than shown in Table 1.
`As shown, database 106 may include the country codes for
`a variety of countries. A country code is the national pre?x
`that is used to dial into a country from another country. For
`instance, the country code for the United States is 1. When
`calling to the United States from outside the United States, a
`l is included to indicate the call is to be routed to the United
`States.
`The IDD pre?x is a pre?x that is used by telephone carriers
`to dial out of a country to another country. For instance, the
`IDD for the United States is 011, and when making a direct
`international call from within the United States, a caller must
`dial the 011 pre?x to indicate that the call is an international
`call. When making a traditional PSTN direct international
`telephone call, a user would dial the IDD pre?x for the host
`country and the country code for the destination country.
`However, the IDD pre?x is not used in the E164 standard.
`Some countries have multiple IDDs, with each used by a
`different carrier or for a different purpose.
`The NDD pre?x is the pre?x to make a domestic long
`distance call. Normally, an NDD pre?x is followed by an area
`code. For instance, the NDD pre?x in the United States is l,
`and in the United Kingdom is 0. Some countries, such as
`Spain, do not have an NDD pre?x. The NDD pre?x is not used
`in the E. l 64 standard.
`Database 106 may also store Min Local Length, which is
`the minimum length of a local phone number in a given
`country or region. For instance, in the United States, the
`minimum local length of a telephone number is seven digits.
`In Germany, the minimum local length is four digits.
`National Length is the length of the national dialing tele
`phone number without the NDD pre?x. For example, in the
`United States, the national length of a telephone number is ten
`digits. This parameter is relevant to countries that do not have
`NDD pre?xes. It is also relevant to some regions in the United
`States where two areas have different area codes, but calls
`between these areas are still considered local calls and do not
`include the NDD pre?x. For instance, in the Seattle area,
`PSTN calls from the 425 area code to the 206 area code (and
`visa-versa) are treated as local calls, and calls between these
`areas do not include the NDD pre?x.
`
`In embodiments, the information in database 106 may be
`updated periodically. For example, the information associ
`ated with each country in database 106 may be versioned to
`include a date when the information was added or last
`updated. The signaling and voice engine 108 placing the
`telephone call may query a server, such as for example a
`con?guration server, located within the VoIP service provider
`or elsewhere which includes the most up-to-date version of
`the information for each country included within database
`106. If the signaling and voice engine 108 determines that
`database 106 already has the up-to-date version of the data for
`each country, the con?guration server may notify the signal
`ing and voice engine 108 that there is no newer version of the
`data. If there is a newer version, the con?guration server may
`send a new set of parameters to the computing system envi
`ronment for storage in database 106. This will allow any
`update of data to be quickly distributed to all computing
`environments running an application program according to
`the present system.
`In an alternative embodiment, instead of being stored
`locally on a user’s computing system environment, an up-to
`date database of country codes, IPP pre?x sets, NPP pre?x
`sets, etc. may be maintained on a database in a central server
`within the VoIP service provider or elsewhere. In such
`embodiments, the signaling and voice engine 108 may access
`the central database to obtain call information prior to the
`E164 formatting engine 102 formatting a telephone number
`as explained hereinafter.
`In step 154, E.l64 formatting engine 102 receives call
`formatting data from database 106 for the call origin location
`designated in the user interface 100. As explained in greater
`detail hereinafter, the call origin location is signi?cant in that
`the telephone call is treated as originating within the country
`and area code set in the call origin location. Thus, for
`example, where a particular United States city is designated
`as the call origin location, and a seven digit telephone number
`is en

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