Method and system for providing call screening in a packet-switched network

Information

  • Patent Grant
  • 8447019
  • Patent Number
    8,447,019
  • Date Filed
    Thursday, March 3, 2011
    13 years ago
  • Date Issued
    Tuesday, May 21, 2013
    11 years ago
Abstract
Embodiments of the invention provide systems and methods for determining whether a call in a packet-switched network to a first destination is to be forwarded, forwarding the call to a second destination based on a determination that the call is to be forwarded, notifying the first destination that the call has been forwarded, receiving a request from the first destination to screen the call, and enabling the first destination to screen the call.
Description
BACKGROUND INFORMATION

Session Initiation Protocol (SIP) is a call control signaling protocol for Internet Protocol (IP) networks. SIP is designed to be device-agnostic—that is, it is intended to provide a highly flexible call signaling capability that is not tailored to the capabilities of any particular device. Analog telephone signaling, on the other hand, is device-specific and highly constrained because of the historical legacy of the services delivered to the device. As a result, many call features available in traditional analog telephone devices are not easily integrated in a packet switched and/or packet-based network such as a SIP-based network.





BRIEF DESCRIPTION OF THE DRAWINGS

In order to facilitate a fuller understanding of the exemplary embodiments of the present inventions, reference is now made to the appended drawings. These drawings should not be construed as limiting, but are intended to be exemplary only.



FIG. 1 illustrates an exemplary SIP-based network system, according to an embodiment of the present invention.



FIG. 2 illustrates an exemplary implementation where a SIP Device is embedded in a FTTP network, according to an embodiment of the present invention.



FIG. 3 illustrates an exemplary implementation where a SIP Device is embedded in an ATA device connected to an IP network, according to an embodiment of the present invention.



FIG. 4 illustrates an exemplary system for providing call screening, according to an embodiment of the present invention.



FIG. 5 illustrates an exemplary system for providing call screening, according to an embodiment of the present invention.



FIG. 6 illustrates an exemplary method for providing call screening, according to an embodiment of the present invention.





DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

A system and process of an exemplary embodiment of the present invention provides call screening in packet-switched and/or packet-based networks.



FIG. 1 is an exemplary SIP-based network system, according to an embodiment of the present invention. System 100 illustrates an exemplary system for supporting SIP communication, in particular providing call screening in SIP communication. As illustrated, SIP Device 110 may be coupled to User Interface 114. SIP Device 110 may include a SIP User Agent 112 for communicating across IP Network 120 to a SIP Server 122. SIP Server 122 may provide communication to other SIP devices, as shown by SIP Element 130 and SIP element 132, through IP Network 124. The various components of system 100 may be further duplicated, combined and/or integrated to support various applications and platforms. Additional elements may also be implemented in the system to support various applications. A SIP-based network may also include an IP network, packet switched based network or other type of network. The elements referred to in the Figures may include other network or packet switched based elements. For example, the elements referred to as “SIP” may include other network devices, elements, components, etc.


SIP Device 110 may represent a device that manages User Interface 114. User Interface 114 may include a traditional telephone and other data communication device using voiceband or other signaling, including but not limited to data modems, facsimile devices, teletype (TTY) equipment, etc. SIP Device 110 may contain SIP User Agent 112. SIP User Agent 112 may be integrated with SIP Device 110 or remote from SIP Device 110. SIP User Agent 112 may perform interworking between SIP signaling and user interface actions. For example, SIP User Agent 112 may manage an exchange of media (e.g., audio, etc.) between User Interface 114 and a Real Time Protocol (RTP) media stream of a media session set up by the SIP signaling. SIP Device 110 may originate calls to and receive calls from other users. SIP Device 110 may communicate through IP Network 120 to SIP Server 122.


SIP Server 122 may represent a SIP proxy or application server that acts on behalf of SIP Device 110. For example, SIP Server 122 may manage a SIP Address of Record (AOR) on behalf of SIP Device 110. SIP Device 110 may register with SIP Server 122 and send SIP signaling through SIP Server 122 to other SIP elements, such as SIP Element 130 and SIP Element 132. For example, a call to the SIP AOR may be delivered to SIP Server 122, which in turn delivers the call to SIP Device 110. SIP Server 122 may perform some service on behalf of SIP Device 110, or may simply forward SIP messages to and from SIP Device 110. SIP Device 110 communicates through IP Network 124 to SIP Element 130 and/or SIP Element 132.


SIP Element 130 and SIP Element 132 may represent users with which the user of SIP Device 110 communicates. SIP Element may be a SIP Device, SIP Server, and/or other SIP enabled device. In addition, SIP Element may also represent a PSTN device that may be reached by a gateway that, directly or indirectly, acts as a SIP User Agent.



FIGS. 2 and 3 show exemplary implementations of a SIP Device. FIG. 2 illustrates an exemplary implementation where a SIP Device is used in connection with a Fiber-to-the-Premises (FTTP) network, according to an embodiment of the present invention. FIG. 3 illustrates an exemplary implementation where a SIP Device is embedded in an Analog Telephone Adapter (ATA) which is used in connection with a traditional (e.g., electrical) IP-enabled access network, according to an embodiment of the present invention. Other implementations with other devices and/or networks may also be realized.


As shown in FIG. 2, User Interface 114 may be connected to SIP Device 110. SIP Device 110 may be embedded in Optical Network Terminal (ONT) 210 or otherwise integrated. ONT 210 may be connected to an Optical Line Terminal (OLT) 230 with a Passive Optical Network (PON) 220 acting as an access network for communications between ONTs 210 and OLTs 230. According to an exemplary application, OLT 230 may be located at a Central Office. ONT 210 may be connected over PON 220 to the OLT 230, which in turn passes that connection through transport IP network 120 to SIP Server 122. According to an exemplary application, OLT 230 may maintain an IP connection between SIP Device 110 on the ONT 210 and the IP transport network 120. In this exemplary application, the OLT 230 may not process SIP signaling, but rather allows SIP signaling to pass through to its destination.



FIG. 3 illustrates SIP Device 110 embedded in an Analog Telephone Adapter (ATA) 310 in a home or other location that subscribes to a broadband service delivered via an access network, such as DSL or cable modem service. The ATA device may be attached to a network, such as a broadband data network, IP network and/or other network. User Interface 114 may be connected to SIP Device 110. ATA 310 may be connected to Broadband Router 320, which in turn may be connected to a DSL or cable modem 330, which in turn may be connected to access network 340. Access network 340 may provide connectivity to transport IP network 120 through which the SIP Device 110 may communicate with SIP Server 122. In one example, as shown in FIG. 3, data multiplexer (MUX) 350 may provide a point of connection for transmissions between access network 340 and the transport IP network 120.


The various components of systems 200 and 300 as shown in FIGS. 2 and 3 may be further duplicated, combined and/or integrated to support various applications and platforms. Additional elements may also be implemented in the systems described above to support various applications.



FIG. 4 depicts an exemplary system 400 for providing call screening according to various embodiments. As shown in FIG. 4, system 400 may include an application server 401, a device 402, and a user interface 403. Further, as shown in FIG. 4, application server 401 and device 402 may be coupled via a network 404. In various exemplary embodiments, network 404 may be a packet-switched and/or packed based network such as, for example, an IP network, SIP network, a VoIP network and/or the like. For example, network 404 may encompass PON 220, access network 340 and/or transport IP network 120, as shown in FIGS. 2 and 3.


Application server 401 may include network elements (not shown in FIG. 4) that provide services to users. While application server 401 is illustrated as a single element in FIG. 4, application server 401 may be comprised of multiple elements including, but not limited to, for example, SIP registrars, location servers, proxy servers, back-to-back user agents, and/or the like. As shown in FIG. 4, application server 401 may include a subscribe/notify module 410 to receive and transmit SUBSCRIBE and NOTIFY requests as will be described in greater detail below. Application server 401 may also include a refer module to transmit and receive REFER requests as will be described in greater detail below. Application server 401 may also include an invite module 412 to transmit INVITE requests as will be described in greater detail below.


According to various embodiments, device 402 may be an instrument through which an end user may connect to network 404 to send and receive calls and avail the end user of services (e.g., a collection of behaviors to be applied to communications requests on behalf of an end user) that may be provided. Device 402 may include a user agent 420. User agent 420 may include a subscriber module 421, an interpreter 422 a refer module 423 and an invite module 424. In an exemplary embodiment, subscriber module 421, interpreter 422, refer module 423 and invite module 424 may comprise a single module to receive and transmit SUBSCRIBE, NOTIFY, REFER and INVITE requests to enable call screening, for example. In an exemplary embodiment, user agent 420 may be a SIP construct that represents a device in a SIP-based network, for example. In such an embodiment, user agent 420 may be coupled with a network and a user interface, as shown in FIG. 4.


User interface 403 may provide a facility through which a user interacts with the user interface in order to initiate and receive voice communications. In an exemplary embodiment, user interface 403 may be a telephone or like device. Also, user interface 403 may include a computer emulating a telephone, for example. As shown in FIG. 4, user interface 403 may include a dual-tone multi-frequency (DTMF) signal generator 431, an audio transceiver 432, a display 433, a communications module 434, a hookswitch control 435, and indicators 436.


In an exemplary embodiment, DTMF signal generator 431 may include twelve DTMF keys or a rotary dial similar to those on conventional telephones. In such an embodiment, a user may press the DTMF keys or move the rotary dial, respectively, to generate DTMF signals. Also, DTMF signal generator 431 may include a computer emulating twelve DTMF keys. In such an embodiment, a user may interact with the computer to generate DTMF signals.


Audio transceiver 432 may provide a facility to transmit and receive audio signals. In an exemplary embodiment, audio transceiver may include a microphone, earphone, speaker, and/or the like.


Display 433 may display verbal and/or graphical messages to the user. For example, display 403 may display the phrase “Screen Call?” to a user to invite the user to screen a call that is being forwarded. Also, display 403 may serve as a caller identification display, capable of displaying the name and number associated with an incoming call.


Communications module 434 may provide a facility to communicate with device 402 and/or user agent 420. Communications module 434 may include an analog telephone port, a wireless port, or any other means for coupling user interface 403 with device 402 and/or user agent 420, for example.


Hookswitch control 435 may perform the functions of a traditional hookswitch, which may include, e.g., initiating a call, terminating a call, and accessing a service within a call (e.g., the function of a “flash” button). For example, hookswitch control 435 may be used to request that a forwarded call be screened, a screening party conference into the call, and/or that forwarded destination be ejected from a conferenced call as will be described in greater detail below.


Indicators 436 may provide indications to the user regarding the services provided. For example, indicators 436 may provide a message waiting indicator, an indication that a service (e.g., call forwarding) is active or inactive, or the like. Indicators 436 may include indicator lights, for example, and/or graphical representations that may appear on the display.


As noted above, subscribe/notify module 410 and subscriber module 421 may receive and transmit SUBSCRIBE and NOTIFY requests. In an exemplary embodiment, the modules may receive and transmit SUBSCRIBE and NOTIFY requests in accordance with the Internet Engineering Task Force's (IETF) Request for Comment (RFC) No. 3265 entitled “SIP-Specific Event Notification,” the contents of which is incorporated herein by reference. In such an embodiment, the user agent may subscribe to services for various resources or calls in the network, for example, thus enabling the user agent to receive notifications regarding the service. For example, the user agent may subscribe to a “call-forwarding-indicator” service to receive a notification when the status of the call forwarding service changes and/or a “call-redirection-reminder” service to receive a notification when a call is forwarded.


According to this exemplary SUBSCRIBE/NOTIFY capability, a subscriber may be a user agent that receives NOTIFY requests from notifiers (e.g., an application server). The NOTIFY request may contain information about the state of a resource and/or service in which the subscriber is interested. A subscriber may generate SUBSCRIBE requests and transmit the SUBSCRIBE requests to create subscriptions. A notifier may generate notification requests for the purpose of notifying subscribers of the state of a resource and/or service. A notifier may also accept SUBSCRIBE requests to create subscriptions. An event package may refer to an specification that defines a set of state information to be reported by a notifier to a subscriber.


In an exemplary embodiment, SUBSCRIBE requests may include an “Event” header and an “Accept” header, for example. In such an embodiment, the “Event” header may indicate which event or class of events to which the subscriber is subscribing. Also, the “Event” header may include a token which indicates the type of state for which a subscription is being requested. An “Accept” header may indicate the body formats allowed in subsequent NOTIFY requests.


SUBSCRIBE requests may be a dialog-creating method. For example, when a subscriber wishes to subscribe to a particular service, the subscriber may form and transmit a SUBSCRIBE message. This SUBSCRIBE request may then be confirmed with a final response in the form of a NOTIFY request, for example.


In an exemplary embodiment, NOTIFY requests and/or messages may be sent to inform subscribers of changes in state to which the subscriber has a subscription. In such an embodiment, a NOTIFY may not terminate the corresponding subscription. NOTIFY requests may contain “Event” headers that may contain an event package name for which a notification is being generated, for example. The “Event” package name may correspond to the “Event” header in the corresponding SUBSCRIBE message. NOTIFY requests may also contain “Content-Type” headers which may indicate a body format, and may also contain bodies that may contain the state of the subscribed resource and/or service.


In addition to the SUBSCRIBE/NOTIFY capabilities, refer module 411 of application server 401 and refer module 423 of user agent 420 may receive and transmit REFER requests. In an exemplary embodiment, the modules may receive an transmit REFER requests in accordance with IETF RFC No. 3515 entitled “The SIP Refer Method,” the contents of which is incorporated herein by reference.


In such an embodiment, a user agent, for example, may request that the recipient of the REFER request REFER to a resource provided in the request. The REFER request may enable the transmitting party to be notified of the outcome of the referenced request, as well.


In an exemplary embodiment, REFER may indicate that the recipient (identified by a request Uniform Resource Indicator (URI)) should contact a third party using the contact information provided. For example, an original or intended destination of a call may transmit a REFER request to a server to request that the server contact a forwarded destination to enable the original destination to screen a call as will be discussed in greater detail below. A REFER request may contain a “Refer-to” header field to identify the third-party to be contacted.


As noted above, invite module 412 of application server 401 and invite module 424 of user agent 420 may transmit and receive INVITE requests to create a dialog between the user agent and the server, for example. In an exemplary embodiment, other elements in an exemplary system for call screening (e.g., a caller and a forwarded destination) may contain invite modules to create dialogs between the server and the caller and the forwarded destination. In an exemplary embodiment, INVITE requests may be used to create dialogs between elements in a system for call screening as will be described in greater detail below.


Various embodiments provide for call screening in a packet-switched network. In these embodiments, the screening party (e.g., an original destination) may also conference into the forwarded call and/or eject the forwarded destination from the call, for example. FIG. 5 depicts an exemplary system 500 for screening calls in, for example, packet-switched network 505. The example of FIG. 5 illustrates a calling party 502, an original destination 503 and a forwarded destination 504, each of which may comprise a user agent (e.g., user agent 420) and/or a user interface (e.g., user interface 403) having facilities and functionality as described above. FIG. 5 further illustrates a server 501 (e.g., application server 401) that is associated with original destination 503, which may include facilities and functionality as described above.


In the exemplary embodiment of FIG. 5, when caller 502 calls original destination 503, for example, caller 502 may transmit a SIP INVITE request to server 501. When the SIP INVITE request arrives at server 501, a dialog may be created between caller 502 and server 501. Server 501 may then transmit a SIP INVITE request to original destination 503, which may also create a dialog between server 501 and original destination 503.


In such an embodiment, server 501 may provide a call forwarding service on behalf of original destination 503. When call forwarding is active, if server 501 receives an INVITE request from caller 502, for example, it may not send an INVITE request to original destination 503. Instead, server 501 may send an INVITE request to forwarded destination 504. Server 501 may then interconnect the two dialogs to allow all audio data to be exchanged between caller 502 and forwarded destination 504. Also, if original destination 503 has configured the call forwarding service to forward calls after an interval of time passes before the original destination 503 answers the call, server 501 may cancel an INVITE request sent to original destination 503 and forward the call to forwarded destination 504. For example, if original destination 503 does not answer a call after a predetermined number of rings, server 501 may forward the call to forwarded destination 504, which may be a voice mail box and/or voice mail system.


In an exemplary embodiment, system 500 may support a call screening service that may allow the original destination 503 to listen in on a call that has been forwarded to forwarded destination 504. In such an embodiment, server 501 may send notification to original destination 503 when server 501 has forwarded a call to forwarded destination 504, for example. To receive this notification, original destination 503 may subscribe to a “Forwarded Call Event” service in accordance with the SUBSCRIBE/NOTIFY capability described above. For example, the user agent of original destination 503 may transmit a SUBSCRIBE request to server 501 to subscribe to the service.



FIG. 6 depicts flow chart 600 which illustrates an exemplary embodiment of a method for screening a call according to various embodiments of the invention. The exemplary embodiment of FIG. 6 is illustrated in the context of an original destination which includes a SIP Device having a user agent such as described above with respect to FIG. 4 and a user interface implementing a feature set such as described above with respect to user interface 403. Other systems may also be used.


In block 601, an originating destination (e.g., subscriber) may subscribe to a forwarded call event service associated with call forwarding as described above. For example, a user agent associated with an original destination may submit a SUBSCRIBE request to a server, such as an application server or SIP server, and the server may confirm the subscription as described above. The forwarded call event service may enable the original destination to receive notification of a forwarded call and screen the forwarded call. The user agent of the original destination may be pre-programmed to submit such a SUBSCRIBE request, or may receive configuration information or other instructions which instruct the user agent to submit such a SUBSCRIBE request. The server associated with the original destination may also authenticate and/or authorize the SUBSCRIBE request prior to enabling the call screening service.


In block 602, original destination may be called by a caller, for example. In an exemplary embodiment, a caller may transmit an INVITE request to a server to create a dialog between the caller and the server.


In block 603, the server may determine whether call forwarding is active for the original destination. For example, prior to receiving the call, a user associated with the original destination may use a user interface to activate the call forwarding service for the original destination. If call forwarding is not active, in block 604, the server may connect the caller with the original destination, for example, by transmitting an INVITE request to the original destination to create a dialog between the server and the original destination. The server may then interconnect the dialogs the server has with the caller and the original destination to enable an exchange of audio data between the caller and the original destination, for example.


If call forwarding is active, in block 605, the call may be forwarded to the forwarded destination. To forward the call to the forwarded destination, the server may transmit an INVITE request to the forwarded destination to create a dialog between the server and the forwarded destination. The server may then interconnect the dialogs the server has with the caller and the forwarded destination to enable an exchange of audio data between the caller and the forwarded destination, for example.


In block 606, the original destination may be notified of the forwarded call. In an exemplary embodiment the original destination may receive a notification of the forwarded call because the original destination has subscribed to the Forwarded Call Event server in block 601, for example. To notify the original destination of the forwarded call, the server may construct a Forwarded Call Event that may include an identifier of the dialog between the caller and the server, the address of record for the forwarded destination, and a time limit defining the time for allowing the original destination to screen the call. The server may then transmit the Forwarded Call Event in a NOTIFY request to the original destination, where it is received by the user agent associated with the original destination.


In block 607, it may be determined whether the original destination has gone “offhook” before a predetermined period of time expires (e.g., the time limit identified in the NOTIFY request). In an exemplary embodiment, a hookswitch control of a user interface may interact with SIP Device and a user agent, for example, to detect the offhook condition at the user interface and to notify the server that the original destination has gone offhook. Also, the predetermined time period may be associated with an interval of time (e.g., 10 seconds) or a number of rings, for example. If the original destination does not go offhook and the time limit expires, the forwarded call may not be screened. Further, the original destination may await additional incoming calls in block 608, and when an incoming call occurs, flow chart 600 may proceed to block 602. If the original destination goes offhook before the time limit expires, the original destination may screen the call in block 609.


In block 609, to enable the original destination to join the forwarded call, the user agent of the original destination may transmit an INVITE request to the address of record of the original destination at the server. In an exemplary embodiment, the INVITE request may include a “Join” header that identifies the dialog between the server and the caller and a session description that may specify one-way media such that the original destination only receives audio. The server may then accept the INVITE request from the original destination to create a dialog between the original destination and the server. Also, in an exemplary embodiment, the server may interpret the “Join” header as a request to create a three-way conference including the dialogs between the server and the caller, original destination and forwarded destination.


The server may then create the requested conference. In an exemplary embodiment, to create the conference, the server may construct a conference URI which may server as a unique SIP address for the conference within the server, for example. The server may then send, for example, a “200 OK” response to the original destination. In an exemplary embodiment, the response may include a “Contact” header that may specify the conference URI. Also, the “Contact” header may include an “infocus” parameter to signify that the URI is a conference URI. Once the original destination receives the response, the SIP Device of the original destination may use the URI to establish an audio data connection to the existing audio data being exchanged by the caller and the forwarded destination in order to “screen” or listen to the audio exchange between the caller and the forwarded destination. The original destination may continue to screen the call in block 611 until the call is terminated in block 612, for example.


In the embodiment as described above, where there is a one-way media session, the original destination may be prevented from transmitting audio to either the caller or the forwarded destination. In other words, the one-way media session may prevent the original destination from “speaking” to either party.


In a further exemplary embodiment, the original destination may be able to join the conference and transmit audio to the caller and/or the forwarded destination, for example. In block 610, the original destination may request to converse with the caller and/or the forwarded destination. In an exemplary embodiment, to make the request, the original destination may perform a hookswitch flash, for example, using the hookswitch controls of the user interface. The SIP Device may detect the hookswitch clash and interpret it as a request to converse.


In block 613, to create a two-way media session, the user agent of the original destination may transmit a re-INVITE request to the server in the dialog between the original destination and the server, for example. In the re-INVITE request, the original destination may alter the session description to specify a two-way media session. When the re-INVITE is received by the server, the original device may be able to transmit audio to the caller and/or the forwarded destination. In block 616, the original destination may converse with the caller until the call terminates in block 612.


In a further exemplary embodiment, the original destination may eject the forwarded destination to create a dialog solely between the original destination and the caller. For example, where the forwarded destination is a voice mail system the original destination may want to eject the voice mail system so that the original destination may converse with the caller. In block 614, it may be determined whether the original destination has requested to eject the forwarded destination from the call. In an exemplary embodiment, to eject the forwarded destination, the original destination may perform a hookswitch flash using, for example, the hookswitch controls of a user interface. The SIP Device may interpret the hookswitch flash as a request to eject the forwarded destination from the call session. On detection of a request to eject, in block 615 a user agent of the original destination may transmit a REFER request to the conference URI in the server. The REFER request may specify the address of record of the forwarded destination as the “refer-to” URI, for example. The REFER request may also specify BYE as the method. The server may receive the REFER request and transmit a BYE request to the forwarded destination to terminate the dialog between the server and the forwarded destination and remove the forwarded destination from the call.


In the preceding specification, various preferred embodiments have been described with reference to the accompanying drawings. It will, however, be evident that various modifications and changes may be made thereto, and additional embodiments may be implemented, without departing from the broader scope of the invention as set forth in the claims that follow. The specification and drawings are accordingly to be regarded in an illustrative rather than restrictive sense.

Claims
  • 1. A system, comprising: at least one non-transitory computer readable media for storing codes; andat least one programmable processor configured execute the codes to perform: receiving a call to a first destination from a caller;determining whether a call forwarding is active at the first destination;forwarding the call to a second destination based at least in part on the determination that the call forwarding is active;notifying the first destination that the call has been forwarded;determining whether the first destination wants to screen the call within a predetermined time period;enabling the first destination to screen the call based at least in part on the determination that the first destination wants to screen the call, wherein enabling the first destination to screen the call comprises creating a conference between the caller, the first destination, and the second destination; andwherein notifying the first destination that the call has been forwarded comprises transmitting a notification message to the first destination, the notification message comprising at least one of an identification of a dialog with the caller, an address associated with the second destination, and the predetermined time period.
  • 2. The system according to claim 1, wherein forwarding the call to a second destination comprises transmitting a request to the second destination to create a dialog with the second destination.
  • 3. The system according to claim 1, wherein determining whether the first destination wants to screen the call comprises receiving a notification of a detected device control condition at the first destination.
  • 4. The system according to claim 1, wherein enabling the first destination to screen the call further comprises receiving a request at an address associated with the first destination.
  • 5. The system according to claim 4, wherein the request comprises at least one of an identification of a dialog with the caller and a session description.
  • 6. The system according to claim 1, wherein enabling the original destination to screen the call further comprises creating a dialog with the first destination.
  • 7. The system according to claim 1, wherein creating a conference between the caller, the first destination, and the second destination comprises assigning a conference uniform resource identifier (URI) to the conference between the caller, the first destination, and the second destination.
  • 8. The system according to claim 7, wherein creating a conference between the caller, the first destination, and the second destination further comprises transmitting a conference message to the first destination, wherein the conference message comprises at least one of the conference uniform resource identifier (URI) and a parameter associated with the conference.
  • 9. The system according to claim 1, wherein the at least one processor is further configured to execute the codes to perform: receiving a request to create a two-way media session with the first destination.
  • 10. The system according to claim 9, wherein the request to create the two-way media session comprises a request that enables the first destination to transmit audio data to at least one of the second destination or a caller associated with the call.
  • 11. The system according to claim 1, wherein the at least one processor is further configured to execute the codes to perform: determining whether the first destination wants to eject the second destination from the call.
  • 12. The system according to claim 11, wherein determining whether the first destination wants to eject the second destination from the call comprises receiving a refer request from the first destination, wherein the refer request comprises at least one of an address associated with the second destination and an indication to eject the second destination from the call.
  • 13. A method, comprising: receiving, by at least one programmable processor, a call to a first destination from a caller;determining, by the at least one programmable processor, whether a call forwarding is active at the first destination;forwarding, by the at least one programmable processor, the call to a second destination based at least in part on the determination that the call forwarding is active;notifying, by the at least one programmable processor, the first destination that the call has been forwarded;determining, by the at least one programmable processor, whether the first destination wants to screen the call within a predetermined time period;enabling, by the at least one programmable processor, the first destination to screen the call based at least in part on the determination that the first destination wants to screen the call, wherein enabling the first destination to screen the call comprises creating a conference between the caller, the first destination, and the second destination; andwherein notifying the first destination that the call has been forwarded comprises transmitting a notification message to the first destination, the notification message comprising at least one of an identification of a dialog with the caller, an address associated with the second destination, and the predetermined time period.
  • 14. The method according to claim 13, wherein forwarding the call to a second destination comprises transmitting a request to the second destination to create a dialog with the second destination.
  • 15. The method according to claim 13, wherein determining whether the first destination wants to screen the call comprises receiving a notification of a detected device control condition at the first destination.
  • 16. The method according to claim 13, wherein enabling the first destination to screen the call further comprises receiving a request at an address associated with the first destination.
  • 17. The method according to claim 16, wherein the request comprises at least one of an identification of a dialog with the caller and a session description.
  • 18. The method according to claim 13, wherein enabling the original destination to screen the call further comprises creating a dialog with the first destination.
  • 19. The system according to claim 13, wherein creating a conference between the caller, the first destination, and the second destination comprises assigning a conference uniform resource identifier (URI) to the conference between the caller, the first destination, and the second destination.
  • 20. The method according to claim 19, wherein creating a conference between the caller, the first destination, and the second destination further comprises transmitting a conference message to the first destination, wherein the conference message comprises at least one of the conference uniform resource identifier (URI) and a parameter associated with the conference.
  • 21. The method according to claim 13, further comprising receiving, by the at least one programmable processor, a request to create a two-way media session with the first destination.
  • 22. The method according to claim 21, wherein the request to create the two-way media session comprises a request that enables the first destination to transmit audio data to at least one of the second destination or a caller associated with the call.
  • 23. The method according to claim 13, further comprising determining, by the at least one programmable processor, whether the first destination wants to eject the second destination from the call.
  • 24. The method according to claim 23, wherein determining whether the first destination wants to eject the second destination from the call comprises receiving a refer request from the first destination, wherein the refer request comprises at least one of an address associated with the second destination and an indication to eject the second destination from the call.
CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation of U.S. patent application Ser. No. 11/534,230, filed Sep. 22, 2006, entitled “Method and System for Providing Call Screening in a Packet-Switched Network” to David C. Robbins, which claims priority to U.S. Provisional Patent Application No. 60/719,465, filed Sep. 22, 2005. The disclosures of these priority applications are hereby incorporated by reference herein in their entireties.

US Referenced Citations (148)
Number Name Date Kind
3737587 Romero Jun 1973 A
4154987 Rosenberg et al. May 1979 A
4528424 Middleton et al. Jul 1985 A
4723271 Grundtisch Feb 1988 A
4741024 Del Monte et al. Apr 1988 A
4950011 Borcea et al. Aug 1990 A
5165095 Borcherding Nov 1992 A
5323444 Ertz et al. Jun 1994 A
5471519 Howe et al. Nov 1995 A
5619561 Reese Apr 1997 A
5815550 Miller Sep 1998 A
5835570 Wattenbarger Nov 1998 A
5913166 Buttitta et al. Jun 1999 A
5970134 Highland et al. Oct 1999 A
5999610 Lin et al. Dec 1999 A
6021176 McKendry et al. Feb 2000 A
6026156 Epler et al. Feb 2000 A
6031896 Gardell et al. Feb 2000 A
6072865 Haber et al. Jun 2000 A
6208726 Bansal et al. Mar 2001 B1
6219414 Maciejewski et al. Apr 2001 B1
6337898 Gordon Jan 2002 B1
6339639 Henderson Jan 2002 B1
6404876 Smith et al. Jun 2002 B1
6484196 Maurille Nov 2002 B1
6510315 Arnson Jan 2003 B1
6636594 Oran Oct 2003 B1
6735295 Brennan et al. May 2004 B1
6741695 McConnell et al. May 2004 B1
6744877 Edwards Jun 2004 B1
6754325 Silver et al. Jun 2004 B1
6801604 Maes et al. Oct 2004 B2
6807259 Patel et al. Oct 2004 B1
6834048 Cho et al. Dec 2004 B1
6856616 Schuster et al. Feb 2005 B1
6857072 Schuster et al. Feb 2005 B1
6870830 Schuster et al. Mar 2005 B1
6876632 Takeda Apr 2005 B1
6879673 Creamer et al. Apr 2005 B2
6954521 Bull et al. Oct 2005 B2
6954524 Gibson Oct 2005 B2
6961332 Li et al. Nov 2005 B1
6963633 Diede et al. Nov 2005 B1
6965614 Osterhout et al. Nov 2005 B1
6985961 Ramsayer et al. Jan 2006 B1
6996605 Low et al. Feb 2006 B2
7020130 Krause et al. Mar 2006 B2
7031700 Weaver et al. Apr 2006 B1
7039710 Khartabil May 2006 B2
7050559 Silver et al. May 2006 B2
7082193 Barclay et al. Jul 2006 B2
7085253 Yang Aug 2006 B2
7130282 Black Oct 2006 B2
7145997 Poikselka et al. Dec 2006 B2
7203293 Bedingfield Apr 2007 B1
7224792 Fusco May 2007 B2
7257837 Xu et al. Aug 2007 B2
7260201 Jorasch et al. Aug 2007 B2
7274662 Kalmanek et al. Sep 2007 B1
7283517 Yan et al. Oct 2007 B2
7290288 Gregg et al. Oct 2007 B2
7295577 Moody et al. Nov 2007 B2
7301913 Corrao et al. Nov 2007 B2
7406696 Burger et al. Jul 2008 B2
7426265 Chen et al. Sep 2008 B2
7440440 Abichandani et al. Oct 2008 B1
7460657 Baeza Dec 2008 B1
7489771 McMurry et al. Feb 2009 B2
7580497 Wang et al. Aug 2009 B2
7593389 Vance Sep 2009 B2
7599355 Sunstrum Oct 2009 B2
7609700 Ying et al. Oct 2009 B1
7609706 Scott et al. Oct 2009 B2
7630481 Kafka Dec 2009 B2
7715413 Vaziri et al. May 2010 B2
7743141 Wang et al. Jun 2010 B2
7773581 Punj et al. Aug 2010 B2
7860089 Tripathi et al. Dec 2010 B2
8059805 Claudatos et al. Nov 2011 B2
8116302 Robbins Feb 2012 B1
20020038388 Netter Mar 2002 A1
20020114318 Rines Aug 2002 A1
20020131447 Krishnamurthy et al. Sep 2002 A1
20020136359 Stumer et al. Sep 2002 A1
20020136363 Stumer et al. Sep 2002 A1
20020137495 Gabrysch Sep 2002 A1
20020141548 Boda Oct 2002 A1
20020156900 Marquette et al. Oct 2002 A1
20030028806 Govindarajan et al. Feb 2003 A1
20030043992 Wengrovitz Mar 2003 A1
20030088421 Maes et al. May 2003 A1
20030231759 Bedingfield, Sr. et al. Dec 2003 A1
20040030750 Moore et al. Feb 2004 A1
20040037403 Koch Feb 2004 A1
20040051900 Sagiya et al. Mar 2004 A1
20040082324 Ayoub Apr 2004 A1
20040090954 Zhang et al. May 2004 A1
20040148395 Schulzrinne Jul 2004 A1
20040207724 Crouch et al. Oct 2004 A1
20040240656 Poustchi Dec 2004 A1
20040243680 Mayer Dec 2004 A1
20040249951 Grabelsky et al. Dec 2004 A1
20040264406 Pattenden et al. Dec 2004 A1
20050013421 Chavez et al. Jan 2005 A1
20050043014 Hodge Feb 2005 A1
20050069104 Hanson et al. Mar 2005 A1
20050078642 Mayer et al. Apr 2005 A1
20050123104 Bishop et al. Jun 2005 A1
20050129219 Williamson Jun 2005 A1
20050147227 Chervirala et al. Jul 2005 A1
20050190721 Pershan Sep 2005 A1
20050193338 Hawkins et al. Sep 2005 A1
20050195802 Klein et al. Sep 2005 A1
20050201530 Koch et al. Sep 2005 A1
20050213716 Zhu et al. Sep 2005 A1
20050215243 Black et al. Sep 2005 A1
20050226217 Logemann et al. Oct 2005 A1
20050237978 Segal Oct 2005 A1
20050249196 Ansari et al. Nov 2005 A1
20050286466 Tagg et al. Dec 2005 A1
20060033809 Farley Feb 2006 A1
20060039389 Burger et al. Feb 2006 A1
20060062210 Dharanikota Mar 2006 A1
20060062251 Lim et al. Mar 2006 A1
20060067300 Poustchi et al. Mar 2006 A1
20060067504 Goldman et al. Mar 2006 A1
20060140379 Yamamoto et al. Jun 2006 A1
20060140380 Croak et al. Jun 2006 A1
20060146737 Ohrstrom Sandgren et al. Jul 2006 A1
20060165060 Dua Jul 2006 A1
20060177030 Rajagopalan et al. Aug 2006 A1
20060177044 O'Neil et al. Aug 2006 A1
20060178130 Makrygiannis Aug 2006 A1
20060203986 Gibson Sep 2006 A1
20060218283 Jones et al. Sep 2006 A1
20060221176 Di Pietro et al. Oct 2006 A1
20060251229 Gorti et al. Nov 2006 A1
20060285533 Divine et al. Dec 2006 A1
20060286984 Bonner Dec 2006 A1
20070025270 Sylvain Feb 2007 A1
20070058613 Beckemeyer Mar 2007 A1
20070083658 Hanna et al. Apr 2007 A1
20070092073 Olshansky et al. Apr 2007 A1
20070111723 Ahmed et al. May 2007 A1
20070143858 Hearty Jun 2007 A1
20070280469 Baker et al. Dec 2007 A1
20080049724 Tsujino et al. Feb 2008 A1
20080126549 Khanchandani et al. May 2008 A1
Non-Patent Literature Citations (29)
Entry
“AINGR: Switching Systems, GR-1298-CORE” Telcordia Technologies, Telcordia Technologies Generic Requirements, GR-1298-CORE, Issue 6, 1226 pages. Nov. 2000.
“Cisco CallManager Features and Services Guide, Release 4.1(3)—Multilevel Precedence and Preemption,” Cisco Systems, Inc., http://www.cisco.com/en/US/products/sw/voicesw/ps556/products—administration—guide, Accessed Oct. 24, 2007, pp. 3-5, Copyright 2005.
“IP Office, Do Not Disturb,” Carroll Communications, Inc., www.carrollcommunications.com/ipoffice/5donotdisturb.html, Retrieved from the internet on Nov. 6, 2007, 1 page.
“LSSGR Guide, (A Module of LSSGR, FR-64)” Telcordia Technologies, Telcordia Technologies Special Report (3065) Issue 7, Aug. 2003, 114 pages.
“Newton's Telecom Dictionary 22nd Edition,” San Francisco, USA, Feb. 2006, p. 829.
“SPCS Capabilities and Features, A Module of LSSGR, FR-64,” Telcordia Technologies, Telcordia Technologies Special Report (SR-504), Issue 1, Mar. 1996, 212 pages.
Handley, et al., “SDP: Session Description Protocol, RFC 2327,” Network Working Group, The Internet Society, Apr. 1998, 43 pages.
Harrington, et al., “RFC 3411—An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks,” The Internet Society, Dec. 2002, pp. 1-65.
Jennings, et al., “Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks, RFC 3325,” Network Working Group, The Internet Society, Nov. 2002, pp. 1-18.
Johnston, et al., “Session Initiation Protocol Call Control, Conferencing for User Agents, draft-ietf-sipping-cc-conferencing-04,” The Internet Society, Jul. 18, 2004, pp. 1-39.
Lingle, et al., “Management Information Base for Session Initiation Protocol (SIP), draft-ietf-sip-mib-08,” Cisco Systems, Inc., The Internet Society, Jul. 16, 2004, 102 pages.
Mahy, et al., “A Call Control and Multi-party usage framework for the Session Initiation Protocol (SIP), draft-ietf-sipping-cc-framework-03,” The Internet Society, Oct. 27, 2003, pp. 1-43.
Mahy, et al., “The Session Initiation Protocol (SIP) ‘Join’ Header, draft-ietf-sip-join-03.txt.,” The Internet Society, Feb. 16, 2004, pp. 1-20.
Mahy, “RFC 3842—A Message Summary and Message Waiting Indication Event Package for the Session Initiation Protocol (SIP),” Cisco Systems, Inc., The Internet Society, Aug. 2004, pp. 1-19.
Mahy, et al., “RFC 3891—The Session Initiation Protocol (SIP) ‘Replaces’ Header,” The Internet Society, Sep. 2004, pp. 1-16.
Mahy et al, “RFC 3911—The Session Initiation Protocol (SIP) ‘Join’ Header,” The Internet Society, Oct. 2004, pp. 1-17.
Mahy, et al., “The Session Inititation Protocol (SIP) ‘Replaces’ Header,” draft-ietf-sip-replaces-05.txt., The Internet Society, Feb. 16, 2004, pp. 1-19.
Petrie, “A Framework for Session Initiation Protocol User Agent Profile Delivery,” The Internet Society, draft-ietf-sipping-config-framework-04 Pingtel Corp., The Internet Society, Jul. 19, 2004, 34 pages.
Rosenberg, et al., “A Session Initiation Protocol (SIP) Event Package for Conference State, draft-ietf-sipping-conference-package-04,” The Internet Society, May 21, 2004, 29 pages.
Rosenberg, et al., “An INVITE Inititiated Dialog Event Package for the Session Initiation Protocol (SIP),” draft-ietf-sipping-dialog-package-04, The Internet Society, Feb. 13, 2004, pp. 1-35.
Rosenberg, et al. “RFC 3261, SIP: Session Initiation Protocol,” The Internet Society, Jun. 2002, 252 pages.
Rosenberg, et al., “RFC 3262—Reliability of Provisional Responses in the Session Initiation Protocol (SIP),” The Internet Society, Jun. 2002, pp. 1-14.
Rosenberg, et al., “RFC 3840—Indicating User Agent Capabilities in the Session Initiation Protocol (SIP),” The Internet Society, Aug. 2004, pp. 1-35.
Rosenberg, “The Session Initiation Protocol (SIP) UPDATE Method, RFC 3311,” Dynamisoft Inc., Network Working Group, The Internet Society, Sep. 2002, pp. 1-13.
Schulzrinne, et al., “Emergency Services URI for the Session Initiation Protocol, draft-ietf-sipping-sos-00,” Columbia University, The Internet Society, Feb. 8, 2004, pp. 1-17.
Schulzrinne, et al., “RFC 1889—RTP: A Transport Protocol for Real-Time Applications,” The Internet Society, Jan. 1996, pp. 1-75.
Schulzrinne, et al., “RFC 2833—RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals,” Columbia University, The Internet Society, May 2000, 30 pages.
Sparks, “RFC 3515—The Session Initiation Protocol (SIP) Refer Method,” The Internet Society, Apr. 2003, pp. 1-23.
Sparks, et al., “Session Initiation Protocol Call Control—Transfer, draft-ietf-sipping-cc-transfer-02,” The Internet Society, Feb. 15, 2004, pp. 1-37.
Related Publications (1)
Number Date Country
20110158132 A1 Jun 2011 US
Provisional Applications (1)
Number Date Country
60719465 Sep 2005 US
Continuations (1)
Number Date Country
Parent 11534230 Sep 2006 US
Child 13039877 US