This application is a national stage of PCT/DE02/01382, published in the German language on Oct. 23, 2003, which was filed in the german language on Apr. 12, 2002.
The invention relates to a method and devices for filtering incoming messages, and in particular, at a connection controlling element of a telecommunication network on the basis of predetermined filter conditions.
DE 100 48 940 A1 describes the transcoding of the output data stream from an application server.
Modern mobile radio networks are known to the person skilled in the art for example from the internet page http://www.3GPP.org (concerning specifications for UMTS mobile radio networks).
The present invention discloses an evaluation of messages conveyed in a telecommunication network (in particular, control messages such as SIP messages) in as simple and efficient a manner as possible.
By using a document in an Internet page description language, such as XML in particular, in which filtering conditions (for example: To whom should the SIP message go?, From whom does the SIP message originate?, Does the SIP message include a header?, Is this message setting up a video session?, Does the header contain particular character strings? etc.) and logical links of the filtering conditions (for example, AND operations: Are both filtering condition 1 and filtering condition 2 satisfied?; in other words Boolean operations) are defined, a simple and efficient evaluation of incoming messages in a connection controlling element (S-CSCF or another control or switching element of a telecommunication network) is possible by means of filtering. The use of a document in an internet page description language (such as XML) has the advantage of being simple to read and to program and, where necessary, to modify (in order to change filtering conditions). Moreover, a large number of supporting software tools (such as parsers, etc.) already exists. The simple modification and representation capabilities are suitable in particular for the great majority of users of a telecommunication network; the filtering conditions and their logical links can be stored for each user as an XML document in a user profile, etc. (in a home register or in S-CSCF). Depending on the result of the filtering (=text elements to be sought are contained or (if stipulated) not contained in the incoming message, the logical links apply or do not apply), routing of the message to the user of the telecommunication network and/or starting of one or more applications can be initiated. One example of an application could be support for setting up a chat using parameters specified in the message (relating to chat participants=sender and recipient of the message, amongst other things, etc.).
In particular, the message can be a Session Initiation Protocol (SIP) message or exhibit a different form and include conditions as text elements which are to be filtered by means of a filter (alphanumeric character strings, etc.).
The logical linking of filtering conditions can for example be the fact that two filtering conditions are present (for example, first filtering condition: header includes particular character strings; second filtering condition: message is directed to a particular subscriber) or that one of the two filtering conditions applies or that one filtering condition applies and the other does not apply. A logical link can also operate on more than two filtering conditions. In an individual case it is possible for the text to include one filtering condition. The comparison of text elements in an incoming message with text elements in the internet page description language document (defining the filters) can for example take place by means of character-by-character text comparison (comparing the individual characters in a text, taking into consideration the location of these characters) of alphanumeric characters contained in text elements.
Further features and advantages of the invention will emerge from the description which follows of an embodiment with reference to the drawings. In the drawings:
In the case of a positive filtering result (filtering conditions and logic operations have been deemed to be applicable by the S-CSCF), the SIP message can be routed for example to an application server (possibly specified in the user profile by an address).
Applications which can be initiated by a SIP message or connection establishment related operations can for example be voice connections which are to be established or modified, video connections, chats etc. A SIP message is generally a text-based message by means of which, in particular, connection establishment controlling applications for sessions between users of a UMTS-IMS can be controlled.
A filter device 4 in the connection controlling element (IMS-CSCF) 5 can after receipt of a SIP message 3 at a schematically represented input 6 (interface) to the connection controlling element S-CSCF 5 download from a user profile database 7 for the subscriber from whom the message originates or (as here) to whom the message is directed (subscriber 2) a document 8 defining a filter into the filter 4 in the S-CSCF 5. In the filter 4, a check is performed as to whether the individual filtering conditions (presence of predetermined text elements) and their logical link (for example, two or more filtering conditions should apply simultaneously) apply in the message according to the predetermined filter values in the document 8 for the user (2) affected by the message. Depending on the result of the check in the filter 4, routing (9) to the B subscriber 2 can take place without an application being executed (if individual filtering conditions or links do not apply) or (if the individual filtering conditions apply and the logical links apply), depending on the contents of the message and predetermined values in the user profile for the user 2 (and/or 1), routing 10 of the message 3 (to the user 2) and/or initiation or execution of applications 11 can take place (in the S-CSCF 5 and/or in an application server 12).
In modern mobile radio networks (such as UMTS mobile radio networks, for example), the Session Initiation Protocol (SIP) is used for initiating interactive communication sessions (for example voice sessions, video sessions, chat sessions, interactive games) between users of the mobile radio telecommunication network.
Since a SIP message is structured as a text-based (alphanumeric, including text and/or numbers) message, comparisons can be carried out in respect of individual filtering conditions (text contained in the message and in the document 8) as a simple pattern comparison using regular expressions. It can be possible, for example, to filter the following properties (filtering conditions for a SIP message 3 and also logical links thereof):
In order to perform the filtering in a simple and efficient manner, according to the invention the filter is implemented as an XML document 8 (stored in the user profile database 7) which is processed in the filter 4 and is described in the following with reference to
The use of the XML language has the advantage that it is a universal, interchangeable (in other words, capable of being processed by different computer architectures and easily read by human beings) description language for which there are already a large number of tools and which can be used easily.
A filter is in principle a Boolean linking of individual filtering conditions. A filter can in the simplest case includes a single filtering condition or can be formed (recursively) from conjunction, disjunction or negation of a plurality of filtering conditions.
The aforementioned simple filtering conditions are described in the following with reference to
[Trigger]
. . . //boolean expression
[/Trigger].
In addition, the XML tags shown in
The filtering condition given under the first point defines the query as to whether a predetermined pattern (message name pattern) is included in the message. The XML tag given under the second point (header name pattern) defines whether a pattern is included in the header of the message. The filtering condition given under the third point (header matches) checks whether the name of the header and a pattern in the header are included as a text element (alphanumeric character string) in the message. The fourth filtering condition (request-direction) is used for checking whether the message is mobile-originating (MO), mobile-terminating (MT) or (MTU) (mobile-terminated for unknown users). The filtering condition given under the fifth point concerns the query about the session content type—in other words whether for example a “video” session is to be started, etc. by the message. At the places in
A (possibly recursively nested) linkage of sub-expressions (filtering conditions) by means of Boolean operators and/or/not (=logical linkage) is achieved by means of the three XML tags shown in
A basic principle of the invention thus includes the definition of the simple filtering conditions for filtering SIP messages, their linkage to form a Boolean expression and also the conversion of the structure of a Boolean expression of such a type into the structure of an XML document. The method can be used, for example, within the scope of an IP multimedia subsystem for 3GGP. It can for example be part of a UMTS-R5 compliant S-CSCF (Serving Call State Control Function).
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/DE02/01382 | 4/12/2002 | WO | 00 | 7/27/2005 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO03/088611 | 10/23/2003 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5050075 | Herman et al. | Sep 1991 | A |
5513126 | Harkins et al. | Apr 1996 | A |
5717913 | Driscoll | Feb 1998 | A |
5826076 | Bradley et al. | Oct 1998 | A |
5835727 | Wong et al. | Nov 1998 | A |
5884033 | Duvall et al. | Mar 1999 | A |
5996011 | Humes | Nov 1999 | A |
6023723 | McCormick et al. | Feb 2000 | A |
6134591 | Nickles | Oct 2000 | A |
6321267 | Donaldson | Nov 2001 | B1 |
6366926 | Pohlmann et al. | Apr 2002 | B1 |
6564251 | Katariya et al. | May 2003 | B2 |
6604139 | Sajina et al. | Aug 2003 | B1 |
6605120 | Fields et al. | Aug 2003 | B1 |
6621793 | Widegren et al. | Sep 2003 | B2 |
6715129 | Hind et al. | Mar 2004 | B1 |
6772196 | Kirsch et al. | Aug 2004 | B1 |
6988100 | Jackson et al. | Jan 2006 | B2 |
6996530 | Shizuka et al. | Feb 2006 | B2 |
7146402 | Kucherawy | Dec 2006 | B2 |
7164913 | Dantu et al. | Jan 2007 | B1 |
7188143 | Szeto | Mar 2007 | B2 |
8335860 | Moran et al. | Dec 2012 | B2 |
20010025278 | Yourlo et al. | Sep 2001 | A1 |
20010054085 | Kurganov | Dec 2001 | A1 |
20020059425 | Belfiore et al. | May 2002 | A1 |
20020076025 | Liversidge et al. | Jun 2002 | A1 |
20020099834 | Sielaff et al. | Jul 2002 | A1 |
20020133568 | Smith et al. | Sep 2002 | A1 |
20020160810 | Glitho et al. | Oct 2002 | A1 |
20030101266 | Trossen | May 2003 | A1 |
20040122977 | Moran et al. | Jun 2004 | A1 |
20050193124 | Chou et al. | Sep 2005 | A1 |
Number | Date | Country |
---|---|---|
2317072 | Oct 1999 | CA |
2317072 | Apr 2001 | CA |
100 48 940 | Apr 2001 | DE |
100 46 345 | Mar 2002 | DE |
1 043 657 | Oct 2000 | EP |
0178358 | Oct 2001 | WO |
Entry |
---|
Bessler et al., A Service Platform for Internet-Telecom Services using SIP, IFIP COnference Proceedings vol. 178, p. 59-72, 2000. |
Fesler, Wayback Machine dated Jun. 6, 2001 “Writing Servlet 2.3 Filters” from www.onjava.com. |
Rosenberg et al. (“Programming Internet Telephony Services”, Network, IEEE, May/Jun. 1999). |
RFC2824, Lennox et al., Request for Comments: 2824, “Call Processing Language Framework and Requirements”, May 2000. |
Bray T. Et al.'s, “Extensible Markup Language (XM) 1.0 (Second Edition)”, W3C, World Wide Web Consortium XP002220864, pp. 1-59, Oct. 6, 2000. |
International Search Report for International Application No. PCT/DE02/01382, (11 pages), Nov. 26, 2002. |
Number | Date | Country | |
---|---|---|---|
20060155852 A1 | Jul 2006 | US |