Register for free to join our community of investors and share your ideas. You will also get access to streaming quotes, interactive charts, trades, portfolio, live options flow and more tools.
Register for free to join our community of investors and share your ideas. You will also get access to streaming quotes, interactive charts, trades, portfolio, live options flow and more tools.
WOULD THAT also INCLUDE the addition of THE COST OF ALL THE SHARES ISSUED TO FUND THE INFRINGEMENT LAWSUITS? WITH TRIPLE DAMAges?
THE NUMBER OF SHARES OUT AT THAT POINT IN 2013/4 WAS I RECALL SOMEWHERE AROUND 3.5 MILLION AND VPLM WAS NOT EXPECTED TO GO OVER ONE BILLION TOTAL
hmmmmmmmm?
The 2018 WESTERNGECO LLC v. ION GEOPHYSICAL CORP Decision by the US Supreme Court Protects Infringement of US Patents Worldwide
GlobeNewswire•January 7, 2019
VoIP-Pal is reviewing its damages models based on this decision
BELLEVUE, Wash., Jan. 07, 2019 (GLOBE NEWSWIRE) -- Voip-Pal.com Inc. (“Voip-Pal”, “Company”) (VPLM) recognizes the significance of the US Supreme Court decision of June 22, 2018 in WESTERNGECO LLC V. Ion Geophysical Corp, No. 16-1011 (6-22-218) 579 U. S. ___ (2018).
In the 7-2 ruling the court extends the doctrine of earlier patent infringement cases that allow recovery under 35 U.S.C. § 271(f)(2) for components protected by U.S. patent law that are included in products assembled abroad. (Link to Supreme Court ruling).
Emil Malak, CEO of Voip-Pal, stated, “the doctrine affirmed in WESTERNGECO could have broad implications in damages awarded to patent owners when U.S. patented components are shipped for assembly to foreign countries. Conversely, the same section of the of the U.S. Code, 35 U.S.C. § 271(a) provides protections against sale within the U.S. of foreign produced products which infringe on any U.S. Patents:
Whoever without authority makes, uses, offers to sell, or sells any patented invention, within the United States, or imports into the United States any patented invention during the term of the patent therefore, infringes the patent.
35 U.S.C. § 271 ensures protection for patent holders and an “even playing field” for manufacturers by requiring that all products, whether for sale within the United States, or for sale abroad that are assembled with U.S.-sourced components, that infringe U.S. Patents, will result in damages that the patent holder may recover in court.
Voip-Pal is in the process of reviewing its current damages models in their patent infringement lawsuits and will adjust the projected damages wherever it is warranted.”
About Voip-Pal.com Inc.
Voip-Pal.Com, Inc. (“Voip-Pal”) is a publicly traded corporation (OTCQB: VPLM) headquartered in Bellevue, Washington. The Company owns a portfolio of patents relating to Voice-over-Internet Protocol (“VoIP”) technology that it is currently seeking to monetize.
Corporate Website: www.voip-pal.com
IR inquiries: IR@voip-pal.com
IR Contact: Rich Inza (954) 495-4600
VPLMReal-Time Best Bid & Ask: 03:25pm 01/04/2019
VOIP PAL.com, Inc.
Common Stock
0.085
0.004
4.94%
0.083 / 0.085 (10000 x 733900)
Real-Time Best Bid & Ask: 03:25pm 01/04/2019
Delayed (15 Min) Trade Data: 03:18pm 01/04/2019
Overview
Quote
Company Profile
Security Details
News
Financials
Disclosure
Research
OPEN
0.08
DAILY RANGE
0.078 - 0.085
VOLUME
921,921
DIVIDEND
N/A
PREV CLOSE
0.081
52WK RANGE
0.035 - 0.245
AVERAGE VOL (30D)
860,044
NET DIVIDEND YIELD
N/A
BEST BID
0.083 x 10000
BEST ASK
0.085 x 733900
MARKET CAP
129,110,582
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
CANT 0.083 10,000 15:13
VNDM 0.0775 10,000 01/03
CDEL 0.076 32,850 15:25
ALPS 0.075 10,000 15:41
CSTI 0.07 10,000 08:30
NITE 0.067 30,000 15:18
ETRF 0.067 22,388 12:45
VERT 0.025 10,000 12/17
VFIN 0.0001 10,000 01/02
MAXM 0.0001 10,000 07:35
OTCX U 0 08:15
MPID ASK PRICE SIZE TIME
ETRF 0.085 733,900 15:25
CSTI 0.0879 71,000 15:09
VNDM 0.088 10,000 14:23
CDEL 0.088 100,000 15:25
ALPS 0.09 10,000 12:20
NITE 0.134 5,000 13:47
VERT 0.15 5,000 12/24
CANT 0.15 5,000 15:13
VFIN 0.20 2,500 09:13
MAXM 200.00 1 07:35
OTCX U 0 08:15
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
01/04/2019 15:25:59 0.085 155,000 0.00
01/04/2019 15:18:41 0.085 10,000 0.00
01/04/2019 15:13:11 0.085 13,529 0.00
01/04/2019 15:13:05 0.084 10,000 -0.00
01/04/2019 14:59:32 0.085 700 0.00
01/04/2019 14:56:00 0.085 100,000 0.00
01/04/2019 14:55:54 0.084 10,000 0.00
01/04/2019 14:55:28 0.084 10,000 0.00
01/04/2019 14:23:02 0.083 50,000 -0.00
01/04/2019 14:04:45 0.0835 25,000 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
VPLM Real-Time Best Bid & Ask: 12:06pm 12/31/2018
VOIP PAL.com, Inc.
Common Stock
0.08725
0.00153
1.78%
0.086 / 0.09 (20000 x 100000)
Real-Time Best Bid & Ask: 12:06pm 12/31/2018
Delayed (15 Min) Trade Data: 11:13am 12/31/2018
Overview
Quote
Company Profile
Security Details
News
Financials
Disclosure
Research
OPEN
0.085
DAILY RANGE
0.085 - 0.09
VOLUME
315,026
DIVIDEND
N/A
PREV CLOSE
0.08572
52WK RANGE
0.035 - 0.2749
AVERAGE VOL (30D)
845,453
NET DIVIDEND YIELD
N/A
BEST BID
0.086 x 20000
BEST ASK
0.09 x 100000
MARKET CAP
136,634,063
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
CANT 0.086 10,000 12:00
CDEL 0.086 10,000 12:06
NITE 0.08 12,500 09:30
VNDM 0.0775 10,000 12:00
CSTI 0.0775 10,000 08:30
ETRF 0.07 71,500 09:30
VERT 0.025 10,000 12/17
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 07:35
OTCX U 0 08:15
MPID ASK PRICE SIZE TIME
NITE 0.09 100,000 09:34
CANT 0.092 19,100 12:06
VNDM 0.10 5,000 12:00
CDEL 0.10 20,000 12:06
CSTI 0.10 5,000 09:30
VFIN 0.11 5,000 10/08
ETRF 0.1195 98,200 09:30
VERT 0.15 5,000 12/24
MAXM 200.00 1 07:35
OTCX U 0 08:15
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/31/2018 11:13:37 0.08725 1,500 -0.00
12/31/2018 11:13:36 0.08875 10,000 0.00
12/31/2018 10:55:33 0.088 8,000 -0.00
12/31/2018 10:54:56 0.0895 3,000 0.00
12/31/2018 10:45:30 0.0895 555 0.00
12/31/2018 10:44:05 0.087 45,000 -0.00
12/31/2018 10:43:40 0.08825 10,000 0.00
12/31/2018 10:42:11 0.087 50,000 -0.00
12/31/2018 10:30:25 0.0895 1,000 0.00
12/31/2018 10:18:28 0.0895 1,500 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
PODCAST LINK: http://hwcdn.libsyn.com/p/4/e/f/4ef2e4939aeb76b1/TMB-18-12-30-winter-of-discontent-2019-looms-large.mp3?c_id=30327875&cs_id=30327875&destination_id=48789&expiration=1546200243&hwt=86501ea5df9bb4ec417c40f3f25fac6c
------
* 46:00 -apple discussion starts
VPLM Mentioned:
* 48:30 - talks about Qualcomm and arrogance of Apple
* 49:14 - talks about how 5G will require VPLM patent. Talks about PTAB's recent decision.
I was advised in2013 that there would not be a shaeholders meeting to approve the sale as 51# was controlled
Interesting gift' thanks for the information as he and vplm owe me many shares to money's
advanced to vplm through sayani
Apple,etc,will be.in.a.bad position.in.the.lawsuits. If they file and lose...bad facts in the lawsuits....if they don't file ,again they end up bad as they have then accepted the written decision..... I don't think they will care file anything....FUN & .GAMES
PTAB Reconsideration/Rehearing Practice to Date
A request for reconsideration/rehearing is equivalent to a "motion to reconsider" in the federal district courts; the decision on the reconsideration itself is the "rehearing," as no formal rehearing is conducted. In other words, the Board’s granting of a motion provides the requested relief without further argument from the parties.[6] Typically, in its written decision, the Board will outline each argument presented in the Request, address the arguments with specificity, and provide reasoning for either granting or denying based on the evidence brought to its attention in the Request.
Due to the infancy of the new post-grant proceedings, the vast majority of requests for reconsideration filed with the Board have concerned the grant or denial of the institution of the proceeding or the proceeding’s scope (i.e., which particular claims or references from the original petition will be reviewed). Of the approximately 200[7] requests for rehearingdecided as of the date of this writing, only 10 have been granted, and seven of these have granted only partial relief. This is roughly a 5 percent success rate for all motions. Of the requests related to the initial institution decision, only 3.5 percent (six of 169) have been successful. To date, the Board has not granted reconsideration of a final written decision.
SOURCE: Jones Day
Sent from Yahoo Mail for iPhone
I UNDERSTOOD THEY SETTLED AND A..NDA...IS.IN.FORCE
MALAKS 'B' COMPANY.WAS.INCORPORATED.LONG.BEFORE.THE.OTHER 'B' COMPANY
I BELIEVE THE OTHER COMPANY DROPPED THE SUIT WHEN THEY WERE TOLD THE FACTS
HMMMM
THIS WAS WHEN THE PATENTS WERE STARTED...ENGLISH.1997.REACTION
‘Email is a fad’
Among other revelations from the latest tranche of declassified documents, were Major’s skepticism towards email communication. Downing St. only developed digital infrastructure to avoid lagging behind the US, despite viewing email as a passing fad.
SOME FAD
/b]
VPLM Real-Time Best Bid & Ask: 09:41am 12/28/2018
VOIP PAL.com, Inc.
Common Stock
0.0865
0.0015
1.76%
0.0875 / 0.089 (40488 x 10000)
Real-Time Best Bid & Ask: 09:41am 12/28/2018
Delayed (15 Min) Trade Data: 12:00am 12/27/2018
Overview
Quote
Company Profile
Security Details
News
Financials
Disclosure
Research
OPEN
0.00
DAILY RANGE
N/A
VOLUME
0
DIVIDEND
N/A
PREV CLOSE
0.085
52WK RANGE
0.035 - 0.275
AVERAGE VOL (30D)
828,963
NET DIVIDEND YIELD
N/A
BEST BID
0.0875 x 40488
BEST ASK
0.089 x 10000
MARKET CAP
137,877,350
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
CSTI 0.0875 40,488 09:38
ASCM 0.0855 10,000 09:41
CANT 0.085 66,500 09:30
VNDM 0.0835 10,000 12/27
CDEL 0.069 25,236 09:39
NITE 0.067 30,000 09:30
ETRF 0.06 50,000 09:30
VERT 0.025 10,000 12/17
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 12/27
OTCX U 0 08:14
MPID ASK PRICE SIZE TIME
VNDM 0.088 75,000 09:43
CDEL 0.089 10,000 09:39
CSTI 0.09 10,000 08:30
ASCM 0.09 10,000 09:41
NITE 0.098 10,000 08:14
ETRF 0.1023 21,800 09:30
VFIN 0.11 5,000 10/08
VERT 0.15 5,000 12/24
CANT 0.25 5,000 09:30
MAXM 200.00 1 12/27
OTCX U 0 08:14
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/27/2018 15:59:28 0.0865 30,000 -0.00
12/27/2018 15:51:57 0.08725 4,778 0.00
12/27/2018 15:47:14 0.0865 26,300 -0.00
12/27/2018 15:35:10 0.087 10,000 0.00
12/27/2018 15:34:20 0.087 10,000 0.00
12/27/2018 15:07:51 0.0866 14,100 0.00
12/27/2018 15:07:51 0.0866 3,700 0.00
12/27/2018 15:07:48 0.0866 22,200 -0.00
12/27/2018 15:07:34 0.087 10,000 0.00
12/27/2018 15:03:05 0.087 15,000 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
PAGE 53 TO 63 OF 63 OF RBR MORE TO COME
THIS SCAM TOOK AN ENGINEERING LIFETIME OF YEARS TO BUILD INVOLVING COUNTLESS HOURS
DETRACTORS AND INFRINGERS SHOULD BE ASHAMED OF THEMSELVES
[color=red]THIS IS JUST AN ABSTRACT OF A 5TH OR 6 TH CHILD PATENT OF THE BASE PATENT FOR RNR. THE WHOLE PATENT IS A VERY LARGE BOOKSIZED INVENTION[/color]
THIS IS A LINK TO THE BEGINNING OF THE ABSTRACT
https://investorshub.advfn.com/boards/read_msg.aspx?message_id=145725390
time field having the value of 100 indicates that the user has a balance of 100
free seconds of call time.
[0261] Referring back to FIG. 33B, after copying and storing the subscriber
account record shown in FIG. 39 from the database to the subscriber account
record buffer RC, block 746 directs the processor to determine whether or not
the subscriber account record funds balance field 740 or free time field 742 are
greater than zero. If they are not greater than zero, block 748 directs the
processor to set the time to live equal to zero and the process is ended. The RC
then sends a message back to the call controller to cause the call controller to
deny the call to the caller. If the conditions associated with block 746 are
satisfied, block 750 directs the processor to calculate the call cost per unit time.
A procedure for calculating the call cost per unit time is described below in
connection with FIG. 41.
[0262] Assuming the procedure for calculating the cost per second returns a
number representing the call cost per second, block 752 directs the processor
202 in FIG. 7 to determine whether or not the cost per second is equal to zero.
If so, block 754 directs the processor to set the time to live to 99999 to give the
caller a very long length of call and the process is ended.
[0263] If at block 752 the call cost per second is not equal to zero, block 756
directs the processor 202 in FIG. 7 to calculate a first time to live value as a
sum of a free time attributed to the participant in the communication session
and the quotient of the funds balance held by the participant to the cost per unit
time value. To do this, the processor 202 of FIG. 7 is directed to set a first time
value or temporary time to live value equal to the sum of the free time provided
in the free time field 742 of the subscriber account record shown in FIG. 39 and
the quotient of the contents of the funds balance field 740 in the subscriber
account record for the call shown in FIG. 39 and the cost per second
determined at block 750 of FIG. 33B. Thus, for example, if at block 750 the
cost per second is determined to be three cents per second and the funds
balance field holds the value $10.00, the quotient of the funds balance and cost
per second is 333 seconds and this is added to the contents of the free time field
742, which is 100, resulting in a time to live of 433 seconds.
[0264] Block 758 then directs the RC processor to produce a second time value
in response to the first time value and the billing pattern associated with the
participant as established by the bundle override record shown in FIG. 37. This
process is shown in greater detail at 760 in FIG. 40 and generally involves
producing a remainder value representing a portion of the second billing
interval remaining after dividing the second billing interval into a difference
between the first time value and the first billing interval.
[0265] Referring to FIG. 40, the process for producing the second time value
begins with a first block 762 that directs the processor 202 in FIG. 7 to set a
remainder value equal to the difference between the time to live value
calculated at block 756 in FIG. 33B and the contents of the first interval field
722 of the record shown in FIG. 37, multiplied by the modulus of the contents
of the second interval field 724 of FIG. 37. Thus, in the example given, the
difference between the time to live field and the first interval field is 433 minus
30, which is 403 and therefore the remainder produced by the mod of 403
divided by 6 is 0.17. Block 764 then directs the processor to determine whether
or not this remainder value is greater than zero and, if so, block 766 directs the
processor to subtract the remainder from the first time value and set the
difference as the second time value. To do this the processor is directed to set
the time to live value equal to the current time to live of 403 minus the
remainder of 1, i.e., 402 seconds. The processor is then returned back to block
758 of FIG. 33B.
[0266] Referring back to FIG. 40, if at block 764 the remainder is not greater
than zero, block 768 directs the processor 202 of FIG. 7 to determine whether
or not the time to live is less than the contents of the first interval field 722 in
the record shown in FIG. 37. If so, then block 770 of FIG. 40 directs the
processor to set the time to live equal to zero. Thus, the second time value is set
to zero when the remainder is greater than zero and the first time value is less
than the free time associated with the participant in the call. If at block 768 the
conditions of that block are not satisfied, the processor returns the first time to
live value as the second time to live value.
[0267] Thus, referring to FIG. 33B, after having produced a second time to live
value, block 772 directs the processor to set the time to live value for use in
blocks 342, 350 or 564.
Cost per Second
[0268] Referring back to FIG. 33B, at block 750 it was explained that a call
cost per unit time is calculated. The following explains how that call cost per
unit time value is calculated.
[0269] Referring to FIG. 41, a process for calculating a cost per unit time is
shown generally at 780. The process is executed by the processor 202 in FIG. 7
and generally involves locating a record in a database, the record comprising a
markup type indicator, a markup value and a billing pattern and setting a
reseller rate equal to the sum of the markup value and the buffer rate, locating
at least one of an override record specifying a route cost per unit time amount
associated with a route associated with the communication session, a reseller
record associated with a reseller of the communications session, the reseller
record specifying a reseller cost per unit time associated with the reseller for
the communication session and a default operator markup record specifying a
default cost per unit time and setting as the cost per unit time the sum of the
reseller rate and at least one of the route cost per unit time, the reseller cost per
unit time and the default cost per unit time.
[0270] The process begins with a first set of blocks 782, 802 and 820 which
direct the processor 202 in FIG. 7 to locate at least one of a record associated
with a reseller and a route associated with the reseller, a record associated with
the reseller, and a default reseller mark-up record. Block 782, in particular,
directs the processor to address the database 18 to look for a record associated
with a reseller and a route with the reseller by looking for a special rate record
based on the master list ID established at block 410 in FIG. 8C.
[0271] Referring to FIG. 42, a system operator special rate table record is
shown generally at 784. The record includes a reseller field 786, a master list
ID field 788, a mark-up type field 790, a mark-up value field 792, a first
interval field 794 and a second interval field 796. The reseller field 786 holds a
reseller ID code and the master list ID field 788 holds a master list ID code.
The mark-up type field 790 holds a mark-up type such as fixed percent or cents
and the mark-up value field 792 holds a real number representing the value
corresponding to the mark-up type. The first interval field 794 holds a number
representing a first level of charging and the second interval field 796 holds a
number representing a second level of charging.
[0272] An exemplary system operator special rate table for a reseller known as
"Klondike" is shown at 798 in FIG. 43. In this record, the reseller field 786
holds a code indicating the retailer ID is Klondike, the master list ID field 788
holds the code 1019 to associate the record with the master list ID code 1019.
The mark-up type field 790 holds a code indicating the mark-up type is cents
and the mark-up value field 792 holds a mark-up value indicating 1/10 of one
cent. The first interval field 794 holds the value 30 and the second interval field
796 holds the value 6, these two fields indicating that the operator allows 30
seconds for free and then billing is done in increments of 6 seconds after that.
[0273] Referring back to FIG. 41, if at block 782 a record such as the one
shown in FIG. 43 is located in the system operator special rates table, the
processor is directed to block 800 in FIG. 41. If such a record is not found in
the system operator special rates table, block 802 directs the processor to
address the database 18 to look in a system operator mark-up table for a markup record associated with the reseller.
[0274] Referring to FIG. 44, an exemplary system operator mark-up table
record is shown generally at 804. The record includes a reseller field 806, a
mark-up type field 808, a mark-up value field 810, a first interval field 812 and
a second interval field 814. The reseller mark-up type, mark-up value, first
interval and second interval fields are as described in connection with the fields
by the same names in the system operator special rates table shown in FIG. 42.
[0275] FIG. 45 provides an exemplary system operator mark-up table record
for the reseller known as Klondike and therefore the reseller field 806 holds the
value "Klondike", the mark-up type field 808 holds the value cents, the markup value field holds the value 0.01, the first interval field 812 holds the value
30 and the second interval field 814 holds the value 6. This indicates that the
reseller "Klondike" charges by the cent at a rate of one cent per minute. The
first 30 seconds of the call are free and billing is charged at the rate of one cent
per minute in increments of 6 seconds.
[0276] FIG. 46 provides an exemplary system operator mark-up table record
for cases where no specific system operator mark-up table record exists for a
particular reseller, i.e., a default reseller mark-up record. This record is similar
to the record shown in FIG. 45 and the reseller field 806 holds the value "all",
the mark-up type field 808 is loaded with a code indicating mark-up is based on
a percentage, the mark-up value field 810 holds the percentage by which the
cost is marked up, and the first and second interval fields 812 and 814 identify
first and second billing levels.
[0277] Referring back to FIG. 41, if at block 802 a specific mark-up record for
the reseller identified at block 782 is not located, block 820 directs the
processor to get the mark-up record shown in FIG. 46, having the "all" code in
the reseller field 806. The processor is then directed to block 800.
[0278] Referring back to FIG. 41, at block 800, the processor 202 of FIG. 7 is
directed to set a reseller rate equal to the sum of the mark-up value of the
record located by blocks 782, 802 or 820 and the buffer rate specified by the
contents of the buffer rate field 516 of the master list record shown in FIG. 20.
To do this, the RC processor sets a variable entitled "reseller cost per second"
to a value equal to the sum of the contents of the mark-up value field (792, 810)
of the associated record, plus the contents of the buffer rate field (516) from the
master list record associated with the master list ID. Then, block 822 directs the
processor to set a system operator cost per second variable equal to the contents
of the buffer rate field (516) from the master list record. Block 824 then directs
the processor to determine whether the call type flag indicates the call is local
or national/local style and whether the caller has free local calling. If both these
conditions are met, then block 826 sets the user cost per second variable equal
to zero and sets two increment variables equal to one, for use in later
processing. The cost per second has thus be calculated and the process shown
in FIG. 41 is ended.
[0279] If at block 824 the conditions of that block are not met, the processor
202 of FIG. 7 is directed to locate at least one of a bundle override table record
specifying a route cost per unit time associated with a route associated with the
communication session, a reseller special destinations table record associated
with a reseller of the communications session, the reseller record specifying a
reseller cost per unit time associated with the reseller for the communication
session and a default reseller global markup record specifying a default cost per
unit time.
[0280] To do this block 828 directs the processor 202 of FIG. 7 to determine
whether or not the bundle override record 726 in FIG. 37 located at block 712
in FIG. 33A has a master list ID equal to the stored master list ID that was
determined at block 410 in FIG. 8B. If not, block 830 directs the processor to
find a reseller special destinations table record in a reseller special destinations
table in the database (18), having a master list ID code equal to the master list
ID code of the master list ID that was determined at block 410 in FIG. 8B. An
exemplary reseller special destinations table record is shown in FIG. 47 at 832.
The reseller special destinations table record includes a reseller field 834, a
master list ID field 836, a mark-up type field 838, a mark-up value field 840, a
first interval field 842 and a second interval field 844. This record has the same
format as the system operator special rates table record shown in FIG. 42, but is
stored in a different table to allow for different mark-up types and values and
time intervals to be set according to resellers' preferences. Thus, for example,
an exemplary reseller special destinations table record for the reseller
"Klondike" is shown at 846 in FIG. 48. The reseller field 834 holds a value
indicating the reseller as the reseller "Klondike" and the master list ID field
holds the code 1019. The mark-up type field 838 holds a code indicating the
mark-up type is percent and the mark-up value field 840 holds a number
representing the mark-up value as 5%. The first and second interval fields
identify different billing levels used as described earlier.
[0281] Referring back to FIG. 41, the record shown in FIG. 48 may be located
at block 830, for example. If at block 830 such a record is not found, then block
832 directs the processor to get a default operator global mark-up record based
on the reseller ID.
[0282] Referring to FIG. 49, an exemplary default reseller global mark-up table
record is shown generally at 848. This record includes a reseller field 850, a
mark-up type field 852, a mark-up value field 854, a first interval field 856 and
a second interval field 858. The reseller field 850 holds a code identifying the
reseller. The mark-up type field 852, the mark-up value field 854 and the first
and second interval fields 856 and 858 are of the same type as described in
connection with fields of the same name in FIG. 47, for example. The contents
of the fields of this record 860 may be set according to system operator
preferences, for example.
[0283] Referring to FIG. 50, an exemplary reseller global mark-up table record
is shown generally at 860. In this record, the reseller field 850 holds a code
indicating the reseller is "Klondike", the mark-up type field 852 holds a code
indicating the mark-up type is percent, the mark-up value field 854 holds a
value representing 10% as the mark-up value, the first interval field 856 holds
the value 30 and the second interval field 858 holds the values 30 and 6
respectively to indicate the first 30 seconds are free and billing is to be done in
6 second increments after that.
[0284] Referring back to FIG. 41, should the processor get to block 832, the
reseller global mark-up table record as shown in FIG. 50 is retrieved from the
database and stored locally at the RC. As seen in FIG. 41, it will be appreciated
that if the conditions are met in blocks 828 or 830, or if the processor executes
block 832, the processor is then directed to block 862 which causes it to set an
override value equal to the contents of the mark-up value field of the located
record, to set the first increment variable equal to the contents of the first
interval field of the located record and to set the second increment variable
equal to the contents of the second interval field of the located record. (The
increment variables were alternatively set to specific values at block 826 in
FIG. 41.)
[0285] It will be appreciated that the located record could be a bundle override
record of the type shown in FIG. 37 or the located record could be a reseller
special destination record of the type shown in FIG. 48 or the record could be a
reseller global mark-up table record of the type shown in FIG. 50. After the
override and first and second increment variables have been set at block 862,
the processor 202 if FIG. 7 is directed to set as the cost per unit time the sum of
the reseller rate and at least one of the route cost per unit time, the reseller cost
per unit time and the default cost per unit time, depending on which record was
located. To do this, block 864 directs the processor to set the cost per unit time
equal to the sum of the reseller cost set at block 800 in FIG. 41, plus the
contents of the override variable calculated in block 862 in FIG. 41. The cost
per unit time has thus been calculated and it is this cost per unit time that is
used in block 752 of FIG. 33B, for example.
Terminating the Call
[0286] In the event that either the caller or the callee terminates a call, the
telephone of the terminating party sends a SIP bye message to the controller 14.
An exemplary SIP bye message is shown at 900 in FIG. 51 and includes a
caller field 902, a callee field 904 and a call ID field 906. The caller field 902
holds a twelve digit user name, the callee field 904 holds a PSTN compatible
number or user name, and the call ID field 906 holds a unique call identifier
field of the type shown in the call ID field 65 of the SIP invite message shown
in FIG. 3.
[0287] Thus, for example, referring to FIG. 52, a SIP bye message for the
Calgary callee is shown generally at 908 and the caller field 902 holds a user
name identifying the caller, in this case 2001 1050 8667, the callee field 904
holds a user name identifying the Calgary callee, in this case 2001 1050 2222,
and the call ID field 906 holds the code FA10 @ 192.168.0.20, which is the call
ID for the call.
[0288] The SIP bye message shown in FIG. 52 is received at the call controller
14 and the call controller executes a process as shown generally at 910 in FIG.
53. The process includes a first block 912 that directs the call controller
processor 202 of FIG. 7 to copy the caller, callee and call ID field contents
from the SIP bye message received from the terminating party to corresponding
fields of an RC stop message buffer (not shown). Block 914 then directs the
processor to copy the call start time from the call timer and to obtain a call stop
time from the call timer. Block 916 then directs the call controller to calculate a
communication session time by determining the difference in time between the
call start time and the call stop time. This session time is then stored in a
corresponding field of the RC call stop message buffer. Block 917 then directs
the processor to decrement the contents of the current concurrent call field 277
of the dialing profile for the caller as shown in FIG. 10, to indicate that there is
one less concurrent call in progress. A copy of the amended dialing profile for
the caller is then stored in the database 18 of FIG. 1. Block 918 then directs the
processor to copy the route from the call log. An RC call stop message
produced as described above is shown generally at 1000 in FIG. 54. An RC call
stop message specifically associated with the call made to the Calgary callee is
shown generally at 1020 in FIG. 55.
[0289] Referring to FIG. 54, the RC stop call message includes a caller field
1002, callee field 1004, a call ID field 1006, an account start time field 1008,
an account stop time field 1010, a communication session time 1012 and a
route field 1014. The caller field 1002 holds a username, the callee field 1004
holds a PSTN-compatible number or system number, the call ID field 1006
hold the unique call identifier received from the SIP invite message shown in
FIG. 3, the account start time field 1008 holds the date and start time of the
call, the account stop time field 1010 holds the date and time the call ended, the
communication session time field 1012 holds a value representing the
difference between the start time and the stop time, in seconds, and the route
field 1014 holds the IP address for the communications link that was
established.
[0290] Referring to FIG. 55, an exemplary RC stop call message for the
Calgary callee is shown generally at 1020. In this example the caller field 1002
holds the user name 2001 1050 8667 identifying the Vancouver-based caller
and the callee field 1004 holds the user name 2001 1050 2222 identifying the
Calgary callee. The contents of the call ID field 1006 are FA10@ 192.168.0.20.
The contents of the account start time field 1008 are 2006-12-30 12:12:12 and
the contents of the account stop time field are 2006-12-30 12:12:14. The
contents of the communication session time field 1012 are 2 to indicate 2
seconds call duration and the contents of the route field are 72.64.39.58.
[0291] Referring back to FIG. 53, after having produced an RC call stop
message, block 920 directs the processor 202 in FIG. 7 to send the RC stop
message compiled in the RC call stop message buffer to the RC 16 of FIG. 1.
Block 922 directs the call controller 14 to send a "bye" message back to the
party that did not terminate the call.
[0292] The RC 16 of FIG. 1 receives the call stop message and an RC call stop
message process is invoked at the RC, the process being shown at 950 in FIGS.
56A, 56B and 56C. Referring to FIG. 56A, the RC stop message process 950
begins with a first block 952 that directs the processor 202 in FIG. 7 to
determine whether or not the communication session time is less than or equal
to the first increment value set by the cost calculation routine shown in FIG. 41,
specifically blocks 826 or 862 thereof. If this condition is met, then block 954
of FIG. 56A directs the RC processor to set a chargeable time variable equal to
the first increment value set at block 826 or 862 of FIG. 41. If at block 952 of
FIG. 56A the condition is not met, block 956 directs the RC processor to set a
remainder variable equal to the difference between the communication session
time and the first increment value mod the second increment value produced at
block 826 or 862 of FIG. 41. Then, the processor is directed to block 958 of
FIG. 56A which directs it to determine whether or not the remainder is greater
than zero. If so, block 960 directs the RC processor to set the chargeable time
variable equal to the difference between the communication session time and
the remainder value. If at block 958 the remainder is not greater than zero,
block 962 directs the RC processor to set the chargeable time variable equal to
the contents of the communication session time from the RC stop message. The
processor is then directed to block 964. In addition, after executing block 954
or block 960, the processor is directed to block 964.
[0293] Block 964 directs the processor 202 of FIG. 7 to determine whether or
not the chargeable time variable is greater than or equal to the free time balance
as determined from the free time field 742 of the subscriber account record
shown in FIG. 39. If this condition is satisfied, block 966 of FIG. 56A directs
the processor to set the free time field 742 in the record shown in FIG. 39, to
zero. If the chargeable time variable is not greater than or equal to the free time
balance, block 968 directs the RC processor to set a user cost variable to zero
and Block 970 then decrements the free time field 742 of the subscriber
account record for the caller by the chargeable time amount determined by
block 954, 960 or 962.
[0294] If at Block 964 the processor 202 of FIG. 7 was directed to Block 966
which causes the free time field (742 of FIG. 39) to be set to zero, referring to
FIG. 56B, Block 972 directs the processor to set a remaining chargeable time
variable equal to the difference between the chargeable time and the contents of
the free time field (742 of FIG. 39). Block 974 then directs the processor to set
the user cost variable equal to the product of the remaining chargeable time and
the cost per second calculated at Block 750 in FIG. 33B. Block 976 then directs
the processor to decrement the funds balance field (740) of the subscriber
account record shown in FIG. 39 by the contents of the user cost variable
calculated at Block 974.
[0295] After completing Block 976 or after completing Block 970 in FIG. 56A,
block 978 of FIG. 56B directs the processor 202 of FIG. 7 to calculate a reseller
cost variable as the product of the reseller rate as indicated in the mark-up value
field 810 of the system operator mark-up table record shown in FIG. 45 and the
communication session time determined at Block 916 in FIG. 53. Then, Block
980 of FIG. 56B directs the processor to add the reseller cost to the reseller
balance field 986 of a reseller account record of the type shown in FIG. 57 at
982.
[0296] The reseller account record includes a reseller ID field 984 and the
aforementioned reseller balance field 986. The reseller ID field 984 holds a
reseller ID code, and the reseller balance field 986 holds an accumulated
balance of charges.
[0297] Referring to FIG. 58, a specific reseller accounts record for the reseller
"Klondike" is shown generally at 988. In this record the reseller ID field 984
holds a code representing the reseller "Klondike" and the reseller balance field
986 holds a balance of $100.02. Thus, the contents of the reseller balance field
986 in FIG. 58 are incremented by the reseller cost calculated at block 978 of
FIG. 56B.
[0298] Still referring to FIG. 56B, after adding the reseller cost to the reseller
balance field as indicated by Block 980, Block 990 directs the processor to 202
of FIG. 7 calculate a system operator cost as the product of the system operator
cost per second, as set at block 822 in FIG. 41, and the communication session
time as determined at Block 916 in FIG. 53. Block 992 then directs the
processor to add the system operator cost value calculated at Block 990 to a
system operator accounts table record of the type shown at 994 in FIG. 59. This
record includes a system operator balance field 996 holding an accumulated
charges balance. Referring to FIG. 60 in the embodiment described, the system
operator balance field 996 may hold the value $1,000.02 for example, and to
this value the system operator cost calculated at Block 990 is added when the
processor executes Block 992 of FIG. 56B.
[0299] Ultimately, the final reseller balance 986 in FIG. 58 holds a number
representing an amount owed to the reseller by the system operator and the
system operator balance 996 of FIG. 59 holds a number representing an amount
of profit for the system operator.
[0300] While specific embodiments of the invention have been described and
illustrated, such embodiments should be considered illustrative of the invention
only and not as limiting the invention as construed in accordance with the
accompanying claims.
PAGE 43 TO 52 OF 63 OF RBR MORE TO COME
BLUETOOTH.TM. wireless interface, a wired interface or speaker phone, for
example. The handset acts as a termination point for an audio path (not shown)
which will be appreciated later. The I/O port 36 also has an internet connection
48 which is preferably a high speed internet connection and is operable to
connect the telephone/videophone to an internet service provider. The internet
connection 48 also acts as a part of the voice path, as will be appreciated later.
It will be appreciated that where the subscriber device is a videophone, a
separate video path is established in the same way an audio path is established.
For simplicity, the following description refers to a telephone call, but it is to be
understood that a videophone call is handled similarly, with the call controller
causing the media relay to facilitate both an audio path and a video path instead
of only an audio path.
[0182] The parameter memory 38 has a username field 50, a password field 52
an IP address field 53 and a SIP proxy address field 54, for example. The user
name field 50 is operable to hold a user name, which in this case is 2001 1050
8667. The user name is assigned upon subscription or registration into the
system and, in this embodiment, includes a twelve digit number having a
continent code 61, a country code 63, a dealer code 70 and a unique number
code 74. The continent code 61 is comprised of the first or left-most digit of the
user name in this embodiment. The country code 63 is comprised of the next
three digits. The dealer code 70 is comprised of the next four digits and the
unique number code 74 is comprised of the last four digits. The password field
52 holds a password of up to 512 characters, in this example. The IP address
field 53 stores an IP address of the telephone, which for this explanation is
192.168.0.20. The SIP proxy address field 54 holds an IP protocol compatible
proxy address which may be provided to the telephone through the internet
connection 48 as part of a registration procedure.
[0183] The program memory 34 stores blocks of codes for directing the
processor 32 to carry out the functions of the telephone, one of which includes
a firewall block 56 which provides firewall functions to the telephone, to
prevent access by unauthorized persons to the microprocessor 32 and memories
34, 38 and 40 through the internet connection 48. The program memory 34 also
stores codes 57 for establishing a call ID. The call ID codes 57 direct the
processor 32 to produce a call identifier having a format comprising a
hexadecimal string at an IP address, the IP address being the IP address of the
telephone. Thus, an exemplary call identifier might be FF10@192.168.0.20.
[0184] Generally, in response to picking up the handset interface 46 and
activating a dialing function 44, the microprocessor 32 produces and sends a
SIP invite message as shown in FIG. 3, to the routing controller 16 shown in
FIG. 1. This SIP invite message is essentially to initiate a call by a calling
subscriber.
[0185] Referring to FIG. 3, the SIP invite message includes a caller ID field 60,
a callee identifier field 62, a digest parameters field 64, a call ID field 65 an IP
address field 67 and a caller UDP port field 69. In this embodiment, the caller
ID field 60 includes the user name 2001 1050 8667 that is the Vancouver user
name stored in the user name field 50 of the parameter memory 38 in the
telephone 12 shown in FIG. 2. In addition, referring back to FIG. 3, the callee
identifier field 62 includes a callee identifier which in this embodiment is the
user name 2001 1050 2222 that is the dialled number of the Calgary subscriber
stored in the dialled number buffer 45 shown in FIG. 2. The digest parameters
field 64 includes digest parameters and the call ID field 65 includes a code
comprising a generated prefix code (FF10) and a suffix which is the Internet
Protocol (IP) address of the telephone 12 stored in the IP address field 53 of the
telephone. The IP address field 67 holds the IP address assigned to the
telephone, in this embodiment 192.168.0.20, and the caller UDP port field 69
includes a UDP port identifier identifying a UDP port at which the audio path
will be terminated at the caller's telephone.
Call Controller
[0186] Referring to FIG. 4, a call controller circuit of the call controller 14
(FIG. 1) is shown in greater detail at 100. The call controller circuit 100
includes a microprocessor 102, program memory 104 and an I/O port 106. The
circuit 100 may include a plurality of microprocessors, a plurality of program
memories and a plurality of I/O ports to be able to handle a large volume of
calls. However, for simplicity, the call controller circuit 100 will be described
as having only one microprocessor 102, program memory 104 and I/O port
106, it being understood that there may be more.
[0187] Generally, the I/O port 106 includes an input 108 for receiving
messages such as the SIP invite message shown in FIG. 3, from the telephone
shown in FIG. 2. The I/O port 106 also has an RC request message output 110
for transmitting an RC request message to the RC 16 of FIG. 1, an RC message
input 112 for receiving routing messages from the RC 16, a gateway output 114
for transmitting messages to one of the gateways 20 shown in FIG. 1 to advise
the gateway to establish an audio path, for example, and a gateway input 116
for receiving messages from the gateway. The I/O port 106 further includes a
SIP output 118 for transmitting messages to the telephone 12 to advise the
telephone of the IP addresses of the gateways which will establish the audio
path. The I/O port 106 further includes a voicemail server input and output 117,
119 respectively for communicating with the voicemail server 19 shown in
FIG. 1.
[0188] While certain inputs and outputs have been shown as separate, it will be
appreciated that some may be a single IP address and IP port. For example, the
messages sent to the RC 16 and received from the RC 16 may be transmitted
and received on the same single IP port.
[0189] The program memory 104 includes blocks of code for directing the
microprocessor 102 to carry out various functions of the call controller 14. For
example, these blocks of code include a first block 120 for causing the call
controller circuit 100 to execute a SIP invite to RC request process to produce
an RC request message in response to a received SIP invite message. In
addition, there is a routing message to gateway message block 122 which
causes the call controller circuit 100 to produce a gateway query message in
response to a received routing message from the RC 16.
[0190] Referring to FIG. 5, the SIP invite to RC request process is shown in
more detail at 120. On receipt of a SIP invite message of the type shown in
FIG. 3, block 122 of FIG. 5 directs the call controller circuit 100 of FIG. 4 to
authenticate the user. This may be done, for example, by prompting the user for
a password, by sending a message back to the telephone 12 which is interpreted
at the telephone as a request for a password entry or the password may
automatically be sent to the call controller 14 from the telephone, in response to
the message. The call controller 14 may then make enquiries of databases to
which it has access, to determine whether or not the user's password matches a
password stored in the database. Various functions may be used to pass
encryption keys or hash codes back and forth to ensure that the transmittal of
passwords is secure.
[0191] Should the authentication process fail, the call controller circuit 100 is
directed to an error handling routine 124 which causes messages to be
displayed at the telephone 12 to indicate there was an authentication problem.
If the authentication procedure is passed, block 121 directs the call controller
circuit 100 to determine whether or not the contents of the caller ID field 60 of
the SIP invite message received from the telephone is an IP address. If it is an
IP address, then block 123 directs the call controller circuit 100 to set the
contents of a type field variable maintained by the microprocessor 102 to a
code representing that the call type is a third party invite. If at block 121 the
caller ID field contents do not identify an IP address, then block 125 directs the
microprocessor to set the contents of the type field to a code indicating that the
call is being made by a system subscriber. Then, block 126 directs the call
controller circuit to read the call identifier 65 provided in the SIP invite
message from the telephone 12, and at block 128 the processor is directed to
produce an RC request message that includes that call ID. Block 129 then
directs the call controller circuit 100 to send the RC request to the RC 16.
[0192] Referring to FIG. 6, an RC request message is shown generally at 150
and includes a caller field 152, a callee field 154, a digest field 156, a call ID
field 158 and a type field 160. The caller, callee, digest call ID fields 152, 154,
156 and 158 contain copies of the caller, callee, digest parameters and call ID
fields 60, 62, 64 and 65 of the SIP invite message shown in FIG. 3. The type
field 160 contains the type code established at blocks 123 or 125 of FIG. 5 to
indicate whether the call is from a third party or system subscriber,
respectively. The caller identifier field may include a PSTN number or a
system subscriber username as shown, for example.
Routing Controller (RC)
[0193] Referring to FIG. 7, the RC 16 is shown in greater detail and includes an
RC processor circuit shown generally at 200. The RC processor circuit 200
includes a processor 202, program memory 204, a table memory 206, buffer
memory 207, and an I/O port 208, all in communication with the processor 202.
(As earlier indicated, there may be a plurality of processor circuits (202),
memories (204), etc.) The buffer memory 207 includes a caller id buffer 209
and a callee id buffer 211.
[0194] The I/O port 208 includes a database request port 210 through which a
request to the database (18 shown in FIG. 1) can be made and includes a
database response port 212 for receiving a reply from the database 18. The I/O
port 208 further includes an RC request message input 214 for receiving the RC
request message from the call controller (14 shown in FIG. 1) and includes a
routing message output 216 for sending a routing message back to the call
controller 14. The I/O port 208 thus acts to receive caller identifier and a callee
identifier contained in the RC request message from the call controller, the RC
request message being received in response to initiation of a call by a calling
subscriber.
[0195] The program memory 204 includes blocks of codes for directing the
processor 202 to carry out various functions of the RC (16). One of these
blocks includes an RC request message handler 250 which directs the RC to
produce a routing message in response to a received RC request message. The
RC request message handler process is shown in greater detail at 250 in FIGS.
8A through 8D.
RC Request Message Handler
[0196] Referring to FIG. 8A, the RC request message handler begins with a
first block 252 that directs the RC processor circuit (200) to store the contents
of the RC request message (150) in buffers in the buffer memory 207 of FIG. 7,
one of which includes the caller ID buffer 209 of FIG. 7 for separately storing
the contents of the callee field 154 of the RC request message. Block 254 then
directs the RC processor circuit to use the contents of the caller field 152 in the
RC request message shown in FIG. 6, to locate and retrieve from the database
18 a record associating calling attributes with the calling subscriber. The
located record may be referred to as a dialing profile for the caller. The
retrieved dialing profile may then be stored in the buffer memory 207, for
example.
[0197] Referring to FIG. 9, an exemplary data structure for a dialing profile is
shown generally at 253 and includes a user name field 258, a domain field 260,
and calling attributes comprising a national dialing digits (NDD) field 262, an
international dialing digits (IDD) field 264, a country code field 266, a local
area codes field 267, a caller minimum local length field 268, a caller
maximum local length field 270, a reseller field 273, a maximum number of
concurrent calls field 275 and a current number of concurrent calls field 277.
Effectively the dialing profile is a record identifying calling attributes of the
caller identified by the caller identifier. More generally, dialing profiles
represent calling attributes of respective subscribers.
[0198] An exemplary caller profile for the Vancouver subscriber is shown
generally at 276 in FIG. 10 and indicates that the user name field 258 includes
the user name (2001 1050 8667) that has been assigned to the subscriber and is
stored in the user name field 50 in the telephone as shown in FIG. 2.
[0199] Referring back to FIG. 10, the domain field 260 includes a domain
name as shown at 282, including a node type identifier 284, a location code
identifier 286, a system provider identifier 288 and a domain portion 290. The
domain field 260 effectively identifies a domain or node associated with the
user identified by the contents of the user name field 258. In this embodiment,
the node type identifier 284 includes the code "sp" identifying a supernode and
the location identifier 286 identifies the supernode as being in Vancouver
(YVR). The system provider identifier 288 identifies the company supplying
the service and the domain portion 290 identifies the "corn" domain.
[0200] The national dialled digit field 262 in this embodiment includes the digit
"1" and, in general, includes a number specified by the International
Telecommunications Union (ITU) Telecommunications Standardization Sector
(ITU-T) E.164 Recommendation which assigns national dialing digits to
countries.
[0201] The international dialing digit field 264 includes a code also assigned
according to the ITU-T according to the country or location of the user.
[0202] The country code field 266 also includes the digit "1" and, in general,
includes a number assigned according to the ITU-T to represent the country in
which the user is located.
[0203] The local area codes field 267 includes a list of area codes that have
been assigned by the ITU-T to the geographical area in which the subscriber is
located. The caller minimum and maximum local number length fields 268 and
270 hold numbers representing minimum and maximum local number lengths
permitted in the area code(s) specified by the contents of the local area codes
field 267. The reseller field 273 is optional and holds a code identifying a
retailer of the services, in this embodiment "Klondike". The maximum number
of concurrent calls field 275 holds a code identifying the maximum number of
concurrent calls that the user is entitled to cause to concurrently exist. This
permits more than one call to occur concurrently while all calls for the user are
billed to the same account. The current number of concurrent calls field 277 is
initially 0 and is incremented each time a concurrent call associated with the
user is initiated and is decremented when a concurrent call is terminated. The
area codes associated with the user are the area codes associated with the
location code identifier 286 of the contents of the domain field 260.
[0204] A dialing profile of the type shown in FIG. 9 is produced whenever a
user registers with the system or agrees to become a subscriber to the system.
Thus, for example, a user wishing to subscribe to the system may contact an
office maintained by a system operator and personnel in the office may ask the
user certain questions about his location and service preferences, whereupon
tables can be used to provide office personnel with appropriate information to
be entered into the user name 258, domain 260, NDD 262, IDD 264, country
code 266, local area codes 267, caller minimum and maximum local length
fields 268 and 270 reseller field 273 and concurrent call fields 275 and 277 to
establish a dialing profile for the user.
[0205] Referring to FIGS. 11 and 12, callee dialing profiles for users in Calgary
and London, respectively for example, are shown.
[0206] In addition to creating dialing profiles when a user registers with the
system, a direct-in-dial (DID) record of the type shown at 278 in FIG. 13 is
added to a direct-in-dial bank table in the database (18 in FIG. 1) to associate
the username and a host name of the supernode with which the user is
associated, with an E.164 number associated with the user on the PSTN
network.
[0207] An exemplary DID table record entry for the Calgary callee is shown
generally at 300 in FIG. 14. The user name field 281 and user domain field 272
are analogous to the user name and user domain fields 258 and 260 of the caller
dialing profile shown in FIG. 10. The contents of the DID field 274 include a
E.164 public telephone number including a country code 283, an area code 285,
an exchange code 287 and a number 289. If the user has multiple telephone
numbers, then multiple records of the type shown at 300 would be included in
the DID bank table, each having the same user name and user domain, but
different DID field 274 contents reflecting the different telephone numbers
associated with that user.
[0208] In addition to creating dialing profiles as shown in FIG. 9 and DID
records as shown in FIG. 13 when a user registers with the system, call
blocking records of the type shown in FIG. 26, call forwarding records of the
type shown in FIG. 28 and voicemail records of the type shown in FIG. 30 may
be added to the database 18 when a new subscriber is added to the system.
[0209] Referring back to FIG. 8A, after retrieving a dialing profile for the
caller, such as shown at 276 in FIG. 10, the RC processor circuit 200 is directed
to block 256 which directs the processor circuit (200) to determine whether the
contents of the concurrent call field 277 are less then the contents of the
maximum concurrent call field 275 of the dialing profile for the caller and, if
so, block 271 directs the processor circuit to increment the contents of the
concurrent call field 277. If the contents of concurrent call field 277 are equal
to or greater than the contents of the maximum concurrent call field 275, block
259 directs the processor circuit 200 to send an error message back to the call
controller (14) to cause the call controller to notify the caller that the maximum
number of concurrent calls has been reached and no further calls can exist
concurrently, including the presently requested call.
[0210] Assuming block 256 allows the call to proceed, the RC processor circuit
200 is directed to perform certain checks on the callee identifier provided by
the contents of the callee field 154 in FIG. 6, of the RC request message 150.
These checks are shown in greater detail in FIG. 8B.
[0211] Referring to FIG. 8B, the processor (202 in FIG. 7) is directed to a first
block 257 that causes it to determine whether a digit pattern of the callee
identifier (154) provided in the RC request message (150) includes a pattern
that matches the contents of the international dialing digits (IDD) field 264 in
the caller profile shown in FIG. 10. If so, then block 259 directs the processor
(202) to set a call type code identifier variable maintained by the processor to
indicate that the call is an international call and block 261 directs the processor
to produce a reformatted callee identifier by reformatting the callee identifier
into a predefined digit format. In this embodiment, this is done by removing the
pattern of digits matching the IDD field contents 264 of the caller dialing
profile to effectively shorten the callee identifier. Then, block 263 directs the
processor 202 to determine whether or not the callee identifier has a length
which meets criteria establishing it as a number compliant with the E.164
Standard set by the ITU. If the length does not meet this criteria, block 265
directs the processor 202 to send back to the call controller (14) a message
indicating the length is not correct. The process is then ended. At the call
controller 14, routines (not shown) stored in the program memory 104 may
direct the processor (102 of FIG. 4) to respond to the incorrect length message
by transmitting a message back to the telephone (12 shown in FIG. 1) to
indicate that an invalid number has been dialled.
[0212] Still referring to FIG. 8B, if the length of the amended callee identifier
meets the criteria set forth at block 263, block 269 directs the processor (202 of
FIG. 7) to make a database request to determine whether or not the amended
callee identifier is found in a record in the direct-in-dial bank (DID) table.
Referring back to FIG. 8B, at block 269, if the processor 202 receives a
response from the database indicating that the reformatted callee identifier
produced at block 261 is found in a record in the DID bank table, then the
callee is a subscriber to the system and the call is classified as a private network
call by directing the processor to block 279 which directs the processor to copy
the contents of the corresponding user name field (281 in FIG. 14) from the
callee DID bank table record (300 in FIG. 14) into the callee ID buffer (211 in
FIG. 7). Thus, the processor 202 locates a subscriber user name associated with
the reformatted callee identifier. The processor 202 is then directed to point B
in FIG. 8A.
Subscriber to Subscriber Calls between Different Nodes
[0213] Referring to FIG. 8A, block 280 directs the processor (202 of FIG. 7) to
execute a process to determine whether or not the node associated with the
reformatted callee identifier is the same node that is associated with the caller
identifier. To do this, the processor 202 determines whether or not a prefix
(e.g., continent code 61) of the callee name held in the callee ID buffer (211 in
FIG. 7), is the same as the corresponding prefix of the caller name held in the
username field 258 of the caller dialing profile shown in FIG. 10. If the
corresponding prefixes are not the same, block 302 in FIG. 8A directs the
processor (202 in FIG. 7) to set a call type flag in the buffer memory (207 in
FIG. 7) to indicate the call is a cross-domain call. Then, block 350 of FIG. 8A
directs the processor (202 of FIG. 7) to produce a routing message identifying
an address on the private network with which the callee identified by the
contents of the callee ID buffer is associated and to set a time to live for the call
at a maximum value of 99999, for example.
[0214] Thus the routing message includes a caller identifier, a call identifier set
according to a username associated with the located DID bank table record and
includes an identifier of a node on the private network with which the callee is
associated.
[0215] The node in the system with which the callee is associated is determined
by using the callee identifier to address a supernode table having records of the
type as shown at 370 in FIG. 17. Each record 370 has a prefix field 372 and a
supernode address field 374. The prefix field 372 includes the first n digits of
the callee identifier. In this embodiment n=2. The supernode address field 374
holds a code representing the IP address or a fully qualified domain name of the
node associated with the code stored in the callee identifier prefix field 372.
Referring to FIG. 18, for example, if the prefix is 20, the supernode address
associated with that prefix is sp.yvr.digifonica.com.
[0216] Referring to FIG. 15, a generic routing message is shown generally at
352 and includes an optional supplier prefix field 354, and optional delimiter
field 356, a callee user name field 358, at least one route field 360, a time to
live field 362 and other fields 364. The optional supplier prefix field 354 holds
a code for identifying supplier traffic. The optional delimiter field 356 holds a
symbol that delimits the supplier prefix code from the callee user name field
358. In this embodiment, the symbol is a number sign (#). The route field 360
holds a domain name or IP address of a gateway or node that is to carry the
call, and the time to live field 362 holds a value representing the number of
seconds the call is permitted to be active, based on subscriber available minutes
and other billing parameters.
[0217] Referring to FIG. 8A and FIG. 16, an example of a routing message
produced by the processor at block 350 for a caller associated with a different
node than the caller is shown generally at 366 and includes only a callee field
359, a route field 361 and a time to live field 362.
[0218] Referring to FIG. 8A, having produced a routing message as shown in
FIG. 16, block 381 directs the processor (202 of FIG. 7) to send the routing
message shown in FIG. 16 to the call controller 14 shown in FIG. 1.
[0219] Referring back to FIG. 8B, if at block 257, the callee identifier stored in
the callee id buffer (211 in FIG. 7) does not begin with an international dialing
digit, block 380 directs the processor (202) to determine whether or not the
callee identifier begins with the same national dial digit code as assigned to the
caller. To do this, the processor (202) is directed to refer to the retrieved caller
dialing profile as shown in FIG. 10. In FIG. 10, the national dialing digit code
262 is the number 1. Thus, if the callee identifier begins with the number 1,
then the processor (202) is directed to block 382 in FIG. 8B.
[0220] Block 382 directs the processor (202 of FIG. 7) to examine the callee
identifier to determine whether or not the digits following the NDD digit
identify an area code that is the same as any of the area codes identified in the
local area codes field 267 of the caller dialing profile 276 shown in FIG. 10. If
not, block 384 of FIG. 8B directs the processor 202 to set the call type flag to
indicate that the call is a national call. If the digits following the NDD digit
identify an area code that is the same as a local area code associated with the
caller as indicated by the caller dialing profile, block 386 directs the processor
202 to set the call type flag to indicate a local call, national style. After
executing blocks 384 or 386, block 388 directs the processor 202 to format the
callee identifier into a pre-defined digit format to produce a re-formatted callee
identifier by removing the national dialled digit and prepending a caller country
code identified by the country code field 266 of the caller dialing profile shown
in FIG. 10. The processor (202) is then directed to block 263 of FIG. 8B to
perform other processing as already described above.
[0221] If at block 380, the callee identifier does not begin with a national
dialled digit, block 390 directs the processor (202) to determine whether the
callee identifier begins with digits that identify the same area code as the caller.
Again, the reference for this is the retrieved caller dialing profile shown in FIG.
10. The processor (202) determines whether or not the first few digits of the
callee identifier identify an area code corresponding to the local area code field
267 of the retrieved caller dialing profile. If so, then block 392 directs the
processor 202 to set the call type flag to indicate that the call is a local call and
block 394 directs the processor (202) to format the callee identifier into a predefined digit format to produce a reformatted callee identifier by prepending
the caller country code to the callee identifier, the caller country code being
determined from the country code field 266 of the retrieved caller dialing
profile shown in FIG. 10. The processor (202) is then directed to block 263 for
further processing as described above.
[0222] Referring back to FIG. 8B, at block 390, the callee identifier does not
start with the same area code as the caller, block 396 directs the processor (202
of FIG. 7) to determine whether the number of digits in the callee identifier, i.e.
the length of the callee identifier, is within the range of digits indicated by the
caller minimum local number length field 268 and the caller maximum local
number length field 270 of the retrieved caller dialing profile shown in FIG. 10.
If so, then block 398 directs the processor (202) to set the call type flag to
indicate a local call and block 400 directs the processor (202) to format the
callee identifier into a pre-defined digit format to produce a reformatted callee
identifier by prepending to the callee identifier the caller country code (as
indicated by the country code field 266 of the retrieved caller dialing profile
shown in FIG. 10) followed by the caller area code (as indicated by the local
area code field 267 of the caller profile shown in FIG. 10). The processor (202)
is then directed to block 263 of FIG. 8B for further processing as described
above.
[0223] Referring back to FIG. 8B, if at block 396, the callee identifier has a
length that does not fall within the range specified by the caller minimum local
number length field (268 in FIG. 10) and the caller maximum local number
length field (270 in FIG. 10), block 402 directs the processor 202 of FIG. 7 to
determine whether or not the callee identifier identifies a valid user name. To
do this, the processor 202 searches through the database (18 of FIG. 10 of
dialing profiles to find a dialing profile having user name field contents (258 in
FIG. 10) that match the callee identifier. If no match is found, block 404 directs
the processor (202) to send an error message back to the call controller (14). If
at block 402, a dialing profile having a user name field 258 that matches the
callee identifier is found, block 406 directs the processor 202 to set the call type
flag to indicate that the call is a private network call and then the processor is
directed to block 280 of FIG. 8A. Thus, the call is classified as a private
network call when the callee identifier identifies a subscriber to the private
network.
[0224] From FIG. 8B, it will be appreciated that there are certain groups of
blocks of codes that direct the processor 202 in FIG. 7 to determine whether the
callee identifier has certain features such as an international dialing digit, a
national dialing digit, an area code and a length that meet certain criteria, and
cause the processor 202 to reformat the callee identifier stored in the callee id
buffer 211, as necessary into a predetermined target format including only a
country code, area code, and a normal telephone number, for example, to cause
the callee identifier to be compatible with the E.164 number plan standard in
this embodiment. This enables block 269 in FIG. 8B to have a consistent
format of callee identifiers for use in searching through the DID bank table
records of the type shown in FIG. 13 to determine how to route calls for
subscriber to subscriber calls on the same system. Effectively, therefore blocks
257, 380, 390, 396 and 402 establish call classification criteria for classifying
the call as a public network call or a private network call. Block 269 classifies
the call, depending on whether or not the formatted callee identifier has a DID
bank table record and this depends on how the call classification criteria are
met and block 402 directs the processor 202 of FIG. 7 to classify the call as a
private network call when the callee identifier complies with a pre-defined
format, i.e. is a valid user name and identifies a subscriber to the private
network, after the callee identifier has been subjected to the classification
criteria of blocks 257, 380, 390 and 396.
Subscriber to Non-Subscriber Calls
[0225] Not all calls will be subscriber to subscriber calls and this will be
detected by the processor 202 of FIG. 7 when it executes block 269 in FIG. 8B,
and does not find a DID bank table record that is associated with the callee, in
the DID bank table. When this occurs, the call is classified as a public network
call by directing the processor 202 to block 408 of FIG. 8B which causes it to
set the contents of the callee id buffer 211 of FIG. 7 equal to the newly
formatted callee identifier, i.e., a number compatible with the E.164 standard.
Then, block 410 of FIG. 8B directs the processor (202) to search a database of
route or master list records associating route identifiers with dialing codes
shown in FIG. 19 to locate a router having a dialing code having a number
pattern matching at least a portion of the reformatted callee identifier.
[0226] Referring to FIG. 19, a data structure for a master list or route list record
is shown. Each master list record includes a master list ID field 500, a dialing
code field 502, a country code field 504, a national sign number field 506, a
minimum length field 508, a maximum length field 510, a national dialled digit
field 512, an international dialled digit field 514 and a buffer rate field 516.
[0227] The master list ID field 500 holds a unique code such as 1019, for
example, identifying the record. The dialing code field 502 holds a
predetermined number pattern that the processor 202 of FIG. 7 uses at block
410 in FIG. 8B to find the master list record having a dialing code matching the
first few digits of the amended callee identifier stored in the callee id buffer
211. The country code field 504 holds a number representing the country code
associated with the record and the national sign number field 506 holds a
number representing the area code associated with the record. (It will be
observed that the dialing code is a combination of the contents of the country
code field 504 and the national sign number field 506.) The minimum length
field 508 holds a number representing the minimum length of digits associated
with the record and the maximum length field 51 holds a number representing
the maximum number of digits in a number with which the record may be
compared. The national dialled digit (NDD) field 512 holds a number
representing an access code used to make a call within the country specified by
the country code, and the international dialled digit (IDD) field 514 holds a
number representing the international prefix needed to dial a call from the
country indicated by the country code.
[0228] Thus, for example, a master list record may have a format as shown in
FIG. 20 with exemplary field contents as shown.
[0229] Referring back to FIG. 8B, using the country code and area code
portions of the reformatted callee identifier stored in the callee id buffer 211,
block 410 directs the processor 202 of FIG. 7 to find a master list record such
as the one shown in FIG. 20 having a dialing code that matches the country
code (1) and area code (604) of the callee identifier. Thus, in this example, the
processor (202) would find a master list record having an ID field containing
the number 1019. This number may be referred to as a route ID. Thus, a route
ID number is found in the master list record associated with a predetermined
number pattern in the reformatted callee identifier.
[0230] After executing block 410 in FIG. 8B, the process continues as shown in
FIG. 8D. Referring to FIG. 8D, block 412 directs the processor 202 of FIG. 7 to
use the route ID number to search a database of supplier records associating
supplier identifiers with route identifiers to locate at least one supplier record
associated with the route identifier to identify at least one supplier operable to
supply a communications link for the route.
[0231] Referring to FIG. 21, a data structure for a supplier list record is shown.
Supplier list records include a supplier ID field 540, a master list ID field 542,
an optional prefix field 544, a specific route identifier field 546, a NDD/IDD
rewrite field 548, a rate field 550, and a timeout field 551. The supplier ID field
540 holds a code identifying the name of the supplier and the master list ID
field 542 holds a code for associating the supplier record with a master list
record. The prefix field 544 holds a string used to identify the supplier traffic
and the specific route identifier field 546 holds an IP address of a gateway
operated by the supplier indicated by the supplier ID field 540. The NDD/IDD
rewrite field 548 holds a code representing a rewritten value of the NDD/IDD
associated with this route for this supplier, and the rate field 550 holds a code
indicating the cost per second to the system operator to use the route provided
by the gateway specified by the contents of the route identifier field 546. The
timeout field 551 holds a code indicating a time that the call controller should
wait for a response from the associated gateway before giving up and trying the
next gateway. This time value may be in seconds, for example. Exemplary
supplier records are shown in FIGS. 22, 23 and 24 for the exemplary suppliers
shown at 20 in FIG. 1, namely Telus, Shaw and Sprint.
[0232] Referring back to FIG. 8D, at block 412 the processor 202 finds all
supplier records that identify the master list ID found at block 410 of FIG. 8B.
[0233] Referring back to FIG. 8D, block 560 directs the processor 202 of FIG.
7 to begin to produce a routing message of the type shown in FIG. 15. To do
this, the processor 202 loads a routing message buffer as shown in FIG. 25 with
a supplier prefix of the least costly supplier where the least costly supplier is
determined from the rate fields 550 of FIG. 21 of the records associated with
respective suppliers.
[0234] Referring to FIGS. 22-24, in the embodiment shown, the supplier
"Telus" has the lowest number in the rate field 550 and therefore the prefix
4973 associated with that supplier is loaded into the routing message buffer
shown in FIG. 25 first. Block 562 in FIG. 8D directs the processor to delimit
the prefix 4973 by the number sign (#) and to next load the reformatted callee
identifier into the routing message buffer shown in FIG. 25. At block 563 of
FIG. 8D, the contents of the route identifier field 546 of FIG. 21 of the record
associated with the supplier "Telus" are added by the processor 202 of FIG. 7
to the routing message buffer shown in FIG. 25 after an @ sign delimiter, and
then block 564 in FIG. 8D directs the processor to get a time to live value,
which in one embodiment may be 3600 seconds, for example. Block 566 then
directs the processor 202 to load this time to live value and the timeout value
(551) in FIG. 21 in the routing message buffer of FIG. 25. Accordingly, a first
part of the routing message for the Telus gateway is shown generally at 570 in
FIG. 25.
[0235] Referring back to FIG. 8D, block 571 directs the processor 202 back to
block 560 and causes it to repeat blocks 560, 562, 563, 564 and 566 for each
successive supplier until the routing message buffer is loaded with information
pertaining to each supplier identified by the processor at block 412. Thus, a
second portion of the routing message as shown at 572 in FIG. 25 relates to the
second supplier identified by the record shown in FIG. 23. Referring back to
FIG. 25, a third portion of the routing message as shown at 574 and is
associated with a third supplier as indicated by the supplier record shown in
FIG. 24.
[0236] Consequently, referring to FIG. 25, the routing message buffer holds a
routing message identifying a plurality of different suppliers able to provide
gateways to the public telephone network (i.e. specific routes) to establish at
least part of a communication link through which the caller may contact the
callee. In this embodiment, each of the suppliers is identified, in succession,
according to rate. Other criteria for determining the order in which suppliers are
listed in the routing message may include preferred supplier priorities which
may be established based on service agreements, for example. Referring back
to FIG. 8D, block 568 directs the processor 202 of FIG. 7 to send the routing
message shown in FIG. 25 to the call controller 14 in FIG. 1.
Subscriber to Subscriber Calls within the same Node
[0237] Referring back to FIG. 8A, if at block 280, the callee identifier received
in the RC request message has a prefix that identifies the same node as that
associated with the caller, block 600 directs the processor 202 to use the callee
identifier in the callee id buffer 211 to locate and retrieve a dialing profile for
the callee. The dialing profile may be of the type shown in FIG. 11 or 12, for
example. Block 602 of FIG. 8A then directs the processor 202 of FIG. 7 to get
call block, call forward and voicemail records from the database 18 of FIG. 1
based on the user name identified in the callee dialing profile retrieved by the
processor at block 600. Call block, call forward and voicemail records may be
as shown in FIGS. 26, 27, 28 and 30 for example.
[0238] Referring to FIG. 26, the call block records include a user name field
604 and a block pattern field 606. The user name field holds a user name
corresponding to the user name in the user name field (258 in FIG. 10) of the
callee profile and the block pattern field 606 holds one or more E.164-
compatible numbers or user names identifying PSTN numbers or system
subscribers from whom the subscriber identified in the user name field 604
does not wish to receive calls.
[0239] Referring to FIG. 8A and FIG. 27, block 608 directs the processor 202
of FIG. 7 to determine whether or not the caller identifier received in the RC
request message matches a block pattern stored in the block pattern field 606 of
the call block record associated with the callee identified by the contents of the
user name field 604 in FIG. 26. If the caller identifier matches a block pattern,
block 610 directs the processor to send a drop call or non-completion message
to the call controller (14) and the process is ended. If the caller identifier does
not match a block pattern associated with the callee, block 609 directs the
processor to store the username and domain of the callee, as determined from
the callee dialing profile, and a time to live value in the routing message buffer
as shown at 650 in FIG. 32. Referring back to FIG. 8A, block 612 then directs
the processor 202 to determine whether or not call forwarding is required.
[0240] Referring to FIG. 28, the call forwarding records include a user name
field 614, a destination number field 616, and a sequence number field 618.
The user name field 614 stores a code representing a user with which the record
is associated. The destination number field 616 holds a user name representing
a number to which the current call should be forwarded, and the sequence
number field 618 holds an integer number indicating the order in which the
user name associated with the corresponding destination number field 616
should be attempted for call forwarding. The call forwarding table may have a
plurality of records for a given user. The processor 202 of FIG. 7 uses the
contents of the sequence number field 618 to place the records for a given user
in order. As will be appreciated below, this enables the call forwarding
numbers to be tried in an ordered sequence.
[0241] Referring to FIG. 8A and FIG. 29, if at block 612, the call forwarding
record for the callee identified by the callee identifier contains no contents in
the destination number field 616 and accordingly no contents in the sequence
number field 618, there are no call forwarding entries for this callee, and the
processor 202 is directed to block 620 in FIG. 8C. If there are entries in the call
forwarding table 27, block 622 in FIG. 8A directs the processor 202 to search
the dialing profile table to find a dialing profile record as shown in FIG. 9, for
the user identified by the destination number field 616 of the call forward
record shown in FIG. 28. The processor 202 of FIG. 7 is further directed to
store the username and domain for that user and a time to live value in the
routing message buffer as shown at 652 in FIG. 32, to produce a routing
message as illustrated. This process is repeated for each call forwarding record
associated with the callee identified by the callee id buffer 211 in FIG. 7 to add
to the routing message buffer all call forwarding usernames and domains
associated with the callee.
[0242] Referring back to FIG. 8A, if at block 612 there are no call forwarding
records, then at block 620 in FIG. 8C the processor 202 is directed to determine
whether or not the user identified by the callee identifier has paid for voicemail
service. This is done by checking to see whether or not a flag is set in a
voicemail record of the type shown in FIG. 30 in a voicemail table stored in the
database 18 shown in FIG. 1.
[0243] Referring to FIG. 30, voicemail records in this embodiment may include
a user name field 624, a voicemail server field 626, a seconds to voicemail field
628 and an enable field 630. The user name field 624 stores the user name of
the callee. The voicemail server field 626 holds a code identifying a domain
name of a voicemail server associated with the user identified by the user name
field 624. The seconds to voicemail field 628 holds a code identifying the time
to wait before engaging voicemail, and the enable field 630 holds a code
representing whether or not voicemail is enabled for the user. Referring back to
FIG. 8C, at block 620 if the processor 202 of FIG. 7 finds a voicemail record as
shown in FIG. 30 having user name field 624 contents matching the callee
identifier, the processor is directed to examine the contents of the enabled field
630 to determine whether or not voicemail is enabled. If voicemail is enabled,
then block 640 in FIG. 8C directs the processor 202 to FIG. 7 to store the
contents of the voicemail server field 626 and the contents of the seconds to
voicemail field 628 in the routing message buffer, as shown at 654 in FIG. 32.
Block 642 then directs the processor 202 to get time to live values for each path
specified by the routing message according to the cost of routing and the user's
balance. These time to live values are then appended to corresponding paths
already stored in the routing message buffer.
[0244] Referring back to FIG. 8C, block 644 then directs the processor 202 of
FIG. 7 to store the IP address of the current node in the routing message buffer
as shown at 656 in FIG. 32. Block 646 then directs the processor 202 to send
the routing message shown in FIG. 32 to the call controller 14 in FIG. 1. Thus
in the embodiment described the routing controller will produce a routing
message that will cause at least one of the following: forward the call to another
party, block the call and direct the caller to a voicemail server.
[0245] Referring back to FIG. 1, the routing message whether of the type
shown in FIG. 16, 25 or 32, is received at the call controller 14 and the call
controller interprets the receipt of the routing message as a request to establish
a call.
[0246] Referring to FIG. 4, the program memory 104 of the call controller 14
includes a routing to gateway routine depicted generally at 122.
[0247] Where a routing message of the type shown in FIG. 32 is received by
the call controller 14, the routing to gateway routine 122 shown in FIG. 4 may
direct the processor 102 cause a message to be sent back through the internet 13
shown in FIG. 1 to the callee telephone 15, knowing the IP address of the callee
telephone 15 from the user name.
[0248] Alternatively, if the routing message is of the type shown in FIG. 16,
which identifies a domain associated with another node in the system, the call
controller may send a SIP invite message along the high speed backbone 17
connected to the other node. The other node functions as explained above, in
response to receipt of a SIP invite message.
[0249] If the routing message is of the type shown in FIG. 25 where there are a
plurality of gateway suppliers available, the call controller sends a SIP invite
message to the first supplier, in this case Telus, using a dedicated line or an
internet connection to determine whether or not Telus is able to handle the call.
If the Telus gateway returns a message indicating it is not able to handle the
call, the call controller 14 then proceeds to send a SIP invite message to the
next supplier, in this case Shaw. The process is repeated until one of the
suppliers responds indicating that it is available to carry the call. Once a
supplier responds indicating that it is able to carry the call, the supplier sends
back to the call controller 14 an IP address for a gateway provided by the
supplier through which the call or audio path of the call will be carried. This IP
address is sent in a message from the call controller 14 to the media relay 9
which responds with a message indicating an IP address to which the caller
telephone should send its audio/video, traffic and an IP address to which the
gateway should send its audio/video for the call. The call controller conveys the
IP address at which the media relay expects to receive audio/video from the
caller telephone, to the caller telephone 12 in a message. The caller telephone
replies to the call controller with an IP address at which it would like to receive
audio/video and the call controller conveys that IP address to the media relay.
The call may then be conducted between the caller and callee through the
media relay and gateway.
[0250] Referring back to FIG. 1, if the call controller 14 receives a routing
message of the type shown in FIG. 32, and which has at least one call
forwarding number and/or a voicemail number, the call controller attempts to
establish a call to the callee telephone 15 by seeking from the callee telephone a
message indicating an IP address to which the media relay should send
audio/video. If no such message is received from the callee telephone, no call is
established. If no call is established within a pre-determined time, the call
controller 14 attempts to establish a call with the next user identified in the call
routing message in the same manner. This process is repeated until all call
forwarding possibilities have been exhausted, in which case the call controller
communicates with the voicemail server 19 identified in the routing message to
obtain an IP address to which the media relay should send audio/video and the
remainder of the process mentioned above for establishing IP addresses at the
media relay 9 and the caller telephone is carried out to establish audio/video
paths to allowing the caller to leave a voicemail message with the voicemail
server.
[0251] When an audio/video path through the media relay is established, a call
timer maintained by the call controller 14 logs the start date and time of the call
and logs the call ID and an identification of the route (i.e., audio/video path IP
address) for later use in billing.
Time to Live
[0252] Referring to FIGS. 33A and 33B, a process for determining a time to
live value for any of blocks 642 in FIG. 8C, 350 in FIG. 8A or 564 in FIG. 8D
above is described. The process is executed by the processor 202 shown in FIG.
7. Generally, the process involves calculating a cost per unit time, calculating a
first time value as a sum of a free time attributed to a participant in the
communication session and the quotient of a funds balance held by the
participant to the cost per unit time value and producing a second time value in
response to the first time value and a billing pattern associated with the
participant, the billing pattern including first and second billing intervals and
the second time value being the time to permit a communication session to be
conducted.
[0253] Referring to FIG. 33A, in this embodiment, the process begins with a
first block 700 that directs the RC processor to determine whether or not the
call type set at block 302 in FIG. 8A indicates the call is a network or crossdomain call. If the call is a network or cross-domain call, block 702 of FIG.
33A directs the RC processor to set the time to live equal to 99999 and the
process is ended. Thus, the network or cross-domain call type has a long time
to live. If at block 700 the call type is determined not to be a network or crossdomain type, block 704 directs the RC processor to get a subscriber bundle
table record from the database 18 in FIG. 1 and store it locally in the subscriber
bundle record buffer at the RC 14.
[0254] Referring to FIG. 34, a subscriber bundle table record is shown
generally at 706. The record includes a user name field 708 and a services field
710. The user name field 708 holds a code identifying the subscriber user name
and the services field 710 holds codes identifying service features assigned to
the subscriber, such as free local calling, call blocking and voicemail, for
example.
[0255] FIG. 35 shows an exemplary subscriber bundle record for the
Vancouver caller. In this record the user name field 708 is loaded with the user
name 2001 1050 8667 and the services field 710 is loaded with codes 10, 14
and 16 corresponding to free local calling, call blocking and voicemail,
respectively. Thus, user 2001 1050 8667 has free local calling, call blocking
and voicemail features.
[0256] Referring back to FIG. 33A, after having loaded a subscriber bundle
record into the subscriber bundle record buffer, block 712 directs the RC
processor to search the database (18) determine whether or not there is a bundle
override table record for the master list ID value that was determined at block
410 in FIG. 8B. An exemplary bundle override table record is shown at 714 in
FIG. 36. The bundle table record includes a master list ID field 716, an override
type field 718, an override value field 720 a first interval field 722 and a second
interval field 724. The master list ID field 716 holds a master list ID code. The
override type field 718 holds an override type code indicating a fixed, percent
or cent amount to indicate the amount by which a fee will be increased. The
override value field 720 holds a real number representing the value of the
override type. The first interval field 722 holds a value indicating the minimum
number of seconds for a first level of charging and the second interval field 724
holds a number representing a second level of charging.
[0257] Referring to FIG. 37, a bundle override record for the located master list
ID code is shown generally at 726 and includes a master list ID field 716
holding the code 1019 which was the code located in block 410 of FIG. 8B.
The override type field 718 includes a code indicating the override type is a
percentage value and the override value field 720 holds the value 10.0
indicating that the override will be 10.0% of the charged value. The first
interval field 722 holds a value representing 30 seconds and the second interval
field 724 holds a value representing 6 seconds. The 30 second value in the first
interval field 722 indicates that charges for the route will be made at a first rate
for 30 seconds and thereafter the charges will be made at a different rate in
increments of 6 seconds, as indicated by the contents of the second interval
field 724.
[0258] Referring back to FIG. 33A, if at block 712 the processor finds a bundle
override record of the type shown in FIG. 37, block 728 directs the processor to
store the bundle override record in local memory. In the embodiment shown,
the bundle override record shown in FIG. 37 is stored in the bundle override
record buffer at the RC as shown in FIG. 7. Still referring to FIG. 33A, block
730 then directs the RC processor to determine whether or not the subscriber
bundle table record 706 in FIG. 35 has a services field including a code
identifying that the user is entitled to free local calling and also directs the
processor to determine whether or not the call type is not a cross domain cell,
i.e. it is a local or local/national style. If both of these conditions are satisfied,
block 732 directs the processor to set the time to live equal to 99999, giving the
user a long period of time for the call. The process is then ended. If the
conditions associated with block 730 are not satisfied, block 734 of FIG. 33B
directs the RC processor to retrieve a subscriber account record associated with
a participant in the call. This is done by copying and storing in the subscriber
account record buffer a subscriber account record for the caller.
[0259] Referring to FIG. 38, an exemplary subscriber account table record is
shown generally at 736. The record includes a user name field 738, a funds
balance field 740 and a free time field 742. The user name field 738 holds a
subscriber user name, the funds balance field 740 holds a real number
representing the dollar value of credit available to the subscriber and the free
time field 742 holds an integer representing the number of free seconds that the
user is entitled to.
[0260] An exemplary subscriber account record for the Vancouver caller is
shown generally at 744 in FIG. 39, wherein the user name field 738 holds the
user name 2001 1050 8667, the funds balance field 740 holds the value $10.00,
and the free time field 742 holds the value 100. The funds balance field holding
the value of $10.00 indicates the user has $10.00 worth of credit and the free
PAGE 23 TO 43 OF 63 OF RBR MORE TO COME
reseller cost per unit time and billing pattern associated with the reseller for the
communication session and a default record specifying a default cost per unit
time and billing pattern and instructions for setting as the pre-defined billing
pattern the billing pattern of the record located. The billing pattern of the record
located may include a first billing interval and a second billing interval.
[0099] The instructions for causing the processor circuit to determine the first
chargeable time may include instructions for directing the processor circuit to
set the first chargeable time equal to the first billing interval when the
communication session time is less than or equal to the first billing interval.
[0100] The instructions for causing the processor circuit to determine the first
chargeable time may include instructions for producing a remainder value
representing a portion of the second billing interval remaining after dividing the
second billing interval into a difference between communication session time
and the first interval when the communication session time is greater than the
communication session time and instructions for causing the processor circuit
to set the first chargeable time to a difference between the communication
session time and the remainder when the remainder is greater than zero and
instructions for causing the processor circuit to set the first chargeable time to
the communication session time when the remainder is not greater than zero.
[0101] The instructions may further include instructions for causing the
processor circuit to determine a second chargeable time in response to the first
chargeable time and the free time value associated with the user of the
communications services when the first chargeable time is greater than or equal
to the free time value associated with the user of the communications services.
[0102] The instructions for causing the processor circuit to determine the
second chargeable time may include instructions for causing the processor
circuit to set the second chargeable time to a difference between the first
chargeable time.
[0103] The instructions may further include instructions for causing the
processor circuit to reset the free time value associated with the user to zero
when the first chargeable time is greater than or equal to the free time value
associated with the user of the communications services.
[0104] The instructions for causing the processor circuit to change an account
balance associated with the user may include instructions for causing the
processor circuit to calculate a user cost value in response to the second
chargeable time and the user cost per unit time.
[0105] The instructions may further include instructions for causing the
processor circuit to change a user free cost balance in response to the user cost
value.
[0106] The instructions may further include instructions for causing the
processor circuit to set the user cost to zero when the first chargeable time is
less than the free time value associated with the user.
[0107] The instructions may further include instructions for causing the
processor circuit to change a user free time balance in response to the first
chargeable time.
[0108] In accordance with another aspect of the invention, there is provided a
computer readable medium encoded with codes for directing a processor circuit
to execute one or more of the methods described above and/or variants thereof.
[0109] Other aspects and features of the present invention will become
apparent to those ordinarily skilled in the art upon review of the following
description of specific embodiments of the invention in conjunction with the
accompanying figures.
BRIEF DESCRIPTION OF THE DRAWINGS
[0110] In drawings which illustrate embodiments of the invention,
[0111] FIG. 1 is a block diagram of a system according to a first embodiment
of the invention;
[0112] FIG. 2 is a block diagram of a caller telephone according to the first
embodiment of the invention;
[0113] FIG. 3 is a schematic representation of a SIP invite message transmitted
between the caller telephone and a controller shown in FIG. 1;
[0114] FIG. 4 is a block diagram of a call controller shown in FIG. 1;
[0115] FIG. 5 is a flowchart of a process executed by the call controller shown
in FIG. 1;
[0116] FIG. 6 is a schematic representation of a routing, billing and rating (RC)
request message produced by the call controller shown in FIG. 1;
[0117] FIG. 7 is a block diagram of a processor circuit of a routing, billing,
rating element of the system shown in FIG. 1;
[0118] FIGS. 8A-8D is a flowchart of a RC request message handler executed
by the RC processor circuit shown in FIG. 7;
[0119] FIG. 9 is a tabular representation of a dialing profile stored in a database
accessible by the RC shown in FIG. 1;
[0120] FIG. 10 is a tabular representation of a dialing profile for a caller using
the caller telephone shown in FIG. 1;
[0121] FIG. 11 is a tabular representation of a callee profile for a callee located
in Calgary;
[0122] FIG. 12 is a tabular representation of a callee profile for a callee located
in London;
[0123] FIG. 13 is a tabular representation of a Direct-in-Dial (DID) bank table
record stored in the database shown in FIG. 1;
[0124] FIG. 14 is a tabular representation of an exemplary DID bank table
record for the Calgary callee referenced in FIG. 11;
[0125] FIG. 15 is a tabular representation of a routing message transmitted
from the RC to the call controller shown in FIG. 1;
[0126] FIG. 16 is a schematic representation of a routing message buffer
holding a routing message for routing a call to the Calgary callee referenced in
FIG. 11;
[0127] FIG. 17 is a tabular representation of a prefix to supernode table record
stored in the database shown in FIG. 1;
[0128] FIG. 18 is a tabular representation of a prefix to supernode table record
that would be used for the Calgary callee referenced in FIG. 11;
[0129] FIG. 19 is a tabular representation of a master list record stored in a
master list table in the database shown in FIG. 1;
[0130] FIG. 20 is a tabular representation of a populated master list record;
[0131] FIG. 21 is a tabular representation of a suppliers list record stored in the
database shown in FIG. 1;
[0132] FIG. 22 is a tabular representation of a specific supplier list record for a
first supplier;
[0133] FIG. 23 is a tabular representation of a specific supplier list record for a
second supplier;
[0134] FIG. 24 is a tabular representation of a specific supplier list record for a
third supplier;
[0135] FIG. 25 is a schematic representation of a routing message, held in a
routing message buffer, identifying to the controller a plurality of possible
suppliers that may carry the call;
[0136] FIG. 26 is a tabular representation of a call block table record;
[0137] FIG. 27 is a tabular representation of a call block table record for the
Calgary callee;
[0138] FIG. 28 is a tabular representation of a call forwarding table record;
[0139] FIG. 29 is a tabular representation of a call forwarding table record
specific for the Calgary callee;
[0140] FIG. 30 is a tabular representation of a voicemail table record specifying
voicemail parameters to enable the caller to leave a voicemail message for the
callee;
[0141] FIG. 31 is a tabular representation of a voicemail table record specific to
the Calgary callee;
[0142] FIG. 32 is a schematic representation of an exemplary routing message,
held in a routing message buffer, indicating call forwarding numbers and a
voicemail server identifier;
[0143] FIGS. 33A and 33B are respective portions of a flowchart of a process
executed by the RC processor for determining a time to live value;
[0144] FIG. 34 is a tabular representation of a subscriber bundle table record;
[0145] FIG. 35 is a tabular representation of a subscriber bundle record for the
Vancouver caller;
[0146] FIG. 36 is a tabular representation of a bundle override table record;
[0147] FIG. 37 is a tabular representation of bundle override record for a
located master list ID;
[0148] FIG. 38 is a tabular representation of a subscriber account table record;
[0149] FIG. 39 is a tabular representation of a subscriber account record for the
Vancouver caller;
[0150] FIG. 40 is a flowchart of a process for producing a second time value
executed by the RC processor circuit shown in FIG. 7;
[0151] FIG. 41 is a flowchart for calculating a call cost per unit time;
[0152] FIG. 42 is a tabular representation of a system operator special rates
table record;
[0153] FIG. 43 is a tabular representation of a system operator special rates
table record for a reseller named Klondike;
[0154] FIG. 44 is a tabular representation of a system operator mark-up table
record;
[0155] FIG. 45 is a tabular representation of a system operator mark-up table
record for the reseller Klondike;
[0156] FIG. 46 is a tabular representation of a default system operator mark-up
table record;
[0157] FIG. 47 is a tabular representation of a reseller special destinations table
record;
[0158] FIG. 48 is a tabular representation of a reseller special destinations table
record for the reseller Klondike;
[0159] FIG. 49 is a tabular representation of a reseller global mark-up table
record;
[0160] FIG. 50 is a tabular representation of a reseller global mark-up table
record for the reseller Klondike;
[0161] FIG. 51 is a tabular representation of a SIP bye message transmitted
from either of the telephones shown in FIG. 1 to the call controller;
[0162] FIG. 52 is a tabular representation of a SIP bye message sent to the
controller from the Calgary callee;
[0163] FIG. 53 is a flowchart of a process executed by the call controller for
producing a RC stop message in response to receipt of a SIP bye message;
[0164] FIG. 54 is a tabular representation of an exemplary RC call stop
message;
[0165] FIG. 55 is a tabular representation of an RC call stop message for the
Calgary callee;
[0166] FIGS. 56A and 56B are respective portions of a flowchart of a RC call
stop message handling routine executed by the RC shown in FIG. 1;
[0167] FIG. 57 is a tabular representation of a reseller accounts table record;
[0168] FIG. 58 is a tabular representation of a reseller accounts table record for
the reseller Klondike;
[0169] FIG. 59 is a tabular representation of a system operator accounts table
record; and
[0170] FIG. 60 is a tabular representation of a system operator accounts record
for the system operator described herein.
DETAILED DESCRIPTION
[0171] Referring to FIG. 1, a system for making voice over IP
telephone/videophone calls is shown generally at 10. The system includes a
first super node shown generally at 11 and a second super node shown
generally at 21. The first super node 11 is located in geographical area, such as
Vancouver, B.C., Canada for example and the second super node 21 is located
in London, England, for example. Different super nodes may be located in
different geographical regions throughout the world to provide
telephone/videophone service to subscribers in respective regions. These super
nodes may be in communication with each other by high speed/high data
throughput links including optical fiber, satellite and/or cable links, forming a
backbone to the system. These super nodes may alternatively or, in addition, be
in communication with each other through conventional internet services.
[0172] In the embodiment shown, the Vancouver supernode 11 provides
telephone/videophone service to western Canadian customers from Vancouver
Island to Ontario. Another node (not shown) may be located in Eastern Canada
to provide services to subscribers in that area.
[0173] Other nodes of the type shown may also be employed within the
geographical area serviced by a supernode, to provide for call load sharing, for
example within a region of the geographical area serviced by the supernode.
However, in general, all nodes are similar and have the properties described
below in connection with the Vancouver supernode 11.
[0174] In this embodiment, the Vancouver supernode includes a call controller
(C) 14, a routing controller (RC) 16, a database 18 and a voicemail server 19
and a media relay 9. Each of these may be implemented as separate modules on
a common computer system or by separate computers, for example. The
voicemail server 19 need not be included in the node and can be provided by an
outside service provider.
[0175] Subscribers such as a subscriber in Vancouver and a subscriber in
Calgary communicate with the Vancouver supernode using their own internet
service providers which route internet traffic from these subscribers over the
internet shown generally at 13 in FIG. 1. To these subscribers the Vancouver
supernode is accessible at a pre-determined internet protocol (IP) address or a
fully qualified domain name that can be accessed in the usual way through a
subscriber's internet service provider. The subscriber in Vancouver uses a
telephone 12 that is capable of communicating with the Vancouver supernode
11 using Session Initiation Protocol (SIP) messages and the Calgary subscriber
uses a similar telephone 15, in Calgary AB.
[0176] It should be noted that throughout the description of the embodiments of
this invention, the IP/UDP addresses of all elements such as the caller and
callee telephones, call controller, media relay, and any others, will be assumed
to be valid IP/UDP addresses directly accessible via the Internet or a private IP
network, for example, depending on the specific implementation of the system.
As such, it will be assumed, for example, that the caller and callee telephones
will have IP/UDP addresses directly accessible by the call controllers and the
media relays on their respective supernodes, and those addresses will not be
obscured by Network Address Translation (NAT) or similar mechanisms. In
other words, the IP/UDP information contained in SIP messages (for example
the SIP Invite message or the RC Request message which will be described
below) will match the IP/UDP addresses of the IP packets carrying these SIP
messages.
[0177] It will be appreciated that in many situations, the IP addresses assigned
to various elements of the system may be in a private IP address space, and thus
not directly accessible from other elements. Furthermore, it will also be
appreciated that NAT is commonly used to share a "public" IP address between
multiple devices, for example between home PCs and IP telephones sharing a
single Internet connection. For example, a home PC may be assigned an IP
address such as 192.168.0.101 and a Voice over IP telephone may be assigned
an IP address of 192.168.0.103. These addresses are located in so called "nonroutable" (IP) address space and cannot be accessed directly from the Internet.
In order for these devices to communicate with other computers located on the
Internet, these IP addresses have to be converted into a "public" IP address, for
example 24.10.10.123 assigned by the Internet Service Provider to the
subscriber, by a device performing NAT, typically a home router. In addition to
translating the IP addresses, NAT typically also translates UDP port numbers,
for example an audio path originating at a VoIP telephone and using a UDP
port 12378 at its private IP address, may have be translated to a UDP port
23465 associated with the public IP address of the NAT device. In other words,
when a packet originating from the above VoIP telephone arrives at an Internetbased supernode, the source IP/UDP address contained in the IP packet header
will be 24.10.10.1:23465, whereas the source IP/UDP address information
contained in the SIP message inside this IP packet will be
192.168.0.103:12378. The mismatch in the IP/UDP addresses may cause a
problem for SIP-based VoIP systems because, for example, a supernode will
attempt to send messages to a private address of a telephone but the messages
will never get there.
[0178] Referring to FIG. 1, in an attempt to make a call by the Vancouver
telephone/videophone 12 to the Calgary telephone/videophone 15, the
Vancouver telephone/videophone sends a SIP invite message to the Vancouver
supernode 11 and in response, the call controller 14 sends an RC request
message to the RC 16 which makes various enquiries of the database 18 to
produce a routing message which is sent back to the call controller 14. The call
controller 14 then communicates with the media relay 9 to cause a
communications link including an audio path and a videophone (if a videopath
call) to be established through the media relay to the same node, a different
node or to a communications supplier gateway as shown generally at 20 to
carry audio, and where applicable, video traffic to the call recipient or callee.
[0179] Generally, the RC 16 executes a process to facilitate communication
between callers and callees. The process involves, in response to initiation of a
call by a calling subscriber, receiving a callee identifier from the calling
subscriber, using call classification criteria associated with the calling
subscriber to classify the call as a public network call or a private network call
and producing a routing message identifying an address on the private network,
associated with the callee when the call is classified as a private network call
and producing a routing message identifying a gateway to the public network
when the call is classified as a public network call.
Subscriber Telephone
[0180] In greater detail, referring to FIG. 2, in this embodiment, the
telephone/videophone 12 includes a processor circuit shown generally at 30
comprising a microprocessor 32, program memory 34, an input/output (I/O)
port 36, parameter memory 38 and temporary memory 40. The program
memory 34, I/O port 36, parameter memory 38 and temporary memory 40 are
all in communication with the microprocessor 32. The I/O port 36 has a dial
input 42 for receiving a dialled telephone/videophone number from a keypad,
for example, or from a voice recognition unit or from pre-stored
telephone/videophone numbers stored in the parameter memory 38, for
example. For simplicity, in FIG. 2 a box labelled dialing functions 44
represents any device capable of informing the microprocessor 32 of a callee
identifier, e.g., a callee telephone/videophone number.
[0181] The processor 32 stores the callee identifier in a dialled number buffer
45. In this case, assume the dialled number is 2001 1050 2222 and that it is a
number associated with the Calgary subscriber. The I/O port 36 also has a
handset interface 46 for receiving and producing signals from and to a handset
that the user may place to his ear. This interface 46 may include a
[PAGE 11 TO 22 OF 63 OF RBR MORE TO COME
0012] Comparing may involve determining whether the callee identifier
includes a portion that matches an NDD associated with the caller dialing
profile.
[0013] Comparing may involve determining whether the callee identifier
includes a portion that matches an area code associated with the caller dialing
profile.
[0014] Comparing may involve determining whether the callee identifier has a
length within a range specified in the caller dialing profile.
[0015] The process may involve formatting the callee identifier into a predefined digit format to produce a re-formatted callee identifier.
[0016] Formatting may involve removing an international dialing digit from the
callee identifier, when the callee identifier begins with a digit matching an
international dialing digit specified by the caller dialing profile associated with
the caller.
[0017] Formatting may involve removing a national dialing digit from the
callee identifier and prepending a caller country code to the callee identifier
when the callee identifier begins with a national dialing digit.
[0018] Formatting may involve prepending a caller country code to the callee
identifier when the callee identifier begins with digits identifying an area code
specified by the caller dialing profile.
[0019] Formatting may involve prepending a caller country code and an area
code to the callee identifier when the callee identifier has a length that matches
a caller dialing number format specified by the caller dialing profile and only
one area code is specified as being associated with the caller in the caller
dialing profile.
[0020] The process may involve classifying the call as a private network call
when the re-formatted callee identifier identifies a subscriber to the private
network. The process may involve determining whether the callee identifier
complies with a pre-defined username format and if so, classifying the call as a
private network call.
[0021] The process may involve causing a database of records to be searched to
locate a direct in dial (DID) bank table record associating a public telephone
number with the reformatted callee identifier and if the DID bank table record
is found, classifying the call as a private network call and if a DID bank table
record is not found, classifying the call as a public network call.
[0022] Producing the routing message identifying a node on the private
network may involve setting a callee identifier in response to a username
associated with the DID bank table record.
[0023] Producing the routing message may involve determining whether a node
associated with the reformatted callee identifier is the same as a node
associated the caller identifier.
[0024] Determining whether a node associated with the reformatted callee
identifier is the same as a node associated the caller identifier may involve
determining whether a prefix of the re-formatted callee identifier matches a
corresponding prefix of a username associated with the caller dialing profile.
[0025] When the node associated with the caller is not the same as the node
associated with the callee, the process involves producing a routing message
including the caller identifier, the reformatted callee identifier and an
identification of a private network node associated with the callee and
communicating the routing message to a call controller.
[0026] When the node associated with the caller is the same as the node
associated with the callee, the process involves determining whether to perform
at least one of the following: forward the call to another party, block the call
and direct the caller to a voicemail server associated with the callee.
[0027] Producing the routing message may involve producing a routing
message having an identification of at least one of the callee identifier, an
identification of a party to whom the call should be forwarded and an
identification of a voicemail server associated with the callee.
[0028] The process may involve communicating the routing message to a call
controller.
[0029] Producing a routing message identifying a gateway to the public
network may involve searching a database of route records associating route
identifiers with dialing codes to find a route record having a dialing code
having a number pattern matching at least a portion of the reformatted callee
identifier.
[0030] The process may involve searching a database of supplier records
associating supplier identifiers with the route identifiers to locate at least one
supplier record associated with the route identifier associated with the route
record having a dialing code having a number pattern matching at least a
portion of the reformatted callee identifier.
[0031] The process may involve loading a routing message buffer with the
reformatted callee identifier and an identification of specific routes associated
respective ones of the supplier records associated with the route record and
loading the routing message buffer with a time value and a timeout value.
[0032] The process may involve communicating a routing message involving
the contents of the routing message buffer to a call controller.
[0033] The process may involve causing the dialing profile to include a
maximum concurrent call value and a concurrent call count value and causing
the concurrent call count value to be incremented when the user associated with
the dialing profile initiates a call and causing the concurrent call count value to
be decremented when a call with the user associated with the dialing profile is
ended.
[0034] In accordance with another aspect of the invention, there is provided a
call routing apparatus for facilitating communications between callers and
callees in a system comprising a plurality of nodes with which callers and
callees are associated. The apparatus includes receiving provisions for
receiving a caller identifier and a callee identifier, in response to initiation of a
call by a calling subscriber. The apparatus also includes classifying provisions
for classifying the call as a private network cal or a public network call
according to call classification criteria associated with the caller identifier. The
apparatus further includes provisions for producing a routing message
identifying an address, on the private network, associated with the callee when
the call is classified as a private network call. The apparatus also includes
provisions for producing a routing message identifying a gateway to the public
network when the call is classified as a public network call.
[0035] The receiving provisions may be operably configured to receive a
request to establish a call, from a call controller in communication with a caller
identified by the callee identifier.
[0036] The apparatus may further include searching provisions for searching a
database including records associating calling attributes with subscribers to the
private network to locate a record identifying calling attributes associated with
a caller identified by the caller identifier.
[0037] The records may include dialing profiles each including a username
associated with the subscriber, an identification of a domain associated with the
subscriber, and an identification of at least one calling attribute associated with
the subscriber.
[0038] The call classification provisions may be operably configured to
compare calling attributes associated with the caller dialing profile with aspects
of the callee identifier.
[0039] The calling attributes may include an international dialing digit and call
classification provisions may be operably configured to determine whether the
callee identifier includes a portion that matches an IDD associated with the
caller dialing profile.
[0040] The calling attributes may include an national dialing digit and the call
classification provisions may be operably configured to determine whether the
callee identifier includes a portion that matches an NDD associated with the
caller dialing profile.
[0041] The calling attributes may include an area code and the call
classification provisions may be operably configured to determine whether the
callee identifier includes a portion that matches an area code associated with
the caller dialing profile.
[0042] The calling attribute may include a number length range and the call
classification provisions may be operably configured to determine whether the
callee identifier has a length within a number length range specified in the
caller dialing profile.
[0043] The apparatus may further include formatting provisions for formatting
the callee identifier into a pre-defined digit format to produce a re-formatted
callee identifier.
[0044] The formatting provisions may be operably configured to remove an
international dialing digit from the callee identifier, when the callee identifier
begins with a digit matching an international dialing digit specified by the
caller dialing profile associated with the caller.
[0045] The formatting provisions may be operably configured to remove a
national dialing digit from the callee identifier and prepend a caller country
code to the callee identifier when the callee identifier begins with a national
dialing digit.
[0046] The formatting provisions may be operably configured to prepend a
caller country code to the callee identifier when the callee identifier begins with
digits identifying an area code specified by the caller dialing profile.
[0047] The formatting provisions may be operably configured to prepend a
caller country code and area code to the callee identifier when the callee
identifier has a length that matches a caller dialing number format specified by
the caller dialing profile and only one area code is specified as being associated
with the caller in the caller dialing profile.
[0048] The classifying provisions may be operably configured to classify the
call as a private network call when the re-formatted callee identifier identifies a
subscriber to the private network.
[0049] The classifying provisions may be operably configured to classify the
call as a private network call when the callee identifier complies with a predefined username format.
[0050] The apparatus may further include searching provisions for searching a
database of records to locate a direct in dial (DID) bank table record associating
a public telephone number with the reformatted callee identifier and the
classifying provisions may be operably configured to classify the call as a
private network call when the DID bank table record is found and to classify
the call as a public network call when a DID bank table record is not found
[0051] The private network routing message producing provisions may be
operably configured to produce a routing message having a callee identifier set
according to a username associated with the DID bank table record.
[0052] The private network routing message producing provisions may be
operably configured to determine whether a node associated with the
reformatted callee identifier is the same as a node associated the caller
identifier.
[0053] The private network routing provisions may include provisions for
determining whether a prefix of the re-formatted callee identifier matches a
corresponding prefix of a username associated with the caller dialing profile.
[0054] The private network routing message producing provisions may be
operably configured to produce a routing message including the caller
identifier, the reformatted callee identifier and an identification of a private
network node associated with the callee and to communicate the routing
message to a call controller.
[0055] The private network routing message producing provisions may be
operably configured to perform at least one of the following forward the call to
another party, block the call and direct the caller to a voicemail server
associated with the callee, when the node associated with the caller is the same
as the node associated with the callee.
[0056] The provisions for producing the private network routing message may
be operably configured to produce a routing message having an identification
of at least one of the callee identifier, an identification of a party to whom the
call should be forwarded and an identification of a voicemail server associated
with the callee.
[0057] The apparatus further includes provisions for communicating the
routing message to a call controller.
[0058] The provisions for producing a public network routing message
identifying a gateway to the public network may include provisions for
searching a database of route records associating route identifiers with dialing
codes to find a route record having a dialing code having a number pattern
matching at least a portion of the reformatted callee identifier.
[0059] The apparatus further includes provisions for searching a database of
supplier records associating supplier identifiers with the route identifiers to
locate at least one supplier record associated with the route identifier associated
with the route record having a dialing code having a number pattern matching
at least a portion of the reformatted callee identifier.
[0060] The apparatus further includes a routing message buffer and provisions
for loading the routing message buffer with the reformatted callee identifier and
an identification of specific routes associated respective ones of the supplier
records associated with the route record and loading the routing message buffer
with a time value and a timeout value.
[0061] The apparatus further includes provisions for communicating a routing
message including the contents of the routing message buffer to a call
controller.
[0062] The apparatus further includes means for causing said dialing profile to
include a maximum concurrent call value and a concurrent call count value and
for causing said concurrent call count value to be incremented when the user
associated with said dialing profile initiates a call and for causing said
concurrent call count value to be decremented when a call with said user
associated with said dialing profile is ended.
[0063] In accordance with another aspect of the invention, there is provided a
data structure for access by an apparatus for producing a routing message for
use by a call routing controller in a communications system. The data structure
includes dialing profile records comprising fields for associating with
respective subscribers to the system, a subscriber user name, direct-in-dial
records comprising fields for associating with respective subscriber usernames,
a user domain and a direct-in-dial number, prefix to node records comprising
fields for associating with at least a portion of the respective subscriber
usernames, a node address of a node in the system, whereby a subscriber name
can be used to find a user domain, at least a portion of the a subscriber name
can be used to find a node with which the subscriber identified by the
subscriber name is associated, and a user domain and subscriber name can be
located in response to a direct-in-dial number.
[0064] In accordance with another aspect of the invention, there is provided a
data structure for access by an apparatus for producing a routing message for
use by a call routing controller in a communications system. The data structure
includes master list records comprising fields for associating a dialing code
with respective master list identifiers and supplier list records linked to master
list records by the master list identifiers, said supplier list records comprising
fields for associating with a communications services supplier, a supplier id, a
master list id, a route identifier and a billing rate code, whereby
communications services suppliers are associated with dialing codes, such that
dialing codes can be used to locate suppliers capable of providing a
communications link associated with a given dialing code.
[0065] In accordance with another aspect of the invention, there is provided a
method for determining a time to permit a communication session to be
conducted. The method involves calculating a cost per unit time, calculating a
first time value as a sum of a free time attributed to a participant in the
communication session and the quotient of a funds balance held by the
participant to the cost per unit time value and producing a second time value in
response to the first time value and a billing pattern associated with the
participant, the billing pattern including first and second billing intervals and
the second time value being the time to permit a communication session to be
conducted.
[0066] Calculating the first time value may involve retrieving a record
associated with the participant and obtaining from the record at least one of the
free time and the funds balance.
[0067] Producing the second time value may involve producing a remainder
value representing a portion of the second billing interval remaining after
dividing the second billing interval into a difference between the first time
value and the first billing interval.
[0068] Producing the second time value may involve setting a difference
between the first time value and the remainder as the second time value.
[0069] The method may further involve setting the second time value to zero
when the remainder is greater than zero and the first time value is less than the
free time associated with the participant.
[0070] Calculating the cost per unit time may involve locating a record in a
database, the record comprising a markup type indicator, a markup value and a
billing pattern and setting a reseller rate equal to the sum of the markup value
and the buffer rate.
[0071] Locating the record in a database may involve locating at least one of a
record associated with a reseller and a route associated with the reseller, a
record associated with the reseller and a default reseller markup record.
[0072] Calculating the cost per unit time value further may involve locating at
least one of an override record specifying a route cost per unit time amount
associated with a route associated with the communication session, a reseller
record associated with a reseller of the communications session, the reseller
record specifying a reseller cost per unit time associated with the reseller for
the communication session, a default operator markup record specifying a
default cost per unit time.
[0073] The method may further involve setting as the cost per unit time the sum
of the reseller rate and at least one of the route cost per unit time, the reseller
cost per unit time and the default cost per unit time.
[0074] The method may further involve receiving a communication session
time representing a duration of the communication session and incrementing a
reseller balance by the product of the reseller rate and the communication
session time.
[0075] The method may further involve receiving a communication session
time representing a duration of the communication session and incrementing a
system operator balance by a product of the buffer rate and the communication
session time.
[0076] In accordance with another aspect of the invention, there is provided an
apparatus for determining a time to permit a communication session to be
conducted. The apparatus includes a processor circuit, a computer readable
medium coupled to the processor circuit and encoded with instructions for
directing the processor circuit to calculate a cost per unit time for the
communication session, calculate a first time value as a sum of a free time
attributed to a participant in the communication session and the quotient of a
funds balance held by the participant to the cost per unit time value and
produce a second time value in response to the first time value and a billing
pattern associated with the participant, the billing pattern including first and
second billing intervals and the second time value being the time to permit a
communication session to be conducted.
[0077] The instructions may include instructions for directing the processor
circuit to retrieve a record associated with the participant and obtain from the
record at least one of the free time and the funds balance.
[0078] The instructions may include instructions for directing the processor
circuit to produce the second time value by producing a remainder value
representing a portion of the second billing interval remaining after dividing the
second billing interval into a difference between the first time value and the
first billing interval.
[0079] The instructions may include instructions for directing the processor
circuit to produce the second time value comprises setting a difference between
the first time value and the remainder as the second time value. The instructions
may include instructions for directing the processor circuit to set the second
time value to zero when the remainder is greater than zero and the first time
value is less than the free time associated with the participant.
[0080] The instructions for directing the processor circuit to calculate the cost
per unit time may include instructions for directing the processor circuit to
locate a record in a database, the record comprising a markup type indicator, a
markup value and a billing pattern and set a reseller rate equal to the sum of the
markup value and the buffer rate.
[0081] The instructions for directing the processor circuit to locate the record in
a database may include instructions for directing the processor circuit to locate
at least one of a record associated with a reseller and a route associated with the
reseller, a record associated with the reseller, and a default reseller markup
record. The instructions for directing the processor circuit to calculate the cost
per unit time value may further include instructions for directing the processor
circuit to locate at least one of an override record specifying a route cost per
unit time amount associated with a route associated with the communication
session, a reseller record associated with a reseller of the communications
session, the reseller record specifying a reseller cost per unit time associated
with the reseller for the communication session, a default operator markup
record specifying a default cost per unit time.
[0082] The instructions may include instructions for directing the processor
circuit to set as the cost per unit time the sum of the reseller rate and at least
one of the route cost per unit time, the reseller cost per unit time and the default
cost per unit time.
[0083] The instructions may include instructions for directing the processor
circuit to receive a communication session time representing a duration of the
communication session and increment a reseller balance by the product of the
reseller rate and the communication session time.
[0084] The instructions may include instructions for directing the processor
circuit to receive a communication session time representing a duration of the
communication session and increment a system operator balance by a product
of the buffer rate and the communication session time.
[0085] In accordance with another aspect of the invention, there is provided a
process for attributing charges for communications services. The process
involves determining a first chargeable time in response to a communication
session time and a pre-defined billing pattern, determining a user cost value in
response to the first chargeable time and a free time value associated with a
user of the communications services, changing an account balance associated
with the user in response to a user cost per unit time. The process may further
involve changing an account balance associated with a reseller of the
communications services in response to a reseller cost per unit time and the
communication session time and changing an account balance associated with
an operator of the communications services in response to an operator cost per
unit time and the communication session time.
[0086] Determining the first chargeable time may involve locating at least one
of an override record specifying a route cost per unit time and billing pattern
associated with a route associated with the communication session, a reseller
record associated with a reseller of the communications session, the reseller
record specifying a reseller cost per unit time and billing pattern associated
with the reseller for the communication session and a default record specifying
a default cost per unit time and billing pattern and setting as the pre-defined
billing pattern the billing pattern of the record located. The billing pattern of the
record located may involve a first billing interval and a second billing interval.
[0087] Determining the first chargeable time may involve setting the first
chargeable time equal to the first billing interval when the communication
session time is less than or equal to the first billing interval.
[0088] Determining the first chargeable time may involve producing a
remainder value representing a portion of the second billing interval remaining
after dividing the second billing interval into a difference between
communication session time and the first interval when the communication
session time is greater than the communication session time and setting the first
chargeable time to a difference between the communication session time and
the remainder when the remainder is greater than zero and setting the first
chargeable time to the communication session time when the remainder is not
greater than zero.
[0089] The process may further involve determining a second chargeable time
in response to the first chargeable time and the free time value associated with
the user of the communications services when the first chargeable time is
greater than or equal to the free time value associated with the user of the
communications services.
[0090] Determining the second chargeable time may involve setting the second
chargeable time to a difference between the first chargeable time.
PAGE 1 TO 10 OF 63 OF RBR MORE TO COME
United States Patent Application 20180227222
Kind Code A1
Perreault; Clay ; et al. August 9, 2018
Producing Routing Messages for Voice Over IP Communications
Abstract
A process and apparatus to facilitate communication between callers and
callees in a system comprising a plurality of nodes with which callers and
callees are associated is disclosed. In response to initiation of a call by a calling
subscriber, a caller identifier and a callee identifier are received. Call
classification criteria associated with the caller identifier are used to classify the
call as a public network call or a private network call. A routing message
identifying an address, on the private network, associated with the callee is
produced when the call is classified as a private network call and a routing
message identifying a gateway to the public network is produced when the call
is classified as a public network call.
Inventors: Perreault; Clay; (Panama City, PA) ; Nicholson; Steve; (Hamilton, NZ) ; Thomson;
Rod; (North Vancouver, CA) ; Bjorsell; Johan Emil Viktor; (Vancouver, CA) ; Arafa;
Fuad; (Vancouver, CA)
Applicant: Name City State Country Type
VoIP-Pal.com, Inc. Bellevue WA US
Family ID: 39343752
Appl. No.: 15/942282
Filed: March 30, 2018
Related U.S. Patent Documents
<td< td="" style="color: rgb(0, 0, 0); font-family: Times; font-size: medium; font-style: normal; fontvariant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans:
2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing:
0px; -webkit-text-stroke-width: 0px;"></td<><td< td="" style="color: rgb(0, 0, 0); font-family: Times;
font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; fontweight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none;
white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;"></td<><td< td=""
style="color: rgb(0, 0, 0); font-family: Times; font-size: medium; font-style: normal; font-variant-ligatures:
normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start;
text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-textstroke-width: 0px;"></td<><td< td="" style="color: rgb(0, 0, 0); font-family: Times; font-size: medium;
font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letterspacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal;
widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;"></td<><td< td="" style="color: rgb(0, 0,
0); font-family: Times; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-
caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px;
text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width:
0px;"></td<><td< td="" style="color: rgb(0, 0, 0); font-family: Times; font-size: medium; font-style:
normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing:
normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows:
2; word-spacing: 0px; -webkit-text-stroke-width: 0px;"></td<><td< td="" style="color: rgb(0, 0, 0); fontfamily: Times; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; texttransform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width:
0px;"></td<><td< td="" style="color: rgb(0, 0, 0); font-family: Times; font-size: medium; font-style:
normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing:
normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows:
2; word-spacing: 0px; -webkit-text-stroke-width: 0px;"></td<><td< td="" style="color: rgb(0, 0, 0); fontfamily: Times; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; texttransform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width:
0px;"></td<><td< td="" style="color: rgb(0, 0, 0); font-family: Times; font-size: medium; font-style:
normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing:
normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows:
2; word-spacing: 0px; -webkit-text-stroke-width: 0px;"></td<><td< td="" style="color: rgb(0, 0, 0); fontfamily: Times; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; texttransform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width:
0px;"></td<><td< td="" style="color: rgb(0, 0, 0); font-family: Times; font-size: medium; font-style:
normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing:
normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows:
2; word-spacing: 0px; -webkit-text-stroke-width: 0px;"></td<><td< td="" style="color: rgb(0, 0, 0); fontfamily: Times; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; texttransform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width:
0px;"></td<>
Application Number Filing Date Patent Number
15730600 Oct 11, 2017 9935872
15942282
15396344 Dec 30, 2016 9813330
15730600
14877570 Oct 7, 2015 9537762
15396344
13966096 Aug 13, 2013 9179005
14877570
12513147 Mar 1, 2010 8542815
PCT/CA2007/001956 Nov 1, 2007
13966096
60856212 Nov 2, 2006
Current U.S. Class: 1/1
Current CPC Class: H04L 9/3226 20130101; H04L 65/1069 20130101; H04L
12/1439 20130101; H04L 12/1496 20130101; H04L 12/66
20130101; H04Q 3/66 20130101; H04Q 3/70 20130101; H04Q
2213/13091 20130101; H04Q 2213/13141 20130101; H04Q
2213/13196 20130101; H04Q 2213/1322 20130101; H04Q
2213/13384 20130101; H04M 7/0075 20130101; H04M 15/56
20130101; H04M 15/51 20130101; H04L 45/3065 20130101;
H04M 3/4211 20130101; A61K 39/39558 20130101; A61K
45/06 20130101; C07K 16/18 20130101; H04M 15/8083
20130101; H04M 15/8228 20130101; H04M 15/887 20130101;
H04M 15/888 20130101; H04M 7/006 20130101; H04L
61/2007 20130101; H04L 65/1033 20130101; H04L 12/14
20130101
International Class: H04L 12/725 20060101 H04L012/725; H04Q 3/70 20060101
H04Q003/70; H04M 3/42 20060101 H04M003/42; H04M 7/00
20060101 H04M007/00
Claims
1. A method for routing communications in a packet switched communication
system between a first participant device associated with a first participant and
a second participant device associated with a second participant, the first and
second participant devices being associated with first and second network
elements of the communication system, respectively, the method comprising:
receiving, by at least one processor, a second participant identifier associated
with the second participant device, in response to initiation of a communication
from the first participant device to the second participant device, the first
participant device being associated with a first participant identifier; causing
the at least one processor to access at least one memory storing a first
participant profile identifying at least one first participant attribute; processing
the second participant identifier and the at least one first participant attribute,
using the at least one processor, to produce a new second participant identifier;
processing the new second participant identifier, using the at least one
processor, to determine whether the second network element is the same as the
first network element; when the second network element is determined to be
the same as the first network element, producing a routing message identifying
a first network address associated with the first network element, using the at
least one processor; and when the second network element is determined not to
be the same as the first network element, producing a routing message
identifying a second network address associated with the second network
element, using the at least one processor.
2. The method of claim 1 wherein processing the new second participant
identifier comprises comparing at least a portion of the second participant
identifier with an identifier associated with the first network element.
3. The method of claim 1 further comprising processing a user-specific attribute
associated with the first participant profile, using the at least one processor, to
determine whether the communication is allowed to proceed.
4. The method of claim 1 further comprising: causing the at least one processor
to access a database to locate communication forwarding information
associated with the second participant; and processing the communication
forwarding information, using the at least one processor, to determine whether
the forwarding information identifies a communication device associated with a
node that is the same as the first network element.
5. The method of claim 4 wherein the communication forwarding information
associated with the second participant comprises a plurality of communication
destination identifiers.
6. The method of claim 1, further comprising: in response to initiation of a
further communication from a third participant device to the second participant
device, receiving a third participant identifier and the second participant
identifier; causing the at least one processor to access a database to locate
communication blocking information associated with the second participant;
and blocking the further communication when the communication blocking
information identifies the third participant identifier.
7. The method of claim 4, wherein processing the second participant identifier
further comprises: causing the at least one processor to access a database to
locate communication blocking information associated with the second
participant.
8. The method of claim 1 further comprising updating a database to cause at
least one user-specific first participant attribute to be modified, wherein the
second participant identifier identifies a device on the public switched
telephone network (PSTN).
9. The method of claim 1 wherein processing the new second participant
identifier comprises determining whether a location associated with the first
participant device is the same as a location associated with the new second
participant identifier.
10. The method of claim 9 wherein the new second participant identifier is
associated with a second participant profile identifying a domain name or IP
address of a communication system node comprising the second network
element.
11. The method of claim 1 wherein processing the second participant identifier
comprises locating the new second participant identifier in a database based on
the second participant identifier.
12. The method of claim 1 further comprising locating the second network
address associated with the second network element in a database based on the
second participant identifier.
13. The method of claim 1 wherein processing the second participant identifier
comprises modifying the second participant identifier based on the first
participant profile.
14. The method of claim 1, wherein the packet switched network
communication system is controlled by a system operator, the method further
comprising: receiving a third participant identifier associated with a third
participant device, wherein the third participant device is not associated with
either the first network element or the second network element; and producing
a routing message identifying a gateway to an external communication system
that is not controlled by the system operator, to cause the communication to be
established to the third participant device.
15. The method of claim 14 wherein at least a portion of the external
communication system is a circuit switched communication system.
16. The method of claim 14 wherein the packet switched communication
system is connected to a plurality of gateways to the external communication
system, the method further comprising: using the at least one processor to
select the gateway from among the plurality of gateways.
17. The method of claim 1 further comprising: receiving communication
forwarding information associated with the second participant, the
communication forwarding information comprising a plurality of
communication destination identifiers; processing one or more of the
communication destination identifiers to attempt to establish the
communication with the second participant device until the communication is
established or all communication destination identifiers have been exhausted.
18. The method of claim 1 further comprising, if the communication cannot be
established to the second participant device, causing communication to be
routed to a server operable to store the communication and facilitate delivery of
the communication to the second participant device at a later time.
19. A method for routing communications in an Internet Protocol (IP) based
communication system between a first participant device associated with a first
participant and a second participant device associated with a second participant,
the first and second participant devices being associated with first and second
network elements of the communication system, respectively, first and second
network elements being operably configured to provide communication
services to users associated with first and second geographical areas,
respectively, the method comprising: receiving, by at least one processor, a
second participant identifier associated with the second participant device, in
response to the first participant device initiating a communication to the second
participant device, the first participant device being associated with a first
participant identifier; causing the at least one processor to access at least one
memory storing a first participant profile identifying at least one first
participant attribute; processing the second participant identifier and the at least
one first participant attribute, using the at least one processor, to produce a new
second participant identifier; processing the new second participant identifier,
using the at least one processor, to determine whether the second network
element is the same as the first network element; when the second network
element is determined to be the same as the first network element, producing a
routing message identifying a first network address associated with the first
network element, using the at least one processor; and when the second
network element is determined not to be the same as the first network element,
producing a routing message identifying a second network address associated
with the second network element, using the at least one processor; wherein at
least one network node is provided in geographical proximity to at least one of
the first and second network elements to provide load sharing of the
communication services provided to users associated with at least one of the
first and second geographical areas.
20. The method of claim 19 wherein the communication system comprises a
database for storing user profiles including the first participant profile, each
user profile identifying a respective address associated with a network element
at which the respective user of the communication system is registered to
access communication services.
21. An apparatus for routing communications in an Internet Protocol (IP) based
communication system between a first participant device associated with a first
participant and a second participant device associated with a second participant,
the communication system comprising a plurality of network elements, the first
participant device being associated with a first network element and the second
participant device being associated with a second network element of the
communication system, the apparatus comprising: a controller comprising at
least one processor in communication with at least one memory storing
processor readable instructions, the at least one processor being operably
configured by the processor readable instructions to: in response to initiation of
a communication to the second participant device, receive a second participant
identifier; access at least one first participant profile in the at least one memory
to locate at least one first participant attribute associated with the first
participant; process the second participant identifier and the at least one first
participant attribute to produce a new second participant identifier; process the
new second participant identifier to determine whether the second network
element is the same as the first network element; when the second network
element is determined to be the same as the first network element, produce a
routing message identifying a first Internet Protocol (IP) network address
associated with the first network element; and when the second network
element is determined to be not the same as the first network element, produce
a routing message identifying a second Internet Protocol (IP) network address
associated with the second network element; and causing the communication to
be established to a destination communication device using one of the first
network element and the second network element.
22. The apparatus of claim 21, wherein the at least one processor is further
operably configured to: in response to initiation of a further communication to a
third participant device, receive a third participant identifier associated with the
third participant device; access at least one database to locate at least one of: (i)
blocking information associated with the third participant device; and (ii)
forwarding information associated with the third participant device; determine
whether the further communication should be blocked from being established
to the third participant device based on the communication blocking
information; and determine whether the communication should be forwarded to
at least one other communication device based on the forwarding information
associated with the third participant device.
23. The apparatus of claim 21 wherein the at least one processor is further
operably configured to cause the communication to be established to the
destination communication device: (a) using the first IP network address, if the
second network element is determined to be the same as the first network
element; and (b) using the second IP network address, if the second network
element is determined to be not the same as the first network element.
24. The apparatus of claim 21, (a) wherein the communication system
comprises a plurality of nodes including at least a first communication node
and a second communication node in communication with each other, the first
and second communication nodes comprising the first and second network
elements, respectively; (b) wherein the first and second communication nodes
are operably configured to provide communications services to communication
devices associated with first and second geographical areas, respectively; and
(c) wherein at least one communication node is provided in geographical
proximity to at least one of the first and second communication nodes to
provide load sharing of the communication services provided by the at least one
of the first and second communication nodes.
25. The apparatus of claim 21, wherein the at least one processor is further
operably configured to: (a) process an attribute associated with the first
participant profile to determine whether the communication is allowed to
proceed; and (b) if the communication is allowed to proceed, cause at least one
attribute associated with the first participant profile to be modified.
26. The apparatus of claim 21, wherein the at least one processor is further
operably configured to cause a routing message identifying a gateway to a
public network to be produced, to cause at least one communication to be
routed through the gateway over the public network.
27. The apparatus of claim 21, wherein the at least one processor is further
operably configured to determine a network element with which the second
participant device is associated based on a geographical area associated with
the second participant identifier and to identify the network element with which
the second participant device is associated in the routing message.
28. The apparatus of claim 21 wherein the at least one processor is further
operably configured to: (a) in response to initiation of a further communication
to a third participant device, receive a third participant identifier associated
with the third participant device; and (b) cause a query to be sent to a plurality
of gateways to determine whether at least one gateway from the plurality of
gateways is available to carry the further communication to the third participant
device.
29. The apparatus of claim 21 wherein the at least one processor is further
operably configured to cause a message to be sent through at least one Internetconnected server to an IP address of the second participant device.
30. A non-transitory computer readable medium storing instructions for
directing the at least one processor to execute the method of claim 1.
Description
BACKGROUND OF THE INVENTION
Field of Invention
[0001] This invention relates to voice over IP communications and methods
and apparatus for routing and billing.
Description of Related Art
[0002] Internet protocol (IP) telephones are typically personal computer (PC)
based telephones connected within an IP network, such as the public Internet or
a private network of a large organization. These IP telephones have installed
"voice-over-IP" (VoIP) software enabling them to make and receive voice calls
and send and receive information in data and video formats.
[0003] IP telephony switches installed within the IP network enable voice calls
to be made within or between IP networks, and between an IP network and a
switched circuit network (SCN), such as the public switched telephone network
(PSTN). If the IP switch supports the Signaling System 7 (SS7) protocol, the IP
telephone can also access PSTN databases.
[0004] The PSTN network typically includes complex network nodes that
contain all information about a local calling service area including user
authentication and call routing. The PSTN network typically aggregates all
information and traffic into a single location or node, processes it locally and
then passes it on to other network nodes, as necessary, by maintaining route
tables at the node. PSTN nodes are redundant by design and thus provide
reliable service, but if a node should fail due to an earthquake or other natural
disaster, significant, if not complete service outages can occur, with no other
nodes being able to take up the load.
[0005] Existing VoIP systems do not allow for high availability and resiliency
in delivering Voice Over IP based Session Initiation Protocol (SIP) Protocol
service over a geographically dispersed area such as a city, region or continent.
Most resiliency originates from the provision of IP based telephone services to
one location or a small number of locations such as a single office or network
of branch offices.
SUMMARY OF THE INVENTION
[0006] In accordance with one aspect of the invention, there is provided a
process for operating a call routing controller to facilitate communication
between callers and callees in a system comprising a plurality of nodes with
which callers and callees are associated. The process involves, in response to
initiation of a call by a calling subscriber, receiving a caller identifier and a
callee identifier. The process also involves using call classification criteria
associated with the caller identifier to classify the call as a public network call
or a private network call. The process further involves producing a routing
message identifying an address, on the private network, associated with the
callee when the call is classified as a private network call. The process also
involves producing a routing message identifying a gateway to the public
network when the call is classified as a public network call.
[0007] The process may involve receiving a request to establish a call, from a
call controller in communication with a caller identified by the callee
identifier.
[0008] Using the call classification criteria may involve searching a database to
locate a record identifying calling attributes associated with a caller identified
by the caller identifier.
[0009] Locating a record may involve locating a caller dialing profile
comprising a username associated with the caller, a domain associated with the
caller, and at least one calling attribute.
[0010] Using the call classification criteria may involve comparing calling
attributes associated with the caller dialing profile with aspects of the callee
identifier.
[0011] Comparing may involve determining whether the callee identifier
includes a portion that matches an IDD associated with the caller dialing
profile.
670,000 TRADED AT 12:11 EASTERN HIGH= .088
VPLM Real-Time Best Bid & Ask: 09:30am 12/27/2018
VOIP PAL.com, Inc.
Common Stock
0.085
0.005
6.25%
0.086 / 0.0865 (132095 x 10000)
Real-Time Best Bid & Ask: 09:30am 12/27/2018
Delayed (15 Min) Trade Data: 12:00am 12/26/2018
Overview
Quote
Company Profile
Security Details
News
Financials
Disclosure
Research
OPEN
0.00
DAILY RANGE
N/A
VOLUME
0
DIVIDEND
N/A
PREV CLOSE
0.08
52WK RANGE
0.035 - 0.2824
AVERAGE VOL (30D)
799,530
NET DIVIDEND YIELD
N/A
BEST BID
0.086 x 132095
BEST ASK
0.0865 x 10000
MARKET CAP
135,486,413
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
ETRF 0.086 122,095 09:30
CDEL 0.086 10,000 09:30
ASCM 0.0835 10,000 12/26
NITE 0.082 10,000 12/26
CANT 0.081 71,000 09:30
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 09:30
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 08:11
CSTI 0.0001 10,000 08:30
OTCX U 0 08:15
MPID ASK PRICE SIZE TIME
ASCM 0.0865 10,000 12/26
VNDM 0.087 10,000 09:30
CSTI 0.087 50,000 09:30
NITE 0.088 10,000 12/24
CDEL 0.1023 21,800 09:30
VFIN 0.11 5,000 10/08
ETRF 0.1195 98,200 09:30
VERT 0.15 5,000 12/24
CANT 0.25 5,000 09:30
MAXM 200.00 1 08:11
OTCX U 0 08:15
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/26/2018 15:58:19 0.085 10,000 0.00
12/26/2018 15:56:07 0.084 9,800 0.00
12/26/2018 15:51:01 0.084 40,000 0.00
12/26/2018 15:49:05 0.083525 2,500 0.00
12/26/2018 15:25:30 0.0835 4,000 -0.00
12/26/2018 15:17:02 0.085 5,000 0.00
12/26/2018 15:02:16 0.0835 9,000 -0.00
12/26/2018 15:02:16 0.084 1,000 0.00
12/26/2018 14:50:23 0.084 70,787 0.00
12/26/2018 14:50:23 0.084 10,000 -0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
VPLM Real-Time Best Bid & Ask: 05:00pm 12/26/2018
VOIP PAL.com, Inc.
Common Stock
0.085
0.005
6.25%
0.084 / 0.085 (78500 x 19800)
Real-Time Best Bid & Ask: 05:00pm 12/26/2018
Delayed (15 Min) Trade Data: 12:00am 12/26/2018
Overview
Quote
Company Profile
Security Details
News
Financials
Disclosure
Research
OPEN
0.0845
DAILY RANGE
0.082 - 0.08632
VOLUME
1,173,333
DIVIDEND
N/A
PREV CLOSE
0.08
52WK RANGE
0.035 - 0.2824
AVERAGE VOL (30D)
799,530
NET DIVIDEND YIELD
N/A
BEST BID
0.084 x 78500
BEST ASK
0.085 x 19800
MARKET CAP
135,486,413
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
CANT 0.084 68,500 12/26
CDEL 0.084 10,000 12/26
ASCM 0.0835 10,000 12/26
ETRF 0.082 10,365 12/26
NITE 0.082 10,000 12/26
CSTI 0.05 87,000 12/26
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 12/26
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 12/24
OTCX U 0 12/26
MPID ASK PRICE SIZE TIME
ETRF 0.085 19,800 12/26
VNDM 0.0864 10,000 12/26
CDEL 0.0864 10,000 12/26
ASCM 0.0865 10,000 12/26
NITE 0.088 10,000 12/24
CSTI 0.09 63,800 12/26
CANT 0.095 10,000 12/26
VFIN 0.11 5,000 10/08
MAXM 0.11 5,000 12/26
VERT 0.15 5,000 12/24
OTCX U 0 12/26
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/26/2018 15:58:19 0.085 10,000 0.00
12/26/2018 15:56:07 0.084 9,800 0.00
12/26/2018 15:51:01 0.084 40,000 0.00
12/26/2018 15:49:05 0.083525 2,500 0.00
12/26/2018 15:25:30 0.0835 4,000 -0.00
12/26/2018 15:17:02 0.085 5,000 0.00
12/26/2018 15:02:16 0.0835 9,000 -0.00
12/26/2018 15:02:16 0.084 1,000 0.00
12/26/2018 14:50:23 0.084 70,787 0.00
12/26/2018 14:50:23 0.084 10,000 -0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
VPLMREAL-TIME LEVEL 2 QUOTE
VOIP PAL.com, Inc.
Common Stock
0.08
0.00
0.00%
0.08 / 0.0845 (39940 x 10000)
Real-Time Best Bid & Ask: 09:32am 12/26/2018
Delayed (15 Min) Trade Data: 12:00am 12/24/2018
Overview
Quote
Company Profile
Security Details
News
Financials
Disclosure
Research
OPEN
0.00
DAILY RANGE
N/A
VOLUME
0
DIVIDEND
N/A
PREV CLOSE
0.08
52WK RANGE
0.035 - 0.2824
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.08 x 39940
BEST ASK
0.0845 x 10000
MARKET CAP
127,516,624
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
CANT 0.08 19,940 09:31
ASCM 0.08 10,000 07:49
CDEL 0.08 10,000 09:33
NITE 0.073 10,000 12/24
ETRF 0.072 20,765 09:30
CSTI 0.05 87,000 09:30
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 09:31
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 12/24
OTCX U 0 08:15
MPID ASK PRICE SIZE TIME
CDEL 0.0845 10,000 09:33
CANT 0.087 100,000 09:31
ASCM 0.0875 10,000 12/24
NITE 0.088 10,000 12/24
VNDM 0.09 10,000 09:31
CSTI 0.09 63,800 09:30
ETRF 0.10 20,000 09:30
VFIN 0.11 5,000 10/08
VERT 0.15 5,000 12/24
MAXM 8.00 100 12/24
OTCX U 0 08:15
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/24/2018 12:56:39 0.08 15,000 0.00
12/24/2018 12:49:06 0.08 10,000 -0.00
12/24/2018 12:48:48 0.0845 15,000 0.01
12/24/2018 12:47:11 0.075 70,000 -0.00
12/24/2018 12:46:56 0.076 10,000 -0.00
12/24/2018 12:46:51 0.08 10,000 0.00
12/24/2018 12:46:39 0.078 10,000 0.00
12/24/2018 12:44:08 0.076 10,600 0.00
12/24/2018 12:42:24 0.076 2,000 0.00
12/24/2018 12:40:28 0.076 2,300 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote
[VPLMREAL-TIME LEVEL 2 QUOTE
VOIP PAL.com, Inc.
Common Stock
0.08
0.015
23.08%
0.076 / 0.0845 (50000 x 20000)
Real-Time Best Bid & Ask: 02:00pm 12/24/2018
Delayed (15 Min) Trade Data: 12:56pm 12/24/2018
Overview
Quote
Company Profile
Security Details
News
Financials
Disclosure
Research
OPEN
0.08
DAILY RANGE
0.075 - 0.095
VOLUME
3,351,891
DIVIDEND
N/A
PREV CLOSE
0.065
52WK RANGE
0.035 - 0.29
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.076 x 50000
BEST ASK
0.0845 x 20000
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
CDEL 0.076 50,000 12:58
CANT 0.075 46,592 12:56
NITE 0.073 15,000 11:11
ASCM 0.065 10,000 12:20
ETRF 0.06 15,700 12:49
CSTI 0.05 87,000 10:08
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 12/21
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 07:35
OTCX U 0 08:15
MPID ASK PRICE SIZE TIME
VNDM 0.0845 10,000 12:44
CDEL 0.0845 10,000 12:58
ASCM 0.0875 10,000 12:11
NITE 0.088 100,000 11:10
CANT 0.088 64,000 12:47
ETRF 0.089 148,000 11:57
OTCX 0.09 30,000 10:51
VFIN 0.11 5,000 10/08
VERT 0.15 5,000 09:26
CSTI 0.324 2,500 08:59
MAXM 8.00 100 07:35
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/24/2018 12:56:39 0.08 15,000 0.00
12/24/2018 12:49:06 0.08 10,000 -0.00
12/24/2018 12:48:48 0.0845 15,000 0.01
12/24/2018 12:47:11 0.075 70,000 -0.00
12/24/2018 12:46:56 0.076 10,000 -0.00
12/24/2018 12:46:51 0.08 10,000 0.00
12/24/2018 12:46:39 0.078 10,000 0.00
12/24/2018 12:44:08 0.076 10,600 0.00
12/24/2018 12:42:24 0.076 2,000 0.00
12/24/2018 12:40:28 0.076 2,300 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Voip-Pal : PTAB Denies Apple's Request For Judgment Invalidating Patents
December 24, 2018, 05:20:00 AM EDT By RTT News
Shutterstock photo
(RTTNews.com) - Voip-Pal.com Inc. said that the Patent Trial and Appeal Board or "PTAB" has decided Apple's Motion for Sanctions in its IPR proceedings against Voip-Pal's U.S. Patent Nos. 8,542,815 and 9,179,005.
In the decision dated December 21, 2018, a new panel of the PTAB denied Apple's request for judgment invalidating the '815 and '005 patents, denied Apple's request for entirely new IPR proceedings and granted Apple's request for a new panel as a sanction against Voip-Pal for what the PTAB deemed were improper ex parte communications. Accordingly, the validity of the '815 and '005 patents is upheld and the PTAB's final written decisions regarding the '815 and '005 patents stand.
In its decision, the Board determined that the letters that were the subject of Apple's Motion for Sanctions constituted improper ex parte communications and imposed the following sanction on Voip-Pal - appointing an entirely new panel to consider any request for rehearing from Apple if such a request is made.
Under 37 CFR 42.71(d), a request for rehearing is an existing right of any party seeking to challenge a decision of the Board, such as the final written decisions here, and the Board determined that the proper sanction here was not to have an entirely new proceeding or to invalidate the patents, but instead to have an entirely new panel consider any request for rehearing.
PTAB rule 37 CFR 42.71(d) governs rehearing requests after final decisions and provides, in relevant part, that any request for rehearing must specifically state the points believed to have been misapprehended or overlooked in the Board's decision. If such a request is made by Apple, the burden would be on Apple to make the requisite showing that the final written decisions were incorrectly decided on the merits. Voip-Pal also has the right to file a response to Apple's request for rehearing if Apple makes such a request.
Read the original article on RTTNews (http://www.rttnews.com/2965190/voip-pal-ptab-denies-apple-s-request-for-judgment-invalidating-patents.aspx)
CURRENT BID/ASK 10:40 AM EASTERN NET DIVIDEND YIELD
VOLUME 1,680,000[/u]
PREV CLOSE
0.065
52WK RANGE
0.035 - 0.29
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.084 x 20000
BEST ASK
0.088 x 10000
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
ASCM 0.084 10,000 10:32
CDEL 0.084 10,000 10:32
NITE 0.083 50,000 09:43
CANT 0.07 145,000 10:29
ETRF 0.07 55,000 10:08
CSTI 0.05 87,000 10:08
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 12/21
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 07:35
OTCX U 0 08:15
MPID ASK PRICE SIZE TIME
ASCM 0.088 10,000 10:32
ETRF 0.089 148,000 10:31
CANT 0.089 106,106 10:37
CDEL 0.089 10,000 10:32
NITE 0.09 100,000 09:59
OTCX 0.095 30,000 10:28
VNDM 0.1071 5,000 09:32
VFIN 0.11 5,000 10/08
VERT 0.15 5,000 09:26
CSTI 0.324 2,500 08:59
MAXM 8.00 100 07:35
CURRENT BID/ASK 9:50 AM EASTERN NET DIVIDEND YIELD
PREV CLOSE
0.065
52WK RANGE
0.035 - 0.29
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.088 x 25000
BEST ASK
0.09 x 55700
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
ETRF 0.088 25,000 09:41
CDEL 0.085 32,898 09:46
NITE 0.083 50,000 09:43
CANT 0.07 162,500 09:47
CSTI 0.069 41,980 09:30
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 12/21
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 07:35
OTCX U 0 08:15
MPID ASK PRICE SIZE TIME
CDEL 0.0899 10,000 09:46
ETRF 0.095 98,200 09:35
CANT 0.095 15,000 09:39
VNDM 0.1071 5,000 09:32
VFIN 0.11 5,000 10/08
VERT 0.15 5,000 09:26
NITE 0.295 100,000 09:30
CSTI 0.324 2,500 08:59
MAXM 8.00 100 07:35
OTCX U 0 08:15
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/24/2018 09:32:18 0.0865 10,000 0.00
12/24/2018 09:31:52 0.0865 10,000 0.00
12/24/2018 09:31:43 0.085 26,000 0.00
12/24/2018 09:31:26 0.0835 10,000 0.00
12/24/2018 09:31:00 0.0835 10,000 0.00
12/24/2018 09:30:34 0.0825 10,000 0.00
12/24/2018 09:30:19 0.08 48,696 0.00
12/24/2018 09:30:09 0.08 2,700 0.00
12/24/2018 09:30:09 0.08 10,000 0.00
12/24/2018 09:30:09 0.08 8,000 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
OTCQB Member Since 07/2016
OTCQB
OTCQB Venture
Verified Profile 09/2018
Transfer Agent Verified
DAILY ADVANCERS
Subscribe to Our Newsletter
Stay up to date on the latest company news, industry trends and regulatory changes that affect our markets and learn about members of our community.
Enter your email
SIGN UP
CURRENT BID/ASK 9:45 AM EASTERN NET DIVIDEND YIELD
PREV CLOSE
0.059
52WK RANGE
0.035 - 0.29
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.088 x 25000
BEST ASK
0.09 x 180700
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
ETRF 0.088 25,000 09:41
CDEL 0.085 32,898 09:42
NITE 0.08 10,000 09:36
CANT 0.07 172,500 09:41
CSTI 0.069 41,980 09:30
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 12/21
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 07:35
OTCX U 0 08:15
MPID ASK PRICE SIZE TIME
CDEL 0.09 105,700 09:42
ETRF 0.095 98,200 09:35
CANT 0.095 15,000 09:39
VNDM 0.1071 5,000 09:32
VFIN 0.11 5,000 10/08
VERT 0.15 5,000 09:26
NITE 0.295 100,000 09:30
CSTI 0.324 2,500 08:59
MAXM 8.00 100 07:35
OTCX U 0 08:15
CURRENT BID/ASK 9:35 AM EASTERN NET DIVIDEND YIELD
PREV CLOSE
0.059
52WK RANGE
0.035 - 0.29
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.083 x 46000
BEST ASK
0.09 x 30600
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
CANT 0.083 46,000 09:34
ETRF 0.08 59,300 09:30
CDEL 0.08 33,000 09:33
NITE 0.08 10,000 09:34
CSTI 0.069 41,980 09:30
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 12/21
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 07:35
OTCX U 0 08:15
MPID ASK PRICE SIZE TIME
CDEL 0.09 30,600 09:33
ETRF 0.095 100,000 09:34
VNDM 0.1071 5,000 09:32
VFIN 0.11 5,000 10/08
VERT 0.15 5,000 09:26
CANT 0.25 5,000 09:30
NITE 0.295 100,000 09:30
CSTI 0.324 2,500 08:59
MAXM 8.00 100 07:35
OTCX U 0
CURRENT BID/ASK 9:29 AM EASTERN NET DIVIDEND YIELD
PREV CLOSE
0.059
52WK RANGE
0.035 - 0.29
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.08 x 10000
BEST ASK
0.085 x 10000
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
CANT 0.08 10,000 09:26
NITE 0.0701 10,000 09:03
CSTI 0.051 10,000 08:30
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 12/21
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 07:35
CDEL U 0 06:46
OTCX U 0 08:15
ETRF U 0 09:01
MPID ASK PRICE SIZE TIME
VNDM 0.0835 10,000 09:28
VFIN 0.11 5,000 10/08
VERT 0.15 5,000 09:26
CANT 0.25 2,500 09:26
NITE 0.295 2,500 12/21
CSTI 0.324 2,500 08:59
MAXM 8.00 100 07:35
CDEL U 0 06:46
OTCX U 0 08:15
ETRF U 0 09:01
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/21/2018 15:54:13 0.065 800 0.00
12/21/2018 15:54:09 0.065 50,000 0.00
12/21/2018 15:53:59 0.0625 10,000 -0.00
12/21/2018 15:53:33 0.063 13,408 0.00
12/21/2018 15:53:17 0.0615 10,000 -0.00
12/21/2018 15:51:32 0.063 1,100 0.00
12/21/2018 15:45:38 0.06 46,983 0.00
12/21/2018 15:45:38 0.06 3,017 -0.00
12/21/2018 15:32:41 0.063 66,592 0.00
12/21/2018 15:32:40 0.063 10,408 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
OTCQB Member Since 07/2016
OTCQB
OTCQB Venture
Verified Profile 09/2018
Transfer Agent Verified
DAILY ADVANCERS
Subscribe to Our Newsletter
Stay up to date on the latest company news, industry trends and regulatory changes that affect our markets and learn about members of our community.
Enter your email
SIGN UP
CURRENT BID/ASK 9:20 AM EASTERN NET DIVIDEND YIELD
N/A
BEST BID
0.0701 x 10000
BEST ASK
0.08 x 10000
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
NITE 0.0701 10,000 09:03
CANT 0.065 10,000 08:30
CSTI 0.051 10,000 08:30
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 12/21
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 07:35
CDEL U 0 06:46
OTCX U 0 08:15
ETRF U 0 09:01
MPID ASK PRICE SIZE TIME
VNDM 0.08 10,000 09:09
VERT 0.10 5,000 11/19
VFIN 0.11 5,000 10/08
CANT 0.25 2,500 08:30
NITE 0.295 2,500 12/21
CSTI 0.324 2,500 08:59
MAXM 8.00 100 07:35
CDEL U 0 06:46
OTCX U 0 08:15
ETRF U 0 09:01
YUP .... AND I UNDERSTOOD THAT EACH OF THE CHILD PATENTS PROTECT AND RESET THE TIME CLOCK ON EACH ONE OF THE ORIGINAL 5...
CURRENT BID/ASK 9:00 AM EASTERN
LAST
0.059
52WK RANGE
0.035 - 0.29
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.0701 x 10000
BEST ASK
0.074 x 10000
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
NITE 0.0701 10,000 09:03
CANT 0.065 10,000 08:30
CSTI 0.051 10,000 08:30
VERT 0.025 10,000 12/17
VNDM 0.02 10,000 12/21
VFIN 0.0001 10,000 12/17
MAXM 0.0001 10,000 07:35
CDEL U 0 06:46
OTCX U 0 08:15
cETRF U 0 09:01
MPID ASK PRICE SIZE TIME
VNDM 0.074 10,000 12/21
VERT 0.10 5,000 11/19
VFIN 0.11 5,000 10/08
CANT 0.25 2,500 08:30
NITE 0.295 2,500 12/21
CSTI 0.324 2,500 08:59
MAXM 8.00 100 07:35
CDEL U 0 06:46
OTCX U 0 08:15
cETRF U 0 09:01
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/21/2018 15:54:13 0.065 800 0.00
12/21/2018 15:54:09 0.065 50,000 0.00
12/21/2018 15:53:59 0.0625 10,000 -0.00
12/21/2018 15:53:33 0.063 13,408 0.00
12/21/2018 15:53:17 0.0615 10,000 -0.00
12/21/2018 15:51:32 0.063 1,100 0.00
12/21/2018 15:45:38 0.06 46,983 0.00
12/21/2018 15:45:38 0.06 3,017 -0.00
12/21/2018 15:32:41 0.063 66,592 0.00
12/21/2018 15:32:40 0.063 10,408 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
OTCQB Member Since 07/2016
OTCQB
OTCQB Venture
Verified Profile 09/2018
Transfer Agent Verified
DAILY ADVANCERS
IGAP
+ 200.00 %
AMSLF
+ 146.88 %
AMCT
+ 136.67 %
EMPR
+ 100.00 %
SPIN
+ 79.28 %
Subscribe to Our Newsletter
Stay up to date on the latest company news, industry trends and regulatory changes that affect our markets and learn about members of our community.
Enter your email
VOIP-PAL
As-it-happens update · December 24, 2018
NEWS
The Patent Trial and Appeal Board Gives Voip-Pal Another Significant Victory by Declining to ...
GlobeNewswire (press release)
BELLEVUE, Wash., Dec. 24, 2018 (GLOBE NEWSWIRE) -- Voip-Pal.com Inc. (“Voip-Pal”, “Company”) (OTCQB: VPLM) is pleased to report the Patent ...
Voip-Pal : PTAB Denies Apple's Request For Judgment Invalidating Patents - Nasdaq
Full Coverage
Google Plus Flag as irrelevant
US patent board gives latest patent decision in favour of Voip-Pal, denies Apple requests
Telecompaper
The US patent trial and appeal board (PTAB) has ruled it will not impose the sanctions requested by Apple for Voip-Pal. The ruling concerns Voip-Pal ...
Google Plus Flag as irrelevant
See more results | Edit this alert
You have received this email because you have subscribed to Google Alerts.
Unsubscribe | View all your alerts
RSS Receive this alert as RSS feed
Send Feedback
CURRENT BID/ASK 8:20 AM EASTERN
0.065 x 66592
BEST ASK
0.25 x 5000
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
CANT 0.065 53,000 08:15
CSTI 0.051 10,000 12/21
NITE 0.05 10,000 12/20
MAXM 0.0001 10,000 07:35
cVERT 0.025 10,000 12/17
cVNDM 0.02 10,000 12/21
cVFIN 0.0001 10,000 12/17
CDEL U 0 06:46
OTCX U 0 08:15
cETRF U 0 07:47
MPID ASK PRICE SIZE TIME
CSTI 0.07 10,000 12/21
CANT 0.25 5,000 12/21
NITE 0.295 2,500 12/21
MAXM 8.00 100 07:35
cVNDM 0.074 10,000 12/21
cVERT 0.10 5,000 11/19
cVFIN 0.11 5,000 10/08
CDEL U 0 06:46
OTCX U 0 08:15
cETRF U 0 07:47
[
[VPLM.REAL-TIME LEVEL 2 QUOTE PRE-MARKET.OPEN.8.AM.EASTERN
I DONT THINK THE 8 BUCKS OFFER WILL BE THERE FOR VERY LONG..... MAYBE 80 CENTS THIS WEEK???? FUN AND GAMES.....
AN OFFER SHOULD BE ON THE TABLE VERY SOON NOW THAT THE PTAB RULING IS OUT BUT WE MAY HAVE TO WAIT FOR ANOTHER VERIFICATION BY THE NEXT 3 JUDGE PANEL AFTER JANUARY DEADLINES FOR THE 20 PAGE LAST KICK AT THE CAN..
I HOPE NOT....
VOIP PAL.com, Inc.
Common Stock
0.065
0.006
10.17%
0.0001 / 8.00 (10000 x 100)
Real-Time Best Bid & Ask: 07:35am 12/24/2018
Delayed (15 Min) Trade Data: 12:00am 12/21/2018
Overview
Quote
Company Profile
Security Details
News
Financials
Disclosure
Research
OPEN
0.00
DAILY RANGE
N/A
VOLUME
0
DIVIDEND
N/A
PREV CLOSE
0.059
52WK RANGE
0.035 - 0.29
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.0001 x 10000
BEST ASK
8.00 x 100
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE PRE-MARKET.OPEN.8.AM.EASTERN
MPID BID PRICE SIZE TIME
MAXM 0.0001 10,000 07:35
cCANT 0.065 66,592 12/21
cCSTI 0.051 10,000 12/21
cNITE 0.05 10,000 12/20
cVERT 0.025 10,000 12/17
cVNDM 0.02 10,000 12/21
cVFIN 0.0001 10,000 12/17
cCDEL U 0 06:46
cETRF U 0 07:47
MPID ASK PRICE SIZE TIME
MAXM 8.00 100 07:35
cCSTI 0.07 10,000 12/21
cVNDM 0.074 10,000 12/21
cVERT 0.10 5,000 11/19
cVFIN 0.11 5,000 10/08
cCANT 0.25 5,000 12/21
cNITE 0.295 2,500 12/21
cCDEL U 0 06:46
cETRF U 0 07:47
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/21/2018 15:54:13 0.065 800 0.00
12/21/2018 15:54:09 0.065 50,000 0.00
12/21/2018 15:53:59 0.0625 10,000 -0.00
12/21/2018 15:53:33 0.063 13,408 0.00
12/21/2018 15:53:17 0.0615 10,000 -0.00
12/21/2018 15:51:32 0.063 1,100 0.00
12/21/2018 15:45:38 0.06 46,983 0.00
12/21/2018 15:45:38 0.06 3,017 -0.00
12/21/2018 15:32:41 0.063 66,592 0.00
12/21/2018 15:32:40 0.063 10,408 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
OTCQB Member Since 07/2016
OTCQB
OTCQB Venture
Verified Profile 09/2018
Transfer Agent Verified
DAILY ADVANCERS
IGAP
+ 200.00 %
AMSLF
+ 146.88 %
AMCT
+ 136.67 %
EMPR
+ 100.00 %
SPIN
+ 79.28 %
Subscribe to Our Newsletter
Stay up to date on the latest company news, industry trends and regulatory changes that affect our markets and learn about members of our community.
Enter your email
SIGN UP
QUOTE
SYMBOL
OTCM
LAST
27.59
CHANGE
0.09 (0.33%)
BID
0.00
VOIP PAL.com, Inc.
Common Stock
0.065
0.006
10.17%
0.0001 / 8.00 (10000 x 100)
Real-Time Best Bid & Ask: 07:35am 12/24/2018
Delayed (15 Min) Trade Data: 12:00am 12/21/2018
Overview
Quote
Company Profile
Security Details
News
Financials
Disclosure
Research
OPEN
0.00
DAILY RANGE
N/A
VOLUME
0
DIVIDEND
N/A
PREV CLOSE
0.059
52WK RANGE
0.035 - 0.29
AVERAGE VOL (30D)
690,932
NET DIVIDEND YIELD
N/A
BEST BID
0.0001 x 10000
BEST ASK
8.00 x 100
MARKET CAP
103,607,257
SHARES OUT
1,593,957,801
REAL-TIME LEVEL 2 QUOTE
MPID BID PRICE SIZE TIME
MAXM 0.0001 10,000 07:35
cCANT 0.065 66,592 12/21
cCSTI 0.051 10,000 12/21
cNITE 0.05 10,000 12/20
cVERT 0.025 10,000 12/17
cVNDM 0.02 10,000 12/21
cVFIN 0.0001 10,000 12/17
cCDEL U 0 06:46
cETRF U 0 07:47
MPID ASK PRICE SIZE TIME
MAXM 8.00 100 07:35
cCSTI 0.07 10,000 12/21
cVNDM 0.074 10,000 12/21
cVERT 0.10 5,000 11/19
cVFIN 0.11 5,000 10/08
cCANT 0.25 5,000 12/21
cNITE 0.295 2,500 12/21
cCDEL U 0 06:46
cETRF U 0 07:47
TRADE DATA
DATE TIMESTAMP PRICE VOLUME TICK DIRECTION CHANGE
12/21/2018 15:54:13 0.065 800 0.00
12/21/2018 15:54:09 0.065 50,000 0.00
12/21/2018 15:53:59 0.0625 10,000 -0.00
12/21/2018 15:53:33 0.063 13,408 0.00
12/21/2018 15:53:17 0.0615 10,000 -0.00
12/21/2018 15:51:32 0.063 1,100 0.00
12/21/2018 15:45:38 0.06 46,983 0.00
12/21/2018 15:45:38 0.06 3,017 -0.00
12/21/2018 15:32:41 0.063 66,592 0.00
12/21/2018 15:32:40 0.063 10,408 0.00
Irregular/odd lot trades, which are not considered for the Open, High, Low or Closing prices, are not shown in trade data table.
SHORT INTEREST
DATE SHORT INTEREST % CHANGE AVG. DAILY SHARE VOL DAYS TO COVER SPLIT NEW ISSUE
11/15/2018 8,500 -69.44 666,692 1 No No
10/31/2018 27,813 -33.82 781,371 1 No No
10/15/2018 42,025 -90.07 909,086 1 No No
09/28/2018 423,283 477.08 2,353,127 1 No No
09/14/2018 73,349 46.21 1,459,366 1 No No
08/31/2018 50,166 428.06 1,429,943 1 No No
07/31/2018 8,500 -14.07 584,772 1 No No
07/13/2018 9,892 -27.86 1,613,366 1 No No
06/29/2018 13,713 100.00 1,607,686 1 No No
05/31/2018 70,471 -30.44 1,393,924 1 No No
Level 2 Quote Montage: MMID - OTC Link Inside Quote | MMID - OTC Link Quote | cMMID - Closed Quote | U - Unpriced Quote | MMIDu - Unsolicited Quote. All trade/quote prices in USD.
OTCQB Member Since 07/2016
OTCQB
OTCQB Venture
Verified Profile 09/2018
Transfer Agent Verified
DAILY ADVANCERS
IGAP
+ 200.00 %
AMSLF
+ 146.88 %
AMCT
+ 136.67 %
EMPR
+ 100.00 %
SPIN
+ 79.28 %
Subscribe to Our Newsletter
Stay up to date on the latest company news, industry trends and regulatory changes that affect our markets and learn about members of our community.
Enter your email
SIGN UP
QUOTE
SYMBOL
OTCM
LAST
27.59
CHANGE
0.09 (0.33%)
BID
0.00
BELLEVUE, Wash., Dec. 24, 2018 (GLOBE NEWSWIRE) -- Voip-Pal.com Inc. (“Voip-Pal”, “Company”) (VPLM) is pleased to report the Patent Trial and Appeal Board (“PTAB”) has decided Apple’s Motion for Sanctions in its IPR proceedings against Voip-Pal’s U.S. Patent Nos. 8,542,815 and 9,179,005 (“the ‘815 and ‘005 patents”). In the decision dated December 21, 2018, a new panel (the Board) of the PTAB denied Apple’s request for judgment invalidating the ‘815 and ‘005 patents, denied Apple’s request for entirely new IPR proceedings and granted Apple’s request for a new panel as a sanction against Voip-Pal for what the PTAB deemed were improper ex parte communications. Accordingly, the validity of the ‘815 and ‘005 patents is upheld and the PTAB’s final written decisions regarding the ‘815 and ‘005 patents stand. In its decision, the Board determined that the letters that were the subject of Apple’s Motion for Sanctions constituted improper ex parte communications and imposed the following sanction on Voip-Pal – appointing an entirely new panel to consider any request for rehearing from Apple if such a request is made. Under 37 CFR 42.71(d), a request for rehearing is an existing right of any party seeking to challenge a decision of the Board, such as the final written decisions here, and the Board determined that the proper sanction here was not to have an entirely new proceeding or to invalidate the patents, but instead to have an entirely new panel consider any request for rehearing.
PTAB rule 37 CFR 42.71(d) governs rehearing requests after final decisions and provides, in relevant part, that any request for rehearing must specifically state the points believed to have been misapprehended or overlooked in the Board’s decision. If such a request is made by Apple, the burden would be on Apple to make the requisite showing that the final written decisions were incorrectly decided on the merits. Voip-Pal also has the right to file a response to Apple’s request for rehearing if Apple makes such a request.
Emil Malak, CEO of Voip-Pal, stated: “We are very pleased with this ruling. The PTAB’s decision affirmed that Dr. Sawyer’s letters did not 'prejudice' the outcome of the IPR proceedings and Voip-Pal once again prevailed on the technical merits of the patents. The most important result was the PTAB’s denial of Apple’s requests to cancel the patents or vacate the final written decisions. The new senior panel of three judges which denied Apple’s requests must have carefully examined the technical merits of the final written decisions rendered by the previous panel which ruled in favor of Voip-Pal.”
As of today:
Voip-Pal’s patent portfolio has expanded from its five original core patents to currently having twenty-two allowed and or issued US patents thus far.
Voip-Pal has prevailed in all 8 IPR challenges filed by Apple, AT&T and Unified Patents, against only two of our twenty-two issued/allowed patents.
AT&T and Verizon filed separate Motions to Dismiss Voip-Pal’s lawsuits against them. Subsequent to Voip-Pal’s opposition, both AT&T and Verizon withdrew their respective Motions to Dismiss.
This latest sanctions decision further affirms the technical strength of Voip-Pal’s patent suite.
“We wish all of our shareholders and everyone involved in these lengthy legal battles a Merry Christmas and a happy and healthy new year in 2019. As I have always said, Patience is a virtue.”
To read the PTAB December 21, 2018 ruling please visit www.voip-pal.com
About Voip-Pal.com Inc.
Voip-Pal.Com, Inc. (“Voip-Pal”) is a publicly traded corporation (VPLM) headquartered in Bellevue, Washington. The Company owns a portfolio of patents relating to Voice-over-Internet Protocol (“VoIP”) technology that it is currently looking to monetize.
Any forecast of future financial performance is a “forward looking statement” under securities laws. Such statements are included to allow potential investors the opportunity to understand management’s beliefs and opinions with respect to the future so that they may use such beliefs and opinions as one factor among many in evaluating an investment.
Corporate Website: www.voip-pal.com
IR inquiries: IR@voip-pal.com
IR Contact: Rich Inza (954) 495-4600
how high is up? ANY PREDICTIONS FOR TODAY AND THE END OF THIS WEEK?
read.it.again....... no new data.....ptab.game.is.almost.over
well.well.well....is.this.vplm's.buyer?
Anymouse69 Saturday, 12/22/18 12:21:21 AM
Re: None
Post #
70175
of 70189
Twitter Notification: VPLM just followed TwigaCapital
Anymouse69 Saturday, 12/22/18 12:54:15 AM
Re: Anymouse69 post# 70175
Post #
70180
of 70189
TwigaCapital - TCP is a private family investment firm focused in smallcap & microcap equities otcqb, otc, otcqx, nyse, nasdaq.
COURT RESULTS OUTLINED IN BASEBALL TERMS
APPLE FINDINGS
STRIKE 1
The Motion is denied to the extent that Petitioner requests judgment to be entered against Patent Owner as to all of the claims challenged in these proceedings or, alternatively, vacatur of the Final Written Decisions and new proceedings in which Petitioner may file new petitions. In view of the unique circumstances and record before us, we determine that the proper course of action, as a matter of fairness in view of actions by both parties, is for the new panel to reconsider the Final Written Decisions on rehearing in view of the entirety of record in these proceedings
STRIKE 2
When considering the interests of the Office and public, judgment against Patent Owner would be an inappropriate sanction under the facts of these cases. It is not in the Office’s interest to have a party delay its investigation into issues of alleged impropriety, or to wait and see the results of a final written decision before raising any issues
STRIKE 3
For example, we do not wish to reward Petitioner with a “do-over” after it failed to raise the issues promptly. Furthermore, it is in neither the Office’s nor the public’s interest to vacate the results of 17 months of proceedings and commence entirely new proceedings
RESULT: APPLE, YOU ARE OUT !!!!!! SETTLE NOW....
VPLM FINDINGS
STRIKE 1
On the current record, there is evidence sufficient to conclude that Patent Owner intentionally violated 37 C.F.R. § 42.5(d)
RESULT ; VPLM IS STILL AT BAT
Trials@uspto.gov .....A LOT of reading HERE!!!
Paper No. 70 571.272.7822 Entered December 21, 2018 UNITED STATEdS PATENT AND TRADEMARK OFFICE ____________ BEFORE THE PATENT TRIAL AND APPEAL BOARD ____________ APPLE INC., Petitioner, v. VOIP-PAL.COM, INC., Patent Owner ____________ Case IPR2016-01198 and IPR2016-012011 Patents 9,179,005 B2 and 8,542,815 B2 ____________ Before SCOTT R. BOALICK, Acting Chief Administrative Patent Judge, JACQUELINE WRIGHT BONILLA, Acting Deputy Chief Administrative Patent Judge, and MICHAEL P. TIERNEY, Vice Chief Administrative Patent Judge. BOALICK, Acting Chief Administrative Patent Judge. ORDER Granting-in-Part Petitioner’s Motion for Sanctions 37 C.F.R. §§ 42.5, 42.12
1 This Order pertains to both noted proceedings. The Board exercises its discretion to issue a single Order for entry in each proceeding. The parties are not authorized to use this style heading for any subsequent papers.
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 2 The two above-captioned proceedings are on remand from the United States Court of Appeals for the Federal Circuit. Apple Inc. v. Voip-Pal.com, Inc., Nos. 18-1456, -1457 (Fed. Cir. Feb. 21, 2018) (“Remand Order”). The Federal Circuit’s order remands these cases for the limited purpose of allowing us to consider the motion for sanctions (“Motion” or “Mot.”) that Apple Inc. (“Petitioner”) filed, and states that the court otherwise retains jurisdiction over the appeals. Id. For the reasons that follow, the Motion is granted-in-part. The Motion is granted to the extent that Petitioner seeks sanctions against Voip-Pal.com, Inc. (“Patent Owner”) for improper ex parte communications and a new panel (Mot. 14–15). As a sanction, the new panel will reconsider the Final Written Decisions on rehearing in view of the entirety of record in these proceedings. The Motion is denied to the extent that Petitioner seeks judgment against Patent Owner on all claims at issue in these proceedings, or vacatur of the Final Written Decisions (Mot. 1, 15; Reply 10). I. PROCEDURAL HISTORY On November 20, 2017, the Board entered Final Written Decisions in each of the proceedings at issue. IPR2016-01198, Paper 53; IPR2016-01201, Paper 54. During a conference call on December 19, 2017, Petitioner obtained authorization to file a motion for sanctions. The Board memorialized this authorization in an order entered on December 20, 2017. Paper 54, 3.2 That order stayed the deadline for filing requests for rehearing of the Final Written Decisions pending a decision on Petitioner’s motion, 2 This citation and all subsequent citations to Paper numbers are to the Paper numbers in IPR2016-01198.
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 3 and also entered six ex parte communications (Ex. 3003–3008) into the record. Id. at 2–3. As authorized, Petitioner filed its Motion for Entry of Judgment in Favor of Petitioner as a sanction, alleging that the ex parte communications were improper ex parte communications made by Patent Owner’s former CEO (Dr. Thomas Sawyer), in concert with Patent Owner and its counsel. Paper 55. Patent Owner filed an Opposition to the Motion (“Opp’n”). Paper 61. Petitioner filed a Reply in support of its Motion (“Reply”). Paper 65. Just prior to filing its Reply, Petitioner also filed a Notice of Appeal indicating that it had appealed the Final Written Decisions to the Federal Circuit. Paper 64. As noted above, the Federal Circuit stayed those appeals pending the resolution of the Motion before the Board in both cases. Remand Order 2. Thereafter, the Board issued an order changing the panel to Deputy Chief Administrative Patent Judge (currently Acting Chief Administrative Patent Judge) Boalick, Vice Chief Administrative Patent Judge (currently Acting Deputy Chief Administrative Patent Judge) Bonilla, and Vice Chief Administrative Patent Judge Tierney. Paper 69. II. BACKGROUND Petitioner’s Motion requests that the Board sanction Patent Owner in light of six letters Patent Owner’s former CEO and Chairman and current advisor, Dr. Thomas Sawyer, wrote and sent to the Chief Administrative Patent Judge, among many others, including the judges initially assigned to conduct the proceedings. Mot. 1; Exs. 3003–3008. Petitioner argues that these letters are ex parte communications that violate Petitioner’s due
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 4 process rights, Board regulations, and the Administrative Procedure Act (“APA”). Mot. 7. Petitioner further argues that Patent Owner is responsible for these letters, that the Board’s response to these letters prejudiced Petitioner, and that the Board should sanction Patent Owner by entering adverse judgment against Patent Owner or, alternatively, by vacating the Final Written Decisions and assigning a new panel to preside over “constitutionally correct” proceedings going forward. Id. at 8–9, 12–15. Patent Owner opposes Petitioner’s Motion, arguing first that the letters are not ex parte communications because they only reference a pending proceeding to illustrate a systemic concern and do not discuss substantive issues relevant to the instant proceedings themselves. Opp’n 2–7 (citing Office Patent Trial Practice Guide (“Trial Practice Guide”), 77 Fed. Reg. 48,756, 48,758 (Aug. 14, 2012)). Patent Owner further contends that even if the letters are deemed impermissible ex parte communications, they are not so egregious as to require the sanctions Petitioner requests, that Petitioner was not prejudiced by the letters, and that Petitioner’s due process rights were not violated. Id. at 7–11, 14–15. Furthermore, Patent Owner states that Petitioner’s Motion is untimely and barred because Petitioner was aware of two of the letters, but chose to do nothing, instead waiting until after the Board issued its Final Written Decisions to bring the Motion. Id. at 12–14. In the Reply, Petitioner faults Patent Owner for previously misrepresenting in a press release that the letters were written “independent of [Patent Owner’s] management” and issuing a corrected press release stating that the letters were written “in consultation with [Patent Owner’s] management” only after Petitioner filed the Motion. Reply 1–2 (emphases
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 5 omitted) (quoting Exs. 1019, 1023). Petitioner again argues that the letters are ex parte communications that violate 37 C.F.R. § 42.5(d) and deprive Petitioner of due process. Id. at 4–10. The Reply reiterates Petitioner’s request for judgment against Patent Owner and, in the alternative, requests an opportunity to file new petitions. Id. at 10. III. ANALYSIS The parties’ arguments initially present two threshold issues: (A) whether Petitioner’s Motion is barred under 37 C.F.R. § 42.73(a) (Opp’n 13–14); and (B) whether the letters are ex parte communications (Mot. 9–10; Opp’n 2–7; Reply 4–6). If these threshold issues are resolved such that the Motion is not barred and the letters are, in fact, ex parte communications, then the parties ask us to further consider the following three issues: (C) whether Petitioner’s due process rights were violated (Mot. 10–12; Opp’n 14–15; Reply 6–9); (D) whether Patent Owner should be sanctioned and, if so, what sanction is appropriate (Mot. 14–15; Opp’n 7–9; Reply 10); and (E) whether Petitioner’s rights under the APA were violated (Mot. 10). We address each of these issues in turn. A. Whether the Motion Is Barred Under 37 C.F.R. § 42.73(a) Under 37 C.F.R. § 42.73(a), “[a] judgment, except in the case of a termination, disposes of all issues that were, or by motion reasonably could have been, raised and decided.” Patent Owner asserts that Petitioner is barred from bringing its Motion under § 42.73(a) because Petitioner became aware of two of the letters, on May 8, 2017, and November 1, 2017, respectively, before the Board issued the Final Written Decisions on November 20, 2017, yet chose to do nothing. Opp’n 13. Petitioner
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 6 acknowledges that it was aware of the first and last letters, but indicates that it did not become aware of the second through fifth letters until it began an investigation after the Final Written Decisions issued. Mot. 9 n.5; Reply 2–3; Ex. 1021, 3–6. We are not persuaded that 37 C.F.R. § 42.73(a) serves to bar Petitioner’s Motion in this case, namely because Petitioner was not aware of four of the six letters until after the Final Written Decisions issued. Patent Owner argues that those four letters are cumulative (Opp’n 14), but we disagree. Unlike the two letters of which Petitioner was aware, the four additional letters request, for example, “a judgment in the patent owner’s favor or a dismissal of the action” (Ex. 3004, 3); an “explanation for the replacement of all of the members of the panel” (Ex. 3005, 1); and that the Board “dismiss the two Apple petitions that have been instituted” (Ex. 3006, 5). Thus, evidence supports the finding that Petitioner did not know about a number of relevant letters and, likewise, did not know that those letters requested certain substantive action in the instant cases, until after the Final Written Decisions issued. Thus, we determine that Petitioner is not barred from bringing its Motion under § 42.73(a). B. Whether Patent Owner’s Letters Are Ex Parte Communications Under 37 C.F.R. § 42.5(d), an ex parte “[c]ommunication regarding a specific proceeding with a Board member defined in 35 U.S.C. 6(a) is not permitted unless both parties have an opportunity to be involved in the communication.” This prohibition on ex parte communications includes “seeking supervisory review in a proceeding by contacting the judge’s supervisor, without including the opposing party in the communication.”
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 7 Rules of Practice for Trials Before the Patent Trial and Appeal Board and Judicial Review of Patent Trial and Appeal Board Decisions (“Trial Practice Rules”), 77 Fed. Reg. 48,612, 48,617 (Aug. 14, 2012). The prohibition, however, does not extend to, among other things, “referring to a pending case to illustrate a systemic concern.” Id.; accord Trial Practice Guide, 77 Fed. Reg. at 48,758. We do not agree with Patent Owner that the letters at issue refer to the instant proceedings entirely for the purpose of illustrating a systemic concern (Opp’n 2). Although the letters do allege what could be termed systemic concerns, the letters go beyond that discussion such that they seek specific relief from the Chief Administrative Patent Judge in these proceedings. In particular, among other things, the letters suggest the need to disqualify a panel of judges hearing the identified cases, ask for judgment in Patent Owner’s favor or dismissal of the petitions, and argue that such relief is necessary to satisfy due process. Ex. 3003, 1–3; Ex. 3004, 3; Ex. 3006, 5. In its own briefing, Patent Owner acknowledges that it discussed relevant issues with Dr. Sawyer and participated in preparing the letters Dr. Sawyer sent to the Board. Opp’n 2 n.1; see also Motion 8–9 (discussing Patent Owner’s website postings in September 2017). Thus, evidence sufficiently establishes that Patent Owner, through Dr. Sawyer, engaged in written communication with the Board in a manner that did not involve or inform Petitioner. Because Patent Owner participated in preparing the letters, and because Petitioner did not have the opportunity to be involved in the communications, we determine that the letters constitute improper ex parte communications under 37 C.F.R. § 42.5(d).
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 8 C. Whether Petitioner’s Due Process Rights Were Violated Petitioner relies on Stone v. Federal Deposit Insurance Corp., 179 F.3d 1368 (Fed. Cir. 1999), in arguing that Patent Owner’s improper ex parte communications violated its due process rights. Mot. 11–12; Reply 6–9. We agree with Patent Owner, however, that Stone is not applicable in this instance (Opp’n 14–15) and that Petitioner’s due process rights have not been violated. Stone involves a federal constitutional claim under the Due Process Clause of the Fifth Amendment. 179 F.3d at 1374. In Stone, the Federal Circuit made clear that the appellant’s due process arguments depended upon having a property right. Id. (“[The appellant]’s federal constitutional due process claim depends on his having a property right in continued employment. . . . If [the appellant] does possess such a property interest, then the government cannot deprive him of this property without due process.”); id. at 1377 (further discussing the appellant’s property interest in continued employment); cf. Oil States Energy Servs., LLC v. Greene’s Energy Group, LLC, 138 S. Ct. 1365, 1375 (2018) (stating that patents convey “a specific form of property right—a public franchise” and that the Court’s “decision should not be misconstrued as suggesting that patents are not property for purposes of the Due Process Clause”). Here, by contrast, Petitioner does not allege that it has any property interest of which it has been deprived. Because there is no evidence that Petitioner possesses the prerequisite property interest for a Stone analysis to apply, we do not find that Petitioner has shown that it had its rights unconstitutionally violated under the Due Process Clause of the Fifth
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 9 Amendment and the Stone framework. However, a due process violation is not required in order to impose sanctions. D. Whether Patent Owner Should Be Sanctioned and, if so, What Sanction is Appropriate Under 37 C.F.R. § 42.12(a)(1), “[t]he Board may impose a sanction against a party for misconduct, including . . . [f]ailure to comply with an applicable rule . . . in the proceeding.” Accordingly, “the initiation of . . . an ex parte communication may result in sanctions against the initiating party.” Trial Practice Rules, 77 Fed. Reg. at 48,616. As we have found in § III.B above, Patent Owner has violated 37 C.F.R. § 42.5(d) prohibiting ex parte communications, and this is sanctionable misconduct.
As a remedy for Patent Owner’s noncompliance with this rule, Petitioner seeks entry of judgment against Patent Owner as to all of the claims at issue or, alternatively, vacatur of the Final Written Decisions followed by assignment of a new panel, and the opportunity to file new petitions. Mot. 15; Reply 10. “[L]oss of patent rights, like dismissal with prejudice of a civil action, is a sanction which may sound the death knell for important rights and interests. . . . [S]uch dismissals should be used as ‘a weapon of last, rather than first, resort.’” Abrutyn v. Giovanniello, 15 F.3d 1048, 1053 (Fed. Cir. 1994) (citation omitted) (quoting Gerritsen v. Shirai, 979 F.2d 1524, 1532 (Fed. Cir. 1992)). The Board’s rules provide for sanctions up to and including adverse judgment. 37 C.F.R. § 42.12(b). In fashioning a sanction for violating the rules, the selected sanction should bear a reasonable relationship to the severity of the violation. Further, a sanction should be selected to ensure
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 10 compliance with the Board’s rules, deter others from such conduct and, if appropriate, render whole the aggrieved party. See 37 C.F.R. § 42.11(d)(4). On the current record, there is evidence sufficient to conclude that Patent Owner intentionally violated 37 C.F.R. § 42.5(d). As noted above, Patent Owner admits to participating in preparing the letters. Opp’n 2 n.1. This admission is even more troublesome in view of the fact that Patent Owner’s initial press release posting the letters on its website stated that the letters were written “independent of [Patent Owner’s] management” (Ex. 1019), and that Patent Owner did not issue a correction until after Petitioner filed its Motion (see Ex. 1023 (corrected press release stating that the letters were written “in consultation with [Patent Owner’s] management”)). We do not find credible Patent Owner’s assertion that it believed that the content of the letters was permissible under 37 C.F.R. § 42.5(d). See Opp’n 2–3, 2 n.1, 6–7 (asserting that the letters referenced a pending case to illustrate a systemic concern, such that the letters were within the requirements of 37 C.F.R. § 42.5 pursuant to the Trial Practice Guide, and that Patent Owner did not hide the letters, instead posting them on its website). Viewing the entire record as a whole, we do not find that Petitioner has been unfairly prejudiced as a result of Patent Owner’s actions. Petitioner contends that it has been prejudiced because “the Board took actions adverse to [Petitioner] after receiving [Patent Owner]’s unauthorized ex parte communications asking for that precise result.” Mot. 13. According to Petitioner, because the original panel was accused of bias and replaced with a substitute panel, the substitute panel was, in turn, instilled with a
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 11 “reciprocal bias” against Petitioner, and the new panel was “implicitly pushed” to side in favor of Patent Owner. Id. at 13–14. Petitioner’s allegation that the substitute panel members were biased is a serious accusation, yet it is based only on mere speculation. Furthermore, notwithstanding the seriousness of Petitioner’s bias allegations and even though Petitioner had two letters in its possession, Petitioner did not raise the issue promptly. Instead, Petitioner raised the issue of panel bias only after receiving the Final Written Decisions that were not in Petitioner’s favor. On this record, Petitioner, at best, has shown the potential for an appearance of prejudice, but has failed to provide sufficient evidence of actual prejudice. The lack of evidence of actual prejudice to Petitioner weighs against imposing the sanction of judgment against Patent Owner on all of the challenged claims. We now consider any prejudice to the United States Patent and Trademark Office (“Office”) or the public interest in determining an appropriate sanction. Those interests include “creating sufficient deterrence for like cases in the future,” Abrutyn, 15 F.3d at 1053, and as it relates to this case, deterring improper ex parte communications and public misrepresentations as to the parties’ involvement in those communications. At the same time, however, it is in the Office’s interest to have parties promptly raise any allegations of panel bias or improper ex parte communications. As discussed above, Petitioner could have raised its concerns as to possible panel bias as of the June 7, 2017, conference call, at which time Petitioner was aware of both the first letter and the fact that the panel had
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 12 been replaced. Instead, Petitioner waited over six months to do so—until after the Final Written Decisions issued. Similarly, Petitioner was aware of the last letter on November 1, 2017 (Reply 3), yet did not request authorization to file the Motion until December 15, 2017 (Ex. 3002)—again, after the Final Written Decisions issued on November 20, 2017. Petitioner’s Reply states that, although the last letter “suggested that [Patent Owner] might be involved [in the communications], it was far from clear.” Reply 3 (emphasis added). This statement is inconsistent with Petitioner’s statements in the Motion, where Petitioner asserts that the last letter “makes clear that Dr. Sawyer [was] no rogue actor; rather [Patent Owner] knew about—and assisted in—Dr. Sawyer’s ex parte communications with the Board” (Mot. 8 (emphasis added); see also id. at 9 n.4 (“[Patent Owner]’s description of these letters as ‘independent’ is belied by the content of the letters themselves . . . .” (citation omitted))). Moreover, Dr. Sawyer’s last letter, which Petitioner acknowledges it received on November 1, 2017 (Reply 3), expressly states that, “[o]ver the last several months,” Dr. Sawyer “participated in a series of meetings and consultations with attorneys for Voip-Pal.” Ex. 3008, 1. Accordingly, we are persuaded that the record sufficiently establishes Petitioner had reason to understand, as of November 1, 2017, that Dr. Sawyer prepared and sent at least his last letter (Ex. 3008) with Patent Owner’s involvement or knowledge. When considering the interests of the Office and public, judgment against Patent Owner would be an inappropriate sanction under the facts of these cases. It is not in the Office’s interest to have a party delay its investigation into issues of alleged impropriety, or to wait and see the results of a final written decision before raising any issues
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 13 of alleged impropriety, and then reward that party for its delay by reversing a final written decision that is not in its favor. In the alternative, Petitioner requests vacatur of the Final Written Decisions and “constitutionally correct” proceedings going forward that provide Petitioner with the right to file new petitions. Mot. 15; Reply 10. We do not agree that this is an appropriate sanction for the same reasons that we do not find judgment against Patent Owner to be an appropriate sanction. For example, we do not wish to reward Petitioner with a “do-over” after it failed to raise the issues promptly. Furthermore, it is in neither the Office’s nor the public’s interest to vacate the results of 17 months of proceedings and commence entirely new proceedings. Although Stone explains that, where a constitutional due process violation has occurred as a result of ex parte communications, a new constitutionally correct procedure is required, 179 F.3d at 1377, we do not find that Stone applies here, as discussed in § III.C above. Petitioner has requested a new panel (Mot. 15), and in our view, assigning a new panel and having the new panel issue a rehearing decision achieves the most appropriate balance when considering both parties’ conduct as a whole. As noted above, the Board issued an order changing the panel on August 22, 2018. Paper 69. In addition, the new panel now authorizes Petitioner to file a request for rehearing of the Final Written Decision in each proceeding, limited to 20 pages, by Tuesday, January 8, 2019. Patent Owner may file a response to Petitioner’s request, also limited to 20 pages, by Tuesday, January 22, 2019. Petitioner may then file a reply, limited to 10 pages, by Tuesday, January 29, 2019. This panel will decide each request for rehearing under the standard set forth in 37 C.F.R.
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 14 § 42.71(d), meaning that Petitioner bears the burden of showing that the Final Written Decisions should be modified, and Petitioner must specifically identify all matters it believes the Board misapprehended or overlooked in the Final Written Decisions, and where in the record each matter was previously addressed. E. Whether Petitioner’s Rights under the APA were Violated Petitioner contends that Patent Owner’s ex parte communications violate the APA, specifically, § 557(d)(1)(A) of the APA. Mot. 10. APA § 557(d)(1)(A) applies to formal rulemaking and formal adjudications before administrative agencies and prohibits ex parte communications “relevant to the merits of the proceeding.” 5 U.S.C. § 557(d)(1)(A). In its briefing on this argument, however, Petitioner does not explain why or how the letters at issue are “relevant to the merits of the proceeding” within the meaning of that phrase under the APA. See Mot. 10. In any event, courts have held that there are two remedies for improper ex parte communications under the APA: “[t]he first is disclosure of the communication and its content”; and “[t]he second requires the violating party to ‘show cause why his claim or interest in the proceeding should not be dismissed, denied, disregarded, or otherwise adversely affected on account of [the] violation.’” Prof’l Air Traffic Controllers Org. v. Fed. Labor Relations Auth., 685 F.2d 547, 564 (D.C. Cir. 1982) (third alteration in original) (quoting 5 U.S.C. § 557(d)(1)(D)). The Board already has provided the first remedy. See Paper 54 (making Ex. 3003–3008 of record and available to the parties on December 20, 2017). As to the second remedy, “Congress did not intend . . . that an agency would dismiss a party’s interest more than rarely . . . [and] the statutory
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 15 language clearly states that a party’s interest in the proceeding may be adversely affected only ‘to the extent consistent with the interests of justice and the policy of the underlying statutes.’” Id. (citation omitted) (quoting 5 U.S.C. § 557(d)(1)(D)). We do not find it in the interests of justice to enter judgment against Patent Owner for the reasons discussed in § III.D above. Rather, we determine that the proper course of action, as a matter of fairness in view of both parties’ actions, is to have the new panel reconsider the Final Written Decisions on rehearing in view of the entirety of record before us. In its requests for rehearing, Petitioner may point out matters it “believes the Board misapprehended or overlooked, and the place where each matter was previously addressed in a motion, an opposition, or a reply.” 37 C.F.R. § 42.71(d). IV. CONCLUSION Petitioner’s Motion is granted-in-part. The Motion is granted to the extent that Petitioner has shown that Patent Owner engaged in sanctionable conduct under 37 C.F.R. § 42.5(d), and further to the extent that Petitioner has requested a new panel in these proceedings going forward. The Motion is denied to the extent that Petitioner requests judgment to be entered against Patent Owner as to all of the claims challenged in these proceedings or, alternatively, vacatur of the Final Written Decisions and new proceedings in which Petitioner may file new petitions. In view of the unique circumstances and record before us, we determine that the proper course of action, as a matter of fairness in view of actions by both parties, is for the new panel to reconsider the Final Written Decisions on rehearing in view of the entirety of record in these proceedings.
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 16 Thus, upon completion of the briefing as authorized in this Order, the Final Written Decisions will be reviewed in accordance with the standard set forth in 37 C.F.R. § 42.71(d). Specifically, on rehearing, there will be an assessment of whether Petitioner sufficiently identifies “matters the party believes the Board misapprehended or overlooked, and the place where each matter was previously addressed in a motion, an opposition, or a reply.” 37 C.F.R. § 42.71(d). ORDER It is hereby ORDERED that Petitioner’s Motion is granted-in-part; FURTHER ORDERED that the panel members for consideration of all matters in these proceedings are designated in accordance with the order filed on August 22, 2018 (Paper 69); FURTHER ORDERED that the stay of the deadline for Petitioner to file requests for rehearing of the Final Written Decisions is lifted; FURTHER ORDERED that Petitioner is authorized to file requests for rehearing of the Final Written Decisions in the two above-captioned proceedings by January 8, 2019, and such requests for rehearing shall total no more than 20 pages each and otherwise be subject to the standards set forth in 37 C.F.R. § 42.71(d); FURTHER ORDERED that Patent Owner is authorized to file, by January 22, 2019, responses to any requests for rehearing of the Final Written Decisions that Petitioner files, and such responses shall total no more than 20 pages each; and
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 17 FURTHER ORDERED that Petitioner is authorized to file replies in support of any requests for rehearing by January 29, 2019, and such replies shall total no more than 10 pages each.
IPR2016-01198 and IPR2016-01201 Patents 9,179,005 B2 and 8,542,815 B2 18 PETITIONER: Adam Seitz Eric Buresh Paul Hart ERISE IP, P.A. Adam.seitz@eriseip.com Eric.buresh@eriseip.com Paul.hart@eriseip.com PATENT OWNER Kerry Taylor John Carson KNOBBE, MARTENS, OLSON & BEAR, LLP 2KST@knobbe.com 2jmc@knobbe.com Kevin Malek MALEK MOSS PLLC Kevin.malek@malekmoss.com