IP Library Granted Patent US 8,654,966
Granted Patent B2
US 8,654,966 · App. 11/657,058 · Granted Feb 18, 2014

Method for dial plan parsing and a system incorporating the same

Inventor: Yair Elharrar (Ramat-Gan, IL)
Assignee: AudioCodes Ltd.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,654,966
App. No.
11/657,058
Granted
Feb 18, 2014
Kind
B2
Abstract

A method and system for a dial plan parser includes a state machine configured upon a dial plan to which is applied call signaling data, and a call routing module/switch to transfer a call to a next point.

Claims (50)

1. A dial plan parser comprising:

a state machine based upon a dial plan,

wherein the dial plan parser is (a) to receive as input a human-readable dial plan configuration file, (b) to parse the human-readable configuration file, and (c) to automatically generate as output, from the human-readable configuration file, a state machine comprising a machine-readable state table;

wherein the dial plan parser is adapted with the state machine to estimate a number of call signaling digits which follow a dial prefix;

wherein the dial plan parser is implemented by utilizing at least a hardware component;

wherein an output from the state machine comprises an expected dialing length;

wherein the dial plan parser is associated with a call routing module which is able, based on the expected dialing length, to begin call routing before dialing is completed.

2. The dial plan parser according to claim 1 , wherein the dial plan is embodied within said dial plan configuration file,

wherein the dial plan parser is to automatically transform a telephone number plan, which comprises known prefixes, into a machine-readable state table.

3. The dial plan parser of claim 2 , wherein said dial plan configuration file embodies multiple dial plans.

4. The dial plan parser according to claim 1 , further comprising control logic adapted to apply call signaling data to said state machine,

wherein the dial plan parser is to apply an algorithm which automatically: (A) reads a plurality of rules of said dial plan configuration file; (B) arranges said rules in a tree structure representing a prefix tree; (C) applies prefix tree compression by detecting and uniting identical branches of said prefix tree; (D) forms a directed graph to replace said prefix tree; (E) produces as output a machine-readable state table which corresponds to said directed graph.

5. The dial plan parser according to claim 3 , wherein said control logic is further adapted to receive an indication of expected call signaling digits from said state machine.

6. The dial plan according to claim 1 , wherein said dial plan consists only of dial prefixes and suffix lengths,

wherein the dial plan parser is (A) to read a plurality of rules of said dial plan configuration file, wherein said rules are defined by dial prefix and by suffix length per each line; and (B) based on said rules, to automatically compute transitions between states in the machine-readable state table.

7. The dial plan parser according to claim 1 , wherein said state machine comprises a set of rules based on dial prefixes,

wherein the dial plan parser and the call routing module are associated with a gateway adapted to gradually replace a previously-loaded dial plan configuration file, by (a) keeping in memory the previously-loaded dial plan configuration file together with a new dial plan configuration file, (b) processing the new configuration file for new dialing attempts while still allowing in-session dialing attempts which were initially performed using the previously-loaded dial plan configuration file, and (c) after a period of time, fully de-commissioning the previously-loaded dial plan configuration file.

8. The dial plan parser according to claim 7 , wherein said rules are implemented in the state machine in a compressed form.

9. The dial plan parser according to claim 1 , wherein said state machine resets to an initial state upon a dialing rule violation.

10. A method of parsing and routing a call, the method comprising:

parsing a dial plan by automatically generating a state machine based upon a dial plan, wherein the parsing comprises: (a) receiving as input a human-readable dial plan configuration file, (b) parsing the human-readable configuration file, and (c) automatically generating as output, from the human-readable configuration file, a state machine comprising a machine-readable state table;

applying call signaling data to said state machine;

adapting a dial plan parser with the state machine to estimate a number of call signaling digits which follow a dial prefix, wherein an output from the state machine comprises an expected dialing length;

based on the expected dialing length, beginning call routing before dialing is completed.

11. The method according to claim 10 , wherein the parsing comprises: automatically transforming a telephone number plan, which comprises known prefixes, into a machine-readable state table;

wherein the method further comprises: determining an expected number of call signaling digits based on an output of the state machine.

12. The method according to claim 10 , wherein said dial plan is embodied within said dial plan configuration file,

wherein the parsing comprises automatically: (A) reading a plurality of rules of said dial plan configuration file; (B) arranging said rules in a tree structure representing a prefix tree; (C) applying prefix tree compression by detecting and uniting identical branches of said prefix tree; (D) forming a directed graph to replace said prefix tree; (E) producing as output a machine-readable state table which corresponds to said directed graph.

13. The method according to claim 10 , wherein said dial plan consists of only dial prefixes and suffix lengths,

wherein the parsing comprises: (A) reading a plurality of rules of said dial plan configuration file, wherein said rules are defined by dial prefix and by suffix length per each line; and (B) based on said rules, automatically computing transitions between states in the machine-readable state table.

14. The method according to claim 10 , comprising:

developing a set of rules for the state machine based on dial prefixes;

wherein the method comprises gradually replacing a previously-loaded dial plan configuration file, by (a) keeping in a memory of a gateway the previously-loaded dial plan configuration file together with a new dial plan configuration file, (b) processing the new configuration file for new dialing attempts while still allowing in-session dialing attempts which were initially performed using the previously-loaded dial plan configuration file, and (c) after a period of time, fully de-commissioning the previously-loaded dial plan configuration file.

15. A gateway comprising:

a dial plan parser comprising a state machine configured upon a dial plan;

wherein the dial plan parser is (a) to receive as input a human-readable dial plan configuration file, (b) to parse the human-readable configuration file, and (c) to automatically generate as output, from the human-readable configuration file, a state machine comprising a machine-readable state table; and

a call routing module adapted to transfer a call to a next point;

wherein the dial plan parser is adapted with the state machine to estimate a number of call signaling digits which follow a dial prefix;

wherein an output from the state machine comprises an expected dialing length;

wherein the call routing module is able, based on the expected dialing length, to begin call routing before dialing is completed.

16. The gateway according to claim 15 ,

wherein the dial plan parser is to automatically transform a telephone number plan, which comprises known prefixes, into a machine-readable state table;

wherein said gateway is adapted to start a routing process before dialing is completed.

17. The gateway according to claim 15 , wherein said gateway is adapted to keep track of only one dialed number at any given time,

wherein the dial plan parser is to apply an algorithm which automatically: (A) reads a plurality of rules of said dial plan configuration file; (B) arranges said rules in a tree structure representing a prefix tree; (C) applies prefix tree compression by detecting and uniting identical branches of said prefix tree; (D) forms a directed graph to replace said prefix tree; (E) produces as output a machine-readable state table which corresponds to said directed graph.

18. The gateway according to claim 15 , wherein said gateway is provisioned with the state machine rules through administration interfaces of the gateway;

wherein the dial plan parser is (A) to read a plurality of rules of said dial plan configuration file, wherein said rules are defined by dial prefix and by suffix length per each line; and (B) based on said rules, to automatically compute transitions between states in the machine-readable state table.

19. The gateway according to claim 15 , wherein said gateway is adapted to manage a plurality of distinct dial plans defined in said dial plan configuration file;

wherein the gateway is adapted to gradually replace a previously-loaded dial plan configuration file, by (a) keeping in memory the previously-loaded dial plan configuration file together with a new dial plan configuration file, (b) processing the new configuration file for new dialing attempts while still allowing in-session dialing attempts which were initially performed using the previously-loaded dial plan configuration file, and (c) after a period of time, fully de-commissioning the previously-loaded dial plan configuration file.

20. The gateway according to claim 15 , wherein said gateway is adapted to reset to an initial state upon occurrence of a dialing violation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2007
From: ELHARRAR, YAIR
To: AUDIOCODES LTD
Reel/Frame 018860/0832 →
Continuity (1)
Related Publication 20080175370A1 · Jul 24, 2008