Behaviour: gen_server.
anumber_table_entry() = {Prefix::string(), Min::integer(), Max::integer(), {TableNumber::integer, Action::atable_action()}}
anumber_table_printout() = [anumber_table_entry()]
bnumber_table_printout() = [bnumber_table_entry()]
nature_of_address() = atom()
number_table_printout() = {{anumber_table, anumber_table_printout()} | {bnumber_table, bnumber_table_printout()}}
process_type() = atom()
trigger_data() = {dynamic, process_type(), term()} | {static, process_type(), pid()} | {tree, integer()}
| add_phone/2 | Adds a phone number to the number analysis. |
| add_to_atable/4 | |
| add_to_btable/7 | Adds a number or range to the number analysis. |
| add_trigger_to_number/3 | |
| delete_from_atable/4 | |
| delete_from_btable/6 | |
| delete_phone/1 | Removes a phone number from the number analysis. |
| delete_trigger/3 | |
| get_all_phones/0 | Returns the numbers and controlling processes for all phones known to the number analysis. |
| get_phone_process/1 | Returns the process that handles the phone with the given number. |
| get_phone_spec/1 | |
| get_process/5 | Returns a process to which messages from the given A-number to the given B-number should be routed. |
| get_user_data/1 | |
| load_phone_specs/1 | |
| pp_number_analysis/1 | |
| pp_phones/1 | |
| print/0 | Returns the current number analysis tables. |
| reload_user_data/0 | |
| save_phone_specs/1 | |
| set_phone_spec/2 | |
| start_link/0 | Starts the server. |
add_phone(Number::string(), Process::pid()) -> ok
Adds a phone number to the number analysis. The number is interpreted as an international number.
add_to_btable(TreeId::integer(), NatureOfAddress::nature_of_address(), Number::string(), FWCounter::integer(), MinLength::integer(), MaxLength::integer(), TriggerData::trigger_data()) -> ok
Adds a number or range to the number analysis.
delete_phone(Number::string) -> ok
Removes a phone number from the number analysis.
get_all_phones() -> [{Number::string(), Process::pid()}]
Returns the numbers and controlling processes for all phones known to the number analysis.
get_phone_process(Number::string()) -> {ok, Pid::pid()} | not_found
Returns the process that handles the phone with the given number.
get_process(BNumber::called_party_number(), ANumber::string(), IncomingProcess::pid(), IncomingType::process_type(), ForwardCounter::integer()) -> pid()
Returns a process to which messages from the given A-number to the given B-number should be routed. The incoming process and its type are provided to the new process. Depending on the data in the number analysis, an existing process is returned (static) or a new process is created (dynamic).
print() -> number_table_printout()
Returns the current number analysis tables.
start_link() -> {ok, Process::pid()}
Starts the server.