Detecting multimedia capability of a caller

The present invention allows a terminating telephony switch to detect whether or not a caller associated with an incoming call is associated with multimedia capability. The terminating telephony switch will monitor a call setup message, such as an Integrated Services User Protocol Initial Address Message, to determine whether or not there is multimedia capability information indicative of the caller's telephony terminal being associated with another media device, or including media capability sufficient to support packet sessions over a data network. The multimedia capability information may simply be the presence or absence of a flag, wherein the presence of a flag indicates there is multimedia capability. Alternatively, the call setup message may include the multimedia address associated with the media device of the caller. The originating telephony switch is configured to create call setup messages to provide multimedia capability information to enable the functionality of the terminating telephony switch.

FIELD OF THE INVENTION

The present invention relates to communications, and in particular to associating media capabilities with telephony calls over data and telephony networks.

BACKGROUND OF THE INVENTION

Given the ever-increasing desirability of combining voice and other media sessions, steps towards associating a traditional telephony device with a computing device are being made, such that voice sessions can be provided between two telephony devices and an associated video or data session is provided between the associated computing devices. In this fashion, traditional telephony networks are used to provide superior voice quality, while data networks are used to provide superior video and data session quality. For ease of reference, the computing devices, which are associated with respective telephony devices, are referred to as multimedia clients. An exemplary system is provided in U.S. application Ser. No. 10/028,510 filed Dec. 20, 2001, which is incorporated herein by reference in its entirety.

Providing such multimedia associations requires multiple entities in the data and telephony networks to determine if the parties associated with a voice session are associated with multimedia clients. As with any new technology, there are a few subscribers during initial deployment, and there is a need to minimize expenses and loads on network equipment that support the multimedia-services. Without an efficient system for identifying multimedia client availability, each of the telephony switches in the telephony network through which the call is routed would have to be modified to handle multimedia addressing capability, which would result in a very expensive and complex deployment. Given the relatively small number of subscribers in light of all telephony users, there is a need to alert the appropriate network equipment as to a subscriber's multimedia capability, instead of having to check the parties to each call to see if a multimedia client is associated with the respective parties. In this fashion, the network equipment impacted by the provision of multimedia services can gradually increase capacity as the number of subscribers to these services increases.

SUMMARY OF THE INVENTION

The present invention allows a terminating telephony switch to detect whether or not a caller associated with an incoming call is associated with multimedia capability. The terminating telephony switch will monitor a call setup message, such as an Integrated Services User Protocol (ISUP) Initial Address Message (IAM), to determine whether or not there is multimedia capability information indicative of the caller's telephony terminal being associated with another media device, or including media capability sufficient to support packet sessions over a data network. The multimedia capability information may simply be the presence or absence of a flag, wherein the presence of a flag indicates there is multimedia capability. Alternatively, the call setup message may include the multimedia address associated with the media device of the caller. The originating telephony switch is configured to create call setup messages to provide multimedia capability information to enable the functionality of the terminating telephony switch.

Both the originating and terminating telephony switches may interact with a service node to obtain multimedia client addresses for the caller or called party based on directory numbers provided in call signaling. The service node may initiate messaging sessions with the respective multimedia clients, and in particular, is effective in sending the multimedia address for a first multimedia client to that of a second multimedia client, such that the second multimedia client can communicate with the first multimedia client. In essence, the service node helps to facilitate either the caller or called party's multimedia client obtaining the multimedia address for the other party's multimedia client.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention enables a traditional telephony switch for either wireline or wireless applications to more efficiently operate in a multimedia environment, wherein voice sessions through the traditional telephony network are associated with one or more media sessions facilitated through a data network. In general, the telephony switches supporting the communicating users' telephony devices need to determine whether the respective parties have media capabilities, which can be associated with a particular voice session or call. With the present invention, the call processing information exchanged during call setup provides for the originating telephony switch to indicate that the caller has multimedia capabilities. Such functionality is provided by extending existing telephony messages, such as the Integrated Services User Protocol (ISUP) messages, in a number of ways. If the caller does not have multimedia capabilities, unmodified call processing messages are used. The terminating telephony switch will process the messages indicative of an incoming call, and determine whether or not the calling party has multimedia capabilities based thereon. The terminating telephony switch can also determine if the called party has multimedia capabilities. If both the caller and called party have multimedia capabilities, the terminating switch will take the necessary steps to facilitate a media session between multimedia clients associated with the caller and called party. In general, the incoming call processing messages may be modified to include a flag, which indicates the calling party has multimedia capabilities, or the originating switch may include the address for the multimedia client of the caller in the incoming call processing message. The following description will illustrate exemplary call processing flows and incoming call processing messages illustrative of the concepts of the present invention. Prior to delving into these communication flows, an exemplary network architecture is described in association withFIG. 1.

As illustrated, a communication environment10is centered about a Public Switched Telephone Network (PSTN)12. At the edges of the PSTN12, telephony switches14A and14B support corresponding telephony devices16A and16B, such that calls may be established therebetween via the PSTN12. Generally, a signaling network18facilitates the setup of calls between the telephony devices16A and16B by providing the appropriate instructions to telephony switches14A and14B, as those skilled in the art will recognize. The signaling network18may be a Signaling Systems 7 (SS7) network or the like, which is capable of controlling either wireline or wireless telephony switches14. In the illustrated embodiment, telephony switch14B is a wireless telephony switch, which is capable of interacting with proximate base stations20in a cellular network to facilitate wireless communications between the base stations20and wireless telephony terminal16B.

The telephony terminals16are associated with multimedia clients22, which may be personal computers, personal digital assistants, or any other computing device capable of facilitating packet-based data communications. As illustrated, multimedia client22A is associated with telephony terminal16A to form an associated client24A. Similarly, multimedia client22B is associated with telephony terminal16B to form an associated client24B. During multimedia sessions including voice and data sessions between the associated clients24, the data sessions are facilitated between the multimedia clients22over a data network26using corresponding data access networks28. In the wireless environment, the data access network28will interface with the base stations20to facilitate communications with the illustrated multimedia client22B, which is a personal digital assistant with wireless capability. The voice session is established via a telephony call between the telephony devices16.

The association between a telephony terminal16and a multimedia client22is facilitated by a service node30, which is capable of communicating with the multimedia client22via the data network26and any necessary data access network28, as well as communicating with the telephony switch14that supports the corresponding telephony terminal16. For a multimedia session including voice and data sessions, the service node30will facilitate the data session with the multimedia client22as well as the voice session via the telephony switch14that supports the telephony device16. Each service node30will likely support numerous associated clients24, and in operation will detect the initiation of a data or voice session that is part of a multimedia session, and operate to assist in the establishment of a corresponding voice or data session, as the case may be. Preferably, a multimedia client (MMC) database32provides an association between directory numbers for telephony devices16and corresponding addresses for associated multimedia clients22. The service node30can access the multimedia client database32to obtain addresses for multimedia clients22based on directory numbers, and vice versa to assist in the provision of multimedia sessions.

In general, the present invention allows the terminating telephony switch14, the telephony switch supporting the called party, to determine whether the caller is associated with multimedia capabilities based on information provided in call setup messages. In one embodiment, the call setup messages are Integrated Services User Protocol (ISUP) Initial Address Messages (IAMs). If the called party is associated with multimedia capabilities, the ISUP IAMs may include a message, such as a flag, indicative of the presence of an associated multimedia client22, the address on the data network26for the multimedia client22, or a combination thereof. Importantly, the messages may take virtually any form that the terminating telephony switch14can use to determine whether the caller is associated with multimedia capabilities. The information provided with the ISUP IAM may indicate that there is no multimedia capability, or the ISUP IAM may not have any additional information, which the terminating telephony switch14will use to determine that there is no multimedia capability associated with the caller. Again, the caller is associated with multimedia capabilities if the caller's telephony terminal16is associated with a multimedia client22as described above, or if the caller is associated with a combined device having both voice and media capabilities, as will be described inFIG. 5.

Although the concepts of the present invention are applicable to various communication environments and related protocols, the present invention is preferably implemented using the session initiation protocol, which is commonly referred to as SIP. The specification for SIP is provided in the Internet Engineering Task Force's Request for Comments (RFC) 3261: Session Initiation Protocol Internet Draft, which is incorporated herein by reference in its entirety. In general, SIP is used to establish media sessions between any number of endpoints. Typically, these endpoints may support any number or combination of data, audio, and voice media sessions, depending on the configuration of the device. A SIP endpoint is capable of running an application, typically referred to as a user agent (UA), which is capable of facilitating media sessions using SIP. In certain embodiment, user agents may register their ability to establish sessions with a SIP proxy by sending REGISTER messages to the SIP proxy (not shown). The REGISTER message informs the SIP proxy of the SIP universal resource locator (URL) that identifies the user agent to the SIP network. The REGISTER message also contains information about how to reach specific user agents over the SIP network, typically by providing the Internet Protocol (IP) address and port that the user agent will use for SIP sessions. When a user agent wants to establish a session with another user agent, the user agent initiating the session may send an INVITE message to the SIP proxy and specify the target user agent in the TO header of the INVITE message. Identification of the user agent takes the form of a SIP URL. The SIP proxy will use the SIP URL in the TO header of the message to determine if the targeted user agent is registered with the SIP proxy. Generally the user name is unique within the name space of the specified domain.

If the targeted user agent has registered with the SIP proxy, the SIP proxy will forward the INVITE message directly to the targeted user agent. The targeted user agent will respond with a 200 OK message, and a session between the respective user agents will be established as per the message exchange required in the SIP specification. Media capabilities are passed between the two user agents of the respective endpoints as parameters embedded within the session setup messages, such as the INVITE, 200 OK, and acknowledgement (ACK) messages. Media capabilities may be exchanged in other messages, such as the SIP INFO message. Media capabilities are typically described using the Session Description Protocol (SDP). Once respective endpoints are in an active session with each other and have determined each other's capabilities, the specified media content may be exchanged during an appropriate media session.

According to the Internet Engineering Task Force's RFC 3261, a user agent is an application that contains both a user agent client and a user agent server. A user agent client generally refers to a client application that initiates SIP requests, wherein a user agent server is an application that contacts the user when a SIP request is received, and returns a response on behalf of the user. Typically, the response accepts, rejects, or redirects the received request.

FIGS. 2 and 3illustrate two communication flows wherein the incoming ISUP IAM does not include additional information when the caller is not associated with multimedia capabilities, and does include additional information, in particular a flag, when the caller is associated with multimedia capabilities, respectively. With particular reference toFIG. 2, assume that the caller is associated with telephony terminal16A, and that there is no multimedia client22A associated with telephony terminal16A or the caller. Further assume that telephony terminal16A is associated with a directory number DN1, telephony terminal16B is associated with directory number DN2, multimedia client22B is associated with an address of MMC2@xyz.com, and the caller is originating a call from telephony terminal16A to telephony terminal16B.

To initiate the call, telephony terminal16A will send dual tone multi-frequency (DTMF) digits corresponding to directory number DN2to telephony switch14A, which supports telephony terminal16A (step100). Telephony switch14A will either be provisioned to know that telephony terminal16A is or is not associated with a multimedia client22or will be able to access some entity to determine whether or not telephony terminal16A is associated with a multimedia client22. In this instance, telephony terminal16A is not associated with a multimedia client22, and as such, telephony switch14A will send an ISUP IAM through the signaling network18to telephony switch14B, which supports telephony terminal16B (step102). Notably, the ISUP IAM will not include information indicative of the presence of a multimedia client22, but will be a normal ISUP IAM, which will identify the caller and the called party by their respective directory numbers, DN1and DN2. When the ISUP IAM is ultimately routed to telephony switch14B, it will process the ISUP IAM to determine whether telephony terminal16A is associated with a multimedia client22. Since the ISUP IAM does not have the additional information indicative of telephony terminal16A being associated with a multimedia client22, it will recognize that there is no multimedia capability associated with telephony terminal16A (or the caller).

As such, telephony switch14B can either initiate ringing of telephony terminal16B to facilitate call connection, or access associated service node30B to determine if any multimedia functions should be provided in association with the call, even though the incoming call will not be associated with a media session. Telephony switch14B thus can send an Intelligent Network (IN) Termination Attempt Trigger (TAT) message to service node30B (step104). The IN TAT will preferably identify the caller and the called party by their respective directory numbers, and indicate that there is no multimedia capability associated with telephony terminal16A, such as by indicating that the caller multimedia flag is false. Service node30B may recognize that telephony terminal16B is associated with multimedia client22B, and in this example, will initiate sending a message identifying the incoming call to the multimedia client22B.

Initially, service node30B must identify the multimedia address for multimedia client22B, and will access the multimedia client database32using the directory number for telephony terminal16B to retrieve the multimedia address for multimedia client22B (step106). The multimedia client database32will use the directory number for telephony terminal16B, and look up the multimedia address for multimedia client22B, and then send a response back to service node30B with the multimedia address, MMC2©xyz.com, for multimedia client22B (step108). Service node30B will send an IN Continue message to telephony switch14B, which will instruct telephony switch14B to proceed with connecting the incoming call to telephony terminal16B (step110). Service node30B can also send a SIP Message message to multimedia client22B using the retrieved multimedia address (step112). The message may be any type of message, such as simply sending a text message to multimedia client22B indicating that an incoming call is being received from telephony terminal16A or the caller, and that the caller does not have multimedia capability.

Meanwhile, telephony switch14B will initiate ringing of telephony terminal16B (step114), as well as sending an ISUP Address Complete Message (ACM) back through the signaling network18toward telephony switch14A (step116). Once telephony terminal16B is answered, an Offhook signal is detected by telephony switch14B (step118), which will forward an ISUP Answer Message (ANM) toward telephony switch14A through the signaling network18(step120). At this point, a voice call is established between telephony terminals16A and16B (step122). From the above, the present invention allows the terminating telephony switch14B to recognize that there is no multimedia capability associated with the caller, or telephony terminal16A of the caller, by monitoring the information or lack thereof in the call setup message (ISUP IAM). Even though the incoming call will not be associated with a media session, telephony switch14B initiates multimedia services by interacting with service node30B, which will facilitate multimedia services.

Turning now toFIG. 3, assume that telephony terminal16A is associated with multimedia client22A, and that the incoming call setup message, such as the ISUP IAM, includes an additional flag indicative of the multimedia capabilities. Further assume that terminating telephony switch14B can detect the presence of the multimedia client22A, or detect the additional information provided in the setup message and interact with service node30B to initiate the corresponding data session, as well as terminate the incoming call. The call from telephony terminal16A to telephony terminal16B is initiated when the caller dials the directory number of telephony terminal16B and DTMF digits for directory number DN2are received by telephony switch14A (step200). Telephony switch14A will determine whether telephony terminal16A is associated with a multimedia client22, and in this case, there is an association with multimedia client22A.

Accordingly, telephony switch14A will generate an ISUP IAM, which includes additional information, in this case, an Application Transport Mechanism (APM) message indicating that multimedia capabilities are available, or that multimedia client22A is associated with telephony terminal16A. The ISUP IAM is sent toward telephony switch14B through the signaling network18(step202), and when telephony switch14B receives the ISUP IAM, it will detect that telephony terminal16A is associated with multimedia capabilities. At this point, telephony switch14B only knows that telephony terminal16A is associated with multimedia capabilities; the identity of multimedia client22A is not yet determined.

Telephony switch14B will then send an IN TAT message to service node30B identifying the caller and the called party based on their directory numbers, as well as providing information indicating that the multimedia flag was set in the ISUP IAM (step204). Service node30B will use the directory numbers for telephony terminals16A and16B when sending a query to the multimedia client database32to identify the multimedia addresses for the respective multimedia clients22A and22B (step206). The multimedia client database32will identify the multimedia addresses and send a response back to service node30B providing the multimedia addresses for the multimedia clients22A and22B, along with the directory numbers for the corresponding telephony terminals16A and16B (step208). Service node30B will then send an IN Continue message to telephony switch14B, which will take the necessary steps to terminate the incoming call at telephony terminal16B (step210). Service node30B may also send a SIP Message message to multimedia client22B providing any type of information desired in the select application, and more importantly, providing multimedia client22B with the multimedia address for multimedia client22A (step212). In this manner, multimedia client22B is not only made aware of the incoming call from telephony terminal16A, but is also provided the address, which may include port information, for sending packets to multimedia client22A to facilitate a data session. Multimedia client22B will then respond by sending a SIP Message message to multimedia client22A using the appropriate multimedia address, which will include the multimedia address of multimedia client22B (step214). As such, multimedia client22A is provided the multimedia address for multimedia client22B, and now has the necessary information for sending packets to multimedia client22B to facilitate the data session.

Meanwhile, telephony switch14B will initiate ringing of telephony terminal16B (step216), as well as send an ISUP ACM toward telephony switch14A through the signaling network18(step218). Once telephony switch14B detects that telephony terminal16B is answered by receiving an Offhook message (step220), it will send an ISUP ANM toward telephony switch14A through the signaling network18(step222). At this point, the voice call is established between telephony terminals16A and16B (step224). Further, multimedia clients22A and22B have the necessary information to communicate with each other. A session between multimedia clients22A and22B may be initiated by multimedia client22A sending a SIP Invite message to multimedia client22B using the appropriate multimedia address (step226). For a video session, the SDP within the SIP Invite message may identify the session as video. Multimedia client22B will take the necessary steps to configure itself to receive or transmit video packets, and send a SIP 200 OK message back to multimedia client22A to acknowledge receipt of the SIP Invite message (step228). In normal SIP fashion, multimedia client22A will respond with a SIP Acknowledgement (ACK) message (step230), wherein a video session is established (step232).

From the scenarios associated withFIGS. 2 and 3, the originating telephony switch14A identified whether the telephony terminal16A was associated with a multimedia client22by adding information in the setup message when such multimedia capability was available, and not adding any information when multimedia capability was not available. The additional information when multimedia capability was available did not identify the associated multimedia client22or provide any addressing information. In the scenario illustrated inFIG. 4, the originating telephony switch14A is not only able to identify whether or not the calling party has multimedia capability, but will also use an associated service node30A to identify the multimedia address for multimedia client22A, which is associated with telephony terminal16A.

Initially, telephony switch14A receives DTMF digits from telephony terminal16A when the caller desires to initiate a call to telephony terminal16B (step300). Upon receiving the DTMF digits for directory number DN2, telephony switch14A will send an IN Information Analyzed message (O_Info_Analyzed) to service node30A, wherein the message identifies the caller and the called party with their respective directory numbers DN1and DN2(step302). Service node30A will formulate a query, which is sent to the multimedia client database32, identifying the directory number DN1for telephony terminal16A (step304). The multimedia client database32will use the directory number DN1for telephony terminal16A to identify the multimedia address for multimedia client22A. The multimedia client database32will send a response back to service node30A identifying the multimedia address for multimedia client22A (step306). Service node30A may then send an IN Analyze Route message to telephony switch14A with additional information identifying the multimedia address for multimedia client22A (step308).

Continuing with originating the call, telephony switch14A will send an ISUP IAM toward telephony switch14B through the signaling network18(step310). The ISUP IAM will identify the caller and called party by their respective directory numbers DN1and DN2, as well as include the multimedia address for multimedia client22A in the Application Transport Mechanism. Telephony switch14B will receive the ISUP IAM and determine that telephony terminal16A is associated with multimedia capability, and that the address for that capability (multimedia client22A) is MMC1@xyz.com. Telephony switch14B will at this point know the directory numbers for the caller and called party as well as the multimedia address for multimedia client22A. To determine the multimedia address for multimedia client22B, which is associated with telephony terminal16B, an IN TAT message is sent to service node30B, and includes at least the directory number for the called party, among other information (step312). Service node30B will use the directory number for telephony terminal16B to form and send a query to the multimedia client database32(step314). The multimedia client database32will use the directory number for telephony terminal16B to identify the multimedia address for multimedia client22B and send an appropriate response back to service node30B (step316). Service node30B will then instruct telephony switch14B to continue with terminating the call at telephony terminal16B using an IN Continue message (step318), as well as sending a SIP Message message providing the multimedia address of multimedia client22A to multimedia client22B using the multimedia address for multimedia client22B (step320). Multimedia client22B will then send a SIP Message message identifying the multimedia address for multimedia client22B to multimedia client22A (step322).

In the meantime, telephony switch14B will initiate ringing of telephony terminal16B (step324), as well as send an ISUP ACM toward telephony switch14A via the signaling network18(step326). Once telephony terminal16B is answered, telephony switch14B will recognize that telephony terminal16B has gone offhook (step328), and send an ISUP ANM to telephony switch14A via the signaling network18(step330). At this point, a voice call is established between telephony terminals16A and16B (step332). The media session between multimedia clients22A and22B can be established by multimedia client22B sending a SIP Invite message to multimedia client22B (step334). As withFIG. 3, assume the SIP Invite includes SDP for a video session. Multimedia client22B will respond with a SIP 200 OK message (step336), and multimedia client22A will acknowledge receipt of the SIP 200 OK message with a SIP ACK message (step338). At this point, the multimedia clients22A and22B have the necessary address and port information for sending video back and forth to facilitate a bi-directional video session in association with the voice call (step340), wherein voice can be carried via the PSTN12and video can be carried via the data network26.

Although the communication flows discussed above relate to separate multimedia clients22and telephony terminals16, the relative functionalities can be combined into a single multifunctional device34, such as the one illustrated inFIG. 5. Notably, the multifunctional device34can facilitate communications via the telephony switch14using wired or wireless circuit-switched technology, as well as via the data network26using wired or wireless packet technology. Further, each of the respective service nodes30A and30B can be associated with corresponding multimedia client databases32A and32B. Although not illustrated, telephony switches14A and14B could share a common service node30, and provide the functionality described above.

Turning now toFIG. 6, a block representation of a service node30is provided according to one embodiment of the present invention. The service node30will include a control system38having sufficient memory40for software42, which facilitates the functionality of the present invention. The control system38will also be associated with one or more packet interfaces44to facilitate communications with the telephony switches14as well as the multimedia clients22, in a direct or indirect fashion through one or more intermediate devices (not shown).

Turning now toFIG. 7, a block representation of a telephony switch14is illustrated. The telephony switch14is represented generically and is intended to cover the logical functionality of land-based (wired) and mobile (wireless) switching systems, which may include control for call server-based functions. These telephony switches14may be implemented in a variety of ways using different equipment types, such as Nortel Networks Limited's DMS-100 local switching system. The switch14typically includes a switching fabric module46, a computing module48including storage software50, a subscriber/base station interface52, a network interface54, an operations/administration and maintenance (OA & M) module56and a packet interface58. The switching fabric46may comprise logical and physical switches for interconnecting the subscriber/base station interface52with the remainder of the PSTN12through the network interface54. Depending on a land-based or mobile embodiment, the subscriber/base station interface52will either directly support subscribers through subscriber lines or will support base stations20, which facilitate wireless communications with mobile telephony devices. As illustrated, the computing module48controls circuit-switched communications via the switching fabric46and is capable of providing traditional intelligent network monitoring and functions. Further, the computing module48may cooperate with a provisioning database60to obtain configuration and operation rules and data. In operation, the software50of the computing module48is modified to monitor incoming call setup messages, such as an ISUP IAM, and determine whether the message has been modified to indicate that the caller associated with the message has multimedia capability as described above. Based on this information, as well as any need to access the service node30, the software50will instruct the computing module48to either continue with establishing the call or access the service node30as indicated.