RU2099895C1 - Method and device to receive telephone call - Google Patents

Method and device to receive telephone call Download PDF

Info

Publication number
RU2099895C1
RU2099895C1 RU9393054016A RU93054016A RU2099895C1 RU 2099895 C1 RU2099895 C1 RU 2099895C1 RU 9393054016 A RU9393054016 A RU 9393054016A RU 93054016 A RU93054016 A RU 93054016A RU 2099895 C1 RU2099895 C1 RU 2099895C1
Authority
RU
Russia
Prior art keywords
record
call
number list
attributes
numerical value
Prior art date
Application number
RU9393054016A
Other languages
Russian (ru)
Other versions
RU93054016A (en
Inventor
Гленн Карлсон Дэвид
Эдвард Миллер Томас
Original Assignee
Интернэшнл Бизнес Машинз Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Интернэшнл Бизнес Машинз Корпорейшн filed Critical Интернэшнл Бизнес Машинз Корпорейшн
Priority claimed from PCT/EP1992/000293 external-priority patent/WO1992016067A1/en
Application granted granted Critical
Publication of RU2099895C1 publication Critical patent/RU2099895C1/en
Publication of RU93054016A publication Critical patent/RU93054016A/en

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

FIELD: communicate. SUBSTANCE: calling subscriber executes telephone call. Call is directed over telephone network to unit of terminal equipment. Terminal equipment analyses information directly coupled to given telephone call. This information is divided into separate attributes such as numbers of telephones of calling and called subscribers. Then search is conducted in lists of numbers stored in terminal equipment to recording corresponding to attributes of call. If such recording is not found call is rejected. If there is found one or several such recordings call is directed over route specified in recording of list of numbers having most optimal correspondence with attributes of call. Lists of numbers are available for editing by user. EFFECT: enhanced operational reliability of device. 6 cl, 12 dwg

Description

Настоящее изобретение относится к способу и устройству для принятия телефонного вызова, основанных на анализе информации, которой сопровождается указанный телефонный вызов. The present invention relates to a method and apparatus for making a telephone call based on an analysis of the information that accompanies said telephone call.

В последние несколько лет телекоммуникационная промышленность испытала значительный прогресс в области технологии. В далеком прошлом остались те дни, когда телефон высоко ценился только как простое, удобное и относительно конфиденциальное устройство, используемое, в основном, для общения с друзьями, знакомыми и для того, чтобы позвонить, например, в магазин. In the past few years, the telecommunications industry has experienced significant advances in technology. Those days were left in the distant past when the phone was highly regarded only as a simple, convenient and relatively confidential device, used mainly for communicating with friends, acquaintances and in order to call, for example, a store.

Сегодня владелец телефона имеет столько же оснований хвалить его, сколько и проклинать. Очень часто по возвращении домой после рабочего дня его встречает шквал нежелательных телефонных звонков от неизвестных абонентов, каждый из которых старается продать ему свои товары или услуги. Отсеивание поступающих звонков с помощью автоответчика частично решает проблему, но приводит к тому, что это уже досаждает семье, друзьям и другим абонентам, имеющим более благовидные причины для звонка, из-за того, что все звонки после обработки автоответчиком отсеиваются. К тому же, многие "дружественные" абоненты страдают так называемой "боязнью автоответчиков" и вешают трубку после нескольких гудков так, чтобы автоответчик не сработал. Today, the owner of the phone has as many reasons to praise him as to curse him. Very often, upon returning home after a working day, he is greeted by a flurry of unwanted phone calls from unknown subscribers, each of whom is trying to sell him his goods or services. Sifting out incoming calls with an answering machine partially solves the problem, but leads to the fact that it already annoys family, friends and other subscribers who have better reasons for making a call, because all calls after being processed by the answering machine are sifted out. In addition, many "friendly" subscribers suffer from the so-called "fear of answering machines" and hang up after a few beeps so that the answering machine does not work.

Сейчас некоторые региональные телефонные компании в Соединенных Штатах предоставляют своим клиентам услугу, называемую "определитель абонента". Определитель абонента отображает телефонный номер абонента, от которого поступил вызов. Таким образом, когда телефон звонит, владелец может посмотреть на этот номер и решить: стоит ли ему отвечать на звонок. Хотя определитель абонента имеет некоторые преимущества перед автоответчиком, он по-своему ограничен. Зачастую владелец не может вспомнить, является ли данный конкретный номер "желательным" или нет. Отсюда частые ошибки, связанные с ответом на нежелательный звонок, и наоборот. Some regional telephone companies in the United States are now providing their customers with a service called Caller ID. Caller ID displays the telephone number of the subscriber from whom the call was received. Thus, when the phone rings, the owner can look at this number and decide whether he should answer the call. Although the caller ID has some advantages over an answering machine, it is limited in its own way. Often, the owner cannot remember whether this particular number is “desirable” or not. Hence the frequent errors associated with answering an unwanted call, and vice versa.

Технологический прогресс телефонных средств повлек за собой также новые проблемы для владельца телефона. Когда владелец хочет навести справки о товарах или услугах и звонит в ту или иную коммерческую организацию, дружелюбный продавец уже больше не отвечает на звонок. Вместо этого вызов получает комплексная службы телемаркетинга в той или иной географической точке. Затем очень часто владельцу приходится ждать и испытывать некоторое разочарование, так как его вызов многократно перенаправляется внутри справочной службы в поисках специалиста, обладающего необходимыми знаниями для ответа на конкретный запрос. От владельца может также потребоваться ответить на длинную череду наводящих вопросов, которые задает записанный на пленку синтезированный голос, для чего ему (владельцу) приходится набирать последовательности цифр или других символов на клавиатуре своего телефона. Такие грубые методы маршрутизации телефонного вызова не удовлетворяют также и службы телемаркетинга ввиду того, что их операторы используются неэффективно. Но гораздо важнее то, что их клиенты чувствуют неудовлетворенность и дискомфорт и могут вообще решить иметь дело с кем-нибудь еще. The technological advancement of telephone facilities has also entailed new problems for the owner of the telephone. When the owner wants to make inquiries about goods or services and calls one or another commercial organization, the friendly seller no longer answers the call. Instead, the call receives an integrated telemarketing service in a particular geographical location. Then, very often, the owner has to wait and experience some disappointment, as his call is repeatedly redirected inside the help desk in search of a specialist who has the necessary knowledge to answer a specific request. The owner may also be required to answer a long series of leading questions posed by the synthesized voice recorded on tape, for which he (the owner) has to type in a sequence of numbers or other characters on the keyboard of his phone. Such crude methods of routing a telephone call also do not satisfy telemarketing services because their operators are used inefficiently. But more importantly, their customers feel dissatisfied and uncomfortable and may even decide to deal with someone else.

Примеры прототипов такой технологии раскрыты в следующих документах: ЕР-А-0.347.155 и US-А-4.277.649. Examples of prototypes of such a technology are disclosed in the following documents: EP-A-0.347.155 and US-A-4.277.649.

Основной целью настоящего изобретения является обеспечение расширенного механизма обработки поступающих телефонных вызовов. The main objective of the present invention is the provision of an extended mechanism for processing incoming telephone calls.

Второй целью настоящего изобретения является обеспечение механизма эффективного автоматического отсеивания нежелательных телефонных вызовов. A second object of the present invention is to provide a mechanism for efficiently filtering out unwanted telephone calls.

Еще одной целью изобретения является обеспечение эффективного автоматического и оптимального направления поступающего вызова к месту назначения. Another objective of the invention is the provision of effective automatic and optimal direction of an incoming call to its destination.

Эти и другие цели достигаются с помощью способа и устройства для гибкого и оптимального приема и маршрутизации телефонного вызова, описанных в настоящей заявке. These and other goals are achieved using the method and device for flexible and optimal reception and routing of a telephone call described in this application.

Телефонный вызов осуществляется вызывающим абонентом. Затем телефонный вызов направляется по телефонной сети к блоку терминального оборудования. Затем терминальное оборудование анализирует информацию, сопровождающую телефонный вызов. Эта информация разделяется на самостоятельные атрибуты вызова, такие как номер вызывающего абонента и номер вызываемого абонента. После этого проводится поиск в номерном списке (одном или нескольких) и проверяется, содержит ли он запись, соответствующую атрибутам вызова. Если такого соответствия не найдено, вызов отвергается. Если обнаружено одно или несколько соответствий, вызов направляется согласно информации, содержащейся в той записи номерного списка, которая имеет наиболее оптимальное соответствие. При этом пользователь имеет возможность легко модифицировать номерные списки. A phone call is made by the caller. Then the telephone call is routed over the telephone network to the terminal equipment unit. Then, the terminal equipment analyzes the information accompanying the telephone call. This information is divided into independent call attributes, such as the number of the calling subscriber and the number of the called subscriber. After that, a search is performed in the number list (one or more) and it is checked whether it contains an entry corresponding to the attributes of the call. If no match is found, the call is rejected. If one or more matches are found, the call is routed according to the information contained in that number list entry that has the most optimal match. Moreover, the user has the ability to easily modify the number lists.

На фиг. 1 показана общая схема коммуникационной среды данного изобретения. In FIG. 1 shows a general diagram of the communication environment of the present invention.

На фиг. 2 показана схема терминального оборудования данного изобретения. In FIG. 2 shows a diagram of the terminal equipment of the present invention.

На фиг. 3 показано более подробно содержимое памяти терминального оборудования данного изобретения. In FIG. 3 shows in more detail the contents of the memory of the terminal equipment of the present invention.

На фиг. 4 показан пример номерного списка, используемого в основной реализации данного изобретения. In FIG. 4 shows an example of a number list used in the main implementation of the present invention.

На фиг. 5 показаны примеры деревьев поиска для номерных списков, представленных на фиг. 4. In FIG. 5 shows examples of search trees for the number lists shown in FIG. 4.

На фиг. 6 показан пример номерного списка, используемого в альтернативной реализации данного изобретения. In FIG. 6 shows an example of a number list used in an alternative implementation of the present invention.

На фиг. 7, 8, 9 показана блок-схема соответствующим образом запрограммированного терминального оборудования данного изобретения. In FIG. 7, 8, 9 show a block diagram of a suitably programmed terminal equipment of the present invention.

На фиг. 10 12 показаны компьютерные экранные формы, используемые для модификации информации, содержащейся в номерных списках. In FIG. 10 to 12 show computer screen forms used to modify the information contained in number lists.

На фиг. 1 показана общая схема коммуникационной среды данного изобретения. Телефон 10 может произвести вызов, который, пройдя через терминальное оборудование 12, телекоммуникационную сеть 15 и терминальное оборудование 20, будет получен телефоном 18. В основной реализации сеть 15 представляет собой Интегрированную Сервисную Цифровую Сеть (Integrated Services Digital Network), больше известную как ISDN. Тем не менее, могут быть использованы и другие телекоммуникационные сети, от современных сетей типа DTMF до тех, которые появятся в будущем. Вообще может быть использована любая телекоммуникационная сеть, способная передать информацию о телефонном вызове, непосредственно вместе с этим вызовом. In FIG. 1 shows a general diagram of the communication environment of the present invention. Telephone 10 can make a call that, after passing through terminal equipment 12, telecommunications network 15, and terminal equipment 20, will be received by telephone 18. In the main implementation, network 15 is an Integrated Services Digital Network, better known as ISDN. However, other telecommunication networks can be used, from modern networks such as DTMF to those that will appear in the future. In general, any telecommunications network capable of transmitting information about a telephone call directly with this call can be used.

Сеть 15 может поддерживать связь между тысячами терминалов, таких как терминальное оборудование 12 и терминальное оборудование 20, показанные на фиг. 1. Терминальное оборудование, соединенное о сетью 15, поддерживает протокол сети 15 и позволяет осуществлять связь между терминалами и любыми из подключенных телефонов. Хотя на фиг. 1 показано по одному телефону, подключенному к каждому терминалу, в действительности число подключаемых телефонов к каждому такому терминалу находится в диапазоне от нуля до нескольких сотен. Network 15 can communicate between thousands of terminals, such as terminal equipment 12 and terminal equipment 20 shown in FIG. 1. The terminal equipment connected to the network 15 supports the protocol of the network 15 and allows communication between the terminals and any of the connected telephones. Although in FIG. 1 shows one telephone connected to each terminal; in fact, the number of connected phones to each such terminal is in the range from zero to several hundred.

Терминальное оборудование 12 может находиться физически в одном и то же месте с поддерживаемыми им телефонами или располагаться удаленно в местной, региональной или национальной телефонной станции. Тогда как в основной реализации телефон 10 и терминальное оборудование 12, а также телефон 18 и терминальное оборудование 20 являются отдельными компонентами, в альтернативной реализации телефон и терминальное оборудование могут быть объединены в одном блоке. Такое объединение особенно удобно для использования в небольшом офисе или квартире, где нет необходимости в мощном терминале с сотнями подключенных к нему телефонов. Terminal equipment 12 may be physically located in the same place with the phones it supports, or located remotely at a local, regional, or national telephone exchange. While in the main implementation the telephone 10 and the terminal equipment 12, as well as the telephone 18 and the terminal equipment 20 are separate components, in an alternative implementation, the telephone and terminal equipment can be combined in one unit. This combination is especially convenient for use in a small office or apartment where there is no need for a powerful terminal with hundreds of phones connected to it.

На фиг. 2 показана более подробно схема терминального оборудования 20. Терминальное оборудование 20 содержит сетевой интерфейс 21, процессор 23, память 30 и телефонный интерфейс 25. Сетевой интерфейс 21 позволяет терминальному оборудованию 20 осуществлять связь с сетью 15. Сетевой интерфейс получает телефонные вызовы, посылаемые другими телефонами в сети, а также передает телефонные вызовы, посылаемые телефонами, под- ключенными к терминальному оборудованию 20 через линию 17. Линия 17 не требуется, если подключенных телефонов нет вообще, как, например, для обмена между терминалами или в случае, когда терминальное оборудование отвечает на вызовы посредством синтезированной речи или отправляет вызовы обратно через сеть 15. In FIG. 2 shows a more detailed diagram of the terminal equipment 20. The terminal equipment 20 includes a network interface 21, a processor 23, a memory 30, and a telephone interface 25. A network interface 21 allows the terminal equipment 20 to communicate with the network 15. The network interface receives telephone calls sent by other phones to network, and also transmits telephone calls sent by telephones connected to terminal equipment 20 via line 17. Line 17 is not required if there are no connected telephones at all, as, for example, for exchange between terminals or in the case where the terminal equipment answers calls through synthesized speech or sends calls back through network 15.

Соответствующим образом запрограммированный процессор 23, как показано на фиг. 7 9, производит принятие/отвержение и оптимизированную маршрутизацию поступающих телефонных вызовов, полученных терминальным оборудованием 20. Более подробно это будет рассмотрено позже. Процессор 23 может быть очень простым микропроцессором типа Intel 8088, или может быть частью более сложной процессорной среды микрокомпьютеров, компьютеров среднего класса или даже базовых компьютеров (manframe). A suitably programmed processor 23, as shown in FIG. 7 9, accepts / rejects and optimizes routing of incoming telephone calls received by terminal equipment 20. This will be discussed in more detail later. The processor 23 may be a very simple microprocessor such as the Intel 8088, or it may be part of a more complex processor environment for microcomputers, mid-range computers, or even basic computers (manframes).

Телефонный интерфейс 25 соединен с процессором 23 и позволяет терминальному оборудованию 20 осуществлять связь с одним или более телефонами, такими как телефон 18 (фиг. 1), подключенными к телефонному интерфейсу 25 через линию 17. Сложность телефонного интерфейса 25 в значительной степени зависит от количества телефонов, поддерживаемых терминальным оборудованием 20. Если поддерживается один или по крайней мере несколько телефонов, телефонному интерфейсу 25 достаточно обладать очень простой переключающей логикой, заложенной в обычных мультиплексорах или других логических микросхемах, хорошо известных специалистам в данной области. Телефонный интерфейс 25 не требуется, если к терминальному оборудованию 20 вообще не подключено ни одного телефона. В противном случае, когда одновременно поддерживаются десятки, сотни и, тем более, тысячи телефонов, телефонный интерфейс 25 становится намного более сложным. В таких случаях желательно использовать оборудование частной телефонной станции (Private Branch Exchange PBX) или подобного устройства, или же компьютерной программы, способной осуществлять связь с таким устройством. The telephone interface 25 is connected to the processor 23 and allows the terminal equipment 20 to communicate with one or more telephones, such as the telephone 18 (Fig. 1), connected to the telephone interface 25 via line 17. The complexity of the telephone interface 25 is largely dependent on the number of telephones supported by terminal equipment 20. If one or at least several telephones are supported, telephone interface 25 is sufficient to have a very simple switching logic embedded in conventional multiplexes sora or other logic circuits well known to those skilled in the art. Telephone interface 25 is not required if no telephone is connected to terminal equipment 20 at all. Otherwise, when tens, hundreds and, moreover, thousands of phones are simultaneously supported, the telephone interface 25 becomes much more complex. In such cases, it is desirable to use the equipment of a private telephone exchange (Private Branch Exchange PBX) or a similar device, or a computer program capable of communicating with such a device.

В основной реализации процессор 23 и память 30 являются компонентами компьютера среднего класса AS/400 (Application Systtem/400) компьютерной системой, выпускаемой фирмой IBM (International Buisiness Machines Corporation). Сетевой интерфейс 21 представляет собой адаптер интерфейса основного режима (Basic Rate Interface) ISDN, установленный внутри AS/400. Линия 16 представляет собой кабель типа RJ45. Телефонный интерфейс 25 представляет собой известный программный продукт, обеспечивающий средства телефонии, Call Path/400, также производимый фирмой IBM. In the main implementation, the processor 23 and memory 30 are components of a middle-class computer AS / 400 (Application Systtem / 400) computer system manufactured by IBM (International Buisiness Machines Corporation). Network Interface 21 is an ISDN Basic Rate Interface adapter installed inside the AS / 400. Line 16 is an RJ45 type cable. Telephone Interface 25 is a well-known telephony software product, Call Path / 400, also manufactured by IBM.

Вернемся опять к фиг.2: память 30 соединена с процессором 23. Память 30 содержит данные, используемые процессором 23, чтобы решить: принять или отвергнуть поступивший вызов и, если он принят, направить его на соответствующий телефон. Более подробно содержимое памяти 30 показано на фиг. З. Память 30 содержит один или несколько номерных списков 31, а также одно или более деревьев поиска 32. Все деревья поиска в памяти 30 имеют одно количество рядов (таких как ряд 33) и одно количество колонок (таких как колонка 34). В номерном списке ряд представляет собой запись, содержащую одно или несколько полей данных. Данные номерного списка используются для определения оптимального маршрута поступившего вызова или его отвержения. Количество рядов, колонок и номерных списков переменно и может быть изменено в зависимости от желаемой функциональной конфигурации. Returning again to FIG. 2: the memory 30 is connected to the processor 23. The memory 30 contains the data used by the processor 23 to decide whether to accept or reject the call and, if received, send it to the appropriate phone. The contents of memory 30 are shown in more detail in FIG. H. Memory 30 contains one or more number lists 31, as well as one or more search trees 32. All search trees in memory 30 have one number of rows (such as row 33) and one number of columns (such as column 34). In a number list, a row is an entry containing one or more data fields. The data from the number list is used to determine the optimal route for an incoming call or its rejection. The number of rows, columns and number lists is variable and can be changed depending on the desired functional configuration.

В основной реализации деревья поиска 32 используются для ускорения поиска данных в номерном списке, но они не требуются в альтернативной реализации. В случае их использования для каждой колонки (такой как колонка 32) существует одно дерево поиска. Так как номерные списки 31 содержат по четыре колонки, для них показаны четыре дерева поиска 32. In the main implementation, search trees 32 are used to speed up the search for data in the number list, but they are not required in the alternative implementation. If used, there is one search tree for each column (such as column 32). Since the number lists 31 contain four columns, four search trees 32 are shown for them.

Каждое дерево поиска содержит записи (такие как запись 35). Причем записей в одном дереве поиска столько же, сколько записей содержится во всех номерных списках, вместе взятых. Так как общее количество записей в номерных списках составляет пятнадцать, каждое дерево поиска состоит из пятнадцати записей. Each search tree contains records (such as record 35). Moreover, there are as many entries in one search tree as there are entries in all number lists combined. Since the total number of entries in the number lists is fifteen, each search tree consists of fifteen entries.

Первое дерево поиска содержит данные, взятые из первой колонки каждого номерного списка. Запись дерева поиска состоит из трех полей данных. Поле 37 записи 35 дерева поиска содержит данные из поля на пересечении первого ряда и первой колонки второго номерного списка (здесь "5551212"). Поле 38 содержит признак того номерного списка, из которого были взяты данные (здесь 02 является признаком номерного списка 02). Поле 39 содержит признак ряда номерного списка, из которого были взяты данные (здесь 01 является признаком первого ряда номерного списка). The first search tree contains data taken from the first column of each number list. A search tree entry consists of three data fields. Field 37 of record 35 of the search tree contains data from the field at the intersection of the first row and the first column of the second number list (here "5551212"). Field 38 contains a sign of the number list from which the data was taken (here 02 is a sign of the number list 02). Field 39 contains a sign of a number number list from which data was taken (here 01 is a sign of the first number list row).

Для повышения производительности поиска в основной реализации изобретения записи дерева поиска отсортированы по данным номерного списка, по номеру номерного списка и по номеру ряда номерного списка. Например, три записи, предшествующие записи 35, будут содержать данные из первых полей записей номерных списков с числами, меньшими "5551212". Оставшиеся записи, следующие за записью 35 в первом дереве поиска, будут содержать данные из первых полей записей номерных списков с числами, большими "5551212", а за ними будут идти записи, содержащие шаблоны (такие как "608#") и обобщающие поля (такие как "*ANY"). To increase the search performance in the main implementation of the invention, the search tree entries are sorted according to the number list data, by the number list number and by the number number of the number list. For example, the three records preceding records 35 will contain data from the first fields of number list entries with numbers less than "5551212". The remaining entries, following entry 35 in the first search tree, will contain data from the first fields of numbered list entries with numbers greater than "5551212", followed by entries containing templates (such as "608 #") and generalizing fields ( such as "* ANY").

Второе дереве поиска содержит данные из вторых колонок номерных списков, где данные также отсортированы для ускорения поиска. Запись 36 содержит данные из поля на пересечении первого ряда и второй колонки второго номерного списка (здесь "23"). Остальная часть второго дерева поиска, точно также как третьего и четвертого, построена согласно той же самой организационной модели. Специалисту в данной области должно быть совершенно ясно, что схема, показанная здесь, только одна из нескольких различных, но одинаково пригодных организационных моделей, которые могут быть использованы для ускорения процедуры поиска в номерных списках. The second search tree contains data from the second columns of the number lists, where the data is also sorted to speed up the search. Record 36 contains data from the field at the intersection of the first row and second column of the second number list (here “23”). The rest of the second search tree, just like the third and fourth, is built according to the same organizational model. It should be very clear to a person skilled in the art that the diagram shown here is only one of several different but equally suitable organizational models that can be used to speed up the search process in number lists.

На фиг. 4 показан пример номерных списков которые могут быть использованы в службе телемаркетинга, когда терминальное оборудование получает тысячи телефонных вызовов каждый день. Показано три номерных списка, в каждом из которых четыре колонки данных. Первая колонка содержит телефонный номер вызывающего абонента, вторая подадрес вызывающего абонента. Подадрес вводится самим абонентом (вызывающим) или его терминальным оборудованием и предоставляет дополнительную информацию о вызывающем абоненте. Например, подадрес вызывающего абонента "13" может быть признаком того, что абонентом является женщина в возрасте 30 50 лет с годовым доходом, превышающим 50 000 долларов. In FIG. Figure 4 shows an example of number lists that can be used in a telemarketing service when terminal equipment receives thousands of phone calls every day. Three numbered lists are shown, each with four data columns. The first column contains the telephone number of the caller, the second subaddress of the caller. The subaddress is entered by the subscriber (the caller) or its terminal equipment and provides additional information about the caller. For example, caller subaddress “13” may be a sign that the subscriber is a woman aged 30-50 years old with annual income in excess of $ 50,000.

Третья колонка содержит телефонный номер вызываемого абонента, а четвертая его подадрес, содержащий дополнительную информацию о цели вызова. Например, подадрес вызываемого абонента "09" может быть кодом из журнального объявления и вводится вызывающим абонентом, чтобы указать, что его интересует информация о международном взаимном акционерном фонде. The third column contains the telephone number of the called party, and the fourth subaddress containing additional information about the purpose of the call. For example, the called subscriber sub-address “09” may be a code from a magazine announcement and entered by the calling subscriber to indicate that he is interested in information about the international mutual fund.

В примере на фиг. 4 терминальное оборудование в службе телемаркетинга получает телефонный вызов, сопровождаемый некоторой информацией, с ним связанной. Терминальное оборудование разделяет эту информацию на атрибуты вызова. В данном случае это номер вызывающего абонента и его подадрес, номер вызываемого абонента и его подадрес. Если также имеются атрибуты среды, содержащие информацию о получателе вызова, то они определяются и добавляются к атрибутам вызова. In the example of FIG. 4 terminal equipment in the telemarketing service receives a phone call, accompanied by some information related to it. The terminal equipment divides this information into call attributes. In this case, it is the number of the calling subscriber and his subaddress, the number of the called subscriber and his subaddress. If there are also environment attributes containing information about the recipient of the call, then they are defined and added to the attributes of the call.

Затем эти атрибуты сравниваются с каждой записью номерного списка с целью поиска соответствий. Различают точное соответствие, соответствие по шаблонам и по обобщающим полям. Точное соответствие имеет место тогда, когда все атрибуты в точности совпадают с данными записи номерного списка. Необходимо учитывать, что в основной реализации поле со значением "NONE" (подходящих значений не существует) считается в точности соответствующим атрибуту, не содержащему никаких данных. Шаблонное соответствие имеет место тогда, когда один или более атрибутов не совпадает в точности с данными номерного списка, однако в усеченном виде такое совпадение имеет место. Например, номер телефона 6081111211 не совпадает с данными номерного списка 608# а в усеченном виде совпадает. Знак "#" одно из множества обозначений операции усечения справа. В альтернативной реализации могут использоваться также и другие шаблоны) например, данные номерного списка в виде $ 555# будут совпадать с усеченным видом атрибута вызова 6085551111, так как он содержит строку "555". Символ $ - одно из множества обозначений операции усечения слева. Then these attributes are compared with each number list entry in order to find matches. Distinguish between exact matching, matching according to templates and generalizing fields. Exact match occurs when all attributes exactly match the data in the number list entry. It should be noted that in the main implementation, a field with the value "NONE" (no suitable values exist) is considered to correspond exactly to the attribute that does not contain any data. Template matching occurs when one or more attributes does not exactly match the data in the number list, however, such a match occurs in truncated form. For example, the phone number 6081111211 does not match the data from the 608 # number list, but in a truncated form matches. The "#" sign is one of the many notation for the truncation operation on the right. In the alternative implementation, other templates may also be used), for example, the number list data in the form of $ 555 # will coincide with the truncated type of the call attribute 6085551111, since it contains the string "555". The $ symbol is one of the many notation for the truncation operation on the left.

Соответствие по обобщающим полям имеет место тогда, когда один или более атрибутов не совпадают в точности с данными номерного списка, но при этом данные записи указывают, что приемлемо любое значение атрибута. Например, номер телефона 6081111211 не совпадает с данными записи *ANY, но *ANY указывает, что приемлем любой номер телефона, включая 6081111211. Matching by generalizing fields occurs when one or more attributes do not exactly match the number list data, but the record data indicates that any attribute value is acceptable. For example, the phone number 6081111211 does not match the * ANY record, but * ANY indicates that any phone number, including 6081111211, is acceptable.

Заметим, однако, что запись, удовлетворяющая соответствию с атрибутами вызова и атрибутами среды получателя по шаблонным или обобщающим полям, может на самом деле содержать поля, полностью идентичные определенным атрибутам. Например, когда атрибуты вызова "5075553311, 12, 6082224444, 00", будем говорить о совпадении по обобщающим полям с записью номерного списка "5075553311, *ANY, *ANY, *ANY", несмотря на то, что первый атрибут "5075553311" идентичен первому полю записи номерного списка. Note, however, that a record that matches the call attributes and recipient environment attributes by template or generic fields may actually contain fields that are completely identical to certain attributes. For example, when the call attributes are "5075553311, 12, 6082224444, 00", we will talk about the coincidence in generalizing fields with the number list entry "5075553311, * ANY, * ANY, * ANY", despite the fact that the first attribute "5075553311" is identical the first field of the number list entry.

В основной реализации запись номерного списка не может соответствовать атрибутам вызова и атрибутам среды ни в точности, ни по шаблонным, ни по обобщающим полям, в том случае, если какое-либо поле не совпадает по значению с соответствующим атрибутом. Однако в альтернативной реализации это разрешено, если совпадает значение по крайней мере одного атрибута. In the main implementation, the number list entry cannot match the call attributes and environment attributes neither exactly, nor by template, or by generalizing fields, if any field does not coincide in value with the corresponding attribute. However, in an alternative implementation, this is permitted if the value of at least one attribute matches.

Запись номерного списка, которая в точности соответствует атрибутам поступившего вызова, используется для управления вызовом ("захватывает" вызов) и указывает, куда именно он должен быть направлен. Если точного соответствия не найдено, вызов захватывает та запись, которая имеет наиболее оптимальное соответствие по шаблонным или обобщающим полям. Более подробно метод определения такого наиболее оптимального соответствия будет рассмотрен ниже. Он основан на учете количества поля, идентичного атрибутам вызова. Также учитываются и определяемые пользователем весовые факторы значимости данных номерного списка. The record of the number list, which exactly matches the attributes of the incoming call, is used to control the call (“captures” the call) and indicates where it should be directed. If no exact match is found, the call captures the record that has the most optimal match by template or generic fields. In more detail, the method for determining this most optimal match will be discussed below. It is based on accounting for the amount of field identical to the call attributes. The user-defined weighting factors of the significance of the number list data are also taken into account.

Если не найдено ни точного соответствия, ни соответствия по шаблонным или обобщающим полям (как показано выше), вызов отвергается. If neither an exact match is found, nor a match on the template or generic fields (as shown above), the call is rejected.

Для направления телефонного вызова по назначению запись номерного списка, "захватившая" вызов, использует маршрутную информацию, которая может быть одной и той же для всего номерного списка либо разной для каждой его записи. Маршрутные данные могут храниться вместе с номерным списком или с записями номерного списка, а также могут храниться как часть прикладной программы или в других сегментах памяти 30 (фиг. 2). To direct the phone call to the destination, the number list entry that "captures" the call uses routing information, which can be the same for the entire number list or different for each record. The routing data can be stored together with the number list or with the entries of the number list, and can also be stored as part of the application program or in other memory segments 30 (Fig. 2).

Вернемся снова к фиг. 4. Предположим, что номерной список 01 будет управлять маршрутизацией поступающих вызовов, для которых не может быть получено заранее никакой детальной информации. Каждый раз, когда поступивший вызов "захватывается" записью из списка 01, он будет направляться на определенный телефон, согласно списку 01. Номерной список 02 будет управлять маршрутизацией вызовов от "особых клиентов", которые уже звонили ранее или для которых уже были получены необходимые телефонные номера и, возможно, другая информация. Эти клиенты сразу направляются точно к оператору, обслуживающему телефон с номером, определенным согласно списку 02. В такой вызов может быть также включена дополнительная информация, позволяющая оператору начать разговор с личного приветствия, как то: "Здравствуйте, Миссис Эплгейт! Вы уже что- нибудь решили относительно того свитера, о котором вы справлялись до этого?"
Номерной список 03 будет управлять маршрутизацией вызовов от клиентов, которые еще не звонили, но указали, тем не менее, что их интересует какая-то конкретная справка. Например, любой поступивший вызов с подадресом "21" будет указывать на то, что клиент желает получить информацию о лекарственных средствах для лечения мужского облысения, поэтому вызов может быть автоматически направлен к оператору службы телемаркетинга, обладающему знаниями по этому предмету.
Returning again to FIG. 4. Assume that the number list 01 will control the routing of incoming calls, for which no detailed information can be obtained in advance. Each time a call is “picked up” by an entry from list 01, it will be routed to a specific phone according to list 01. Number list 02 will control the routing of calls from “special customers” who have already called or for whom the necessary telephone numbers have already been received rooms and possibly other information. These customers are immediately directed exactly to the operator who is servicing the telephone number defined in list 02. Additional information may also be included in such a call, allowing the operator to start the conversation with a personal greeting, such as: "Hello, Mrs. Applegate! Have you already something have you decided on the sweater that you dealt with before? "
Number list 03 will control the routing of calls from clients who have not yet called, but who have indicated, nevertheless, that they are interested in some specific help. For example, any incoming call with the sub-address "21" will indicate that the client wants to receive information about medicines for the treatment of male pattern baldness, so the call can be automatically sent to the telemarketing service operator who has knowledge on this subject.

На фиг. 5 показаны деревья поиска для номерных списков из фиг. 4. Как говорилось, каждое дерево поиска содержит отсортированные данные из соответствующей колонки каждого номерного списка. In FIG. 5 shows search trees for the number lists of FIG. 4. As mentioned, each search tree contains sorted data from the corresponding column of each number list.

На фиг. 6 показан пример номерного списка, который мог бы быть использован в системе небольшого офиса или квартиры, где терминальное оборудование ежедневно получает не очень много звонков. Показан один номерной список, содержащий семь колонок данных. Первые четыре колонки рассматривались выше, пятая указывает день недели, в течение которого был получен вызов. Эта информация может быть получена в виде атрибута вызова или определена процессором 23 (фиг. 2) путем запроса системной даты, хранящейся в памяти 30. Шестая колонна содержит информацию о статусе владельца телефона. Эта информация используется при сопоставлении с "атрибутом среды", который не является частью поступающего вызова, а указывается получателем вызова. Если имеется один или более атрибутов среды, они добавляются к атрибутам вызова и обрабатываются единым образом. Далее это будет объясняться более подробно. В данном примере информация о статусе владельца указывает, отсутствует ли он, работает или в настоящее время он не занят. Последняя колонка содержит информацию о маршруте. В противоположность примеру из фиг. 3A эти маршрутные данные хранятся непосредственно в каждой записи номерного списка. In FIG. Figure 6 shows an example of a number list that could be used in a small office or apartment system, where the terminal equipment does not receive a lot of calls daily. One numbered list containing seven data columns is shown. The first four columns were discussed above, the fifth indicates the day of the week during which the call was received. This information can be obtained as a call attribute or determined by the processor 23 (Fig. 2) by querying the system date stored in memory 30. The sixth column contains information about the status of the owner of the phone. This information is used when matching with an "environment attribute", which is not part of the incoming call, but is indicated by the recipient of the call. If there is one or more attributes of the environment, they are added to the attributes of the call and processed in a single way. This will be explained in more detail below. In this example, owner status information indicates whether he is absent, working, or currently not busy. The last column contains route information. In contrast to the example of FIG. 3A, this routing data is stored directly in each number list entry.

В примере на фиг. 6 терминальное оборудование размещается в главном телефоне, расположенном в доме семьи Джонсонов. У них в доме имеется три телефонные линии: 5071111111 номер главного телефона дома, 5072222222 - номер телефона небольшой бухгалтерской конторы миссис Джонсон, которая располагается в цокольном этаже и 5073333333 номер телефона дочери Джонсонов, весьма разговорчивой девушки Тиффани. In the example of FIG. 6 terminal equipment is located on the main telephone located in the Johnson family home. They have three telephone lines in the house: 5071111111 the main phone number of the house, 5072222222 - the telephone number of Mrs. Johnson's small accounting office, which is located in the basement and 5073333333, the telephone number of Johnson's daughter, a very talkative girl Tiffany.

Маршрутные коды "01" и "02" одинаково направляют поступивший вызов на телефон в кухне, при этом в случае кода "02" раздается двойной звонок. Точно так же коды "03" и "04" направляют вызов на телефон в цокольном этаже, причем код "04" вызывает двойной звонок, а коды "05" и "06" направляют вызов на телефон в спальне Тиффани, код "06" сопровождается двойным звонком. Маршрутный код "00" явно указывает на то, что вызов не следует принимать, а код "10" на то, что поступивший вызов должен быть направлен на автоответчик. The trip codes "01" and "02" equally direct the incoming call to the telephone in the kitchen, and in the case of the code "02" a double bell rings. Similarly, codes “03” and “04” direct a call to a telephone in the basement, with code “04” making a double call, and codes “05” and “06” directing a call to a telephone in Tiffany’s bedroom, the code “06” is followed by double call. The routing code "00" clearly indicates that the call should not be received, and the code "10" indicates that the call should be directed to the answering machine.

Если поступивший вызов "захватывает" первая запись номерного списка, он будет направлен на телефон в кухне, и звонок будет одиночным. Если четвертая запись "захватывает" вызов, это значит, что звонит некоторый определенный клиент фирмы миссис Джонсон. Такой вызов направляется на телефон в ее офисе и сопровождается двойным звонком. Если же вызов "захватывает" восьмая запись, это звонит Джеймс Джилтид, старый приятель Тиффани. Она специально ввела эту запись в номерной список для того, чтобы звонки с телефона Джеймса не принимались. If the call “captures” the first entry in the number list, it will be directed to the telephone in the kitchen, and the call will be single. If the fourth record “captures” the call, it means that a certain specific client of Mrs. Johnson’s company is calling. Such a call is routed to a telephone in her office and is accompanied by a double call. If the challenge captures the eighth record, it calls James Giltid, an old friend of Tiffany. She specifically entered this entry into the number list so that calls from James's phone would not be accepted.

В основной реализации деревья поиска, подобно изображенным на фиг. 9, связаны с номерным списком из фиг. 6. Как рассматривалось выше, каждое дерево поиска содержит отсортированные данные номерного списка из его соответствующей колонки. В том случае, когда используется один номерной список или небольшое их количество, применение деревьев поиска может не дать ожидаемого повышения производительности поисковой процедуры. In the main implementation, search trees, similar to those shown in FIG. 9 are associated with the number list of FIG. 6. As discussed above, each search tree contains sorted number list data from its corresponding column. In the case when a single number list or a small number of them is used, the use of search trees may not give the expected increase in the performance of the search procedure.

На фиг.7 9 показана блок-схема программы терминального оборудования 20, функционирующего в рамках данного изобретения, где: 101 Инициализировать переменную Count для всех записей номерного списка значением -1. 7 to 9 show a block diagram of a program of terminal equipment 20 operating in the framework of the present invention, where: 101 Initialize the variable Count for all entries in the number list to -1.

102 Разбить информации вызова на атрибуты от (1) до (N). 102 Break the call information into attributes from (1) to (N).

103 Проверить дерево поиска на нахождение первой/следующей записи, совпадающей с атрибутом (1). 103 Check the search tree for the first / next record matching the attribute (1).

104 Совпадение найдено?
110 Получить атрибуты среды.
104 Match found?
110 Get environment attributes.

130 Все возможные шаблоны для атрибута (1) проверены?
132 Усечь атрибут (1).
130 All possible patterns for attribute (1) have been verified?
132 Truncate attribute (1).

160 Атрибут (1) *ANY
162 Установить атрибут (1) *ANY.
160 Attribute (1) * ANY
162 Set attribute (1) * ANY.

170 Найти запись номерного списка с наибольшим значением переменной Count. 170 Find the number list entry with the highest value for the Count variable.

171 Действительная запись номерного списка найдена?
172 Направить вызов согласно номерному списку или его записи.
171 Valid number list entry found?
172 Make a call according to the number list or its entry.

175 Отвергнуть вызов. 175 Reject the call.

190 Конец. 190 The End.

105 Сохранить номер номерного списка и номер ряда. 105 Save the number list number and row number.

106 Атрибут (1) *ANY или произошло совпадение по шаблонному полю?
107 Установить переменную Count равной весовому фактору атрибута (1).
106 Attribute (1) * ANY or did a pattern field match?
107 Set the variable Count to the weighting factor of the attribute (1).

120 Проверить дерево поиска (j) на совпадение атрибута (j) с содержимым записи, соответствующей сохраненным номеру номерного списка и номеру ряда. 120 Check the search tree (j) for the match of attribute (j) with the contents of the record corresponding to the stored number list number and row number.

121 Совпадение?
122 Атрибут (1) *ANY или произошло совпадение по шаблонному полю?
123 Увеличить переменную Count на величину весового фактора атрибута (j).
121 Coincidence?
122 Attribute (1) * ANY or did a pattern field match?
123 Increase the variable Count by the value of the weight factor of the attribute (j).

124 Остались еще атрибуты для проверки?
140 Все возможные шаблоны для атрибута(j) проверены?
142 Усечь атрибут (j).
124 Still attributes to check?
140 Are all possible patterns for attribute (j) checked?
142 Truncate attribute (j).

150 Атрибут (j) *ANY
152 Установить атрибут (j) *ANY.
150 Attribute (j) * ANY
152 Set attribute (j) * ANY.

155 Сбросить переменную Count в -1. 155 Reset the variable Count to -1.

157 Восстановить атрибуты в их первоначальном значении. Блок 101 присваивает переменной "Count" (счет) начальное значение 1 для каждой записи из номерных списков. Блок 102 разделяет или разбивает информацию, сопровождающую поступивший вызов на один или более атрибутов вызова. Рассмотрим работу блок-схемы, используя наш пример службы телемаркетинга на фиг. 4. Блок 102 разбивает информацию вызова на четыре атрибута: атрибут (1), атрибут (2), атрибут (3) и атрибут (4). Атрибут (1) соответствует номеру вызывающего абонента, атрибут (2) его подадресу и т.д. Блок 102 также делает дублирующую копию этих атрибутов так, что блок-схема на фиг.7 9 всегда работает с неискаженной информацией. Эта дублирующая копия используется для того, чтобы восстанавливать атрибут в его первоначальном значении, если он был усечен или обобщен в результате какой-либо операции обработки. 157 Restore attributes to their original values. Block 101 assigns the variable "Count" an initial value of 1 for each record from the number lists. Block 102 divides or breaks the information accompanying the call into one or more call attributes. Consider the operation of the flowchart using our example telemarketing service in FIG. 4. Block 102 splits the call information into four attributes: attribute (1), attribute (2), attribute (3), and attribute (4). Attribute (1) corresponds to the number of the caller, attribute (2) to its subaddress, etc. Block 102 also makes a duplicate copy of these attributes so that the flowchart in FIG. 7-9 always works with undistorted information. This duplicate copy is used to restore the attribute to its original value if it was truncated or generalized as a result of some processing operation.

Блок 110 проверяет, потребуются ли какие-нибудь атрибуты среды в процессе принятия решения. Как рассматривалось выше, атрибут среды не является составной частью вызова, а указывается получателем. Если имеется один или более атрибутов среды (таких как статус владельца из фиг. 6), значения этих атрибутов определяются и добавляются к определенным в блоке 102 атрибутам вызова. Дублирующая копия атрибутов среды также производится в блоке 110. В нашем примере атрибутов среды нет. Block 110 checks whether any attributes of the environment will be required in the decision-making process. As discussed above, the environment attribute is not part of the call, but is indicated by the recipient. If there is one or more attributes of the environment (such as the owner status from FIG. 6), the values of these attributes are determined and added to the call attributes defined in block 102. A duplicate copy of the environment attributes is also produced in block 110. In our example, there are no environment attributes.

Для лучшего понимания блок-схемы предположим, что вызов получен и блок 102 разбивает сопровождающую его информацию на следующие атрибуты:
атрибут (1) 6085551111
атрибут (2) 16
атрибут (3) 5073337766
атрибут (4) 21
Блок 103 проводит поиск в первом дереве поиска для нахождения записи, совпадающей с атрибутом (1). Блок 103 определяет, что запись 201 первого дерева поиска совпадает с атрибутом (1), так что вопрос в блоке 104 получает утвердительный ответ. Блок 105 запоминает содержащиеся в записи 201 номер списка (02) и ряда (тоже 02). Блок 106 проверяет условие: значение атрибута равно *ANY или произошло совпадение по шаблонному полю. В данном случае ответ отрицательный. Далее блок 107 устанавливает переменную Count (для данной записи номерного списка) равной определенному пользователем весу атрибута (1). Центр телемаркетинга может считать некоторые атрибуты вызова более важными и поэтому приписывать атрибутам разные весовые факторы. Например, атрибуту (2) мог быть присвоен весовой фактор 0,5, а остальным атрибутам 1,0. Таким образом, показывается, что значимость атрибута (2) составляет только половину значимости каждого из остальных атрибутов. Для удобства предположим, что все атрибуты имеют один и тот же весовой фактор 1,0. В таком случае блок 107 устанавливает Count=1. Блок 108 устанавливает переменную-счетчик "j"=2, подготавливая проверку следующего атрибута.
For a better understanding of the flowchart, suppose the call is received and block 102 breaks the accompanying information into the following attributes:
attribute (1) 6085551111
attribute (2) 16
attribute (3) 5073337766
attribute (4) 21
Block 103 searches the first search tree to find a record matching attribute (1). Block 103 determines that the record 201 of the first search tree matches attribute (1), so that the question in block 104 receives an affirmative answer. Block 105 stores the list number (02) and row number (also 02) contained in the record 201. Block 106 checks the condition: the attribute value is * ANY or a pattern field match has occurred. In this case, the answer is no. Next, block 107 sets the Count variable (for a given number list entry) to the user-defined weight of the attribute (1). The telemarketing center may consider some call attributes more important and therefore attribute different weighting factors to the attributes. For example, attribute (2) could be assigned a weight factor of 0.5, and the remaining attributes of 1.0. Thus, it is shown that the significance of attribute (2) is only half the significance of each of the other attributes. For convenience, assume that all attributes have the same weight factor of 1.0. In this case, block 107 sets Count = 1. Block 108 sets the counter variable "j" = 2, preparing to check the next attribute.

Блок 120 (фиг. 9) проверяет, совпадает ли следующий атрибут со следующим полем записи номерного списка, предыдущее поле которой уже совпало с предыдущим атрибутом. В нашем примере на фиг. 4 проверяется, совпадают ли данные в первом поле записи 202 второго дерева поиска с атрибутом (2). Так как атрибут (2) 16, т.е. имеет место совпадение, управление передается блоку 122. Блок 122 проверяет условие: явилось ли совпадение атрибута (j) соответствием по обобщающему (*ANY) или по шаб- лонному полю. Так как в нашем случае наблюдается точное совпадение, условие блока 122 не выполняется и, следовательно, блок 123 увеличивает значение переменной Count для данной записи списка на величину, равную определенному пользователем весу атрибута (2). В нашем примере блок 123 увеличивает Count до 2. Block 120 (Fig. 9) checks whether the next attribute matches the next field in the number list entry, the previous field of which has already coincided with the previous attribute. In our example in FIG. 4, it is checked whether the data in the first field of the record 202 of the second search tree matches the attribute (2). Since attribute (2) 16, i.e. there is a match, control is passed to block 122. Block 122 checks the condition: whether the match of attribute (j) was a match in generalizing (* ANY) or in a template field. Since in our case there is an exact match, the condition of block 122 is not satisfied and, therefore, block 123 increases the value of the Count variable for this list entry by an amount equal to the user-defined weight of the attribute (2). In our example, block 123 increments Count to 2.

Блок 124 выясняет, имеется ли еще какой-нибудь атрибут для проверки. Так как остается еще атрибут (3), то переменная "j" увеличивается до 3 и снова выполняются блоки 120 123. Эти блоки определяют, что атрибут (3) совпадает с записью 203 дерева поиска и переменная Count увеличивается до 3. Так как остался еще атрибут (4), то снова выполняются блоки 120 123 и обнаруживается, что атрибут (4) совпадает с записью 204 дерева поиска и, следовательно, Count увеличивается уже до 4. Блок 124 определяет, что непроверенных атрибутов больше нет и управление переходит к блоку 103 на фиг. 7. В нашем примере Count 4 указывает на точное соответствие записи 301 номерного списка (фиг. 4) атрибутам вызова. Block 124 determines if there is any other attribute to check. Since there is still attribute (3), the variable "j" increases to 3 and blocks 120 123 are executed again. These blocks determine that attribute (3) matches the record 203 of the search tree and the variable Count increases to 3. Since there is still attribute (4), then blocks 120 123 are executed again and it is found that attribute (4) matches the record 204 of the search tree and, therefore, Count increases already to 4. Block 124 determines that there are no more unverified attributes and control passes to block 103 in FIG. 7. In our example, Count 4 indicates the exact correspondence of the record 301 of the number list (Fig. 4) to the call attributes.

Блок 103 снова проверяет первое дерево поиска на наличие в нем других записей, совпадающих с атрибутом (1). Так как никакие другие записи кроме 201 не содержат значение "6085551111", совпадающих записей не находится, и условие блока 104 не выполняется. Блок 130 проверяет условие: все ли шаблонные поля, удовлетворяющие атрибуту (1), просмотрены. Так как шаблонные поля еще до сих пор не проверялись, условия блока 130 не выполняются, и следовательно, блок 132 выполняет усечение атрибута (1), отбрасывая по одному символу и заменяя все отброшенные символы одним знаком "#". Таким образом, атрибут (1) принимает вид "6085551#". Блоки 103, 104, 130 и 132 повторно выполняются до тех пор, пока не будет найдено совпадение с шаблоном или пока не будут усечены все символы атрибута (1). В нашем примере атрибут (1) усекается до состояния "608#". В этот момент блок 130 находит совпадение с записью 205 дерева поиска, а блок 105 сохраняет номер списка и номер ряда, содержащиеся в записи 205. Блок 106 еще раз проверяет условие: атрибут (1) *ANY или произошло совпадение по шаблонному полю. Так как в нашем случае произошло как раз совпадение по шаблонному полю, следовательно, переменная Count, связанная с данной записью списка, изменяет значение с -1 на 0, показывая таким образом, что для данной записи имеет место действительное (но не точное) соответствие. Блок 108 устанавливает j 2, а блоки 120 123 проверяют, совпадает ли первое поле записи 206 дерева поиска с атрибутом (2). Так как оба эти значения равны 16, они совпадают, а переменная Count увеличивается и становится равной 1. Block 103 again checks the first search tree for other entries in it matching the attribute (1). Since no records other than 201 contain the value "6085551111", no matching records are found, and the condition of block 104 is not satisfied. Block 130 checks the condition: whether all template fields that satisfy the attribute (1) are viewed. Since the template fields have not yet been verified, the conditions of block 130 are not satisfied, and therefore, block 132 truncates attribute (1), discarding one character at a time and replacing all discarded characters with a single "#" character. Thus, attribute (1) takes the form "6085551 #". Blocks 103, 104, 130, and 132 are re-executed until a pattern match is found or all characters of attribute (1) are truncated. In our example, attribute (1) is truncated to the state "608 #". At this point, block 130 finds a match with search tree record 205, and block 105 stores the list number and row number contained in record 205. Block 106 again checks the condition: attribute (1) * ANY or a pattern field match has occurred. Since in our case there was just a coincidence in the template field, therefore, the Count variable associated with this list entry changes the value from -1 to 0, thus showing that for this record there is a valid (but not exact) match. Block 108 sets j 2, and blocks 120 123 check if the first field of the search tree entry 206 matches attribute (2). Since both of these values are 16, they coincide, and the variable Count increases and becomes equal to 1.

Блок 125 устанавливает j=3, а блоки 120-122 проверяют, совпадает ли первое поле записи 207 дерева поиска с атрибутом (3). Так как атрибут (3) 5073337766, а поле записи содержит *ANY, то они не совпадают. Условие блока 121 не выполняется, и управление передается блоку 140. Блок 140 проверяет условие: все ли возможные шаблоны для атрибута (3) уже просмотрены. Условие не выполняется, и блок 142 выполняет усечение атрибута (3), отбрасывая по одному символу и заменяя отброшенные символы одним знаком "#". В результате атрибут (3) теперь имеет вид "507333776#". Блоки 103, 104, 130 и 132 повторно выполняются до тех пор, пока не будет найдено совпадение с шаблоном или пока не будут усечены все символы атрибута (3). В нашем примере атрибут (3) постепенно усекается, пока не остается только символ "#", не совпадая ни в каком виде со значением *ANY, содержащимся в поле записи 207. Таким образом, все шаблоны проверены и при проверке условия в блоке 140 формируется утвердительный ответ. Block 125 sets j = 3, and blocks 120-122 check if the first field of the search tree entry 207 matches attribute (3). Since attribute (3) is 5073337766, and the record field contains * ANY, they do not match. The condition of block 121 is not satisfied, and control is passed to block 140. Block 140 checks the condition: are all possible patterns for attribute (3) already viewed. The condition is not satisfied, and block 142 truncates the attribute (3), discarding one character at a time and replacing the discarded characters with a single “#" sign. As a result, attribute (3) now looks like "507333776 #". Blocks 103, 104, 130, and 132 are re-executed until a pattern match is found or all characters of attribute (3) are truncated. In our example, attribute (3) is gradually truncated, until only the “#” character remains, not coinciding in any form with the * ANY value contained in the record field 207. Thus, all the templates are checked and when checking the conditions in block 140 affirmative answer.

Блок 150 проверяет условие: атрибут (3) *ANY. Так как в данный момент атрибут (3) "#", условие не выполняется, и блок 152 устанавливает атрибут (3) *ANY. Управление возвращается блоку 120, который проверяет, совпадает ли теперь поле записи 207 дерева поиска с атрибутом (3). Так как оба значения равны *ANY, они совпадают. Условие блока 122 выполняется, однако переменная Count не увеличивается. В отличие от совпадения по шаблону, в случае совпадения по обобщающему полю значение Count не увеличивается. Блок 123 показывает, что остался еще один атрибут, который необходимо проверить. Поэтому j увеличивается до 4 и происходит возврат к блоку 120. Block 150 checks the condition: attribute (3) * ANY. Since the attribute (3) is “#" at the moment, the condition is not satisfied, and block 152 sets the attribute (3) * ANY. Control is returned to block 120, which checks whether the record field 207 of the search tree now matches attribute (3). Since both values are * ANY, they are the same. The condition of block 122 is satisfied, however, the variable Count does not increase. Unlike a pattern match, in the case of a match on a generic field, the Count value does not increase. Block 123 shows that there is one more attribute that needs to be checked. Therefore, j increases to 4 and returns to block 120.

На этот раз блоки 120 122 проверяют, совпадает ли первое поле записи 208 дерева поиска с атрибутом (4). Так как атрибут (4) 21, а поле записи содержит 99, они не совпадают. Условие блока 121 не выполняется, и управление передается блоку 140. Блоки 140 и 142 выполняются до тех пор, пока атрибут (4) не станет равным "#", что означает отсутствие совпадения. Затем блоки 150 152 устанавливают атрибут (4)*ANY, но на этот раз условие блока 121 не выполняется, потому что *ANY не совпадает с 99. Так как проверены все возможные шаблоны и атрибут (4) равен *ANY следовательно, условие блока 150 не выполняется. В этом случае, как нам известно, найденное поле не совпадает с атрибутом, т. е. нет ни точного совпадения, ни совпадения по шаблонному, ни по обобщающему полю. В основной реализации запись номерного списка не может "захватить" вызов, если она содержит поле, не совпадающее с атрибутом вызова. Поэтому блок 155 возвращает значение переменной Count для этой записи снова в -1, показывая таким образом, что полученный результат неприемлем. В альтернативной реализации запись номерного списка может "захватить" вызов, даже если она содержит поле, не совпадающее с атрибутом вызова, но при этом ее переменная Count имеет самое большое значение. В этой реализации блок 155 отсутствует. This time, blocks 120 122 check to see if the first field of the search tree entry 208 matches attribute (4). Since attribute (4) is 21, and the record field contains 99, they do not match. The condition of block 121 is not satisfied, and control is passed to block 140. Blocks 140 and 142 are executed until attribute (4) becomes "#", which means there is no match. Then blocks 150 152 set the attribute (4) * ANY, but this time the condition of block 121 is not satisfied because * ANY does not match 99. Since all possible patterns are checked and attribute (4) is * ANY, therefore, the condition of block 150 not executed. In this case, as we know, the found field does not coincide with the attribute, that is, there is neither an exact match, nor a match in the template, or in the generalizing field. In the main implementation, a number list entry cannot “capture” a call if it contains a field that does not match the call attribute. Therefore, block 155 returns the value of the Count variable for this record again to -1, thus showing that the result is unacceptable. In an alternative implementation, a numbered list entry can “capture” a call, even if it contains a field that does not match the call attribute, but its variable Count is of the greatest importance. In this implementation, block 155 is missing.

Как бы то ни было, в любой реализации блок 156 восстанавливает атрибуты в их первоначальных значениях, используя дублирующую копию, сделанную блоком 102 и/или блоком 110. Затем управление возвращается блоку 103. Блок 103 снова проверяет первое дерево поиска на наличие в нем других записей, совпадающих с атрибутом (1). Так как кроме записи 201 ни одна запись не содержит значение "6085551111", то совпадающих записей не находится и условие блока 104 не выполняется. Далее проверяется условие блока 130: все ли возможные шаблоны для атрибута (1) проверены. Так как шаблоны действительно уже были проверены, условие блока 130 выполняется. Блок 160 содержит условие: атрибут (1)*ANY. Так как атрибут (1) не равен *ANY, то это условие не выполняется и блок 162 устанавливает атрибут (1)*ANY. Управление передается блоку 103, который проверяет: совпадает ли теперь первое поле записи 209 дерева поиска с атрибутом (1). Так как оба эти значения равны теперь *ANY, они совпадают. Блоки 104 и 106 формируют утвердительный ответ, и блок 109 устанавливает значение переменной Count для этой записи в 0. Be that as it may, in any implementation, block 156 restores the attributes to their original values using a duplicate copy made by block 102 and / or block 110. Then control returns to block 103. Block 103 again checks the first search tree for other entries in it. matching attribute (1). Since, in addition to record 201, no record contains the value "6085551111", there are no matching records and the condition of block 104 is not satisfied. Next, the condition of block 130 is checked: are all possible patterns for attribute (1) checked. Since the patterns have indeed already been verified, the condition of block 130 is satisfied. Block 160 contains the condition: attribute (1) * ANY. Since the attribute (1) is not equal to * ANY, this condition is not satisfied and block 162 sets the attribute (1) * ANY. Control is passed to block 103, which checks whether the first field of the search tree entry 209 now matches the attribute (1). Since both of these values are now equal to * ANY, they coincide. Blocks 104 and 106 form an affirmative answer, and block 109 sets the value of the Count variable for this record to 0.

Блоки 120, 121, 140, 150, 152, 103-108, 120, 121, 122, 124, 125 повторно выполняются и определяют, что записи 210; 211 и 212, как и запись 209, совпадают с атрибутами по обобщающему полю. После того, как проверен последний атрибут, условие блока 124 не выполняется и управление возвращается блоку 103. Следует отметить, что значение переменной Count для этой записи номерного списка равно 0. Blocks 120, 121, 140, 150, 152, 103-108, 120, 121, 122, 124, 125 are re-executed and determine that records 210; 211 and 212, as well as record 209, coincide with attributes on the generalizing field. After the last attribute is checked, the condition of block 124 is not satisfied and control is returned to block 103. It should be noted that the value of the Count variable for this number list entry is 0.

Блок 103 в конечном итоге находит и другие записи дерева поиска, у которых в первом поле содержится *ANY. Также он определяет, что эти записи номерного списка неприемлемы, так как содержат одно или более несовпадающих полей. Когда все записи проверены, блок 160 формирует утвердительный ответ, показывая тем самым, что процедура поиска завершена. Управление передается блоку 170. Block 103 ultimately finds other entries in the search tree that have * ANY in the first field. He also determines that these numbered list entries are unacceptable because they contain one or more mismatched fields. When all records are checked, block 160 generates an affirmative answer, thereby indicating that the search procedure is completed. Control is transferred to block 170.

Блок 170 проводит поиск записи номерного списка с наибольшим значением переменной Count. Он определяет, что для записи 301 значение переменной Count равно 4, для записи 302 1, для записи 303 0, а для остальных записей значение переменной Count равно -1. Следовательно, запись 301 со значением переменной Count, равным 4, используется для управления поступившим вызовом. В случае, когда ни одна из записей не "захватывает" вызов, она может быть выбрана случайным образом, но может быть использован и другой механизм. Block 170 searches for the number list entry with the highest value of the Count variable. It determines that for record 301, the value of Count is 4, for record 302 1, for record 303 0, and for other records, the value of Count is -1. Therefore, record 301 with the value of the Count variable equal to 4 is used to control the incoming call. In the case when none of the records “captures” the call, it can be randomly selected, but another mechanism can be used.

Блок 171 проверяет условие: является ли действительным значение переменной Count для записи номерного списка, "захватившей вызов". В основной реализации действительным считается любое значение Count, большее или равное 0, хотя это определение при необходимости может быть изменено. Так как запись 301 номерного списка имеет действительное значение Count 4, то блок 172 направляет вызов по маршруту, который указан в записи номерного списка или в самом списке. В нашем случае вызов направляется к оператору в соответствии с номерным списком 02, так как запись 301 содержится в этом списке. После этого программа заканчивается блоком 190. Если запись с действительным значением Count не была найдена, вызов будет отвергнут в блоке 175. Block 171 checks the condition: whether the value of the variable Count is valid for the record of the number list that has "captured the call." In the main implementation, any Count value greater than or equal to 0 is considered valid, although this definition can be changed if necessary. Since the record 301 of the number list has a valid value of Count 4, block 172 routes the call along the route that is indicated in the record of the number list or in the list itself. In our case, the call is routed to the operator in accordance with the number list 02, since record 301 is contained in this list. After that, the program ends in block 190. If the record with a valid Count value was not found, the call will be rejected in block 175.

Данные содержащиеся в номерных списках, так же как и веса, приписанные атрибутам вызова, могут легко модифицироваться пользователем, как показано на экранных формах фиг. 10. The data contained in the number lists, as well as the weights assigned to the call attributes, can be easily modified by the user, as shown on the screen forms of FIG. ten.

Хотя в основном было рассмотрено применение в области аналоговой связи, данное изобретение может быть использовано и для приема/отвержения и маршрутизации цифровых сигналов между компьютерами. Это изобретение может быть особенно полезным в качестве механизма обеспечения безопасности для удаленных терминалов, соединенных с базовой ЭВМ через телефонную сеть. К тому же для ввода/изменения данных в номерном списке могут использоваться и другие способы вместо того, который иллюстрируют изображенные на фиг. 10 12 экранные формы. Например, с помощью клавиатуры телефона. Although basically considered the application in the field of analog communication, this invention can be used to receive / reject and route digital signals between computers. This invention may be particularly useful as a security mechanism for remote terminals connected to a host computer via a telephone network. In addition, other methods may be used to enter / change data in the number list instead of that illustrated in FIG. 10 12 screen forms. For example, using the telephone keypad.

Claims (6)

1. Способ приема телефонного вызова, основанный на анализе информации, непосредственно связанной с данным телефонным вызовом, отличающийся тем, что последовательно разделяют информацию на совокупность атрибутов вызова, просматривают номерной список для нахождения первой записи, соответствующей совокупности атрибутов вызова, находят первую запись, соответствующую номерному списку, присваивают первой записи номерного списка первое числовое значение, показывающее, насколько оптимально указанная первая запись соответствует совокупности атрибутов вызова, просматривают номерной список для нахождения второй записи номерного списка, соответствующей совокупности атрибутов, находят вторую запись номерного списка, присваивают второй записи номерного списка второе числовое значение, показывающее, насколько оптимально вторая запись номерного списка соответствует указанной совокупности атрибутов вызова, определяют, что второе числовое значение показывает более оптимальное соответствие, чем первое числовое значение, направляют телефонный вызов на телефон с номером, связанным со второй записью номерного списка. 1. A method of receiving a telephone call, based on the analysis of information directly related to the given telephone call, characterized in that the information is sequentially divided into a set of call attributes, a list is searched to find the first record corresponding to the set of call attributes, the first record corresponding to the number is found to the list, assign the first numerical value to the first record of the number list, showing how optimally the first record corresponds to the aggregate these call attributes, look at the number list to find the second record of the number list corresponding to the set of attributes, find the second record of the number list, assign a second numerical value to the second record of the number list, showing how optimally the second record of the number list corresponds to the specified set of call attributes, determine the second numerical value shows a more optimal match than the first numerical value, direct a telephone call to a telephone with a number connecting annym the second number list entry. 2. Способ по п.1, отличающийся тем, что на этапе присвоения первого числового значения первой записи номерного списка дополнительно указывают в первом числовом значении то, что для первой записи номерного списка имеет место действительное соответствие, определяют весовой фактор для каждого из указанной совокупности атрибутов вызова, увеличивают первое числовое значение на величину весового фактора, соответствующего одному из совокупности атрибутов вызова, причем делают это каждый раз, когда запись номерного списка в точности соответствует одному из множества атрибутов вызова. 2. The method according to claim 1, characterized in that at the stage of assigning the first numerical value to the first record of the number list, it is additionally indicated in the first numerical value that there is a valid correspondence for the first record of the number list, the weight factor for each of the specified set of attributes is determined call, increase the first numerical value by the value of the weight factor corresponding to one of the set of call attributes, and do it every time when the record of the number list exactly matches uet one of the plurality of call attributes. 3. Способ по пп.1 и 2, отличающийся тем, что дополнительно определяют атрибут среды, просматривают номерной список для нахождения первой записи, соответствующей совокупности атрибутов среды, присваивают первой записи номерного списка первое числовое значение, показывающее, насколько оптимально указанная первая запись соответствует совокупности атрибутов среды, просматривают номерной список для нахождения второй записи номерного списка, соответствующей совокупности атрибутов среды, присваивают второй записи номерного списка второе числовое значение, показывающее, насколько оптимально вторая запись номерного списка соответствует указанному атрибуту среды. 3. The method according to claims 1 and 2, characterized in that they further determine the environment attribute, look at the number list to find the first record corresponding to the set of environment attributes, assign the first numerical value to the first record of the number list, showing how optimally the first record corresponds to the set attributes of the environment, look through the number list to find the second record of the number list corresponding to the set of attributes of the environment, assign the second record to the second record of the number list a word value showing how optimally the second entry in the number list corresponds to the specified environment attribute. 4. Способ по п. 3, отличающийся тем, что на этапе присвоения первого числового значения первой записи номерного списка дополнительно определяют весовой фактор для указанного атрибута среды и увеличивают первое числовое значение на величину весового фактора, соответствующего указанному атрибуту среды, причем делают это каждый раз, когда указанная запись номерного списка в точности соответствует указанному атрибуту среды. 4. The method according to p. 3, characterized in that at the stage of assigning the first numerical value to the first entry in the number list, the weight factor for the specified environment attribute is additionally determined and the first numerical value is increased by the value of the weight factor corresponding to the specified environment attribute, and this is done every time when the specified number list entry exactly matches the specified environment attribute. 5. Устройство для приема телефонного вызова из телефонной сети, основанное на анализе информации непосредственно связанной с данными телефонным вызовом, содержащее терминалы, соединенные с телефонной сетью и имеющие процессор и блок памяти, отличающееся тем, что содержит последовательно соединенные блок разделения информации на совокупность атрибутов вызова, блок поиска в номерном списке первой записи, соответствующей совокупности атрибутов вызова, блок нахождения первой записи, соответствующей совокупности атрибутов вызова, блок присвоения данной первой записи номерного списка первого числового значения, характеризующего оптимальность соответствия первой записи указанной совокупности атрибутов вызова, блок поиска в номерном списке для нахождения второй записи номерного списка, соответствующей указанной совокупности атрибутов вызова, блок нахождения второй записи номерного списка, блок присвоения второй записи второго числового значения, характеризующего оптимальность соответствия второй записи указанной совокупности атрибутов вызова, блок установления большей оптимальности соответствия, показываемого вторым числовым значением, в сравнении с первым числовым значением, блок направления телефонного вызова на телефон с номером, соответствующим второй записи номерного списка. 5. A device for receiving a telephone call from the telephone network, based on the analysis of information directly related to the telephone call data, comprising terminals connected to the telephone network and having a processor and a memory unit, characterized in that it comprises series-connected information sharing unit for the set of call attributes , a search block in the number list of the first record corresponding to the set of call attributes, a block for finding the first record corresponding to the set of call attributes, block learning this first record of the number list of the first numerical value characterizing the optimality of matching the first record of the specified set of call attributes, the search block in the number list to find the second record of the number list corresponding to the specified set of call attributes, the block of finding the second record of the number list, the assignment unit of the second record of the second a numerical value characterizing the optimality of correspondence of the second record of the specified set of call attributes, the establishment unit b proc eed optimality of the display a second numerical value in comparison with the first numerical value, the unit direction telephone call to the phone number corresponding to the second number list entry. 6. Устройство по п.5, отличающееся тем, что блок присвоения первой записи номерного списка первого числового значения включает в себя блок указания в первом числовом значении того, что в первой записи номерного списка имеет место действительное соответствие, блок определения весового фактора для каждого из указанной совокупности атрибутов вызова, блок увеличения первого числового значения на величину весового фактора, соответствующего одному из указанной совокупности атрибутов вызова каждый раз, когда запись в точности соответствует именно этому атрибуту вызова. 6. The device according to claim 5, characterized in that the assignment unit of the first record of the number list of the first numerical value includes a block indicating in the first numerical value that there is a valid correspondence in the first record of the number list, a weight factor determination unit for each of the specified set of call attributes, the unit for increasing the first numerical value by the weight factor corresponding to one of the specified set of call attributes each time the record exactly matches and enno this attribute call.
RU9393054016A 1991-02-27 1992-02-12 Method and device to receive telephone call RU2099895C1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US66173291A 1991-02-27 1991-02-27
US07/661,732 1991-02-27
US07/661.732 1991-02-27
PCT/EP1992/000293 WO1992016067A1 (en) 1991-02-27 1992-02-12 Method and apparatus for flexible and optimal telephone call acceptance and routing

Publications (2)

Publication Number Publication Date
RU2099895C1 true RU2099895C1 (en) 1997-12-20
RU93054016A RU93054016A (en) 1998-02-20

Family

ID=26069915

Family Applications (1)

Application Number Title Priority Date Filing Date
RU9393054016A RU2099895C1 (en) 1991-02-27 1992-02-12 Method and device to receive telephone call

Country Status (1)

Country Link
RU (1) RU2099895C1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001082564A2 (en) * 2000-04-27 2001-11-01 Rakushin Alexandr Stepanovich Personal calling method for telephone subscriber (variants)
RU2479144C2 (en) * 2006-07-10 2013-04-10 НЬЮ Ай.Пи. ИНВЕСТМЕНТС, ЭлЭлСи Systems and methods for provision of response services
RU2780046C1 (en) * 2021-09-06 2022-09-19 Акционерное общество "Лаборатория Касперского" Computer apparatus for detecting an unwanted call

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
US, патент, 4277649, кл. H 04M 3/42, 1981. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001082564A2 (en) * 2000-04-27 2001-11-01 Rakushin Alexandr Stepanovich Personal calling method for telephone subscriber (variants)
WO2001082564A3 (en) * 2000-04-27 2002-01-31 Alexandr Stepanovich Rakushin Personal calling method for telephone subscriber (variants)
RU2479144C2 (en) * 2006-07-10 2013-04-10 НЬЮ Ай.Пи. ИНВЕСТМЕНТС, ЭлЭлСи Systems and methods for provision of response services
RU2780046C1 (en) * 2021-09-06 2022-09-19 Акционерное общество "Лаборатория Касперского" Computer apparatus for detecting an unwanted call

Similar Documents

Publication Publication Date Title
CA2058814C (en) Method and apparatus for flexible and optimal telephone call acceptance and routing
US8280019B2 (en) Methods, systems, and products for locating files
US5633922A (en) Process and apparatus for restarting call routing in a telephone network
US8199899B2 (en) Call management system with call control from user workstation computers
US20090124240A1 (en) System and a method for connecting telephone calls directly on the basis of a text query
CN1136756A (en) Method and apparatus for providing far-end individual calling mark
US4591665A (en) Method and apparatus for providing call tracing service
FI95525C (en) Information system for telephone exchange
JPH09130484A (en) Method and device to process telephone call
EP0545226A2 (en) Simultaneous recorded voice delivery and computer data screen delivery to an agent station
RU2099895C1 (en) Method and device to receive telephone call
KR100350488B1 (en) Method for processing call in vip gateway
US7624191B2 (en) Transmission of call-related data in a communications system
JPH09182120A (en) Subscriber multiple connection method in key phone system
US5828741A (en) System and method for providing a multi-number plan for use with a general telephone and a key telephone in a key telephone system
CN1110211C (en) Method for inquiring calling telephone number and its system equipment
JP2000041109A (en) Multiplex telephone number management method
NL9100423A (en) Private exchange associated with computer local area network - has number of work-stations, each associated with telephone and personal computer
JPH08214351A (en) Method for providing direct inward dialling service
JPH06121362A (en) Split dialing system
SE504100C2 (en) Procedure for transferring data between telephone calls and telecommunications service equipment
JPH07193845A (en) Service system by telephone set and facsimile equipment
JPH03124185A (en) System for confirming picture of talking opposite party
JPH0637902A (en) Private branch exchange
JPH06350710A (en) Dial information translation communicating method