CA2375366A1 - System and method for providing value-added services (vas) in an integrated telecommunications network using session initiation protocol (sip) - Google Patents
System and method for providing value-added services (vas) in an integrated telecommunications network using session initiation protocol (sip) Download PDFInfo
- Publication number
- CA2375366A1 CA2375366A1 CA002375366A CA2375366A CA2375366A1 CA 2375366 A1 CA2375366 A1 CA 2375366A1 CA 002375366 A CA002375366 A CA 002375366A CA 2375366 A CA2375366 A CA 2375366A CA 2375366 A1 CA2375366 A1 CA 2375366A1
- Authority
- CA
- Canada
- Prior art keywords
- vas
- server
- user
- sip
- sipext
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000000977 initiatory effect Effects 0.000 title claims abstract description 13
- 230000004044 response Effects 0.000 claims abstract description 66
- 230000009471 action Effects 0.000 claims abstract description 12
- 238000001514 detection method Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 18
- 239000003795 chemical substances by application Substances 0.000 description 10
- 238000004891 communication Methods 0.000 description 10
- 238000013459 approach Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000008694 Humulus lupulus Nutrition 0.000 description 1
- 101100508520 Mus musculus Nfkbiz gene Proteins 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 210000000707 wrist Anatomy 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1096—Supplementary features, e.g. call forwarding or call holding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/0016—Arrangements providing connection between exchanges
- H04Q3/0029—Provisions for intelligent networking
- H04Q3/0045—Provisions for intelligent networking involving hybrid, i.e. a mixture of public and private, or multi-vendor systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6443—Network Node Interface, e.g. Routing, Path finding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6472—Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6475—N-ISDN, Public Switched Telephone Network [PSTN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6481—Speech, voice
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
- H04L2012/6486—Signalling Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2207/00—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
- H04M2207/12—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place intelligent networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99934—Query formulation, input preparation, or translation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A system and method for providing Value-Added Services (VAS) in an integrated telecommunications network (200) having a packet-switched network portion (PSN) operable with Session Initiation Protocol (SIP). The integrated telecommunications network includes a SIPextSSP server (204), a trigger server (206), and a service node (212)having a Service Logic Program (SLP)(216) that is operable with Intelligent Network Application Protocol (INAP). The SIPext SSP and service nodes are provided with the capability to communicate using SIP-compliant messaging. New header fields are provided that specify operations to be performed by the service node (212) with respect to a service. INAP service parametric data is also provided in the header fields in a sequential form. When a call is received in the SIPext SSP server (204) for a user having a subscription for a VAS, it queries the user profile stored in the trigger server (206). If the user is subscribed for a service, a SIP
request message is formulated based on the user profile, wherein appropriate headers are populated with relevant parametric information and call context data. The service node (212) launches the SLP (216) based on the information provided in the request message and sends a SIP response message to the SIPext SSP (204) server with an instruction concerning the provisioning of the VAS.
The SIPext SSP server, thereafter, takes an appropriate action based on the response message and any parametric information contained therein.
request message is formulated based on the user profile, wherein appropriate headers are populated with relevant parametric information and call context data. The service node (212) launches the SLP (216) based on the information provided in the request message and sends a SIP response message to the SIPext SSP (204) server with an instruction concerning the provisioning of the VAS.
The SIPext SSP server, thereafter, takes an appropriate action based on the response message and any parametric information contained therein.
Description
y v SYSTEM AND METHOD FOR PROVIDING
VALUE-ADDED SERVICES (VAS) IN AN INTEGRATED
TELECOMMUNICATIONS NETWORK USING SESSION INITIATION
PROTOCOL (SIP) PRIORITY STATEMENT UNDER 35 U.S.C ~119(e) & 37 C.F.R. ~L78 This nonprovisional application claims prioritybased upon the following prior U.S. provisional patent application entitled: "System and Method for Providing Value-Added Services in IP Telephony," Ser. No. 60/140,013, filed June 18, 1999, in the names of Roch Glitho, Christophe Gourraud, and Evelina Evloguieva.
BACKGROUND OF THE INVENTION
Technical Field of the Invention The present invention relates to integrated telecommunication systems and, more particularly, to a system and method for provisioning Intelligent Network (IN}-based Value-Added Services in an integrated telecommunications network which includes a packet-switched network (PSN) portion operable with Session Initiation Protocol.
Description of Related Art Coupled with the phenomenal growth in popularity of the Internet, there has been a tremendous interest in using packet-switched network (PSN) infrastructures (e.g., those based on Internet Protocol (IP) addressing) as a replacement for, or as an adjunct to, the existing circuit-switched network (CSN) infrastructures used in today's telephony. From the network operators' perspective, the inherent traffic aggregation in packet-switched infrastructures allows for a reduction in the cost of transmission and the infrastructure cost per end-user. Ultimately, such cost reductions enable the network operators to pass on the concomitant cost savings to the end-users.
Some of the market drivers that impel the existing Voice-over-IP (VoIP) technology are: improvements in the quality of IP telephony; the Internet phenomenon;
emergence of standards; cost-effective price-points for advanced services via media-~O 00/79756 PCT/SE00/01276 rich call management, et cetera. One of the emerging standards in this area is the well-known Session Initiation Protocol (SIP), developed by the Internet Engineering Task Force (IETF) for multimedia communications over PSNs. Using SIP, devices such as personal computers can inter-operate seamlessly in a vast inter-network, sharing a mixture of audio, video, and data across all forms of PSNs which may interface with CSN portions.
As is well-known in the telecommunications industry, services and service provisioning are the raison d etre of a telecommunications network, including VoIP
networks. Services are typically categorized into (i} "basic services" (i.e., services which allow basic call processes such as call establishment and termination) or (ii) "advanced services" which are also commonly referred to as Value-Added Services (VAS). Examples of advanced services include split charging, 800-services, credit card calls, call forwarding, hunt group, et cetera. It is also well-known that advanced scrvices operate as factors for market differentiation and are crucial for network operators' (or service providers') success.
Value-Added Services in SIP-based VoIP networks are known as "standard telephony services" whose architecture draws quite heavily on the Internet's "end-to-end" paradigm and focuses on service creation. While service provisioning schemes based on SIP's service architecture offer certain strengths (e.g., flexibility in role mapping for realizing services with end-to-end connectivity and having intelligence distributed to the "edges" of the network), there exist several disadvantages and drawbacks. For instance, in SIP, service logic is provided to be co-located with the SIP-based 1P telephony entities. Accordingly, in current implementations, SIP-based networks do not have the capability to effectively access remote service logic, e.g., Intelligent Network (IN)-based logic, that is already deployed in the market and geared to provide an array of customer-validated VAS. Moreover, if the IN-based service logic were to be used today in the context of SIP, SIP-based entities would need to support IN protocols (i.e., IN Application Protocol (INAP) over Signaling System 7 (SS?) or over 1P) in order to remotely access the IN service node (e.g., Service Control Point or SCP) containing the service logic.
Those skilled in the art should readily appreciate that a significant part of the r iwo oon9~s6 rc~r~sEOOrou~6 problem in providing remote service access capability to SIP-based entities stems from the fact that the two protocols, SIP and IN, follow different approaches and cannot be easily combined harmoniously. As is well-known, SIP is a lightweight, text-based protocol designed for Internet applications where space efficiency is of little concern.
On the other hand, IN protocols are binary (i.e., coded in the Abstract Syntax Notation or ASN) and optimized far providing a large variety of VAS with parameters provided in rather complicated data structures. Using IN protocols to remotely access service logic in the context of SIP-based networks, accordingly, implies imposing additional fimctionality on IP telephony entities and introducing an extra category of "heavyweight" protocols in the network environment.
Based on the foregoing, it should be apparent that there has arisen an acute need for a service provisioning solution which advantageouslyprovides remote service access capability within a SIP-based telecommunications network. The present invention provides such a solution.
SUMMARY OF THE INVENTION
In one aspect, the present invention is directed to a method of providing a Value-Added Scrvice (VAS) in a telecommunications network operable with Session Initiation Protocol (SIP). The telecommunications network includes a SlPext SSP
server, a trigger server, and a service node supporting VAS that is operable with Intelligent Network Application Protocol (ITIAP). Before processing a call (originating or terminating) between two users, which is effectuated by receiving a request message in the SIPext SSP server, the SIPext SSP server consults a user profile stored in the trigger server when a message for a user subscribed with a service provider arrives thereat. While processing the call, upon encountering an armed detection point for the subscribed service, a SIP register request is formulated by the SIPext SSP server based on the user profile obtained from the trigger server.
The register request preferably includes at least one header field which contains information specifying an operation that the service node is to perform with respect to the VAS. The header field fiuther includes call context data associated with the call initiated by the first user.
i v WO 00179756 PC'tYSE00I0I276 Subsequently, the register request is transmitted by the SIPext SSP server to the service node which launches the SLP based on the operation specified in the header field and the call context data associated therewith. The service node then formulates a SIP response message and transmits it to the SIPext SSP server, the response message including a header field and a return result obtained in response to the execution of the SLP by the service node. The SIPext SSP server executes an action responsive to the header field and the return result in the response message received finm the service node, wherein the action corresponds to the provisioning of the VAS. In an exemplary embodiment, the return result. comprises a destination routing number for a call forwarding service subscribed by the second user.
In another aspect, the present invention is directed to an integrated telecommunications network for providing a Value-Added Service (VAS). The integrated telecommunications network comprises a SIPext SSP server which includes a proxy server and a service switching part. In one exemplary embodiment, the proxy server and the service switching part are addressable by two separate Internet Protocol (IP) addresses. The proxy server is provided for receiving a call initiation message from a first user with respect to a second user. The service switching part is included for determining if the second user has a subscription for the VAS. A trigger server containing user profiles associated with the VAS is also included in the telecommunications network. Also, the service switching part is provided with the capability for formulating a register request based on user profile information for the second user retrieved from the trigger server, wherein the register request includes a header field containing an operation associated with the VAS. The telecommunications network fiuther includes a service node which contains an Intelligent Network Application Protocol (iTIAP}-compliant Service Logic Program (SLP) associated with the VAS and a SlPext SSP interface server for receiving and interpreting the register request from the service switching part. Preferably, the service node executes the SLP based on the contents of the header field in the register request .
received from the service switching part.
BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the present invention may be had by reference to the following Detailed Description when taken in conjunction with the accompanying drawings wherein:
FIG.1 (Prior Art) depicts a simplified message flow diagram for an exemplary call setup scenario in a conventional SIP-based network;
FIG. 2 depicts a functional block diagram of the architecture of an exemplary integrated communications network wherein IN-based service logic (I.e., SCP) is advantageously accessed from a SIP-bascd network portion by utilizing Extended SIP
(ESIP or SIPExt) structures provided in accordance with the teachings of the present invention;
FIG. 3A depicts a functional message flow diagram which illustrates the basic operation of an integrated telecommunications network provided in accordance with the teachings of the present invention;
FIGS. 3B and 3 C depict a flow chart illustrating the steps involved in the basic operation of Extended SIP messaging used in an integrated telecommunications network;
FIGS. 4A and 4B depict exemplary INAP tree data structures for providing parametric data;
FIG. 5 depicts a functional message flow diagram illustrating the functionality of a SIPExt SCP node as a client;
FIG. 6 depicts a functional message flow diagram illustrating the functionality of a SIPExt SSP component as a client, wherein an Extended SIP REGISTER
message is forwarded to a SIPExt SCP node as result of event detection;
FIG. 7 depicts a functional message flow diagram illustrating the functionality of a SIPExt SSP component as a client, with its request to a SIPExt SCP node being unsuccessful;
FIGS. 8A - 8D depict various message flow diagrams for providing an exemplary Value-Added Service in an integrated communications network in accordance with the teachings of the present invention; and FIG. 9A - 9E depict various message flow diagrams for providing another WO OOI79756 ~ PCT/SE00/01276 exemplary VAS in an integrated communications network in accordance with the teachings of the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS
In the drawings, like or similar elements are designated with identical reference numerals throughout the several views, and the various elements depicted are not necessarily drawn to scale. Because the teachings of the present invention are particularly exemplified in the context of SIP-based messaging, a brief description thereof is set forth hereinbelow.
SIP is an application-layer control protocol that can establish, modify, and terminate multimedia sessions or calls with one or more participants. These multimedia sessions include, for example, multimedia conferences, multimedia distribution, distance learning, Internet Telephony, and similar applications.
Members in a session, typically denoted as users, can communicate via multicast or via a mesh of unicast relations, or a combination of both.
SIP can invite both persons and "robots," such as a media storage service to a session. Typically, SIP invitations used to create sessions carry session descriptions which allow participants to agree on a set of compatible media types. Also, SIP can be used to initiate sessions as well as invite members to sessions that have been advertised and established by other means. For example, SIP sessions can be advertised using multicast protocols such as Service Advertising Protocol (SAP), electronic mail, news groups, World-Wide Web ('WWV~ pages, directory access protocols such as Lightweight Directory Access Protocol (LDAP), among others.
SIP makes minimal assumptions about the underlying transport and network-layer protocols. The lower layers can provide either a packet or a byte-stream service, with reliable or unreliable service. In the Internet context, SIP is able to use both User Datagram Protocol (LJDP) and Transport Control Protocol (TCP) as transport protocols, among others.
In a SIP-based telephony network, users place calls via entities known as user agent clients (UACs) and receive calls via user agent servers (UASs).
Accordingly, a SIP 'user" is identified by a particular combination of a UAC and its associated r wo OOn9756 PCT/SE00/01276 _'7_ UAS. Also, usually, there may be intermediate servers between a calling party UAC
and the called party UAS. Some of the relevant SIP entities are briefly defined hereinbelow:
- User Agent Client: Also known as a calling user agent. It is an application which initiates a SIP request.
- User Agent Server: Also known as a called user agent. It is an application which contacts the end-user when a SIP request is received.
Also, it returns a response on behalf of the user since the user may select to accept, reject, or redirect the request - Proxy or Proxy Server: It is an intermediary application which acts as a client as well as a server for the purpose of making requests on behalf of other clients. As a server, it receives SIP requests from other SIP
entities. It either services the requests internally or acts as a client towards other servers in order to get the requests serviced. A proxy interprets and, if necessary, rewrites a request message before forwarding it.
- Redirect Server. It is an application which accepts a SIP request, maps the address into one or more new addresses and returns these addresses to the client. Unlike a proxy server, it does not initiate its own SIP
request. Also, unlike a UAS, it does not accept calls.
- Registrar: A registrar is a server that accepts REGISTER requests. It may typically be co-located with a proxy or redirect server.
Essentially, it operates as an application which allows end-users to register their current location.
The basic protocol functionality and its operation is summarized in the following. Calling parties (also referred to as "callers' and called parties (also referred to as "callees") are identified by SIP addresses which point to "obj ects" on a network. The objects are "users at hosts," having appropriate SIP Universal Resource Locators (LJRI,s) as addresses. The SIP URL typically takes a form similar to a mailto or telnet URL, i.e., user@host. The user part is generally provided as a user name or a telephone number. The host part typically comprises a domain name having a s WO OOI79756 ~ PGTISE00101276 _g_ Domain Name System (DNS) Server Name, CNAME, or a numeric network address, among others.
The client-server approach of the SIP methodology employs a text-based messaging scheme. A SIP message is either a request from a client to a server, or a ~
response from a server to a client. Both types of messages typically comprise a start-line, one or more header fields (also known as "headers', an empty-line (i.e., a Iine with no text before a carriage-return line-feed (CRLF)) indicating the end of the header fields, and an optional message body.
A S1P Request message format is usually as follows:
Request - Request-Line * (general header ~ request-header ~ entity header ) CRLF
[ message-body ]
After receiving and interpreting a Request message, a recipient (or sender) responds with a SIP Response message having a format shown below:
Response - Status-Line * (general header ~ response-header ~ entity-header ) CRLF
[ message-body ]
The Request-Line of a SIP Request message begins with a method token which allows a particular procedure or action from the requesting entity or the recipients) (or sender(s)) of the Request message. The following methods are currently implemented in SIP:
INVITE: used to request connection establishment. , ACK: allows clients to confirm that they have received a final response to an INVfTE Request.
BYE: used to request connection termination.
OPTIONS: used to query servers with respect to their capabilities.
REGISTER: conveys information about user location.
CANCEL: cancels pending Requests.
The header fields in SIP messages are provided for characterizing or further defining a particular end-to-end or hop-by hop message and the participating entities.
General header fields apply to both Request and Response messages. The "entity-header" fields define meta-information about the message-body or, if no body is present, about the resource identified by the message. The "Request-header"
fields allow the client (i.e., the requesting entity) to pass- additional information about the Request, and about the client itself, to the server. These fields act as Request message modifiers. The "Response-header" fields allow the server to pass additional information about the response which cannot be placed in the Status-Line.
These header fields include information about the server and about further access to the resource or resources identified in the Request message.
Depending upon the method token used in the message, the header fields are defined as 'required" (i.e., mandatory), "optional," and "not applicable."
Some of the mandatory header fields, regardless of the method token, are: "Call-ID", "Cseq"
(Command Sequence), "From", "To", and "Via", among others. An example of an optional header is the "Require" header field used by clients to inform UASs about the options that the client expects the server to support in order to properly process its Request. Whereas end-to-end headers are transmitted unmodified across all proxies, hop-by-hop headers may sometimes be modified by the proxies encountered in the hops.
Header fields follow a generic format wherein each header field consists of a name followed by a colon (":'~ and the field value. Field names are typically case-insensitive, while their values may be. A common form of the header fields is set forth below:
message-header = field-name ":" [field-value] CRLF
field-name - token field-value - * (field-content ~ Leading White Space) field-content - < the OCTETS making up the field-value and others >
WO 001?9?56 PGTISE00/012?6 A typical SIP transaction in a conventional IP network may be exemplified by referring to FIG. 1, wherein a simplified message flow diagram for a call setup scenario is depicted. A proxy server 104 is co-located with a SIP registrar for allowing users to register therewith. User-1 102 (shown as a combination of a UAC and UAS) and User-2106 (also provided as a combination of a UAC and UAS) are provided as the participants in this call setup scenario. It is fiu-ther assumed in this example that User-1 102 is the calling party and User-2 106, the called party with the SIP
URL
user2@location A, has moved to a new location user2@location B.
First, the UAC of User-2 106 registers its new location with the registrar co-located with the proxy server 104 by sending a REGISTER message 108. The SIP
URL associated with of the new location is provided as part of the REGISTER
message 108. Thereafter, when the UAC of User-1 102 sends an INVITE Request message 110 with user2@location A as the destination address, the proxy server obtains the new address of User-2 106 from the registrar and sends an I1~TVTTE
Request message 112 to User-2 on behalf of the calling party. In response, User-2 sends an INVTI'E Response 114 which is forwarded by the proxy server 104 to User-1.
It should be understood by those of ordinary skill in the art that other SIP
messages such as, for example, the ACK messages, are not shown in this simplified message flow diagram. After receiving the 1NVTTE Response message i 16 from the proxy by the calling party, a Call Session 118 may then be established between User-1 and User-2.
Whereas the brief overview of SIP functionality and messaging operation provided hereinabove is believed to set forth a pmper and adequate fr amework for the present invention, additional details may be found in the Internet Draft ietf mmusic-sip-ll.txt promulgated by the IETF and located at <httv:llv,~.~..~,;.-ietforgliitterjtel-drafrsldraft-ier -mmusic-sip-ll >. This Internet Draft is incorporated by reference herein.
Referring now to FIG. 2, depicted therein is a fimctional block diagram of the architecture of an exemplary integrated telecommunications network 200 wherein IN-based service logic is advantageously accessed from a SIP-based network portion. In accordance with the teachings of the present invention, SIP messaging formats are extended so that SIP servers are provided with the capability to access the service logic stored in IN-based nodes (i.e., SCPs). Essentially, the SIP servers and SCP
nodes are provided with service switching interfaces that interact and operate based on the extended SIP messaging, referred to as SIPext messaging hereinafter. Further, according to the extended SIP messaging scheme set forth herein, clients are expected to include an appropriate extension name in a Require header field when using the extensions of the present invention.
The integrated communications network includes one or more users as combinations of pure SIP UACs and UASs. For example, two users, User A 202A
and User A 202B, are illustrated in the architecture shown in FIG. 2. A trigger server 206 is provided for storing user profiles which contain, for example, lists of services for which users have subscriptions.
One or more SIPext Service Switching Point nodes (SSPs) (for example, SIPext SSP node 204 operating as a switching node) are provided within the integrated communications network 200 for interacting with the various users and trigger server or servers of the SIP network portion. Further, the SIPext SSP 204 is provided with the capability to interact with an IN service node in a manner described in greater detail hereinbelow.
In a presently preferred exemplary embodiment of the present invention, the SIPext SSP nods 204 is comprised of two functional parts: a SIP server part 208 and a SIPext Service Switching part 210, each of which may be separately IP-addressable.
The SIP server part 208 preferably operates as a pure SIP proxy server and provides the basic call services, that is, call setup and call termination. The SIPext Service Switching part 210 is provided as a SIPcxt server that operates as an IN SSP.
The SIPext Service Switching part 210 preferably provides the following functionality:
- trigger detection;
- sending SIPext Request messages to an IN SCP for triggering appropriate Service Logic Program (SLP) execution;
- sending Requests and Responses for interaction with an already running SLP;
- receiving and interpreting SIPext Rcquests or Responses from an SCP;
and - transferring control to the SIP server part 208 for performing related SIP signaling.
In accordance with the teachings of the present invention, an IN SCP is also .
provided with the functionality of a SIPext server 214 (preferably operating as a SIPext SSP interface server), thereby becoming a SIPext SCP node 212. The SIPext server 214 of the SIPext SCP node 212 preferably performs the following:
- providing for the communication with the SIPext SSP 204;
- interpreting SIPext messages;
- transferring control to one or more IN SLPs (e.g., SLP 216); and - formulating appropriate SIPext messages.
As mentioned in the foregoing, the SIPext SSP node 204 may preferably be provided with two IP-addresses, IP ADDRI 209 and IP ADDR2 211. It should be readily appreciated by one of ordinary skill in the art that IP ADDRI 209 corresponds to the pure SIP part, i.e., the SIP server 208, responsible for the call setup between the end parties. The other IP-address, IP ADDRZ 211, corresponds to the Service Switching part 210 of the SIPext SSP 204. In the examples described in greater detail hereinbelow, these two IP addresses are denoted as '~rovider.com" and "ssp.pmvider.com", respectively.
It should be realized that having two separate addresses makes it possible to distinguish between SIPext-SCP messages and those associated with the pure SIP
network nodes. For example, a Response message sent to the pure SIP part (i.e., SIP
server 208) of the SIPext SSP node 204 means that the message needs to be processed as part a basic call service. Can the other hand, if a Response message is sent to the Service Switching part 210 of the SIPext SSP 204 using the IP ADDR2 211, that message is to be interpreted and processed according to SIPext rules.
Those skilled in the art should understand that it is also possible for the SIPext SSP node 204 to have only one IP address. However, this condition would require that the SIPext messages be distinguished from the pure SIP messages. It should be apparent that the Require: header field may be used to specify the type of messaging and, for example, by providing Require: inap.sip in the message header, the SlPext SSP 204 may be notified that the message is a SlPext message to be processed by the SIPext Service Switching functionality part 210. Clearly, this approach requires that all messages directed to the IP address of the SIPext SSP node 204 be first classified by their Require: header.
FIG. 3A depicts a functional message flow diagram which illustrates the basic operation of an integrated communications network provided in accordance with the teachings of the present invention. User A 202A places a call to User B 202B
using a pure SIP message, INVTfE 302. When the message is received in the SIPext SSP
node 204, the SIPext SSP node queries or consults with the trigger server 206 via a suitable 1P message 303 to obtain user profile information pertaining to User B 202B.
While processing a call, upon encountering an armed detection point for the subscribed service, the SIPext SSP node 204 formulates a suitable SIPext request message 304 and forwards it to the service node, SIPext SCP 212. As will be explained in greater detail hereinbelow, the SIPext message 304 is a SIP-compatible message with additional header/field information specifying the service trigger to be handled the service node 212. Preferably, the SIPext request messages take the form of SIP REGISTER messages with INAP-compliant service-related information in the additional headers and fields. Analogously, SIPext responses assume the form of suitable SIP messages with additional headers and fields also.
Continuing to refer to FIG. 3 A, upon receiving the SIPext REGISTER message 304, the service node 212 performs the service specified therein and provides a SIPcxt OK response 306 to the SIPext SSP node 204 if the SLP is successfully executed.
Responsive to the SIPext OK response, the SIPext SSP node analyzes its header fields which specify what the SIP Server part of the SIPext SSP node 204 should do.
Accordingly, the SIP Server routes the call using a pure SIP message 308, based on the results obtained from the SLP in the service node 212.
In the exemplary SIPext operation described above, it is possible that the SLP
may not be successfi~lly executed for some reason and, consequently, an error message may be generated by the service node 212. Upon receiving the error message, the SIPext SSP node 204 may reformulate the REGISTER message and forward it to the service node again, return an error response to User A 202A, or perform some other action.
FIGS. 3B and 3C depict a flow chart of the steps involved in the basic SIPext operation described hereinabove. Upon receiving a message in the SIPext SSP
node (step 322), the SIPext SSP node retrieves the user profile of the recipient {or sender) (step 324). Based on the user profile information obtained from the trigger server, the SIPext SSP node may behave as a standard SIP server or formulate a SIPext request message (step 328) and transmits it to a service node with an appropriate SIPext interface, wherein the service node is capable of executing SLPs associated with VAS
{step 330).
Upon receiving the SIPext request message from the SIPext SSP node, the service node interprets the information provided in the request message to construct a suitable INAP instruction (step 332) that launches the execution of one or several SLPs (step 334). Thereafter, the service node transmits the results (including error messages, if any) obtained from the SLP operation {i.e., successful execution, non-execurion, or partial execution, etc.) to the SIPext SSP node in a SIPext response message (step 336). Subsequently, the SIPext SSP node takes an appropriate action (call routing, error reporting, reformulating the SIPext request message, etc.) on the basis of the result information received from the service node {step 338).
Thereafter, the process flow associated with the basic SIPext operation ceases (step 340).
The structure of the SIPext header fields for SIPext messaging in accordance with the teachings of the present invention is now set forth immediately hereinbelow.
Those skilled in the art should appreciate that the extension of SIP' messages as provided herein advantageously allows the use of SIP as a protocol for communication between SIP entities and IN-based SCPs. Further, the SIPext messaging provides a useful Internet implementation of INAP such that the benefits of integrating PSNs and CSNs in the context of telecommunications may be expeditiously realized.
In a presently preferred exemplary embodiment of the present invention, the following four header fields are defined:
- eration:
The Operation: header field advises the recipient (or sender) entity to perform the operation specified in the content of the header. In addition to the name of the WO 00!99756 PCT/SE00/012~6 operation, the header may preferably contain the parameters of the operation, if any.
Further, the operation and the parameters' name, type, and value correspond to those defined in INAP.
The format of the Operation header field in the Backus-Naur form (i.e., BNF
notation) is given below:
Operation = "Operation" ":" name-operation ' ;" [operation-param]
name-operation =1 *alpha operation-param = *("parameter" ":" parameter-value ".") parameter = *(/(1 *alpha)) parameter-value = *DIGTT ~ *CHAR ~ Boolean ~ * OCTET
Some of the examples of this header field and the translation of INAP data structures (used for the header arguments) in accordance with the teachings of the present invention are set forth later on hereinbelow.
- Result-on:
The Result-op: header field carries the results) of the successful execution of an operation. This header is preferably present in the response message only, if the operation requires that the results) of the operation be sent back to the entity that invoked the operation (i.e., SIPext SSP node or SIPext SCP, for example).
The format of the Result-op: header in the usual BNF notation is given below:
Result-op = "Result-op" ":" [result-arguments]
result-arguments = *("arglIment's u~syg~~t-value "'") a argument = *(/1 *alpha)) argument-value = *DIGIT ( *CIiAR ~ Boolean ~ *OCTET
Example: Result-op:/digitsResponse:456;
This example shows the result returned after the execution of ReceivedInformation operation and represents an instance of the ReceivedInformationArg parameter.
- Error-oo:
The Error-op: header field is used to convey information regarding an unsuccessful operation and the reason or reasons therefor.
The BNF format of the Error-op: header is:
~ WO OOI79756 PGT/SE00/01276 Error-op = "Error-op" ":" error-name ' ;" [*(error-parameters [":" parameter-value)] ' ;"]
error-name = 1 *alpha error-parameters = *(1 *alpha) parameter-value = *DIGTT ~ *( 1 *alpha) Some of the examples of the Error-op: header field usage are below:
Error-op: CancelFailed; pmblem:unknownOperation; operation:b54 Error-op: MissingParameter;
_ Osea:
In a presentlypreferred exemplary embodiment, the SIPext node that generates a SIPext REGISTER request adds the Oseq: header field to every request. The contents of this field represent the order of the operation requests sent for a specific Call-Id such that the operations are preferably executed in the same order.
The Oseq:
sequence number is also used to match the responses to the requests.
The format of the Oseq: header field is as follows:
Oseq = "Oseq" ":" 1 *DIGTT "REGISTER"
Example: Oseq: 3 REGISTER
Based on the foregoing discussion, it should be apparent that the contents of the Operation: header field provided in accordance with the teachings of the present invention essentiallycontrol the SIPext functionality between two SIPext entities such as, for example, the SIPext SSP node 204 and the SIPext SCP 212 depicted in FIG.
3A. As briefly alluded to hereinabove, the arguments in the Operation: header field dictate the context of the operation and preferably correspond to the parametric information necessary for executing INAP-compatible operations by the receiving entity.
The INAP parametric information is optimized for supporting a large variety of VAS and, consequently, is specified in the Abstract Syntax Notation-1 (ASN.1 format) which is well suited for a "heavyweight" protocol (such as INAP) requiring rather complicated data structures like nested formats, uni- and mufti-dimensional trees, etc. for representing numerous optional elements. However, those skilled in the art should appreciate that the text-based parameter-value structure of the Internet application protocols, including SIP, are optimal where the parameters are not heavily structured and values are typically provided as simple lists. Accordingly, the present invention advantageously provides a solution for representing INAP-compatible parametric information in a linear format that is highly efficient for a "lightweight"
Internet application protocol such as SIP in the form of SIPext messaging.
Referring now to FIGS. 4A and 4B, depicted therein are two exemplary operation arguments that illustrate the tree data structures of INAP. In FIG.
4A, InitialDp operation argument 402 represents a uni-dimensional tree data structure. The following parameters are specified: serciceKey 404; dialedDigits 406;
triggerType 408; and miscCallinfo 410 which is comprised of messageType 412 and dpAssignment 414.
A mufti-dimensional tree data structure is exemplified by CallInformationReportArg 416 as illustrated in FIG. 4B. It can be seen that at each level in the data hierarchy, parameters have multiple paths, i.e., multiple origins in prior levels. A RequestedInformation List 418 is comprised of multiple requestedInformationValue elements 422 and 426, and multiple requestedInformationType elements 420 and 424.
Regardless of the dimensionality of the tree data structure, the present invention provides two mechanisms for linearly describing the argument data.
In one exemplary embodiment, the basic data types (i.e., the leaves in the tree) are identified with the full path of data types that are above them in the hierarchy of the argument data structure. This path, accordingly, explicitly describes their location in the argument data structure tree. The receiving entity is provided with the knowledge regarding the corresponding argument data structure and the data types it is made of.
The InitialDp operation argument 402 is thus represented in a linear format as follows:
/serviceKey:40, /dialedDigits:8876hjgda, /triggerType: oAnswer, /miscCallInfo/messagcType:request, ImiscCallInfo/dpAssignment:individualLine.
The CallInformationReportArg 416 may be described by the sequence:
/requestedInformationList/requestedInformationType:callStopTime, /requestedInformationList/requestedInformationValue:457, /requestedInformationList/requestedInformationType:callElapsedTime, /requestedInformationList/requestedInformationValue:20, /correlationId: l l l .
In a second exemplary embodiment, each basic data type is identified with one parameter name. In the example of the InitialDp operation argument 402, the parameters can be described with the following names:
/serviceKey:40, /dialedDigits:8876hjgda, /triggerType: oAnswer, /messageType:request, /dpAssigament:individualLine.
In the example ofthe CallInformationReportArg 416, the following sequence specifies the parametric information:
/requestedInformationType:callStopTime, IrequestedInformationValue:457, /requestedInformadonType:callElapsedTime, /requestedInformationValue:20, /correlationId:l 11.
In the second approach, the entity interpreting the operation is required to match the parameter name with its location (field) in the linear data structure storing the data, in addition to possessing the knowledge regarding the argument data structure and its building data types.
Using either of the approaches set forth above for "Iinearizing" the INAP
parametric information, it is possible to efficiently pack the VAS-related operations within the extended header fields of the SIPext messages in accordance with the teachings of the present invention. As set forth in the basic SIPext operation described with reference to FIGS. 3A - 3C hereinabove, the functionality ofthe SIPext SSP node (acting as a client) typically includes formulating suitable SIPext REGISTER
messages with appropriate extended header fields for executing IN-based SLPs.
The receiving SIPext SCP node, accordingly, operates as a server towards the requesting SIPext SSP node.
The functionality of a SlPext SCP node as a server may now be described in greater detail, taking particular reference to the extended header field information set forth above. Upon receiving a SIPext REGISTER request, the SIPext SCP node checks whether the request comes from a SIPext SSP node by examining the topmost Via: header field. Using the Oseq: sequence number field, it determines whether the request needs to be processed next. The request may be postponed if there are other requests with smaller Oseq: numbers either in process queue or have not been received S yet. Accordingly, the SIPext SCP node maintains a counter or other suitable mechanism for monitoring the number of the last request processed for every Call-Id.
Thereafter, the SIPext SCP node searches for Operation: header fields in the request. While all other headers (e.g., pure SIP headers which are not service related) and their contents remain unprocessed, the Operation: headers are parsed and, depending on the name or names of the opcration(s), the corresponding INAP
operation is performed using the linearized parametric data. For example, an SLP may be launched by the SIPext SCP node using such parametric data.
If the operation is executed successfully, an OK response is generated. The I 5 OK response may contain another Operation: header field or a Result-op:
header field.
Pure SIP headers not related to service are simply copied in the OK response.
On the other hand, if the operation is not executed successfully, an INAP error message is generated which is translated by the SIPext SCP node into a SIP error response. An Error-op: header is included in the response specifying the INAP error and parameters associated therewith. The following table, Table I, gives examples of INAP
errors and the corresponding SIP error responses used for transporting them to the SIPext SSP
node.
Table I
INAP ERRORS SIP ERROR
RESPONSES
MissingParameter 400 Bad Request ParameterOutOfRange 400 SystemFailure 500 Server Internal Error MissingCustomerRecord 500 TaskRefiised 400 UnexpectedComponentSequence400 UnexptectDataValue 400 UnexpectedParameter 400 R uestedInfoError 400 In some instances, the SIPext SCP node may operate as a client by requesting the SIPext SSP node to execute an operation. Referring now to FIG. 5, depicted therein is a fimctional message flow diagram illustrating the functionality of a SIPext SCP node as a client. The SIPext SCP node 212 transmits a REGISTER message 502 to the SIPext SSP node 204 specifying the operation and its parameters in the Operation: header field. Generally, a REGISTER request sent by the SIPext SCP
node 212 requires the execution of operations that are not related to the call setup and, accordingly, the header fields carry less information than the headers in the REGISTER messages transmitted by the SIPext SSP node as a client. Also, the requests sent by the SIPext SCP node 212 are used in general to instruct the SIPext SSP node 204 (which acts as a server) to perform some call monitoring and event notification actions.
After sending the REGISTER request 502, the SIPext SCP node 212 waits for a response message (e.g., OK response 504) from the SIPext S SP node 204. Once the response message is received, it is processed by the SIPext SCP node 212 to parse the Result-op: or Error-op: headers.
The fimctionality the SIPext SSP node is now described in greater detail, with particular reference to the header field information provided hereinabove. As shown in FIG. 2, the SIPext SSP node 204 is comprised of the SIP server 208 (using pure SIP
messaging) which performs the basic call setup and termination, and the Extended SIP
(ESIP) Service Switching (SS) part or module 210 which is responsible for the signaling communication with the SIPext SCP node 212. In the context of the present patent application, accordingly, the functionality of the ESIP SS module 210 of the SIPext SSP node is focused in particular when the functionality of the SIPext SSP
node is addressed herein.
In general, the SIPext SSP node (and its ES1P SS module 210) functions as a client towards the SIPext SCP node, as explained above with respect to the basic SIPext operation depicted in FIGS. 3A - 3C. The SS module sends requests to the SIPext SCP node in two situations: (i) when a trigger for a service is detected, or (ii) an event that needs to be reported to the SIPext SCP node. In a presently preferred exemplary embodiment of the present invention, the ESIP SS module 210 monitors all the INVITE messages sent to the pure SIP proxy server 208 of the SIPext SSP node 204 (shown in FIG. 2) in order to be able to detect service-based triggers. In the exemplary embodiment shown in FIG. 3A, the SIP proxy server 208 is identified with the IP address provider.com and the IhTVITE messages sent to this IP address are accordingly monitored by the ESIP SS module 210. If the recipient (or sender) of an INVITE message (i.e., User B 202B in FIG. 2) has a subscription for a VAS, the ESIP
SS module 210 formulates the REGISTERrequest for the SIPext operation as follows:
- Copies all the headers of the INVITE request so that the ESIP SS
module may operate in a "stateless" mode (i.e., the SS module does not have to memorize the call state when the REGISTER request is sent to the SIPext SCP node).
- Adds a Via: header field containing the address of the ESIP SS
module.
- Adds a Oseq: header containing the sequence number of the REGISTER request. This sequence number is used by the ESIP SS
module to match the responses from the SIPext SCP node with its REGISTER requests. It is also used by the SIPext SCP node to execute the requested operations in a sequential order.
- Adds one or more Operation: headers which specify the operations) to be executed by the SIPext SCP node, including the parametric information therefor that is linearized as described above.
FIG. 6 depicts a functional message flow diagram illustrating the situation when a REGISTER request 602 is sent as a result of event detection. As can be appreciated by those skilled in the art, there may be some services which require that the ESIP SS module report to the SIPext SCP node the occurrence of some specific event. Accordingly, the ESIP SS module formulates the REGISTER request 602 with the header fields as follows:
- To:, From:, Call-Id:, Cseq: headers are included for carrying the contents of a call context. In most cases, the contents of these headers are not used for the execution of the requested operation because, generally, all the call context data needed is present in the Operation:
header.
- Oseq: header is used for sequencing the requests as explained above.
- Via: header is used for specifying that the request is generated by the ESIP SS module of the SIPext SSP node 204. For REGISTER
requests that are generated due to event detection, typically there is only one Via: header.
- Operation: header that specifies the operation to be executed and its parameters.
In response to the REGISTER request 602 requesting an operation to be performed by the SIPext SCP node 212, an OK message 604 may be transmitted back to the ESIP SS module of the SIPext SSP node 204 if the request 602 is successfully processed by the node 212. The OK response 604 preferably contains the SIPext Oseq: header and Operation: header, in addition to the following pure SIP
headers:
To:, From:, Call-Id:, and Via:. If the Operation: header is present, the ESIP
SS module is required to perform the operation specified therein. For example, if the Operation:
header indicates that the call has to be muted to a call forwarding number (i.e., the C-number), the ESIP SS module formulates the corresponding SIP request and transfers control to the pure SIP proxy server of the SIPext SSP node 204.
FIG. 7 depicts a functional message flow diagram which illustrates the scenario wherein a SIPext REGISTER request (e.g., REGISTER request 702) is not successfully processed by the SIPext SCP node 212. A Bad Request message 704 is generated as a response, which preferably contains an Error-op: SIPext header for specifying the error type and parameters (if any).
Depending on the contents of the Error-op: header and related parametric information, the ESIP SS module of the SIPext SSP node 204 may take different actions. For example, it may retransmit the REGISTER request 602 immediately or after a predetermined time set forth in the Error-op: header field. Or, it may formulate a SIP message and transfer it to the SIP proxy server so that the caller is notified of a suitable response.
Referring now to FIGS. 8A - 8D, depicted therein are several functional message flow diagrams which illustrate an exemplary VAS implementation using the SIPext protocol of the present invention. More specifically, the provisioning of a freephone / call forwarding service in accordance with the teachings of the present invention is illustrated. First, an exemplary service implementation using INAP is set forth in order to provide a fi~amework for service provisioning with SIPext protocol.
Thereafter, service-specific messages using the protocol are illustrated by way of the functional message flow diagrams.
Those skilled in the art should appreciate that depending on network-specific mechanisms for charging, there are several possible implementations of the call forwarding service in an IN-compliant environment. In the example provided herein, service charges are computed by the SCP. The exemplary INAP service implementation is described by the following sequence (where "--" denotes an operation sent from SSP to SCP; "-" denotes an operation sent from SCP to SSP):
1. -- InitialDp(ScrviceKey = 0800, calledPariyNumber = 3456789) 2. ~ Connect(destinationRoutingAddress = 6543210, correlationId =1111) RequestReportBCSMEvent(eventTypeBCSM = o Answer, monitorMode=notifyAndContinue, eventTypeBCSM=o Disconnect, monitorMode =notifyAndContinue, bcsmEventCorrelationId =1111 ) 3. - EventReportBCSM(eventTypeBCSM - o-Answer, bcsmEventCorrelationId =1111 ) 4. -- EventReportBCSM(eventTypeBCSM - o Disconnect, bcsmEventCorrelationId = 1111 ) Referring now to FIG. 8A, User A 202A at a host (denoted as Ahost) places a call to User B with address 8003234(a~arovider.com by way of an INVTTE
message 802. Upon receiving the INVTTE message, the SIPext SSP node 204 consults a trigger server (not shown) and determines that User B has a subscription with respect to the freephone / call forwarding service. Thereafter, a SIPext REGISTER message 804 containing two SIPext headers is formulated by the SIPext SSP node 204. The S Operation: header specifies the SLP associated with the subscribed service that needs to be launched, and carries the call context data required for its execution.
In the present example, this data is carried in the Called Party Number (B-number) parameter. Further, the Oseq: header is provided in accordance with the teachings of the present invention for specifying the operation sequence number.
Upon receiving the SIPext REGISTER message 804, the SIPext SCP node 2I2 analyzes the SIPext headers and launches the freephone SLP. After successfully executing the program, it generates an OK response 806 by copying all headers from the REGISTER message 804 except the Operation: headers. Two new Operation:
headers are formulated by the SIPext SCP node instead, based on the results obtained from the SLP execution. The first one (Connect operation) specifies the destination number to which the call is to be routed or forwarded. The second operation header, Operation: RequestEventReport, instructs the SIPext SSP node to notify the SCP
node for a Call Accepted (o_Answer) event or a Call Disconnected (o Disconnected) event.
After receiving the OK response 806, the SIPext SSP node 204 executes the operations specified therein. The Connect operation results in generating a pure SIP
INVITE request 808 and transmitting it over the SIP network to the forward address 4456 ,-fpmvider.com. Responsive to the RequestEventReport operation, the SIPext SSP node 204 monitors the messages with the specific Call-Id number and in order to notify the SCP node 212 if an ACK or BYE message is generated for that Call-Id.
Those skilled in the art should readily appreciate that the ACK message conresponds to the IN o Answer (i.e., Call Accepted) event, and BYE corresponds to the o Disconnect (i.e., Call Disconnected) event.
FIG. 8B depicts the flow of SIP messages exchanged when a user 202C (i.e., User C) at the host 4456 accepts the forwarded call. An OK message is transmitted back from User C to the pure SIP proxy server part of the SIPext SSP node 204 which then forwards it to the caller, i.e., User A 202A as an OK response 812.
FIG. 8C depicts the flow of messages when the SIPext SSP node 204 receives an ACK message 813 from the caller's user agent in response to the OK response 812.
The ACK message 813 is proxied by the SSP node 204 to User C 202C as the ACK
response 814. Thereafter, a SIPext REGISTERrequest 815 is generated, including the BCSMEventReport operation for notifying the SIPext SCP node 212 the occurrence of the o Answer event. In response, the SIPext SCP node 212 transmits an OK
conformation 816 to the SSP node 204 and launches an SLP that bills the call on the 4456 account.
The SIPext SSP node 204 continues to monitor the signaling messages for the Call-Id associated with the caller (User A's Call-Id, e.g., 123@Ahost). When one of the parties decides to terminate the connection, its user agent issues a BYE
request, which corresponds to an o Disconnect event. FIG. 8D depicts the scenario where User A 202A issues the BYE request 818 to the SIPext SSP node 204. In response, a proxy BYE 824 is provided to the callee, i.e., User C 202C. Thereafter, a SIPext REGISTER request 820 containing the EventReportBCSM operation header is generated towards the SCP node 212. In response to the o Disconnect event reported from the SIPext SSP node 204, the billing SLP in the SCP node completes the call billing process. An OK response 822 is transmitted back to the SSP node 204, preferably without any Operation: headers, as there is no need for additional actions from the SCP or SSP nodes.
FIGS. 9A - 9E depict functional message flow diagrams for a call distribution service provided in accordance with the teachings of the present invention.
The following conditions are adopted in the exemplary scenario provided herein:
1. User B has a subscription for the call distribution Service.
2. The maximum number of calls that User B is allowed to answer is 50 calls per day.
3. If the number of calls received is greater than 50, the calls are forwarded to the C-number 6543210.
It should be readily apparent to those skilled in the art that the SIPext messages depicted in the FIGS. use the now-familiar header fields to instruct the SCP
to launch appropriate SLPs associated with the service, depending on whether the call number WO 00I'79756 PCTISE00/01276 threshold is reached or not. For the sake of brevity, accordingly, only the salient features of this example are set forth hereinbelow.
FIGS. 9A - 9D illustrate the condition where the subscriber/user encounters fewer than 50 calls. Calls are passed to User B after appropriate SIPext REGISTER
S and OKmessages between the SIPext SSP node 204 and SIPext SCP node 212 which executes the call distribution SLP. Where there is a busy signal 924 from User B
202B, as shown in FIG. 9C, the SIPext SSP node 204 proxies the same to the caller at Ahost {User A 202A) and notifies the SCP node 212 via a REGISTER request 920.
A Temporarily Unavailable response 926 {illustrated in FIG. 9D) is provided to User A 202A when User B's agent sends repeated Ringing messages 932 back to the SIPext S SP node 204 and a timer associated with the user response expires.
Furthermore, the SSP node 204 notifies the occurrence of o NoAnswer event to the SCP node 2I2 via a REGISTER request 928.
FIG. 9E depicts the situation where more than 50 calls are encountered by the I S user. The call distribution SLP in the SIPext SCP node 212 provides a routing number using the Operation: Connect header in the OK response 938, which is subsequently used by the SIP proxy portion of the SIPext SSP node 204 to forward the calls to User C 202C at 6543210.
Based on the foregoing, it should be appreciated that the present invention advantageously extends the capabilities ofthe existing SIP implementations to include access to the WIN/IrT service logic base that is already installed and market-tested.
Accordingly, the installed service base may continue to be re-used even as SIP-based VoIP network architectures evolve in the future. Those of ordinary skill in the art should realize that there exist tremendous incentives, economic as well as infrastructure-based, for network operators to re-use the expensive legacy SCP
nodes as they migrate towards integrating the cellular infrastructures with IP-based PSNs.
In addition, by appropriately linearizing the INAP parametric information in the header fields of SIPext messages, the present invention solves the problem of having to support multiple protocols in a network in order to provide the capability to access remote service logic nodes.
Further, it is believed that the operation and construction of the present WO 00/79756 PC'T/SE00/01276 invention will be apparent from the foregoing Detailed Description. While the method and system shown and described have been characterized as being preferred, it should be readily understood that various changes and modifications could be made therein without departing from the scope of the present invention as set forth in the following claims. For example, although the teachings of the present invention have been exemplified with two particular services, it should be understood that other VAS may also be provisioned in accordance with the teachings of the present invention.
That is, in addition to the call forwarding and call distribution services exemplified herein, the teachings hereof may be also applied in the context of the following services: toll free and credit card calling, cellular hunt, selective call restriction, click to fax, double phone / freephone, split charging, and multimedia applications such as tele-medicine, tele-education, video-on-demand, et cetera.
Furthermore, while generic SIP user agents have been described in the exemplary embodiments of the present invention, any combination of SIP-compliant entities such as intelligent mobile stations operable with a variety of air interface standards, taken in conjunction with VAS-enabled Personal Digital Assistants, "smart"
phones, personal computers, laptop computers, palmtop computers, Information Appliances, wireless transceiver wrist watches, pagers, et cetera, may be provided for the purposes of the present invention. In addition, the innovative teachings contained herein may also be practiced in a VoIP network coupled to a PSTN, wherein the SIPext SSP node can trigger ESIP service requests to a service node having an appropriate SIPext server interface. Moreover, although the teachings of the present invention are exemplified by employing a SIPext SSP node having two different IP
addresses, it should be appreciated that the present invention is not limited thereto and the innovative teachings contained herein may be advantageously practiced in networks having a SIPext SSP node with a single IP address also, wherein a suitable mechanism for differentiating between pure SIP and SIPext messages is provided.
Accordingly, it should be realized that these and other numerous variations, substitutions, additions, re-arrangements and modifications are contemplated to be within the ambit of the present invention whose scope is solely limited by the claims set forth below.
VALUE-ADDED SERVICES (VAS) IN AN INTEGRATED
TELECOMMUNICATIONS NETWORK USING SESSION INITIATION
PROTOCOL (SIP) PRIORITY STATEMENT UNDER 35 U.S.C ~119(e) & 37 C.F.R. ~L78 This nonprovisional application claims prioritybased upon the following prior U.S. provisional patent application entitled: "System and Method for Providing Value-Added Services in IP Telephony," Ser. No. 60/140,013, filed June 18, 1999, in the names of Roch Glitho, Christophe Gourraud, and Evelina Evloguieva.
BACKGROUND OF THE INVENTION
Technical Field of the Invention The present invention relates to integrated telecommunication systems and, more particularly, to a system and method for provisioning Intelligent Network (IN}-based Value-Added Services in an integrated telecommunications network which includes a packet-switched network (PSN) portion operable with Session Initiation Protocol.
Description of Related Art Coupled with the phenomenal growth in popularity of the Internet, there has been a tremendous interest in using packet-switched network (PSN) infrastructures (e.g., those based on Internet Protocol (IP) addressing) as a replacement for, or as an adjunct to, the existing circuit-switched network (CSN) infrastructures used in today's telephony. From the network operators' perspective, the inherent traffic aggregation in packet-switched infrastructures allows for a reduction in the cost of transmission and the infrastructure cost per end-user. Ultimately, such cost reductions enable the network operators to pass on the concomitant cost savings to the end-users.
Some of the market drivers that impel the existing Voice-over-IP (VoIP) technology are: improvements in the quality of IP telephony; the Internet phenomenon;
emergence of standards; cost-effective price-points for advanced services via media-~O 00/79756 PCT/SE00/01276 rich call management, et cetera. One of the emerging standards in this area is the well-known Session Initiation Protocol (SIP), developed by the Internet Engineering Task Force (IETF) for multimedia communications over PSNs. Using SIP, devices such as personal computers can inter-operate seamlessly in a vast inter-network, sharing a mixture of audio, video, and data across all forms of PSNs which may interface with CSN portions.
As is well-known in the telecommunications industry, services and service provisioning are the raison d etre of a telecommunications network, including VoIP
networks. Services are typically categorized into (i} "basic services" (i.e., services which allow basic call processes such as call establishment and termination) or (ii) "advanced services" which are also commonly referred to as Value-Added Services (VAS). Examples of advanced services include split charging, 800-services, credit card calls, call forwarding, hunt group, et cetera. It is also well-known that advanced scrvices operate as factors for market differentiation and are crucial for network operators' (or service providers') success.
Value-Added Services in SIP-based VoIP networks are known as "standard telephony services" whose architecture draws quite heavily on the Internet's "end-to-end" paradigm and focuses on service creation. While service provisioning schemes based on SIP's service architecture offer certain strengths (e.g., flexibility in role mapping for realizing services with end-to-end connectivity and having intelligence distributed to the "edges" of the network), there exist several disadvantages and drawbacks. For instance, in SIP, service logic is provided to be co-located with the SIP-based 1P telephony entities. Accordingly, in current implementations, SIP-based networks do not have the capability to effectively access remote service logic, e.g., Intelligent Network (IN)-based logic, that is already deployed in the market and geared to provide an array of customer-validated VAS. Moreover, if the IN-based service logic were to be used today in the context of SIP, SIP-based entities would need to support IN protocols (i.e., IN Application Protocol (INAP) over Signaling System 7 (SS?) or over 1P) in order to remotely access the IN service node (e.g., Service Control Point or SCP) containing the service logic.
Those skilled in the art should readily appreciate that a significant part of the r iwo oon9~s6 rc~r~sEOOrou~6 problem in providing remote service access capability to SIP-based entities stems from the fact that the two protocols, SIP and IN, follow different approaches and cannot be easily combined harmoniously. As is well-known, SIP is a lightweight, text-based protocol designed for Internet applications where space efficiency is of little concern.
On the other hand, IN protocols are binary (i.e., coded in the Abstract Syntax Notation or ASN) and optimized far providing a large variety of VAS with parameters provided in rather complicated data structures. Using IN protocols to remotely access service logic in the context of SIP-based networks, accordingly, implies imposing additional fimctionality on IP telephony entities and introducing an extra category of "heavyweight" protocols in the network environment.
Based on the foregoing, it should be apparent that there has arisen an acute need for a service provisioning solution which advantageouslyprovides remote service access capability within a SIP-based telecommunications network. The present invention provides such a solution.
SUMMARY OF THE INVENTION
In one aspect, the present invention is directed to a method of providing a Value-Added Scrvice (VAS) in a telecommunications network operable with Session Initiation Protocol (SIP). The telecommunications network includes a SlPext SSP
server, a trigger server, and a service node supporting VAS that is operable with Intelligent Network Application Protocol (ITIAP). Before processing a call (originating or terminating) between two users, which is effectuated by receiving a request message in the SIPext SSP server, the SIPext SSP server consults a user profile stored in the trigger server when a message for a user subscribed with a service provider arrives thereat. While processing the call, upon encountering an armed detection point for the subscribed service, a SIP register request is formulated by the SIPext SSP server based on the user profile obtained from the trigger server.
The register request preferably includes at least one header field which contains information specifying an operation that the service node is to perform with respect to the VAS. The header field fiuther includes call context data associated with the call initiated by the first user.
i v WO 00179756 PC'tYSE00I0I276 Subsequently, the register request is transmitted by the SIPext SSP server to the service node which launches the SLP based on the operation specified in the header field and the call context data associated therewith. The service node then formulates a SIP response message and transmits it to the SIPext SSP server, the response message including a header field and a return result obtained in response to the execution of the SLP by the service node. The SIPext SSP server executes an action responsive to the header field and the return result in the response message received finm the service node, wherein the action corresponds to the provisioning of the VAS. In an exemplary embodiment, the return result. comprises a destination routing number for a call forwarding service subscribed by the second user.
In another aspect, the present invention is directed to an integrated telecommunications network for providing a Value-Added Service (VAS). The integrated telecommunications network comprises a SIPext SSP server which includes a proxy server and a service switching part. In one exemplary embodiment, the proxy server and the service switching part are addressable by two separate Internet Protocol (IP) addresses. The proxy server is provided for receiving a call initiation message from a first user with respect to a second user. The service switching part is included for determining if the second user has a subscription for the VAS. A trigger server containing user profiles associated with the VAS is also included in the telecommunications network. Also, the service switching part is provided with the capability for formulating a register request based on user profile information for the second user retrieved from the trigger server, wherein the register request includes a header field containing an operation associated with the VAS. The telecommunications network fiuther includes a service node which contains an Intelligent Network Application Protocol (iTIAP}-compliant Service Logic Program (SLP) associated with the VAS and a SlPext SSP interface server for receiving and interpreting the register request from the service switching part. Preferably, the service node executes the SLP based on the contents of the header field in the register request .
received from the service switching part.
BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the present invention may be had by reference to the following Detailed Description when taken in conjunction with the accompanying drawings wherein:
FIG.1 (Prior Art) depicts a simplified message flow diagram for an exemplary call setup scenario in a conventional SIP-based network;
FIG. 2 depicts a functional block diagram of the architecture of an exemplary integrated communications network wherein IN-based service logic (I.e., SCP) is advantageously accessed from a SIP-bascd network portion by utilizing Extended SIP
(ESIP or SIPExt) structures provided in accordance with the teachings of the present invention;
FIG. 3A depicts a functional message flow diagram which illustrates the basic operation of an integrated telecommunications network provided in accordance with the teachings of the present invention;
FIGS. 3B and 3 C depict a flow chart illustrating the steps involved in the basic operation of Extended SIP messaging used in an integrated telecommunications network;
FIGS. 4A and 4B depict exemplary INAP tree data structures for providing parametric data;
FIG. 5 depicts a functional message flow diagram illustrating the functionality of a SIPExt SCP node as a client;
FIG. 6 depicts a functional message flow diagram illustrating the functionality of a SIPExt SSP component as a client, wherein an Extended SIP REGISTER
message is forwarded to a SIPExt SCP node as result of event detection;
FIG. 7 depicts a functional message flow diagram illustrating the functionality of a SIPExt SSP component as a client, with its request to a SIPExt SCP node being unsuccessful;
FIGS. 8A - 8D depict various message flow diagrams for providing an exemplary Value-Added Service in an integrated communications network in accordance with the teachings of the present invention; and FIG. 9A - 9E depict various message flow diagrams for providing another WO OOI79756 ~ PCT/SE00/01276 exemplary VAS in an integrated communications network in accordance with the teachings of the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS
In the drawings, like or similar elements are designated with identical reference numerals throughout the several views, and the various elements depicted are not necessarily drawn to scale. Because the teachings of the present invention are particularly exemplified in the context of SIP-based messaging, a brief description thereof is set forth hereinbelow.
SIP is an application-layer control protocol that can establish, modify, and terminate multimedia sessions or calls with one or more participants. These multimedia sessions include, for example, multimedia conferences, multimedia distribution, distance learning, Internet Telephony, and similar applications.
Members in a session, typically denoted as users, can communicate via multicast or via a mesh of unicast relations, or a combination of both.
SIP can invite both persons and "robots," such as a media storage service to a session. Typically, SIP invitations used to create sessions carry session descriptions which allow participants to agree on a set of compatible media types. Also, SIP can be used to initiate sessions as well as invite members to sessions that have been advertised and established by other means. For example, SIP sessions can be advertised using multicast protocols such as Service Advertising Protocol (SAP), electronic mail, news groups, World-Wide Web ('WWV~ pages, directory access protocols such as Lightweight Directory Access Protocol (LDAP), among others.
SIP makes minimal assumptions about the underlying transport and network-layer protocols. The lower layers can provide either a packet or a byte-stream service, with reliable or unreliable service. In the Internet context, SIP is able to use both User Datagram Protocol (LJDP) and Transport Control Protocol (TCP) as transport protocols, among others.
In a SIP-based telephony network, users place calls via entities known as user agent clients (UACs) and receive calls via user agent servers (UASs).
Accordingly, a SIP 'user" is identified by a particular combination of a UAC and its associated r wo OOn9756 PCT/SE00/01276 _'7_ UAS. Also, usually, there may be intermediate servers between a calling party UAC
and the called party UAS. Some of the relevant SIP entities are briefly defined hereinbelow:
- User Agent Client: Also known as a calling user agent. It is an application which initiates a SIP request.
- User Agent Server: Also known as a called user agent. It is an application which contacts the end-user when a SIP request is received.
Also, it returns a response on behalf of the user since the user may select to accept, reject, or redirect the request - Proxy or Proxy Server: It is an intermediary application which acts as a client as well as a server for the purpose of making requests on behalf of other clients. As a server, it receives SIP requests from other SIP
entities. It either services the requests internally or acts as a client towards other servers in order to get the requests serviced. A proxy interprets and, if necessary, rewrites a request message before forwarding it.
- Redirect Server. It is an application which accepts a SIP request, maps the address into one or more new addresses and returns these addresses to the client. Unlike a proxy server, it does not initiate its own SIP
request. Also, unlike a UAS, it does not accept calls.
- Registrar: A registrar is a server that accepts REGISTER requests. It may typically be co-located with a proxy or redirect server.
Essentially, it operates as an application which allows end-users to register their current location.
The basic protocol functionality and its operation is summarized in the following. Calling parties (also referred to as "callers' and called parties (also referred to as "callees") are identified by SIP addresses which point to "obj ects" on a network. The objects are "users at hosts," having appropriate SIP Universal Resource Locators (LJRI,s) as addresses. The SIP URL typically takes a form similar to a mailto or telnet URL, i.e., user@host. The user part is generally provided as a user name or a telephone number. The host part typically comprises a domain name having a s WO OOI79756 ~ PGTISE00101276 _g_ Domain Name System (DNS) Server Name, CNAME, or a numeric network address, among others.
The client-server approach of the SIP methodology employs a text-based messaging scheme. A SIP message is either a request from a client to a server, or a ~
response from a server to a client. Both types of messages typically comprise a start-line, one or more header fields (also known as "headers', an empty-line (i.e., a Iine with no text before a carriage-return line-feed (CRLF)) indicating the end of the header fields, and an optional message body.
A S1P Request message format is usually as follows:
Request - Request-Line * (general header ~ request-header ~ entity header ) CRLF
[ message-body ]
After receiving and interpreting a Request message, a recipient (or sender) responds with a SIP Response message having a format shown below:
Response - Status-Line * (general header ~ response-header ~ entity-header ) CRLF
[ message-body ]
The Request-Line of a SIP Request message begins with a method token which allows a particular procedure or action from the requesting entity or the recipients) (or sender(s)) of the Request message. The following methods are currently implemented in SIP:
INVITE: used to request connection establishment. , ACK: allows clients to confirm that they have received a final response to an INVfTE Request.
BYE: used to request connection termination.
OPTIONS: used to query servers with respect to their capabilities.
REGISTER: conveys information about user location.
CANCEL: cancels pending Requests.
The header fields in SIP messages are provided for characterizing or further defining a particular end-to-end or hop-by hop message and the participating entities.
General header fields apply to both Request and Response messages. The "entity-header" fields define meta-information about the message-body or, if no body is present, about the resource identified by the message. The "Request-header"
fields allow the client (i.e., the requesting entity) to pass- additional information about the Request, and about the client itself, to the server. These fields act as Request message modifiers. The "Response-header" fields allow the server to pass additional information about the response which cannot be placed in the Status-Line.
These header fields include information about the server and about further access to the resource or resources identified in the Request message.
Depending upon the method token used in the message, the header fields are defined as 'required" (i.e., mandatory), "optional," and "not applicable."
Some of the mandatory header fields, regardless of the method token, are: "Call-ID", "Cseq"
(Command Sequence), "From", "To", and "Via", among others. An example of an optional header is the "Require" header field used by clients to inform UASs about the options that the client expects the server to support in order to properly process its Request. Whereas end-to-end headers are transmitted unmodified across all proxies, hop-by-hop headers may sometimes be modified by the proxies encountered in the hops.
Header fields follow a generic format wherein each header field consists of a name followed by a colon (":'~ and the field value. Field names are typically case-insensitive, while their values may be. A common form of the header fields is set forth below:
message-header = field-name ":" [field-value] CRLF
field-name - token field-value - * (field-content ~ Leading White Space) field-content - < the OCTETS making up the field-value and others >
WO 001?9?56 PGTISE00/012?6 A typical SIP transaction in a conventional IP network may be exemplified by referring to FIG. 1, wherein a simplified message flow diagram for a call setup scenario is depicted. A proxy server 104 is co-located with a SIP registrar for allowing users to register therewith. User-1 102 (shown as a combination of a UAC and UAS) and User-2106 (also provided as a combination of a UAC and UAS) are provided as the participants in this call setup scenario. It is fiu-ther assumed in this example that User-1 102 is the calling party and User-2 106, the called party with the SIP
URL
user2@location A, has moved to a new location user2@location B.
First, the UAC of User-2 106 registers its new location with the registrar co-located with the proxy server 104 by sending a REGISTER message 108. The SIP
URL associated with of the new location is provided as part of the REGISTER
message 108. Thereafter, when the UAC of User-1 102 sends an INVITE Request message 110 with user2@location A as the destination address, the proxy server obtains the new address of User-2 106 from the registrar and sends an I1~TVTTE
Request message 112 to User-2 on behalf of the calling party. In response, User-2 sends an INVTI'E Response 114 which is forwarded by the proxy server 104 to User-1.
It should be understood by those of ordinary skill in the art that other SIP
messages such as, for example, the ACK messages, are not shown in this simplified message flow diagram. After receiving the 1NVTTE Response message i 16 from the proxy by the calling party, a Call Session 118 may then be established between User-1 and User-2.
Whereas the brief overview of SIP functionality and messaging operation provided hereinabove is believed to set forth a pmper and adequate fr amework for the present invention, additional details may be found in the Internet Draft ietf mmusic-sip-ll.txt promulgated by the IETF and located at <httv:llv,~.~..~,;.-ietforgliitterjtel-drafrsldraft-ier -mmusic-sip-ll >. This Internet Draft is incorporated by reference herein.
Referring now to FIG. 2, depicted therein is a fimctional block diagram of the architecture of an exemplary integrated telecommunications network 200 wherein IN-based service logic is advantageously accessed from a SIP-based network portion. In accordance with the teachings of the present invention, SIP messaging formats are extended so that SIP servers are provided with the capability to access the service logic stored in IN-based nodes (i.e., SCPs). Essentially, the SIP servers and SCP
nodes are provided with service switching interfaces that interact and operate based on the extended SIP messaging, referred to as SIPext messaging hereinafter. Further, according to the extended SIP messaging scheme set forth herein, clients are expected to include an appropriate extension name in a Require header field when using the extensions of the present invention.
The integrated communications network includes one or more users as combinations of pure SIP UACs and UASs. For example, two users, User A 202A
and User A 202B, are illustrated in the architecture shown in FIG. 2. A trigger server 206 is provided for storing user profiles which contain, for example, lists of services for which users have subscriptions.
One or more SIPext Service Switching Point nodes (SSPs) (for example, SIPext SSP node 204 operating as a switching node) are provided within the integrated communications network 200 for interacting with the various users and trigger server or servers of the SIP network portion. Further, the SIPext SSP 204 is provided with the capability to interact with an IN service node in a manner described in greater detail hereinbelow.
In a presently preferred exemplary embodiment of the present invention, the SIPext SSP nods 204 is comprised of two functional parts: a SIP server part 208 and a SIPext Service Switching part 210, each of which may be separately IP-addressable.
The SIP server part 208 preferably operates as a pure SIP proxy server and provides the basic call services, that is, call setup and call termination. The SIPext Service Switching part 210 is provided as a SIPcxt server that operates as an IN SSP.
The SIPext Service Switching part 210 preferably provides the following functionality:
- trigger detection;
- sending SIPext Request messages to an IN SCP for triggering appropriate Service Logic Program (SLP) execution;
- sending Requests and Responses for interaction with an already running SLP;
- receiving and interpreting SIPext Rcquests or Responses from an SCP;
and - transferring control to the SIP server part 208 for performing related SIP signaling.
In accordance with the teachings of the present invention, an IN SCP is also .
provided with the functionality of a SIPext server 214 (preferably operating as a SIPext SSP interface server), thereby becoming a SIPext SCP node 212. The SIPext server 214 of the SIPext SCP node 212 preferably performs the following:
- providing for the communication with the SIPext SSP 204;
- interpreting SIPext messages;
- transferring control to one or more IN SLPs (e.g., SLP 216); and - formulating appropriate SIPext messages.
As mentioned in the foregoing, the SIPext SSP node 204 may preferably be provided with two IP-addresses, IP ADDRI 209 and IP ADDR2 211. It should be readily appreciated by one of ordinary skill in the art that IP ADDRI 209 corresponds to the pure SIP part, i.e., the SIP server 208, responsible for the call setup between the end parties. The other IP-address, IP ADDRZ 211, corresponds to the Service Switching part 210 of the SIPext SSP 204. In the examples described in greater detail hereinbelow, these two IP addresses are denoted as '~rovider.com" and "ssp.pmvider.com", respectively.
It should be realized that having two separate addresses makes it possible to distinguish between SIPext-SCP messages and those associated with the pure SIP
network nodes. For example, a Response message sent to the pure SIP part (i.e., SIP
server 208) of the SIPext SSP node 204 means that the message needs to be processed as part a basic call service. Can the other hand, if a Response message is sent to the Service Switching part 210 of the SIPext SSP 204 using the IP ADDR2 211, that message is to be interpreted and processed according to SIPext rules.
Those skilled in the art should understand that it is also possible for the SIPext SSP node 204 to have only one IP address. However, this condition would require that the SIPext messages be distinguished from the pure SIP messages. It should be apparent that the Require: header field may be used to specify the type of messaging and, for example, by providing Require: inap.sip in the message header, the SlPext SSP 204 may be notified that the message is a SlPext message to be processed by the SIPext Service Switching functionality part 210. Clearly, this approach requires that all messages directed to the IP address of the SIPext SSP node 204 be first classified by their Require: header.
FIG. 3A depicts a functional message flow diagram which illustrates the basic operation of an integrated communications network provided in accordance with the teachings of the present invention. User A 202A places a call to User B 202B
using a pure SIP message, INVTfE 302. When the message is received in the SIPext SSP
node 204, the SIPext SSP node queries or consults with the trigger server 206 via a suitable 1P message 303 to obtain user profile information pertaining to User B 202B.
While processing a call, upon encountering an armed detection point for the subscribed service, the SIPext SSP node 204 formulates a suitable SIPext request message 304 and forwards it to the service node, SIPext SCP 212. As will be explained in greater detail hereinbelow, the SIPext message 304 is a SIP-compatible message with additional header/field information specifying the service trigger to be handled the service node 212. Preferably, the SIPext request messages take the form of SIP REGISTER messages with INAP-compliant service-related information in the additional headers and fields. Analogously, SIPext responses assume the form of suitable SIP messages with additional headers and fields also.
Continuing to refer to FIG. 3 A, upon receiving the SIPext REGISTER message 304, the service node 212 performs the service specified therein and provides a SIPcxt OK response 306 to the SIPext SSP node 204 if the SLP is successfully executed.
Responsive to the SIPext OK response, the SIPext SSP node analyzes its header fields which specify what the SIP Server part of the SIPext SSP node 204 should do.
Accordingly, the SIP Server routes the call using a pure SIP message 308, based on the results obtained from the SLP in the service node 212.
In the exemplary SIPext operation described above, it is possible that the SLP
may not be successfi~lly executed for some reason and, consequently, an error message may be generated by the service node 212. Upon receiving the error message, the SIPext SSP node 204 may reformulate the REGISTER message and forward it to the service node again, return an error response to User A 202A, or perform some other action.
FIGS. 3B and 3C depict a flow chart of the steps involved in the basic SIPext operation described hereinabove. Upon receiving a message in the SIPext SSP
node (step 322), the SIPext SSP node retrieves the user profile of the recipient {or sender) (step 324). Based on the user profile information obtained from the trigger server, the SIPext SSP node may behave as a standard SIP server or formulate a SIPext request message (step 328) and transmits it to a service node with an appropriate SIPext interface, wherein the service node is capable of executing SLPs associated with VAS
{step 330).
Upon receiving the SIPext request message from the SIPext SSP node, the service node interprets the information provided in the request message to construct a suitable INAP instruction (step 332) that launches the execution of one or several SLPs (step 334). Thereafter, the service node transmits the results (including error messages, if any) obtained from the SLP operation {i.e., successful execution, non-execurion, or partial execution, etc.) to the SIPext SSP node in a SIPext response message (step 336). Subsequently, the SIPext SSP node takes an appropriate action (call routing, error reporting, reformulating the SIPext request message, etc.) on the basis of the result information received from the service node {step 338).
Thereafter, the process flow associated with the basic SIPext operation ceases (step 340).
The structure of the SIPext header fields for SIPext messaging in accordance with the teachings of the present invention is now set forth immediately hereinbelow.
Those skilled in the art should appreciate that the extension of SIP' messages as provided herein advantageously allows the use of SIP as a protocol for communication between SIP entities and IN-based SCPs. Further, the SIPext messaging provides a useful Internet implementation of INAP such that the benefits of integrating PSNs and CSNs in the context of telecommunications may be expeditiously realized.
In a presently preferred exemplary embodiment of the present invention, the following four header fields are defined:
- eration:
The Operation: header field advises the recipient (or sender) entity to perform the operation specified in the content of the header. In addition to the name of the WO 00!99756 PCT/SE00/012~6 operation, the header may preferably contain the parameters of the operation, if any.
Further, the operation and the parameters' name, type, and value correspond to those defined in INAP.
The format of the Operation header field in the Backus-Naur form (i.e., BNF
notation) is given below:
Operation = "Operation" ":" name-operation ' ;" [operation-param]
name-operation =1 *alpha operation-param = *("parameter" ":" parameter-value ".") parameter = *(/(1 *alpha)) parameter-value = *DIGTT ~ *CHAR ~ Boolean ~ * OCTET
Some of the examples of this header field and the translation of INAP data structures (used for the header arguments) in accordance with the teachings of the present invention are set forth later on hereinbelow.
- Result-on:
The Result-op: header field carries the results) of the successful execution of an operation. This header is preferably present in the response message only, if the operation requires that the results) of the operation be sent back to the entity that invoked the operation (i.e., SIPext SSP node or SIPext SCP, for example).
The format of the Result-op: header in the usual BNF notation is given below:
Result-op = "Result-op" ":" [result-arguments]
result-arguments = *("arglIment's u~syg~~t-value "'") a argument = *(/1 *alpha)) argument-value = *DIGIT ( *CIiAR ~ Boolean ~ *OCTET
Example: Result-op:/digitsResponse:456;
This example shows the result returned after the execution of ReceivedInformation operation and represents an instance of the ReceivedInformationArg parameter.
- Error-oo:
The Error-op: header field is used to convey information regarding an unsuccessful operation and the reason or reasons therefor.
The BNF format of the Error-op: header is:
~ WO OOI79756 PGT/SE00/01276 Error-op = "Error-op" ":" error-name ' ;" [*(error-parameters [":" parameter-value)] ' ;"]
error-name = 1 *alpha error-parameters = *(1 *alpha) parameter-value = *DIGTT ~ *( 1 *alpha) Some of the examples of the Error-op: header field usage are below:
Error-op: CancelFailed; pmblem:unknownOperation; operation:b54 Error-op: MissingParameter;
_ Osea:
In a presentlypreferred exemplary embodiment, the SIPext node that generates a SIPext REGISTER request adds the Oseq: header field to every request. The contents of this field represent the order of the operation requests sent for a specific Call-Id such that the operations are preferably executed in the same order.
The Oseq:
sequence number is also used to match the responses to the requests.
The format of the Oseq: header field is as follows:
Oseq = "Oseq" ":" 1 *DIGTT "REGISTER"
Example: Oseq: 3 REGISTER
Based on the foregoing discussion, it should be apparent that the contents of the Operation: header field provided in accordance with the teachings of the present invention essentiallycontrol the SIPext functionality between two SIPext entities such as, for example, the SIPext SSP node 204 and the SIPext SCP 212 depicted in FIG.
3A. As briefly alluded to hereinabove, the arguments in the Operation: header field dictate the context of the operation and preferably correspond to the parametric information necessary for executing INAP-compatible operations by the receiving entity.
The INAP parametric information is optimized for supporting a large variety of VAS and, consequently, is specified in the Abstract Syntax Notation-1 (ASN.1 format) which is well suited for a "heavyweight" protocol (such as INAP) requiring rather complicated data structures like nested formats, uni- and mufti-dimensional trees, etc. for representing numerous optional elements. However, those skilled in the art should appreciate that the text-based parameter-value structure of the Internet application protocols, including SIP, are optimal where the parameters are not heavily structured and values are typically provided as simple lists. Accordingly, the present invention advantageously provides a solution for representing INAP-compatible parametric information in a linear format that is highly efficient for a "lightweight"
Internet application protocol such as SIP in the form of SIPext messaging.
Referring now to FIGS. 4A and 4B, depicted therein are two exemplary operation arguments that illustrate the tree data structures of INAP. In FIG.
4A, InitialDp operation argument 402 represents a uni-dimensional tree data structure. The following parameters are specified: serciceKey 404; dialedDigits 406;
triggerType 408; and miscCallinfo 410 which is comprised of messageType 412 and dpAssignment 414.
A mufti-dimensional tree data structure is exemplified by CallInformationReportArg 416 as illustrated in FIG. 4B. It can be seen that at each level in the data hierarchy, parameters have multiple paths, i.e., multiple origins in prior levels. A RequestedInformation List 418 is comprised of multiple requestedInformationValue elements 422 and 426, and multiple requestedInformationType elements 420 and 424.
Regardless of the dimensionality of the tree data structure, the present invention provides two mechanisms for linearly describing the argument data.
In one exemplary embodiment, the basic data types (i.e., the leaves in the tree) are identified with the full path of data types that are above them in the hierarchy of the argument data structure. This path, accordingly, explicitly describes their location in the argument data structure tree. The receiving entity is provided with the knowledge regarding the corresponding argument data structure and the data types it is made of.
The InitialDp operation argument 402 is thus represented in a linear format as follows:
/serviceKey:40, /dialedDigits:8876hjgda, /triggerType: oAnswer, /miscCallInfo/messagcType:request, ImiscCallInfo/dpAssignment:individualLine.
The CallInformationReportArg 416 may be described by the sequence:
/requestedInformationList/requestedInformationType:callStopTime, /requestedInformationList/requestedInformationValue:457, /requestedInformationList/requestedInformationType:callElapsedTime, /requestedInformationList/requestedInformationValue:20, /correlationId: l l l .
In a second exemplary embodiment, each basic data type is identified with one parameter name. In the example of the InitialDp operation argument 402, the parameters can be described with the following names:
/serviceKey:40, /dialedDigits:8876hjgda, /triggerType: oAnswer, /messageType:request, /dpAssigament:individualLine.
In the example ofthe CallInformationReportArg 416, the following sequence specifies the parametric information:
/requestedInformationType:callStopTime, IrequestedInformationValue:457, /requestedInformadonType:callElapsedTime, /requestedInformationValue:20, /correlationId:l 11.
In the second approach, the entity interpreting the operation is required to match the parameter name with its location (field) in the linear data structure storing the data, in addition to possessing the knowledge regarding the argument data structure and its building data types.
Using either of the approaches set forth above for "Iinearizing" the INAP
parametric information, it is possible to efficiently pack the VAS-related operations within the extended header fields of the SIPext messages in accordance with the teachings of the present invention. As set forth in the basic SIPext operation described with reference to FIGS. 3A - 3C hereinabove, the functionality ofthe SIPext SSP node (acting as a client) typically includes formulating suitable SIPext REGISTER
messages with appropriate extended header fields for executing IN-based SLPs.
The receiving SIPext SCP node, accordingly, operates as a server towards the requesting SIPext SSP node.
The functionality of a SlPext SCP node as a server may now be described in greater detail, taking particular reference to the extended header field information set forth above. Upon receiving a SIPext REGISTER request, the SIPext SCP node checks whether the request comes from a SIPext SSP node by examining the topmost Via: header field. Using the Oseq: sequence number field, it determines whether the request needs to be processed next. The request may be postponed if there are other requests with smaller Oseq: numbers either in process queue or have not been received S yet. Accordingly, the SIPext SCP node maintains a counter or other suitable mechanism for monitoring the number of the last request processed for every Call-Id.
Thereafter, the SIPext SCP node searches for Operation: header fields in the request. While all other headers (e.g., pure SIP headers which are not service related) and their contents remain unprocessed, the Operation: headers are parsed and, depending on the name or names of the opcration(s), the corresponding INAP
operation is performed using the linearized parametric data. For example, an SLP may be launched by the SIPext SCP node using such parametric data.
If the operation is executed successfully, an OK response is generated. The I 5 OK response may contain another Operation: header field or a Result-op:
header field.
Pure SIP headers not related to service are simply copied in the OK response.
On the other hand, if the operation is not executed successfully, an INAP error message is generated which is translated by the SIPext SCP node into a SIP error response. An Error-op: header is included in the response specifying the INAP error and parameters associated therewith. The following table, Table I, gives examples of INAP
errors and the corresponding SIP error responses used for transporting them to the SIPext SSP
node.
Table I
INAP ERRORS SIP ERROR
RESPONSES
MissingParameter 400 Bad Request ParameterOutOfRange 400 SystemFailure 500 Server Internal Error MissingCustomerRecord 500 TaskRefiised 400 UnexpectedComponentSequence400 UnexptectDataValue 400 UnexpectedParameter 400 R uestedInfoError 400 In some instances, the SIPext SCP node may operate as a client by requesting the SIPext SSP node to execute an operation. Referring now to FIG. 5, depicted therein is a fimctional message flow diagram illustrating the functionality of a SIPext SCP node as a client. The SIPext SCP node 212 transmits a REGISTER message 502 to the SIPext SSP node 204 specifying the operation and its parameters in the Operation: header field. Generally, a REGISTER request sent by the SIPext SCP
node 212 requires the execution of operations that are not related to the call setup and, accordingly, the header fields carry less information than the headers in the REGISTER messages transmitted by the SIPext SSP node as a client. Also, the requests sent by the SIPext SCP node 212 are used in general to instruct the SIPext SSP node 204 (which acts as a server) to perform some call monitoring and event notification actions.
After sending the REGISTER request 502, the SIPext SCP node 212 waits for a response message (e.g., OK response 504) from the SIPext S SP node 204. Once the response message is received, it is processed by the SIPext SCP node 212 to parse the Result-op: or Error-op: headers.
The fimctionality the SIPext SSP node is now described in greater detail, with particular reference to the header field information provided hereinabove. As shown in FIG. 2, the SIPext SSP node 204 is comprised of the SIP server 208 (using pure SIP
messaging) which performs the basic call setup and termination, and the Extended SIP
(ESIP) Service Switching (SS) part or module 210 which is responsible for the signaling communication with the SIPext SCP node 212. In the context of the present patent application, accordingly, the functionality of the ESIP SS module 210 of the SIPext SSP node is focused in particular when the functionality of the SIPext SSP
node is addressed herein.
In general, the SIPext SSP node (and its ES1P SS module 210) functions as a client towards the SIPext SCP node, as explained above with respect to the basic SIPext operation depicted in FIGS. 3A - 3C. The SS module sends requests to the SIPext SCP node in two situations: (i) when a trigger for a service is detected, or (ii) an event that needs to be reported to the SIPext SCP node. In a presently preferred exemplary embodiment of the present invention, the ESIP SS module 210 monitors all the INVITE messages sent to the pure SIP proxy server 208 of the SIPext SSP node 204 (shown in FIG. 2) in order to be able to detect service-based triggers. In the exemplary embodiment shown in FIG. 3A, the SIP proxy server 208 is identified with the IP address provider.com and the IhTVITE messages sent to this IP address are accordingly monitored by the ESIP SS module 210. If the recipient (or sender) of an INVITE message (i.e., User B 202B in FIG. 2) has a subscription for a VAS, the ESIP
SS module 210 formulates the REGISTERrequest for the SIPext operation as follows:
- Copies all the headers of the INVITE request so that the ESIP SS
module may operate in a "stateless" mode (i.e., the SS module does not have to memorize the call state when the REGISTER request is sent to the SIPext SCP node).
- Adds a Via: header field containing the address of the ESIP SS
module.
- Adds a Oseq: header containing the sequence number of the REGISTER request. This sequence number is used by the ESIP SS
module to match the responses from the SIPext SCP node with its REGISTER requests. It is also used by the SIPext SCP node to execute the requested operations in a sequential order.
- Adds one or more Operation: headers which specify the operations) to be executed by the SIPext SCP node, including the parametric information therefor that is linearized as described above.
FIG. 6 depicts a functional message flow diagram illustrating the situation when a REGISTER request 602 is sent as a result of event detection. As can be appreciated by those skilled in the art, there may be some services which require that the ESIP SS module report to the SIPext SCP node the occurrence of some specific event. Accordingly, the ESIP SS module formulates the REGISTER request 602 with the header fields as follows:
- To:, From:, Call-Id:, Cseq: headers are included for carrying the contents of a call context. In most cases, the contents of these headers are not used for the execution of the requested operation because, generally, all the call context data needed is present in the Operation:
header.
- Oseq: header is used for sequencing the requests as explained above.
- Via: header is used for specifying that the request is generated by the ESIP SS module of the SIPext SSP node 204. For REGISTER
requests that are generated due to event detection, typically there is only one Via: header.
- Operation: header that specifies the operation to be executed and its parameters.
In response to the REGISTER request 602 requesting an operation to be performed by the SIPext SCP node 212, an OK message 604 may be transmitted back to the ESIP SS module of the SIPext SSP node 204 if the request 602 is successfully processed by the node 212. The OK response 604 preferably contains the SIPext Oseq: header and Operation: header, in addition to the following pure SIP
headers:
To:, From:, Call-Id:, and Via:. If the Operation: header is present, the ESIP
SS module is required to perform the operation specified therein. For example, if the Operation:
header indicates that the call has to be muted to a call forwarding number (i.e., the C-number), the ESIP SS module formulates the corresponding SIP request and transfers control to the pure SIP proxy server of the SIPext SSP node 204.
FIG. 7 depicts a functional message flow diagram which illustrates the scenario wherein a SIPext REGISTER request (e.g., REGISTER request 702) is not successfully processed by the SIPext SCP node 212. A Bad Request message 704 is generated as a response, which preferably contains an Error-op: SIPext header for specifying the error type and parameters (if any).
Depending on the contents of the Error-op: header and related parametric information, the ESIP SS module of the SIPext SSP node 204 may take different actions. For example, it may retransmit the REGISTER request 602 immediately or after a predetermined time set forth in the Error-op: header field. Or, it may formulate a SIP message and transfer it to the SIP proxy server so that the caller is notified of a suitable response.
Referring now to FIGS. 8A - 8D, depicted therein are several functional message flow diagrams which illustrate an exemplary VAS implementation using the SIPext protocol of the present invention. More specifically, the provisioning of a freephone / call forwarding service in accordance with the teachings of the present invention is illustrated. First, an exemplary service implementation using INAP is set forth in order to provide a fi~amework for service provisioning with SIPext protocol.
Thereafter, service-specific messages using the protocol are illustrated by way of the functional message flow diagrams.
Those skilled in the art should appreciate that depending on network-specific mechanisms for charging, there are several possible implementations of the call forwarding service in an IN-compliant environment. In the example provided herein, service charges are computed by the SCP. The exemplary INAP service implementation is described by the following sequence (where "--" denotes an operation sent from SSP to SCP; "-" denotes an operation sent from SCP to SSP):
1. -- InitialDp(ScrviceKey = 0800, calledPariyNumber = 3456789) 2. ~ Connect(destinationRoutingAddress = 6543210, correlationId =1111) RequestReportBCSMEvent(eventTypeBCSM = o Answer, monitorMode=notifyAndContinue, eventTypeBCSM=o Disconnect, monitorMode =notifyAndContinue, bcsmEventCorrelationId =1111 ) 3. - EventReportBCSM(eventTypeBCSM - o-Answer, bcsmEventCorrelationId =1111 ) 4. -- EventReportBCSM(eventTypeBCSM - o Disconnect, bcsmEventCorrelationId = 1111 ) Referring now to FIG. 8A, User A 202A at a host (denoted as Ahost) places a call to User B with address 8003234(a~arovider.com by way of an INVTTE
message 802. Upon receiving the INVTTE message, the SIPext SSP node 204 consults a trigger server (not shown) and determines that User B has a subscription with respect to the freephone / call forwarding service. Thereafter, a SIPext REGISTER message 804 containing two SIPext headers is formulated by the SIPext SSP node 204. The S Operation: header specifies the SLP associated with the subscribed service that needs to be launched, and carries the call context data required for its execution.
In the present example, this data is carried in the Called Party Number (B-number) parameter. Further, the Oseq: header is provided in accordance with the teachings of the present invention for specifying the operation sequence number.
Upon receiving the SIPext REGISTER message 804, the SIPext SCP node 2I2 analyzes the SIPext headers and launches the freephone SLP. After successfully executing the program, it generates an OK response 806 by copying all headers from the REGISTER message 804 except the Operation: headers. Two new Operation:
headers are formulated by the SIPext SCP node instead, based on the results obtained from the SLP execution. The first one (Connect operation) specifies the destination number to which the call is to be routed or forwarded. The second operation header, Operation: RequestEventReport, instructs the SIPext SSP node to notify the SCP
node for a Call Accepted (o_Answer) event or a Call Disconnected (o Disconnected) event.
After receiving the OK response 806, the SIPext SSP node 204 executes the operations specified therein. The Connect operation results in generating a pure SIP
INVITE request 808 and transmitting it over the SIP network to the forward address 4456 ,-fpmvider.com. Responsive to the RequestEventReport operation, the SIPext SSP node 204 monitors the messages with the specific Call-Id number and in order to notify the SCP node 212 if an ACK or BYE message is generated for that Call-Id.
Those skilled in the art should readily appreciate that the ACK message conresponds to the IN o Answer (i.e., Call Accepted) event, and BYE corresponds to the o Disconnect (i.e., Call Disconnected) event.
FIG. 8B depicts the flow of SIP messages exchanged when a user 202C (i.e., User C) at the host 4456 accepts the forwarded call. An OK message is transmitted back from User C to the pure SIP proxy server part of the SIPext SSP node 204 which then forwards it to the caller, i.e., User A 202A as an OK response 812.
FIG. 8C depicts the flow of messages when the SIPext SSP node 204 receives an ACK message 813 from the caller's user agent in response to the OK response 812.
The ACK message 813 is proxied by the SSP node 204 to User C 202C as the ACK
response 814. Thereafter, a SIPext REGISTERrequest 815 is generated, including the BCSMEventReport operation for notifying the SIPext SCP node 212 the occurrence of the o Answer event. In response, the SIPext SCP node 212 transmits an OK
conformation 816 to the SSP node 204 and launches an SLP that bills the call on the 4456 account.
The SIPext SSP node 204 continues to monitor the signaling messages for the Call-Id associated with the caller (User A's Call-Id, e.g., 123@Ahost). When one of the parties decides to terminate the connection, its user agent issues a BYE
request, which corresponds to an o Disconnect event. FIG. 8D depicts the scenario where User A 202A issues the BYE request 818 to the SIPext SSP node 204. In response, a proxy BYE 824 is provided to the callee, i.e., User C 202C. Thereafter, a SIPext REGISTER request 820 containing the EventReportBCSM operation header is generated towards the SCP node 212. In response to the o Disconnect event reported from the SIPext SSP node 204, the billing SLP in the SCP node completes the call billing process. An OK response 822 is transmitted back to the SSP node 204, preferably without any Operation: headers, as there is no need for additional actions from the SCP or SSP nodes.
FIGS. 9A - 9E depict functional message flow diagrams for a call distribution service provided in accordance with the teachings of the present invention.
The following conditions are adopted in the exemplary scenario provided herein:
1. User B has a subscription for the call distribution Service.
2. The maximum number of calls that User B is allowed to answer is 50 calls per day.
3. If the number of calls received is greater than 50, the calls are forwarded to the C-number 6543210.
It should be readily apparent to those skilled in the art that the SIPext messages depicted in the FIGS. use the now-familiar header fields to instruct the SCP
to launch appropriate SLPs associated with the service, depending on whether the call number WO 00I'79756 PCTISE00/01276 threshold is reached or not. For the sake of brevity, accordingly, only the salient features of this example are set forth hereinbelow.
FIGS. 9A - 9D illustrate the condition where the subscriber/user encounters fewer than 50 calls. Calls are passed to User B after appropriate SIPext REGISTER
S and OKmessages between the SIPext SSP node 204 and SIPext SCP node 212 which executes the call distribution SLP. Where there is a busy signal 924 from User B
202B, as shown in FIG. 9C, the SIPext SSP node 204 proxies the same to the caller at Ahost {User A 202A) and notifies the SCP node 212 via a REGISTER request 920.
A Temporarily Unavailable response 926 {illustrated in FIG. 9D) is provided to User A 202A when User B's agent sends repeated Ringing messages 932 back to the SIPext S SP node 204 and a timer associated with the user response expires.
Furthermore, the SSP node 204 notifies the occurrence of o NoAnswer event to the SCP node 2I2 via a REGISTER request 928.
FIG. 9E depicts the situation where more than 50 calls are encountered by the I S user. The call distribution SLP in the SIPext SCP node 212 provides a routing number using the Operation: Connect header in the OK response 938, which is subsequently used by the SIP proxy portion of the SIPext SSP node 204 to forward the calls to User C 202C at 6543210.
Based on the foregoing, it should be appreciated that the present invention advantageously extends the capabilities ofthe existing SIP implementations to include access to the WIN/IrT service logic base that is already installed and market-tested.
Accordingly, the installed service base may continue to be re-used even as SIP-based VoIP network architectures evolve in the future. Those of ordinary skill in the art should realize that there exist tremendous incentives, economic as well as infrastructure-based, for network operators to re-use the expensive legacy SCP
nodes as they migrate towards integrating the cellular infrastructures with IP-based PSNs.
In addition, by appropriately linearizing the INAP parametric information in the header fields of SIPext messages, the present invention solves the problem of having to support multiple protocols in a network in order to provide the capability to access remote service logic nodes.
Further, it is believed that the operation and construction of the present WO 00/79756 PC'T/SE00/01276 invention will be apparent from the foregoing Detailed Description. While the method and system shown and described have been characterized as being preferred, it should be readily understood that various changes and modifications could be made therein without departing from the scope of the present invention as set forth in the following claims. For example, although the teachings of the present invention have been exemplified with two particular services, it should be understood that other VAS may also be provisioned in accordance with the teachings of the present invention.
That is, in addition to the call forwarding and call distribution services exemplified herein, the teachings hereof may be also applied in the context of the following services: toll free and credit card calling, cellular hunt, selective call restriction, click to fax, double phone / freephone, split charging, and multimedia applications such as tele-medicine, tele-education, video-on-demand, et cetera.
Furthermore, while generic SIP user agents have been described in the exemplary embodiments of the present invention, any combination of SIP-compliant entities such as intelligent mobile stations operable with a variety of air interface standards, taken in conjunction with VAS-enabled Personal Digital Assistants, "smart"
phones, personal computers, laptop computers, palmtop computers, Information Appliances, wireless transceiver wrist watches, pagers, et cetera, may be provided for the purposes of the present invention. In addition, the innovative teachings contained herein may also be practiced in a VoIP network coupled to a PSTN, wherein the SIPext SSP node can trigger ESIP service requests to a service node having an appropriate SIPext server interface. Moreover, although the teachings of the present invention are exemplified by employing a SIPext SSP node having two different IP
addresses, it should be appreciated that the present invention is not limited thereto and the innovative teachings contained herein may be advantageously practiced in networks having a SIPext SSP node with a single IP address also, wherein a suitable mechanism for differentiating between pure SIP and SIPext messages is provided.
Accordingly, it should be realized that these and other numerous variations, substitutions, additions, re-arrangements and modifications are contemplated to be within the ambit of the present invention whose scope is solely limited by the claims set forth below.
Claims (15)
1. A method of providing a Value-Added Service (VAS) in a telecommunications network operable with Session Initiation Protocol (SIP), the telecommunications network including a SIPext SSP server, a trigger server, and a service node having at least one Service Logic Program (SLP) associated with the VAS, wherein the SLP is operable with Intelligent Network Application Protocol (INAP), the method comprising the steps of:
receiving a request message in the SIPext SSP server from a first user, the request message for initiating a call to a second user;
upon receiving the request message, consulting the trigger server by the SIPext SSP server to obtain a user profile associated with at least one of the first and second users;
formulating a SIP register request by the SIPext SSP server based on the user profile obtained from the trigger server, upon encountering an armed detection point during call processing, the register request including at least one header field, wherein the header field contains information specifying an operation that the service node is to perform, the header field further including call context data associated with the call initiated by the first user;
transmitting the register request by the SIPext SSP server to the service node;
upon receiving the register request, executing at least one SLP by the service node based on the operation specified in the header field and the call context data associated therewith;
sending a SIP response message from the service node to the SIPext SSP server, the response message including a header field and a return result obtained in response to the execution of at least one SLP by the service node; and executing at least one action by the SIPext SSP server responsive to the header field and the return result in the response message received from the service node, the action being associated with the VAS.
receiving a request message in the SIPext SSP server from a first user, the request message for initiating a call to a second user;
upon receiving the request message, consulting the trigger server by the SIPext SSP server to obtain a user profile associated with at least one of the first and second users;
formulating a SIP register request by the SIPext SSP server based on the user profile obtained from the trigger server, upon encountering an armed detection point during call processing, the register request including at least one header field, wherein the header field contains information specifying an operation that the service node is to perform, the header field further including call context data associated with the call initiated by the first user;
transmitting the register request by the SIPext SSP server to the service node;
upon receiving the register request, executing at least one SLP by the service node based on the operation specified in the header field and the call context data associated therewith;
sending a SIP response message from the service node to the SIPext SSP server, the response message including a header field and a return result obtained in response to the execution of at least one SLP by the service node; and executing at least one action by the SIPext SSP server responsive to the header field and the return result in the response message received from the service node, the action being associated with the VAS.
2. The method of providing a VAS in a telecommunications network as set forth in claim 1, wherein the SIPext SSP server is addressable by two separate Internet Protocol (IP) addresses, a first IP address and a second IP address, and further wherein the request message is received in the SIPext SSP server from the first user using the first IP address.
3. The method of providing a VAS in a telecommunications network as set forth in claim 2, wherein the register request is sent from the SIPext SSP
server to the service node using the second IP address.
server to the service node using the second IP address.
4. The method of providing a VAS in a telecommunications network as set forth in claim 1, wherein the step of formulating the register request comprises the step of transforming INAP-compliant data structures associated with the VAS
into linearly sequenced parametric data forming a portion of the header field of the register request.
into linearly sequenced parametric data forming a portion of the header field of the register request.
5. The method of providing a VAS in a telecommunications network as set forth in claim 4, wherein the SIP-compliant response message from the service node comprises linearized INAP-compliant parametric information.
6. The method of providing a VAS in a telecommunications network as set forth in claim 4, wherein the header field in the SIP response message from the service node is organized in a Backus-Naur format.
7. The method of providing a VAS in a telecommunications network as set forth in claim 4, wherein the header field in the SIP register request from the SIPext SSP server is organized in a Backus-Naur form.
8. The method of providing a VAS in a telecommunications network as set forth in claim 1, wherein the return result comprises a destination routing number and the header field in the SIP response message from the service node includes a connect operation, responsive to which the SIPext SSP server forwards the call initiated by the first user to the destination routing number.
9. The method of providing a VAS in a telecommunications network as set forth in claim 1, wherein the return result comprises an error code, responsive to which the SIPext SSP server generates a SIP error message and forwards it to the first user.
10. An integrated telecommunications network for providing a Value-Added Service (VAS), comprising:
a SIPext SSP server including a proxy server and a service switching part, the proxy server for receiving a call initiation message from a first user with respect to a second user and the service switching part for determining if the second user has a subscription for the VAS;
a trigger server containing user profiles associated with the VAS, the trigger server being activatable in response to a determination by the service switching part that the second user has a subscription to the VAS;
means associated with the service switching part for formulating a register request based on user profile information for the second user, wherein the register request includes a header field containing an operation associated with the VAS; and a service node including an Intelligent Network Application Protocol (INAP)-compliant Service Logic Program (SLP) associated with the VAS and a SIPext SSP interface server for receiving and interpreting the register request from the service switching part, wherein the service node executes the SLP based on the contents of the header field in the register request received from the service switching part.
a SIPext SSP server including a proxy server and a service switching part, the proxy server for receiving a call initiation message from a first user with respect to a second user and the service switching part for determining if the second user has a subscription for the VAS;
a trigger server containing user profiles associated with the VAS, the trigger server being activatable in response to a determination by the service switching part that the second user has a subscription to the VAS;
means associated with the service switching part for formulating a register request based on user profile information for the second user, wherein the register request includes a header field containing an operation associated with the VAS; and a service node including an Intelligent Network Application Protocol (INAP)-compliant Service Logic Program (SLP) associated with the VAS and a SIPext SSP interface server for receiving and interpreting the register request from the service switching part, wherein the service node executes the SLP based on the contents of the header field in the register request received from the service switching part.
11. The integrated telecommunications network for providing a VAS as set forth in claim 10, wherein the proxy server has a first Internet Protocol (IP) address and the service switching part has a second IP address.
12. The integrated telecommunications network for providing a VAS as set forth in claim 10, wherein the register request contains linearized INAP-compliant parametric data associated with the operation.
13. A system for providing a Value-Added Service (VAS) to a user in a telecommunications network operable with Session Initiation Protocol (SIP), the telecommunications network including a SIPext SSP server, a trigger server, and a service node having at least one Service Logic Program (SLP) associated with the VAS, wherein the SLP is operable with Intelligent Network Application Protocol (INAP), the system comprising:
means for receiving a call initiation request with respect to the user;
means for querying the trigger server, responsive to the determination that the user has a subscription for the VAS, to obtain a user profile associated with the user;
means for formulating a SIP register request based on the user profile obtained from the trigger server, responsive to encountering an armed detection point in call processing, the register request including at least one header field, wherein the header field contains information specifying an operation that the service node is to perform with respect to the VAS, the header field further including call context data associated with the call initiation request with respect to the user;
means for transmitting the register request to the service node;
means for launching the SLP in the service node based on the operation specified in the header field and the call context data associated therewith;
means for sending a SIP response message from the service node to the SIPext SSP server, the response message including a header field and a return result obtained in response to the launching of the SLP in the service node; and means for executing an action by the SIPext SSP server responsive to the header field and the return result in the response message received from the service node, the action being associated with the VAS.
means for receiving a call initiation request with respect to the user;
means for querying the trigger server, responsive to the determination that the user has a subscription for the VAS, to obtain a user profile associated with the user;
means for formulating a SIP register request based on the user profile obtained from the trigger server, responsive to encountering an armed detection point in call processing, the register request including at least one header field, wherein the header field contains information specifying an operation that the service node is to perform with respect to the VAS, the header field further including call context data associated with the call initiation request with respect to the user;
means for transmitting the register request to the service node;
means for launching the SLP in the service node based on the operation specified in the header field and the call context data associated therewith;
means for sending a SIP response message from the service node to the SIPext SSP server, the response message including a header field and a return result obtained in response to the launching of the SLP in the service node; and means for executing an action by the SIPext SSP server responsive to the header field and the return result in the response message received from the service node, the action being associated with the VAS.
14. The system for providing a VAS to a user in a telecommunications network as set forth in claim 13, further comprising means for transforming INAP-compliant data structures associated with the VAS into linearly sequenced parametric data forming a portion of the header field of the register request.
15. The system for providing a VAS to a user in a telecommunications network as set forth in claim 14, wherein the return result comprises a destination routing number to which the call is to be forwarded.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14001399P | 1999-06-18 | 1999-06-18 | |
US60/140,013 | 1999-06-18 | ||
US09/537,592 | 2000-03-28 | ||
US09/537,592 US6625141B1 (en) | 1999-06-18 | 2000-03-28 | System and method for providing value-added services (VAS) in an integrated telecommunications network using session initiation protocol (SIP) |
PCT/SE2000/001276 WO2000079756A2 (en) | 1999-06-18 | 2000-06-16 | System and method for providing value-added services (vas) in an integrated telecommunications network using session initiation protocol (sip) |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2375366A1 true CA2375366A1 (en) | 2000-12-28 |
Family
ID=26837788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002375366A Abandoned CA2375366A1 (en) | 1999-06-18 | 2000-06-16 | System and method for providing value-added services (vas) in an integrated telecommunications network using session initiation protocol (sip) |
Country Status (9)
Country | Link |
---|---|
US (1) | US6625141B1 (en) |
EP (1) | EP1188292A2 (en) |
JP (1) | JP2003502945A (en) |
CN (1) | CN1171427C (en) |
AR (1) | AR030150A1 (en) |
AU (1) | AU5862500A (en) |
CA (1) | CA2375366A1 (en) |
MY (1) | MY125072A (en) |
WO (1) | WO2000079756A2 (en) |
Families Citing this family (177)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068648B2 (en) | 1997-10-21 | 2006-06-27 | Intel Corporation | Apparatus and method for computer controlled call processing and information provision |
US6856618B2 (en) | 1997-10-21 | 2005-02-15 | Intel Corporation | Apparatus and method for computer telephone integration in packet switched telephone networks |
US6901068B1 (en) | 1997-10-21 | 2005-05-31 | Intel Corporation | Apparatus and method for computer controlled call processing applications in packet switched telephone networks |
US6876633B2 (en) * | 1997-10-21 | 2005-04-05 | Intel Corporation | Apparatus and method for computer telephone integration in packet switched telephone networks |
US8184557B2 (en) | 1997-10-21 | 2012-05-22 | Intel Corporation | Apparatus and method for computer controlled call processing applications in packet switched telephone networks |
US7072308B2 (en) | 1997-10-21 | 2006-07-04 | Intel Corporation | Apparatus and method for computer controlled call processing applications in packet switched telephone networks |
US7126942B2 (en) | 1997-10-21 | 2006-10-24 | Intel Corporation | Apparatus and method for integrated computer controlled call processing in packet switched telephone networks |
US6201805B1 (en) | 1997-10-21 | 2001-03-13 | Dialogic Corporation | Apparatus and method for computer telephone integration in packet switched telephone networks |
JP2001142798A (en) * | 1999-08-30 | 2001-05-25 | Nec Corp | System for providing multi-media additional value service |
US7388953B2 (en) | 1999-09-24 | 2008-06-17 | Verizon Business Global Llc | Method and system for providing intelligent network control services in IP telephony |
US6636596B1 (en) | 1999-09-24 | 2003-10-21 | Worldcom, Inc. | Method of and system for providing intelligent network control services in IP telephony |
US6944150B1 (en) * | 2000-02-28 | 2005-09-13 | Sprint Communications Company L.P. | Method and system for providing services in communications networks |
US6711156B1 (en) | 2000-03-20 | 2004-03-23 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for providing enhanced user-service interaction in an integrated telecommunications network |
GB0011225D0 (en) * | 2000-05-10 | 2000-06-28 | Hewlett Packard Co | Charging for VAS resource usage in a communications infrastructure |
US6870848B1 (en) | 2000-06-07 | 2005-03-22 | Nortel Networks Limited | Method and apparatus for call processing in response to a call request from an originating device |
US20020037723A1 (en) * | 2000-06-08 | 2002-03-28 | Adam Roach | Refreshing service profile information using third-party SIP register messages |
US7757272B1 (en) * | 2000-06-14 | 2010-07-13 | Verizon Corporate Services Group, Inc. | Method and apparatus for dynamic mapping |
US6795430B1 (en) * | 2000-07-14 | 2004-09-21 | Nortel Networks Limited | Service-related signaling between voice over internet protocol servers |
US7286521B1 (en) * | 2000-07-21 | 2007-10-23 | Tellme Networks, Inc. | Localized voice over internet protocol communication |
US6697858B1 (en) * | 2000-08-14 | 2004-02-24 | Telephony@Work | Call center |
US6807173B1 (en) * | 2000-08-23 | 2004-10-19 | Nortel Networks Limited | Method and system for improving bandwidth availability in a data communication network by tokenizing messages |
AU2000275137A1 (en) * | 2000-09-01 | 2002-03-13 | Nokia Corporation | Extending sip for uploading subscriber's service profile from hss to cscf |
US7058068B2 (en) * | 2000-11-30 | 2006-06-06 | Nortel Networks Limited | Session initiation protocol based advanced intelligent network/intelligent network messaging |
NO20010069L (en) * | 2001-01-05 | 2002-07-08 | Ericsson Telefon Ab L M | Multi-user applications in multimedia networks |
US20020091881A1 (en) * | 2001-01-10 | 2002-07-11 | International Business Machines Corporation | Managing a failure to access a database in a computer system |
US7801953B1 (en) * | 2001-02-12 | 2010-09-21 | Nortel Networks Limited | Push-to-talk wireless telecommunications system utilizing an voice-over-IP network |
WO2002067533A1 (en) * | 2001-02-19 | 2002-08-29 | Nokia Corporation | Closing a sip active session |
US7266593B2 (en) * | 2001-02-23 | 2007-09-04 | Nokia Networks Oy | IP based service architecture |
US7849190B2 (en) * | 2001-02-23 | 2010-12-07 | Nokia Siemens Networks Oy | Internet protocol based service architecture |
US7110393B1 (en) * | 2001-02-28 | 2006-09-19 | 3Com Corporation | System and method for providing user mobility handling in a network telephony system |
US8811164B2 (en) * | 2001-03-20 | 2014-08-19 | Verizon Patent And Licensing Inc. | Selective feature blocking in a communications network |
US7242680B2 (en) * | 2001-03-20 | 2007-07-10 | Verizon Business Global Llc | Selective feature blocking in a communications network |
WO2002078362A1 (en) * | 2001-03-23 | 2002-10-03 | Nokia Corporation | A method for transmitting data in a communication network |
EP1248431B1 (en) | 2001-03-27 | 2007-10-31 | Sony Deutschland GmbH | Method for achieving end-to-end quality of service negotiation for distributed multimedia applications |
GB0108041D0 (en) | 2001-03-30 | 2001-05-23 | Nokia Networks Oy | Presence service in IP multimedia |
WO2002087265A2 (en) * | 2001-03-30 | 2002-10-31 | Nokia Corporation | Passing information in a communication system |
EP1374552A2 (en) * | 2001-04-02 | 2004-01-02 | Siemens Aktiengesellschaft | Method for billing services using a prepaid account |
DE10116547A1 (en) * | 2001-04-03 | 2002-10-10 | Nokia Corp | Registration of a terminal in a data network |
US20020141404A1 (en) * | 2001-04-03 | 2002-10-03 | Michael Wengrovitz | Call routing using information in session initiation protocol messages |
US20020147818A1 (en) * | 2001-04-04 | 2002-10-10 | Michael Wengrovitz | Session initiation protocol routing using voice cookies |
US7512151B2 (en) | 2001-04-17 | 2009-03-31 | Nokia Corporation | Providing a network node with service reference information |
EP1380182B1 (en) * | 2001-04-17 | 2012-05-30 | Nokia Corporation | One-to-one communication in a system having different control plane and user plane logical entities |
GB0110542D0 (en) | 2001-04-30 | 2001-06-20 | Nokia Corp | Messaging system |
GB0112202D0 (en) | 2001-05-18 | 2001-07-11 | Nokia Corp | Charging in communication networks |
US20020176378A1 (en) * | 2001-05-22 | 2002-11-28 | Hamilton Thomas E. | Platform and method for providing wireless data services |
US7020707B2 (en) * | 2001-05-30 | 2006-03-28 | Tekelec | Scalable, reliable session initiation protocol (SIP) signaling routing node |
US8098651B1 (en) | 2001-07-27 | 2012-01-17 | Rockstar Bidco, LP | Integrating multimedia capabilities with circuit-switched calls |
US7035260B1 (en) * | 2001-08-27 | 2006-04-25 | At&T Corp. | Voice over IP service implementation for providing multimedia features |
US20050021833A1 (en) * | 2001-08-29 | 2005-01-27 | Frank Hundscheid | Method and device for multicasting in a umts network |
US6892201B2 (en) | 2001-09-05 | 2005-05-10 | International Business Machines Corporation | Apparatus and method for providing access rights information in a portion of a file |
US7171562B2 (en) | 2001-09-05 | 2007-01-30 | International Business Machines Corporation | Apparatus and method for providing a user interface based on access rights information |
US6888828B1 (en) * | 2001-10-02 | 2005-05-03 | Nokia Corporation | System and method for providing at least one service obtained from a service network for a user in a packet switched communication network |
GB0124436D0 (en) * | 2001-10-11 | 2001-12-05 | Nokia Corp | Terminal-based instruction execution in an ip communications network |
US6813264B2 (en) * | 2001-11-02 | 2004-11-02 | Qualcomm, Incorporated | System and method for routing voice over IP calls |
US20030095510A1 (en) * | 2001-11-16 | 2003-05-22 | Motorola, Inc. | Use and management of groups defined according to a call initiation protocol |
DE60114646T2 (en) * | 2001-11-21 | 2006-07-20 | Alcatel | Method for flexibly loading IP multimedia communication sessions, telecommunication system and network elements to apply such a method |
US20040003046A1 (en) * | 2001-12-12 | 2004-01-01 | 3Com Corporation | System and methods for providing instant services in an internet protocol network |
US7443834B1 (en) | 2001-12-20 | 2008-10-28 | Nortel Networks Limited | Combining multimedia services with traditional telephony |
EP1324581A1 (en) * | 2001-12-28 | 2003-07-02 | Telefonaktiebolaget L M Ericsson (Publ) | CCBS using Session Initiation Protocol (SIP) |
US20030177283A1 (en) * | 2002-03-18 | 2003-09-18 | Hamilton Thomas E. | Application program interface |
US7962644B1 (en) | 2002-03-18 | 2011-06-14 | Oracle International Corporation | Systems and methods for handling a plurality of communications |
US7920546B2 (en) * | 2002-10-01 | 2011-04-05 | Nortel Networks Limited | Automated attendant multimedia session |
US7646761B2 (en) * | 2002-10-01 | 2010-01-12 | Nortel Networks Limited | Integrating multimedia capabilities with legacy networks |
US7480915B2 (en) * | 2002-10-03 | 2009-01-20 | Nokia Corporation | WV-IMS relay and interoperability methods |
US7685315B2 (en) * | 2002-10-28 | 2010-03-23 | Nokia Corporation | System and method for conveying terminal capability and user preferences-dependent content characteristics for content adaptation |
US6862277B2 (en) * | 2002-10-28 | 2005-03-01 | Motorola, Inc. | Method and apparatus for multi-media communication over multiple networks |
KR100487124B1 (en) * | 2002-11-12 | 2005-05-03 | 삼성전자주식회사 | method for processing session information of session initiation protocol system and recorded medium thereof |
CN100338924C (en) * | 2002-11-23 | 2007-09-19 | 中兴通讯股份有限公司 | Method of interconnected business providing between control equipment and business equipment in IP network |
KR100475186B1 (en) | 2002-12-02 | 2005-03-10 | 삼성전자주식회사 | Terminal registration method using Session Initiation Protocol |
CN1714563B (en) | 2002-12-16 | 2010-05-12 | 艾利森电话股份有限公司 | Cost negotiation for communication sessions |
US7369538B1 (en) * | 2002-12-23 | 2008-05-06 | At&T Corp. | Method and apparatus for implementing a high-reliability load balanced easily upgradeable packet technology |
US20040153547A1 (en) * | 2003-01-31 | 2004-08-05 | Dirk Trossen | Service provisioning in a communication system |
GB2398204B (en) * | 2003-02-04 | 2006-08-02 | Vodafone Plc | Setting communication types for a communication session |
US7319692B2 (en) * | 2003-02-21 | 2008-01-15 | Avaya Technology Corp. | Subscriber mobility in telephony systems |
US7490155B1 (en) * | 2003-03-13 | 2009-02-10 | 3Com Corporation | Management and control for interactive media sessions |
DE10322539A1 (en) | 2003-05-19 | 2004-12-09 | Siemens Ag | Method for establishing a communication link and communication system |
US20040267645A1 (en) * | 2003-06-24 | 2004-12-30 | Pekka Pollari | Method and corresponding equipment enabling billing for use of applications hosted by a wireless terminal |
US7412044B2 (en) * | 2003-07-14 | 2008-08-12 | Avaya Technology Corp. | Instant messaging to and from PBX stations |
GB0317124D0 (en) * | 2003-07-22 | 2003-08-27 | Nokia Corp | Charging in a communication system |
EP3148155B1 (en) | 2003-08-18 | 2019-12-25 | Microsoft Technology Licensing, LLC | Method and system for service denial and termination on a wireless network |
US7251254B2 (en) * | 2003-09-03 | 2007-07-31 | At&T Corp. | Telecommunication network system and method in communication services using session initiation protocol |
US8539552B1 (en) * | 2003-09-25 | 2013-09-17 | Hewlett-Packard Development Company, L.P. | System and method for network based policy enforcement of intelligent-client features |
GB2406464B (en) * | 2003-09-29 | 2006-07-05 | Siemens Ag | Network entity |
US6977933B2 (en) * | 2003-10-06 | 2005-12-20 | Tekelec | Methods and systems for providing session initiation protocol (SIP) trunk groups |
JP4728569B2 (en) * | 2003-10-21 | 2011-07-20 | Necインフロンティア株式会社 | Network, private branch exchange, and PBX additional service activation method used therefor |
US7701854B2 (en) * | 2003-11-17 | 2010-04-20 | International Business Machines Corporation | Differentiated handling of SIP messages for VoIP call control |
US8170912B2 (en) * | 2003-11-25 | 2012-05-01 | Carhamm Ltd., Llc | Database structure and front end |
FR2863810A1 (en) * | 2003-12-11 | 2005-06-17 | France Telecom | Telecommunication services coordinating process for use over e.g. Internet, involves utilizing service mediation system to transmit users state in contact list to connected terminals |
US8094801B2 (en) * | 2003-12-15 | 2012-01-10 | Alcatel Lucent | Providing of service(s) by a service control component to telephony device(s) on a call through employment data stream(s) associated with the call |
EP1560458A1 (en) * | 2004-01-27 | 2005-08-03 | Siemens Aktiengesellschaft | Method, network arrangement and apparatus for providing ISDN services in next generation packet based telecommunications networks |
US8442227B1 (en) * | 2004-02-23 | 2013-05-14 | Rockstar Consortium Us Lp | Providing additional information with session requests |
US7408925B1 (en) * | 2004-03-31 | 2008-08-05 | Avaya Technology Corp. | Originator based directing and origination call processing features for external devices |
US8903820B2 (en) * | 2004-06-23 | 2014-12-02 | Nokia Corporation | Method, system and computer program to enable querying of resources in a certain context by definition of SIP even package |
US7840681B2 (en) * | 2004-07-30 | 2010-11-23 | International Business Machines Corporation | Method and apparatus for integrating wearable devices within a SIP infrastructure |
CN1307828C (en) * | 2004-08-10 | 2007-03-28 | 华为技术有限公司 | Method for building bearing in multimedia broadcast/multicast service |
US20060067505A1 (en) * | 2004-09-24 | 2006-03-30 | Wayne Heinmiller | Methods and apparatus to control distribution of call information |
US8542813B2 (en) * | 2004-11-02 | 2013-09-24 | Cisco Technology, Inc. | Method and system for providing a camp-on service in telecommunications |
US20060104259A1 (en) * | 2004-11-15 | 2006-05-18 | Cisco Technology, Inc. | System and method for executing a multi-modal transfer in a session initiation protocol (SIP) environment |
US7853696B2 (en) * | 2004-11-19 | 2010-12-14 | Cisco Technology, Inc. | System and method for providing an eCamp feature in a session initiation protocol (SIP) environment |
US7656878B2 (en) * | 2004-12-03 | 2010-02-02 | Cisco Technology, Inc. | System and method for providing enhanced caller ID in a session initiation protocol (SIP) environment |
JP4737980B2 (en) * | 2004-12-07 | 2011-08-03 | 株式会社東芝 | Telephone system and main device of the telephone system |
US20080313306A1 (en) * | 2004-12-22 | 2008-12-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and Arrangements for Caching Static Information for Packet Data Applications In Wireless Communication Systems |
US20060146790A1 (en) * | 2004-12-30 | 2006-07-06 | Cisco Technology, Inc. | System and method for providing reach me cover me feature in a session initiation protocol (SIP) environment |
US8254552B2 (en) * | 2005-01-06 | 2012-08-28 | Cisco Technology, Inc. | System and method for providing a recovery mode in a session initiation protocol (SIP) environment |
US20060153357A1 (en) * | 2005-01-08 | 2006-07-13 | Arup Acharya | Method and apparatus for providing contextual information with telephone calls |
US7778404B2 (en) * | 2005-01-27 | 2010-08-17 | Cisco Technology, Inc. | System and method for providing a dial plan conversion in a session initiation protocol (SIP) environment |
US7899175B2 (en) * | 2005-01-27 | 2011-03-01 | Cisco Technology, Inc. | System and method for providing a dial plan conversion in a session initiation protocol (SIP) environment |
EP1691511A1 (en) * | 2005-02-09 | 2006-08-16 | Siemens Aktiengesellschaft | Method and control unit for the establishment of a communication link between communication terminals |
US20060221838A1 (en) * | 2005-03-30 | 2006-10-05 | Net2Phone, Inc. | SIP maintenance unit |
US7853001B2 (en) * | 2005-04-08 | 2010-12-14 | Cisco Technology, Inc. | Method and system for providing a camp-on service |
US7769156B2 (en) * | 2005-04-27 | 2010-08-03 | Cisco Technology, Inc. | System and method for providing a reverse camp-on feature in a communications environment |
US7684434B2 (en) * | 2005-05-03 | 2010-03-23 | Cisco Technology, Inc. | System and method for providing a presence based Camp-On feature in a communications environment |
US8885812B2 (en) | 2005-05-17 | 2014-11-11 | Oracle International Corporation | Dynamic customer satisfaction routing |
FR2886797A1 (en) * | 2005-06-07 | 2006-12-08 | France Telecom | METHOD OF COMMUNICATING BETWEEN SERVICE CONTROL POINT IN INTELLIGENT NETWORK AND EXTERNAL SERVER, POINT OF CONTROL, EXTERNAL SERVER, SYSTEM AND COMPUTER PROGRAMS THEREOF |
US8583466B2 (en) * | 2005-08-09 | 2013-11-12 | Oracle International Corporation | System and method for routing workflow items based on workflow templates in a call center |
US20070041402A1 (en) * | 2005-08-16 | 2007-02-22 | Microsoft Corporation | Handling protocol non-compliant messages |
FI20055514A0 (en) * | 2005-09-27 | 2005-09-27 | Nokia Corp | Group communication in a communication system |
US7894597B2 (en) | 2005-10-12 | 2011-02-22 | Cisco Technology, Inc. | Categorization of telephone calls |
US8665862B1 (en) * | 2005-10-24 | 2014-03-04 | Apple Inc. | Performing cross-domain deregistration |
CN100389562C (en) * | 2005-11-05 | 2008-05-21 | 华为技术有限公司 | Charging information informing method |
US8102985B2 (en) * | 2005-11-11 | 2012-01-24 | Cisco Technology, Inc. | Method and system for providing a camp-on hold service |
US9165411B2 (en) * | 2005-12-16 | 2015-10-20 | Pitney Bowes Inc. | Method and system for embedding mailer specified mailing instructions on a mail piece to automate mail processing |
US20070162552A1 (en) * | 2006-01-10 | 2007-07-12 | Cisco Technology, Inc. | Method and system for providing an instant messaging camp-on service |
US8280961B2 (en) * | 2006-02-09 | 2012-10-02 | Cisco Technology, Inc. | Method and system for providing a camp-on service for a network service |
CN101026545B (en) * | 2006-02-21 | 2010-05-12 | 联想(北京)有限公司 | Real-time multimedia transmitting system and method |
US20070201459A1 (en) * | 2006-02-27 | 2007-08-30 | Cisco Technology, Inc. | System and method for providing status notification for conventional telephony devices in a session initiation protocol environment |
US7995559B2 (en) * | 2006-02-27 | 2011-08-09 | Cisco Technology, Inc. | System and method for interworking communication protocols to provide supplementary services |
US7701971B2 (en) * | 2006-02-27 | 2010-04-20 | Cisco Technology, Inc. | System and method for providing a compatibility feature in a session initiation protocol (SIP) environment |
US7778274B2 (en) * | 2006-02-27 | 2010-08-17 | Cisco Technology, Inc. | System and method for providing a compatibility feature in a session initiation protocol (SIP) environment |
US7596150B2 (en) * | 2006-02-27 | 2009-09-29 | Cisco Technology, Inc. | System and method for consolidating media signaling to facilitate internet protocol (IP) telephony |
US7729482B2 (en) * | 2006-02-27 | 2010-06-01 | Cisco Technology, Inc. | Method and system for providing communication protocol interoperability |
US7764669B2 (en) * | 2006-02-27 | 2010-07-27 | Cisco Technology, Inc. | System and method providing for interoperability of session initiation protocol (SIP) and H.323 for secure realtime transport protocol (SRTP) session establishment |
US20070201367A1 (en) * | 2006-02-27 | 2007-08-30 | Cisco Technology, Inc. | System and method for interworking H.323 flow control with SIP |
US9967129B1 (en) | 2006-03-09 | 2018-05-08 | Cisco Technology, Inc. | System and method for communicating call information in a sessions initiation protocol (SIP) environment |
WO2007107074A1 (en) * | 2006-03-17 | 2007-09-27 | Huawei Technologies Co., Ltd. | A method, apparatus and system for communication service processing |
US20070226299A1 (en) * | 2006-03-24 | 2007-09-27 | Cisco Technology, Inc. | Method and system for providing an instant messaging quorum monitoring service |
EP2007064A4 (en) * | 2006-04-03 | 2009-04-01 | Huawei Tech Co Ltd | A system, method and apparatus for implementing the reverse charging in the packet network |
US20070253405A1 (en) * | 2006-04-27 | 2007-11-01 | Motorola, Inc. | Method and apparatus for initiating a user selected service when establishing a packet data connection |
US8036360B1 (en) | 2006-04-28 | 2011-10-11 | Cisco Technology, Inc. | System and method for hook state notification |
US8495231B1 (en) | 2006-05-16 | 2013-07-23 | Cisco Technology, Inc. | System and method for remote call control |
US20070299979A1 (en) * | 2006-06-27 | 2007-12-27 | Avshalom Houri | Stateless publish/subscribe messaging using sip |
US8015305B1 (en) | 2006-06-28 | 2011-09-06 | Cisco Technology, Inc. | System and method for implementing a session initiation protocol feature |
US20090316688A1 (en) * | 2006-07-13 | 2009-12-24 | Venkat Srinivas Meenavalli | Method for controlling advanced multimedia features and supplemtary services in sip-based phones and a system employing thereof |
US8441924B2 (en) * | 2006-07-20 | 2013-05-14 | Verizon Services Organization Inc. | Redundant capability in a fiber optic network |
US8139566B2 (en) * | 2006-07-21 | 2012-03-20 | Cisco Technology, Inc. | System and method for establishing a communication session between two endpoints that do not both support secure media |
US7929419B2 (en) * | 2006-08-04 | 2011-04-19 | Tekelec | Methods, systems, and computer program products for inhibiting message traffic to an unavailable terminating SIP server |
US7881251B2 (en) * | 2006-08-18 | 2011-02-01 | General Motors Llc | Lightweight protocol for use in a TCP/IP communications network |
US7881297B2 (en) * | 2006-09-01 | 2011-02-01 | Avaya Inc. | Providing communications including an extended protocol header |
US20080080527A1 (en) * | 2006-09-29 | 2008-04-03 | Motorola, Inc. | Method and apparatus for communication between session initiation protocol based networks and legacy networks |
US20080095143A1 (en) * | 2006-10-19 | 2008-04-24 | Research In Motion Limited | System and method for providing debug information in session initiation protocol sessions |
SE0602216L (en) * | 2006-10-23 | 2008-04-24 | Teliasonera Ab | Aggregation node for control signaling |
KR100814398B1 (en) * | 2006-12-07 | 2008-03-18 | 삼성전자주식회사 | Voip phone providing multi-call service and method thereof |
US20080240087A1 (en) * | 2006-12-13 | 2008-10-02 | Verizon Services Corp. | Hybrid internet protocol based session control protocol and pstn communications |
CN100484285C (en) * | 2007-02-14 | 2009-04-29 | 华为技术有限公司 | Calling process method, system, applied server and switch equipment |
US7286661B1 (en) * | 2007-05-01 | 2007-10-23 | Unison Technologies Llc | Systems and methods for scalable hunt-group management |
US20080273678A1 (en) | 2007-05-01 | 2008-11-06 | Igor Balk | Systems and methods for phone call management |
US20080285736A1 (en) | 2007-05-16 | 2008-11-20 | Unison Technolgies Llc | Systems and methods for providing unified collaboration systems with conditional communication handling |
US20080285588A1 (en) | 2007-05-16 | 2008-11-20 | Unison Technologies Llc | Systems and methods for providing unified collaboration systems with combined communication log |
WO2009018418A2 (en) * | 2007-07-31 | 2009-02-05 | Tekelec | Systems, methods, and computer program products for distributing application or higher layer communications network signaling entity operational status information among session initiation protocol (sip) entities |
CN101370243A (en) * | 2007-08-14 | 2009-02-18 | 华为技术有限公司 | Call orienting method and system |
US8112516B2 (en) * | 2007-08-23 | 2012-02-07 | Cisco Technology, Inc. | Selective user notification based on IP flow information |
JP4583424B2 (en) * | 2007-09-10 | 2010-11-17 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Session management apparatus, method, and program for establishing encrypted communication channel between terminals |
US8892558B2 (en) | 2007-09-26 | 2014-11-18 | International Business Machines Corporation | Inserting data into an in-memory distributed nodal database |
JP2009093546A (en) * | 2007-10-11 | 2009-04-30 | Toshiba Tec Corp | Server device, error code converter, error code conversion program |
US8027996B2 (en) * | 2007-11-29 | 2011-09-27 | International Business Machines Corporation | Commitment control for less than an entire record in an in-memory database in a parallel computer system |
US20090238168A1 (en) * | 2008-03-18 | 2009-09-24 | Paraxip Technologies Inc. | Communication node and method for handling sip communication |
US8718042B2 (en) * | 2008-05-08 | 2014-05-06 | Microsoft Corporation | Extensible and secure transmission of multiple conversation contexts |
CN102257476B (en) * | 2008-12-18 | 2015-12-16 | 爱立信电话股份有限公司 | Delivery applications |
KR101175322B1 (en) * | 2008-12-19 | 2012-08-20 | 한국전자통신연구원 | Apparatus and method for dynamic displaying value-added services recommended based on contexts in mobile terminals |
JP5609215B2 (en) * | 2010-04-05 | 2014-10-22 | セイコーエプソン株式会社 | Communication system, processing request device, processing response device, communication method, and program thereof |
CN103733701B (en) * | 2011-02-23 | 2018-05-04 | T移动美国公司 | System and method for subscribing to internet protocol multi-media sub-system (IMS) application service login state |
US8644823B2 (en) * | 2011-04-05 | 2014-02-04 | Blackberry Limited | System and method for shared binding maintenance |
CN102783099B (en) * | 2012-05-15 | 2016-05-25 | 华为技术有限公司 | The method and apparatus of service control transmission |
CN103716299B (en) * | 2013-09-22 | 2019-10-25 | 南京中兴新软件有限责任公司 | A kind of method to be conversated based on SIP, terminal and call business server |
US9756190B2 (en) * | 2014-12-18 | 2017-09-05 | Vonage Business Inc. | Systems and methods for setting up internet protocol communications |
GB2562655A (en) * | 2015-12-30 | 2018-11-21 | Wing Leung Kang | Direct network connections using cloud instance for multipoint meeting service |
US11012931B2 (en) | 2019-05-24 | 2021-05-18 | Oracle International Corporation | Methods, systems, and computer readable media for enhanced signaling gateway (SGW) status detection and selection for emergency calls |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5664102A (en) | 1995-02-07 | 1997-09-02 | At&T | Intelligent network internetworking access arrangement |
GB2318701A (en) | 1996-10-26 | 1998-04-29 | Ibm | Intelligent network protocol gateway |
US6446127B1 (en) * | 1998-10-30 | 2002-09-03 | 3Com Corporation | System and method for providing user mobility services on a telephony network |
US6430176B1 (en) * | 1998-11-06 | 2002-08-06 | Nortel Networks Limited | Multimedia channel management through PSTN signaling |
US6519242B1 (en) * | 1998-12-09 | 2003-02-11 | Nortel Networks Limited | Apparatus and method of PSTN based network roaming and SCP based subscriber management for internet telephony systems |
US6363424B1 (en) * | 1999-09-01 | 2002-03-26 | Lucent Technologies, Inc. | Reuse of services between different domains using state machine mapping techniques |
US6421674B1 (en) * | 2000-02-15 | 2002-07-16 | Nortel Networks Limited | Methods and systems for implementing a real-time, distributed, hierarchical database using a proxiable protocol |
-
2000
- 2000-03-28 US US09/537,592 patent/US6625141B1/en not_active Expired - Fee Related
- 2000-06-16 CA CA002375366A patent/CA2375366A1/en not_active Abandoned
- 2000-06-16 CN CNB008090882A patent/CN1171427C/en not_active Expired - Fee Related
- 2000-06-16 EP EP00944540A patent/EP1188292A2/en not_active Withdrawn
- 2000-06-16 AU AU58625/00A patent/AU5862500A/en not_active Abandoned
- 2000-06-16 WO PCT/SE2000/001276 patent/WO2000079756A2/en active Application Filing
- 2000-06-16 MY MYPI20002741 patent/MY125072A/en unknown
- 2000-06-16 JP JP2001504650A patent/JP2003502945A/en not_active Withdrawn
- 2000-06-16 AR ARP000103036A patent/AR030150A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
US6625141B1 (en) | 2003-09-23 |
CN1171427C (en) | 2004-10-13 |
CN1357190A (en) | 2002-07-03 |
WO2000079756A3 (en) | 2001-09-07 |
AU5862500A (en) | 2001-01-09 |
WO2000079756A2 (en) | 2000-12-28 |
MY125072A (en) | 2006-07-31 |
AR030150A1 (en) | 2003-08-13 |
JP2003502945A (en) | 2003-01-21 |
EP1188292A2 (en) | 2002-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6625141B1 (en) | System and method for providing value-added services (VAS) in an integrated telecommunications network using session initiation protocol (SIP) | |
US8634412B2 (en) | Session initiation protocol (SIP) message incorporating a multi-purpose internet mail extension (MIME) media type for describing the content and format of information included in the SIP message | |
AU767219B2 (en) | System and method for providing access to service nodes from entities disposed in an integrated telecommunications network | |
US7664102B1 (en) | System and method for providing a plurality of multi-media services using a number of media servers to form a preliminary interactive communication relationship with a calling communication device | |
US7254643B1 (en) | System and method for providing multi-media services to communication devices over a communications network | |
US7458084B2 (en) | Methods and systems for converged service creation and execution environment applications | |
EP1266502B1 (en) | Processing network address identifiers | |
AU772765B2 (en) | SIP-based feature control | |
US7860089B2 (en) | Method and system for network based call-pickup | |
US7103644B1 (en) | Systems for an integrated data network voice-oriented service and non-voice-oriented service converged creation and execution environment | |
US8064436B2 (en) | Session initiation protocol (SIP) messages incorporating address and/or routing information obtained from a contact header of a redirect message | |
Zhang | SIP-based VoIP network and its interworking with the PSTN | |
US6711156B1 (en) | System and method for providing enhanced user-service interaction in an integrated telecommunications network | |
US7738445B2 (en) | Combined H.450.2 and SIP call transfer | |
US8711707B2 (en) | Integrating multimedia capabilities with circuit-switched calls | |
US20080208993A1 (en) | Method For Distributing New Services in an Internet Multimedia Subsystem (Ims), and a Node Adapted Therefore | |
KR100514196B1 (en) | System and method for Controlling network address translation and session | |
EP1962464B9 (en) | Method, communication system and entity for overlap code sending using session initiation protocol | |
US20050190906A1 (en) | Application server component(s) providing of line-side service(s) associated with network address on home network for user to telephony device on remote network for the user |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Discontinued |