US20110206040A1 - Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol - Google Patents

Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol Download PDF

Info

Publication number
US20110206040A1
US20110206040A1 US13/098,549 US201113098549A US2011206040A1 US 20110206040 A1 US20110206040 A1 US 20110206040A1 US 201113098549 A US201113098549 A US 201113098549A US 2011206040 A1 US2011206040 A1 US 2011206040A1
Authority
US
United States
Prior art keywords
user agent
sip user
sip
message
communication device
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
Application number
US13/098,549
Inventor
Timothy Potts
Leonidas P. Papadopoulos
Rajnish Jain
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IPC Systems Inc
Original Assignee
IPC Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IPC Systems Inc filed Critical IPC Systems Inc
Priority to US13/098,549 priority Critical patent/US20110206040A1/en
Assigned to IPC SYSTEMS, INC. reassignment IPC SYSTEMS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JAIN, RAJNISH, PAPADOPOULOS, LEONIDAS P., POTTS, TIMOTHY
Publication of US20110206040A1 publication Critical patent/US20110206040A1/en
Assigned to JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT reassignment JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT FIRST LIEN PATENT SECURITY AGREEMENT Assignors: IPC SYSTEMS, INC.
Assigned to GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT reassignment GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT SECOND LIEN PATENT SECURITY AGREEMENT Assignors: IPC SYSTEMS, INC.
Assigned to IPC SYSTEMS, INC. reassignment IPC SYSTEMS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: JPMORGAN CHASE BANK, N.A.
Assigned to IPC SYSTEMS, INC. reassignment IPC SYSTEMS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: GOLDMAN SACHS BANK USA
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer

Definitions

  • the present invention generally relates to telecommunication systems, and more particularly to systems, methods, and computer program products for providing a manual ring-down communication line using the Session Initiation Protocol (“SIP”).
  • SIP Session Initiation Protocol
  • a manual ring-down (“MRD”) private line is a communication line commonly used for two parties to maintain a continuous full-duplex communication channel with each other.
  • MRD manual ring-down
  • a typical MRD private line communication device provides a user with the ability to manually signal the communication device on the other side of the line. Upon receiving the signal, the signaled communication device notifies its user audibly and/or visually that the user on the other end of the line wishes to communicate.
  • MRD private lines date back to a time period when telephones were purely analog devices, and the MRD private line was implemented using a physical copper wire connecting the two communication devices. Because the MRD private line typically was implemented using a fixed physical connection, a dedicated communication path was created through which users could communicate with each other at any time by, for example, picking up a telephone handset and keying a signaling button
  • An alternative to a MRD private line communication device is an automatic ring-down (ARD) private line communication device, which enables its user to automatically signal the communication device on the other side of the line by, for example, merely picking up a telephone handset.
  • ARD automatic ring-down
  • Typical users of manual and automatic ring-down private lines make large volumes of calls from and to fixed locations and require continuous and uninterrupted lines of communication between those locations. Examples of such users are trading floor environments, financial firms, emergency services, and the like. Audio communication in trading floor environments is typically achieved utilizing specialized hardware and software turret switching systems.
  • a turret switching system is a specialized telephony switching system that allows a relatively small number of users to access a large number of external lines and provides enhanced communication features such as hoot-n-holler, push-to-talk, intercom, video and large-scale conferencing.
  • a trading turret device which can be implemented in dedicated hardware (sometimes referred to as a “hard” turret) or in a general-purpose computer (sometimes referred to as a “soft” turret).
  • a hard turret is a phone-like desktop device with multiple handsets, external microphones, speakers and buttons.
  • a soft turret is a software application that runs on a trader's desktop personal computer (“PC”) or on a mobile computer such as a Personal Digital Assistant (“PDA”).
  • PC trader's desktop personal computer
  • PDA Personal Digital Assistant
  • a soft turret application may be controlled using the native control interface that the computer provides such as a touch screen, stylus, click wheel, or mouse and keyboard.
  • the soft turret application may also provide voice, instant messaging and presence features.
  • VoIP Voice over Internet Protocol
  • IP Internet Protocol
  • SIP is an application-layer control (i.e., signaling) protocol for creating, modifying, and terminating sessions such as Internet telephony calls with one or more participants and is defined in RFC- 3261 .
  • a first SIP user agent transmits an INVITE message to a second SIP user agent over an IP network to establish a SIP MRD session.
  • the first SIP user agent determines that a signal key associated with a first communication device has been selected.
  • the first SIP user agent transmits a start event message to the second SIP user agent over the IP network to cause a second communication device to activate an alert.
  • the first SIP user agent determines that the signal key associated with the first communication device has been released.
  • the first SIP user agent transmits an end event message to the second SIP user agent over the IP network to cause the second communication device to deactivate the alert.
  • the first SIP user agent transmits, to the second SIP user agent over the IP network, one or more subsequent RE-INVITE messages at a predetermined repetition rate to detect the liveliness of the second SIP user agent.
  • a method of negotiating a SIP MRD session establisher transmits, to a second SIP user agent over an IP network, an OPTIONS message to request designation of an MRD session establisher.
  • the OPTIONS message includes an identifier of the first SIP user agent.
  • the first SIP user agent receives, from the second SIP user agent over the IP network, a 200 OK message accepting designation of the first SIP user agent as the session establisher. Should the two SIP user agents send the OPTIONS message at the same time, thus causing a glare condition due to messages crossing on the wire, the SIP user agent with the numerically higher IP address will be chosen as the establisher. Both user agents know each other's IP address through the SIP ‘Contact’ header field within the OPTIONS message.
  • a method of re-establishing a failed SIP session receives, over an IP network, a request timeout message indicating that a SIP session with a second SIP user agent has failed.
  • the first SIP user agent initiates a session establish timer.
  • the first SIP user agent transmits, to the second SIP user agent over the IP network, an INVITE message, in response to the session establish timer expiring.
  • the first SIP user agent repeats above process until a 200 OK message is received from the second SIP user agent.
  • FIG. 1 depicts a block diagram of an example communication system in accordance with an embodiment of the present invention.
  • FIG. 2 depicts a sequence diagram for dynamically discovering a session establisher.
  • FIG. 3 depicts an example sequence diagram for establishing a session.
  • FIG. 4 depicts an example sequence diagram of a mid-session MRD signaling mechanism.
  • FIG. 5 depicts an example sequence diagram for re-establishing a session after a session failure.
  • FIG. 6 depicts a block diagram of an exemplary computer system useful for implementing the present invention.
  • the example embodiments of the invention presented herein are directed to systems, methods, and computer program products for providing a manual ring-down communication line using SIP, which are now described herein in terms of an example communication system.
  • the communication system can be implemented, for example, in financial, security/law enforcement, utilities, healthcare, and customer support (e.g., contact centers) environments.
  • FIG. 1 depicts a block diagram of an example communication system 100 in accordance with an embodiment of the present invention.
  • communication system 100 includes communication devices 110 and 112 .
  • the term “communication device,” as used herein, generally refers to any hardware and/or software-implemented electronic device having a user interface enabling a user to connect to a network to communicate audibly and/or visually with other communication devices.
  • Examples of communication devices 110 and 112 include a hard turret, a soft turret, a hard telephone, a soft telephone, a mobile telephone, a PDA, a general purpose PC, and the like.
  • communication devices 110 and 112 are communicatively coupled to SIP user agent 102 and SIP user agent 106 , respectively, over, for example, a network or a proprietary communication line (not shown).
  • SIP user agents 102 and 106 are logical network end-points used to create and/or receive SIP messages and manage SIP sessions.
  • FIG. 1 shows SIP user agents 102 and 106 as being separate from communication devices 110 and 112 , embodiments where SIP user agents 102 and 106 are included as part of communication devices 110 and 112 , respectively, are contemplated and are within the scope of the present invention.
  • SIP user agent 102 and SIP user agent 106 are each communicatively coupled with one or more SIP proxies or back-to-back user agents (B 2 BUA) 104 through an IP network 108 , through which users can communicate using communication devices 110 and 112 .
  • SIP proxy/B 2 BUA 104 manages messaging by caching and notifying the states of communication devices 110 and 112 in system 100 .
  • SIP proxy/B 2 BUA 104 also processes and stores SIP registrations, which are uploaded by users of SIP user agents 102 and 106 indicating their respective current locations.
  • system 100 includes SIP proxy/B 2 BUA 104 , these components are optional. Embodiments where SIP user agent 102 and 106 communicate directly are within the scope of the present invention.
  • system 100 only shows two SIP user agents and communication devices, embodiments including more than two SIP user agents and communication devices sharing a SIP MRD session are contemplated and are within the scope of the present invention. For example, if three or more SIP user agents and communication devices are included in system 100 , party-line communication is possible.
  • System 100 may also include additional SIP user agents, which are configured to function as redundant backups in the event of a SIP user agent malfunction.
  • system 100 may include additional communication devices, which are configured to function as redundant backups in the event of a communication device malfunction.
  • SIP is an application-layer control (i.e., signaling) protocol for creating, modifying, and terminating sessions, such as Internet telephony calls, with one or more participants and is defined in RFC- 3261 , “SIP: Session Initiation Protocol.”
  • SIP-based communication architectures provide the ability to signal and communicate between telephony systems in collaboration with other protocols such as Session Description Protocol (“SDP”) and Real-Time Protocol (“RTP”).
  • SDP Session Description Protocol
  • RTP Real-Time Protocol
  • SDP describes streaming media initialization parameters in an ASCII string and multimedia communication sessions for the purposes of session announcement, session invitation, and parameter negotiation.
  • SDP is defined in RFC- 4566 , “SDP: Session Description Protocol.”
  • RTP is a standardized packet format for delivering audio and/or video data over IP networks and is defined by RFC- 3550 , “RTP: A Transport Protocol for Real-Time Applications” which has been updated by RFC- 5506 , “Support for Reduced-Size Real-Time Transport Control Protocol (RTCP): Opportunities and Consequences.”
  • RFC- 3261 , RFC- 4566 , RFC- 3350 , and RFC- 5506 are hereby incorporated by reference in their entirety.
  • SIP user agents 102 and 106 use RTP to carry voice communication services through the IP network 108 .
  • SIP user agents 102 , 106 , and SIP proxy/B 2 BUA 104 use SIP to provide signaling functionality over the IP network 108 and to create, modify, and terminate RTP sessions such as VoIP calls.
  • FIG. 2 depicts a sequence diagram 200 for dynamically discovering which of the SIP user agents 102 and 106 is to act as a session establisher, which is the entity responsible for initially generating a SIP session and then re-attempting to establish the SIP session until it is successfully established.
  • a session establisher may interchangeably be referred to as a SIP session establisher.
  • a session may interchangeably be referred to as a SIP session.
  • SIP user agent 106 requests to be designated as the session establisher by transmitting an
  • the OPTIONS message includes a value indicating that a particular user agent requests to be designated as the session establisher and an identifier value of the particular user agent, in this example SIP user agent 106 .
  • the value “uac” implies that the SIP user agent that originated the OPTIONS message intends to be the session establisher.
  • the value “uas” implies that the SIP user agent that originated the OPTIONS message intends the other SIP user agent to be the session establisher.
  • This text string may be appended to the existing ‘Contact’ header field in the SIP OPTIONS message or may be carried in a header field of its own.
  • SIP user agent 106 transmits the OPTIONS message to SIP user agent 102 , SIP user agent 106 waits for a response.
  • SIP user agent 102 responds by transmitting a SIP 200 “OK” message to SIP user agent 106 , as shown in FIG. 2 .
  • SIP user agent 106 receives the SIP 200 OK message, SIP user agent 106 is designated the session establisher.
  • the SIP 200 OK messages also carry the “establisher” parameter to indicate what the other SIP user agent has agreed upon with respect to which SIP user agent performs the establisher role.
  • FIG. 2 shows SIP user agent 106 as the session establisher
  • SIP user agent 102 is the session establisher
  • the discovery of the session establisher is dynamic in that either SIP user agent 102 or SIP user agent 106 may request to be designated as session establisher. Dynamic discovery of the session establisher enables any end-point to determine which end-point should attempt to establish the session.
  • Both ends of the private line that is, both SIP user agent 102 and SIP user agent 106 , are configured with each other's address of record (“AOR”) and can initiate calls in either direction.
  • AOR address of record
  • Dynamic discovery of the session establisher also assists in preventing multiple end-points, in this example SIP user agents 102 and 106 , from simultaneously trying to establish the session, because an end-point will not attempt to establish a session until the end-point has been designated the session establisher.
  • a predetermined rule can be used to determine which of SIP user agent 102 and 106 will actually be designated the session establisher.
  • the rule may be that the user agent associated with the higher value IP address is designated the session establisher. Dynamic discovery of the session establisher thus also reduces the potential for race conditions, the complexity of the communication system 100 , and the potential for human errors in configuration.
  • the session establisher can be determined by using configuration parameters or manually through a user interface (not shown).
  • FIG. 3 depicts an example sequence diagram 300 for establishing a session.
  • establishment of a session is not attempted until an end-point has been designated as the session establisher.
  • SIP user agent 106 has previously been designated as the session establisher.
  • the establishment of the SIP session is attempted regardless of the on-hook/off-hook state of SIP user agents 102 and/or 106 .
  • the communication line that results from a successful session establishment functions as if it is an “always on” connection.
  • a user of communication device 110 may exchange voice communications with a user of communication device 112 without having to dial a number associated with communication device 112 ; the SIP session may have been previously established before either user picks up their hard or soft telephone, as the case may be.
  • This automatic session establishment allows users to speak to each other without requiring any action by them and is the basis for private line functionality.
  • SIP user agent 106 As shown in FIG. 3 , SIP user agent 106 , as the session establisher, transmits an INVITE message over IP network 108 to SIP proxy/B 2 BUA 104 , which in turn forwards the INVITE message to SIP user agent 102 . Alternatively, as mentioned above, SIP user agent 106 may transmit the INVITE message over IP network 108 directly to SIP user agent 102 .
  • the INVITE message contains a number of header fields, which are named attributes that provide additional information about a message.
  • the attributes present in the INVITE message can include a unique identifier for the call, the destination address, the source address, and/or information about the type of session that the session establisher is attempting to establish.
  • the body of the INVITE message contains a description of the session, encoded in some other protocol format, such as SDP, which is mentioned above in further detail.
  • SIP user agent 102 When SIP user agent 102 receives the INVITE message, it automatically answers the call. SIP user agent 102 responds by transmitting a SIP 200 OK message to SIP user agent 106 via IP network 108 and optionally via SIP proxy/B 2 BUA 104 . At this point the session is established.
  • the session refresher is determined according to RFC- 4028 , “Session Timers in the Session Initiation Protocol (SIP),” which is hereby incorporated by reference in its entirety.
  • the signaling mechanism is negotiated during session establishment in accordance with the “Session Initiation Protocol (SIP) INFO Method and Package Framework,” which is hereby incorporated by reference in its entirety.
  • SIP Session Initiation Protocol
  • SIP Session Initiation Protocol
  • SIP user agent 106 also negotiates with the other user agent(s) as to which specific signaling mechanism is to be used throughout the session.
  • an RTP events signaling method is negotiated as the signaling mechanism to be used between SIP user agents 102 and 106 .
  • An RTP payload type may be encoded as an existing RFC- 4733 event. Alternatively, an extension to RFC- 4733 or a new CODEC type may be defined.
  • RTP events are negotiated to be used as the signaling mechanism, other suitable signaling mechanisms, such as a SIP INFO mechanism, are contemplated and are within the scope of the present invention.
  • SIP MRD event package is defined as follows.
  • a package name for SIP MRD Info-Event is “sip-mrd”.
  • SIP headers where the package name (or token name) is carried:
  • a Content-Type header is specified as “application/sip-mrd”.
  • An Augmented Backus-Naur Form (ABNF) for a SIP MRD Info-Event is defined as follows:
  • sip-mrd-relay-body signal-line CRLF duration-line
  • duration-line “Duration” EQUAL SP msecs
  • msecs 1*4(DIGIT); 100-5000 millisecs.
  • FIG. 4 depicts an example sequence diagram 400 of a signaling mechanism in accordance with an embodiment of the present invention.
  • the SIP session has been established, and SIP user agent 106 has been designated as both the session establisher and the session refresher. While FIG. 4 shows both the SIP INFO mechanism and the RTP events mechanism being used as signaling mechanisms, preferably only one of these is used as the signaling mechanism.
  • SIP user agents 102 and 106 communicate using RTP messaging.
  • the user changes the state of communication device 112 to off-hook, for example by picking up the hard or soft telephone, as the case may be, which in this example gives rise to no change in the SIP session or the RTP messages.
  • the user presses a signal key (or button) on communication device 112 to signal the user of communication device 110 of a desire to communicate. Pressing the signal key causes different messages to be sent depending on which signaling mechanism was negotiated for the SIP session. If the SIP MRD event package is supported on both sides, the signaling events are sent using the SIP INFO method. If the RTP SIP MRD CODECs are supported on both sides, then this method is used.
  • Both the SIP MRD event package and the RTP SIP MRD CODECs are supported, then both are used.
  • Both the RTP events signaling mechanism and the SIP INFO signaling mechanism convey a “signal begin” event and a “signal end” event using events defined, for example, in RFC- 4733 , “RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals,” which is hereby incorporated by reference in its entirety.
  • pressing the signal key causes an INFO start event message to be sent to SIP user agent 102 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 .
  • RTP events mechanism was negotiated as the signaling mechanism, then pressing the signal key causes an RTP start event message to be sent to SIP user agent 102 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 .
  • Configuration data included in the messages indicates the start and end events.
  • the INFO message and the RTP message each include RFC- 4733 start signal event data, which causes SIP user agent 106 to signal SIP user agent 102 , which in turn causes communication device 110 to present a visual and/or audible alert to its user.
  • the start signal event information when received at SIP user agent 102 , alerts the user of communication device 110 that the user on communication device 112 wishes to communicate.
  • the alert may be, for instance, the ringing of a hard or soft telephone or the illumination of a light bulb fixed to the hard or soft telephone.
  • SIP user agent 102 Upon receipt of the RFC- 4733 start signal event, SIP user agent 102 responds by transmitting an SIP 200 OK message to SIP user agent 106 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 .
  • the user of communications device 112 then releases the signal key. Releasing the signal key also causes different messages to be sent depending on which signaling mechanism was negotiated for the SIP session. If the SIP INFO method was negotiated as the signaling mechanism, then releasing the signal key causes an INFO message, including an RFC- 4733 end signal event, to be sent to SIP user agent 102 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 . SIP user agent 102 responds by transmitting a SIP 200 OK message to SIP user agent 106 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 .
  • RTP events method was negotiated as the signaling mechanism
  • releasing the signal key causes an RTP end event message to be sent to SIP user agent 102 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 , which, in turn causes the alerting of SIP user agent 102 to cease.
  • SIP user agent 102 responds by transmitting a SIP 200 OK message to SIP user agent 106 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 .
  • automatic ring-down can be performed, instead of manual ring-down, such that the signaling occurs in response to the user changing the state of communication device 112 to off-hook; that is, signaling occurs without the user keying any button or clicking any icon.
  • This is particularly useful in time-critical communication applications, such as those between financial brokers or emergency personnel, because it reduces the steps and time necessary to engage in communication.
  • one side of the private line for instance the SIP user agent 102 , does not support either the SIP INFO signaling mechanism or the RTP events signaling mechanism. In this case, signaling will not be sent in either direction and the communication line will function similar to a hoot-and-holler communication line.
  • FIG. 5 depicts an example sequence diagram 500 for re-establishing a session after the session has failed.
  • a SIP session failure can occur in two ways: (1) by the isolated failure of an attempt to refresh the SIP session, or (2) by the failure of an attempt to refresh the SIP session in conjunction with RTP messages no longer being received by the SIP session refresher.
  • SIP user agent 106 has been designated as the session establisher and the session refresher.
  • operation of SIP user agent 102 has failed.
  • SIP user agent 106 attempts to refresh the session by transmitting an INVITE message to SIP user agent 102 over the IP network 108 , optionally via SIP proxy/B 2 BUA 104 .
  • SIP user agent 102 fails to respond to the INVITE and, after a predetermined timeout period, SIP proxy/B 2 BUA 104 transmits to SIP user agent 106 a request timeout 408 message over IP network 108 .
  • SIP user agent 106 acknowledges the request timeout 408 message by transmitting an ACK message to SIP proxy/B 2 BUA 104 over IP network 108 .
  • SIP user agent 106 then sends a BYE message to SIP user agent 102 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 .
  • SIP user agent 102 fails to respond to this message as well and, after a predetermined timeout period, SIP proxy/B 2 BUA 104 sends to SIP user agent 106 another request timeout 408 message.
  • SIP user agent 106 begins to run a session establish timer. As shown in FIG. 4 , at some point in time before the session establish timer expires, operation of SIP user agent 102 is restored.
  • SIP user agent 106 attempts to establish the session once again by transmitting another INVITE message to SIP user agent 102 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 .
  • SIP user agent 102 responds by transmitting a SIP 200 OK message to SIP user agent 106 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 .
  • SIP user agent 106 acknowledges this by transmitting and ACK message to SIP user agent 102 over IP network 108 , optionally via SIP proxy/B 2 BUA 104 , indicating that the session has been re-established.
  • SIP user agent 106 and SIP user agent 102 can then continue to communicate using RTP messages.
  • SIP user agent 106 would periodically attempt to re-establish the session, at a predetermined repetition rate, until re-establishment is successful or until a predetermined number of failed re-establishment attempts occurs.
  • the manual ring-down communication line is self-healing. That is, SIP user agent 106 attempts to maintain a persistent private communication line with SIP user agent 102 for as long as possible without requiring human intervention, unless components are damaged and/or are malfunctioning.
  • the present invention (e.g., system 100 , sequence diagrams 200 , 300 , 400 , 500 , or any part(s) or function(s) thereof) can be implemented using hardware, software or a combination thereof and can be implemented in one or more computer systems or other processing systems.
  • the manipulations performed by the present invention were often referred to in terms, such as establishing or discovering, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention. Rather, the operations are machine operations.
  • Useful machines for performing the operation of the present invention include general purpose digital computers or similar devices.
  • the invention is directed toward one or more computer systems capable of carrying out the functionality described herein.
  • An example of a computer system 600 is shown in FIG. 6 .
  • Computer system 600 includes one or more processors, such as processor 604 .
  • the processor 604 is connected to a communication infrastructure 606 (e.g., a communications bus, cross-over bar, or network).
  • a communication infrastructure 606 e.g., a communications bus, cross-over bar, or network.
  • Computer system 600 can include a display interface 602 that forwards graphics, text, and other data from the communication infrastructure 606 (or from a frame buffer not shown) for display on the display unit 630 .
  • Computer system 600 also includes a main memory 608 , preferably random access memory (RAM), and can also include a secondary memory 610 .
  • the secondary memory 610 can include, for example, a hard disk drive 612 and/or a removable storage drive 614 , representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc.
  • the removable storage drive 614 reads from and/or writes to a removable storage unit 618 in a well known manner.
  • Removable storage unit 618 represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 614 .
  • the removable storage unit 618 includes a computer usable storage medium having stored therein computer software and/or data.
  • secondary memory 610 can include other similar devices for allowing computer programs or other instructions to be loaded into computer system 600 .
  • Such devices can include, for example, a removable storage unit 622 and an interface 620 .
  • Examples of such can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units 622 and interfaces 620 , which allow software and data to be transferred from the removable storage unit 622 to computer system 600 .
  • EPROM erasable programmable read only memory
  • PROM programmable read only memory
  • Computer system 600 can also include a communications interface 624 .
  • Communications interface 624 allows software and data to be transferred between computer system 600 and external devices.
  • Examples of communications interface 624 can include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc.
  • Software and data transferred via communications interface 624 are in the form of signals 628 which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 624 . These signals 628 are provided to communications interface 624 via a communications path (e.g., channel) 626 .
  • This channel 626 carries signals 628 and can be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and other communications channels.
  • RF radio frequency
  • computer program medium “computer-readable medium,” and “computer-usable medium” are used to generally refer to media such as removable storage drive 614 , a hard disk installed in hard disk drive 612 , and/or signals 628 .
  • These computer program products provide software to computer system 600 .
  • the invention is directed to such computer program products.
  • Computer programs are stored in main memory 608 and/or secondary memory 610 . Computer programs can also be received via communications interface 624 . Such computer programs, when executed, enable the computer system 600 to perform the features of the present invention, as discussed herein. In particular, the computer programs, when executed, enable the processor 604 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 600 .
  • the software can be stored in a computer program product and loaded into computer system 600 using removable storage drive 614 , hard drive 612 or communications interface 624 .
  • the control logic when executed by the processor 604 , causes the processor 604 to perform the functions of the invention as described herein.
  • the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs).
  • ASICs application specific integrated circuits
  • the invention is implemented using a combination of both hardware and software.

Abstract

Systems, methods, and computer program products are provided for manual ring-down communication using Session Initiation Protocol (SIP). A first SIP user agent transmits a message to a second SIP user agent over an Internet Protocol (IP) network to establish a SIP session. The first SIP user agent determines that a signal key associated with a first communication device has been selected and transmits, to the second SIP user agent over the IP network, a start event message to cause a second communication device to activate an alert. The first SIP user agent determines that the signal key has been released and transmits over the IP network an end event message to deactivate the alert. The first SIP user agent transmits, to the second SIP user agent over the IP network, one or more subsequent INVITE messages at a predetermined repetition rate to refresh the SIP session.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • The present application is a continuation of U.S. application Ser. No. 12/569,494, filed on Sep. 29, 2009, entitled “SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS FOR PROVIDING A MANUAL RING-DOWN COMMUNICATION LINE USING SESSION INITIATION PROTOCOL,” which is hereby incorporated by reference in its entirety.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention generally relates to telecommunication systems, and more particularly to systems, methods, and computer program products for providing a manual ring-down communication line using the Session Initiation Protocol (“SIP”).
  • 2. Description of the Related Art
  • A manual ring-down (“MRD”) private line is a communication line commonly used for two parties to maintain a continuous full-duplex communication channel with each other. A typical MRD private line communication device provides a user with the ability to manually signal the communication device on the other side of the line. Upon receiving the signal, the signaled communication device notifies its user audibly and/or visually that the user on the other end of the line wishes to communicate.
  • MRD private lines date back to a time period when telephones were purely analog devices, and the MRD private line was implemented using a physical copper wire connecting the two communication devices. Because the MRD private line typically was implemented using a fixed physical connection, a dedicated communication path was created through which users could communicate with each other at any time by, for example, picking up a telephone handset and keying a signaling button An alternative to a MRD private line communication device is an automatic ring-down (ARD) private line communication device, which enables its user to automatically signal the communication device on the other side of the line by, for example, merely picking up a telephone handset.
  • Typical users of manual and automatic ring-down private lines make large volumes of calls from and to fixed locations and require continuous and uninterrupted lines of communication between those locations. Examples of such users are trading floor environments, financial firms, emergency services, and the like. Audio communication in trading floor environments is typically achieved utilizing specialized hardware and software turret switching systems. A turret switching system is a specialized telephony switching system that allows a relatively small number of users to access a large number of external lines and provides enhanced communication features such as hoot-n-holler, push-to-talk, intercom, video and large-scale conferencing.
  • Users interface with a turret switching system through a trading turret device, which can be implemented in dedicated hardware (sometimes referred to as a “hard” turret) or in a general-purpose computer (sometimes referred to as a “soft” turret). A hard turret is a phone-like desktop device with multiple handsets, external microphones, speakers and buttons. A soft turret is a software application that runs on a trader's desktop personal computer (“PC”) or on a mobile computer such as a Personal Digital Assistant (“PDA”). A soft turret application may be controlled using the native control interface that the computer provides such as a touch screen, stylus, click wheel, or mouse and keyboard. In addition to rendering a graphical image of the turret on the PC screen, the soft turret application may also provide voice, instant messaging and presence features.
  • With the advent of Voice over Internet Protocol (“VoIP”), users have begun to communicate over Internet Protocol (“IP”) networks, for example, using telephones implemented in dedicated hardware, or telephones implemented on general purpose computer, which are sometimes referred to as hard telephones and soft telephones, respectively. Supporting MRD functionality in the IP realm, however, necessarily requires customizations to provide, for example, the same persistent connections and signaling.
  • BRIEF DESCRIPTION
  • The example embodiments described herein provide systems, methods, and computer program products for implementing manual ring-down communication using SIP. SIP is an application-layer control (i.e., signaling) protocol for creating, modifying, and terminating sessions such as Internet telephony calls with one or more participants and is defined in RFC-3261. A first SIP user agent transmits an INVITE message to a second SIP user agent over an IP network to establish a SIP MRD session. The first SIP user agent determines that a signal key associated with a first communication device has been selected. The first SIP user agent transmits a start event message to the second SIP user agent over the IP network to cause a second communication device to activate an alert. The first SIP user agent determines that the signal key associated with the first communication device has been released. The first SIP user agent transmits an end event message to the second SIP user agent over the IP network to cause the second communication device to deactivate the alert. The first SIP user agent transmits, to the second SIP user agent over the IP network, one or more subsequent RE-INVITE messages at a predetermined repetition rate to detect the liveliness of the second SIP user agent.
  • In another aspect, a method of negotiating a SIP MRD session establisher is provided. A first SIP user agent transmits, to a second SIP user agent over an IP network, an OPTIONS message to request designation of an MRD session establisher. The OPTIONS message includes an identifier of the first SIP user agent. The first SIP user agent receives, from the second SIP user agent over the IP network, a 200 OK message accepting designation of the first SIP user agent as the session establisher. Should the two SIP user agents send the OPTIONS message at the same time, thus causing a glare condition due to messages crossing on the wire, the SIP user agent with the numerically higher IP address will be chosen as the establisher. Both user agents know each other's IP address through the SIP ‘Contact’ header field within the OPTIONS message.
  • In another aspect, a method of re-establishing a failed SIP session is provided. A first SIP user agent receives, over an IP network, a request timeout message indicating that a SIP session with a second SIP user agent has failed. The first SIP user agent initiates a session establish timer. The first SIP user agent transmits, to the second SIP user agent over the IP network, an INVITE message, in response to the session establish timer expiring. The first SIP user agent repeats above process until a 200 OK message is received from the second SIP user agent.
  • Further features and advantages, as well as the structure and operation, of various example embodiments of the present invention are described in detail below with reference to the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 depicts a block diagram of an example communication system in accordance with an embodiment of the present invention.
  • FIG. 2 depicts a sequence diagram for dynamically discovering a session establisher.
  • FIG. 3 depicts an example sequence diagram for establishing a session.
  • FIG. 4 depicts an example sequence diagram of a mid-session MRD signaling mechanism.
  • FIG. 5 depicts an example sequence diagram for re-establishing a session after a session failure.
  • FIG. 6 depicts a block diagram of an exemplary computer system useful for implementing the present invention.
  • The features and advantages of the example embodiments of the invention presented herein will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference numbers indicate identical or functionally similar elements.
  • DETAILED DESCRIPTION
  • The example embodiments of the invention presented herein are directed to systems, methods, and computer program products for providing a manual ring-down communication line using SIP, which are now described herein in terms of an example communication system. The communication system can be implemented, for example, in financial, security/law enforcement, utilities, healthcare, and customer support (e.g., contact centers) environments.
  • FIG. 1 depicts a block diagram of an example communication system 100 in accordance with an embodiment of the present invention. As shown in FIG. 1, communication system 100 includes communication devices 110 and 112. The term “communication device,” as used herein, generally refers to any hardware and/or software-implemented electronic device having a user interface enabling a user to connect to a network to communicate audibly and/or visually with other communication devices. Examples of communication devices 110 and 112 include a hard turret, a soft turret, a hard telephone, a soft telephone, a mobile telephone, a PDA, a general purpose PC, and the like.
  • As shown in FIG. 1, communication devices 110 and 112 are communicatively coupled to SIP user agent 102 and SIP user agent 106, respectively, over, for example, a network or a proprietary communication line (not shown). Generally, SIP user agents 102 and 106 are logical network end-points used to create and/or receive SIP messages and manage SIP sessions.
  • Although FIG. 1 shows SIP user agents 102 and 106 as being separate from communication devices 110 and 112, embodiments where SIP user agents 102 and 106 are included as part of communication devices 110 and 112, respectively, are contemplated and are within the scope of the present invention.
  • SIP user agent 102 and SIP user agent 106 are each communicatively coupled with one or more SIP proxies or back-to-back user agents (B2BUA) 104 through an IP network 108, through which users can communicate using communication devices 110 and 112. SIP proxy/B2BUA 104 manages messaging by caching and notifying the states of communication devices 110 and 112 in system 100. SIP proxy/B2BUA 104 also processes and stores SIP registrations, which are uploaded by users of SIP user agents 102 and 106 indicating their respective current locations. Although system 100 includes SIP proxy/B2BUA 104, these components are optional. Embodiments where SIP user agent 102 and 106 communicate directly are within the scope of the present invention.
  • Although system 100 only shows two SIP user agents and communication devices, embodiments including more than two SIP user agents and communication devices sharing a SIP MRD session are contemplated and are within the scope of the present invention. For example, if three or more SIP user agents and communication devices are included in system 100, party-line communication is possible. System 100 may also include additional SIP user agents, which are configured to function as redundant backups in the event of a SIP user agent malfunction. Similarly, system 100 may include additional communication devices, which are configured to function as redundant backups in the event of a communication device malfunction.
  • SIP is an application-layer control (i.e., signaling) protocol for creating, modifying, and terminating sessions, such as Internet telephony calls, with one or more participants and is defined in RFC-3261, “SIP: Session Initiation Protocol.” SIP-based communication architectures provide the ability to signal and communicate between telephony systems in collaboration with other protocols such as Session Description Protocol (“SDP”) and Real-Time Protocol (“RTP”). SDP describes streaming media initialization parameters in an ASCII string and multimedia communication sessions for the purposes of session announcement, session invitation, and parameter negotiation. SDP is defined in RFC-4566, “SDP: Session Description Protocol.” RTP is a standardized packet format for delivering audio and/or video data over IP networks and is defined by RFC-3550, “RTP: A Transport Protocol for Real-Time Applications” which has been updated by RFC-5506, “Support for Reduced-Size Real-Time Transport Control Protocol (RTCP): Opportunities and Consequences.” RFC-3261, RFC-4566, RFC-3350, and RFC-5506 are hereby incorporated by reference in their entirety.
  • In an example embodiment, SIP user agents 102 and 106 use RTP to carry voice communication services through the IP network 108. SIP user agents 102, 106, and SIP proxy/B2BUA 104 use SIP to provide signaling functionality over the IP network 108 and to create, modify, and terminate RTP sessions such as VoIP calls.
  • FIG. 2 depicts a sequence diagram 200 for dynamically discovering which of the SIP user agents 102 and 106 is to act as a session establisher, which is the entity responsible for initially generating a SIP session and then re-attempting to establish the SIP session until it is successfully established. A session establisher may interchangeably be referred to as a SIP session establisher. Similarly, a session may interchangeably be referred to as a SIP session.
  • As shown in FIG. 2, once SIP user agents 102 and 106 are initialized, SIP user agent 106 requests to be designated as the session establisher by transmitting an
  • OPTIONS message to SIP user agent 102. The OPTIONS message includes a value indicating that a particular user agent requests to be designated as the session establisher and an identifier value of the particular user agent, in this example SIP user agent 106. The indication may be a text string such as “establisher=uac” or “establisher=uas”. The value “uac” implies that the SIP user agent that originated the OPTIONS message intends to be the session establisher. The value “uas” implies that the SIP user agent that originated the OPTIONS message intends the other SIP user agent to be the session establisher. This text string may be appended to the existing ‘Contact’ header field in the SIP OPTIONS message or may be carried in a header field of its own.
  • Once SIP user agent 106 transmits the OPTIONS message to SIP user agent 102, SIP user agent 106 waits for a response. Upon receiving the OPTIONS message from SIP user agent 106, SIP user agent 102 responds by transmitting a SIP 200 “OK” message to SIP user agent 106, as shown in FIG. 2. Upon SIP user agent 106 receiving the SIP 200 OK message, SIP user agent 106 is designated the session establisher. The SIP 200 OK messages also carry the “establisher” parameter to indicate what the other SIP user agent has agreed upon with respect to which SIP user agent performs the establisher role.
  • Although FIG. 2 shows SIP user agent 106 as the session establisher, embodiments where SIP user agent 102 is the session establisher also are contemplated and are within the scope of the present invention. In fact, the discovery of the session establisher is dynamic in that either SIP user agent 102 or SIP user agent 106 may request to be designated as session establisher. Dynamic discovery of the session establisher enables any end-point to determine which end-point should attempt to establish the session. Both ends of the private line, that is, both SIP user agent 102 and SIP user agent 106, are configured with each other's address of record (“AOR”) and can initiate calls in either direction.
  • Dynamic discovery of the session establisher also assists in preventing multiple end-points, in this example SIP user agents 102 and 106, from simultaneously trying to establish the session, because an end-point will not attempt to establish a session until the end-point has been designated the session establisher. In the event that both SIP user agent 102 and 106 simultaneously request to be designated session establisher, a predetermined rule can be used to determine which of SIP user agent 102 and 106 will actually be designated the session establisher. For example, the rule may be that the user agent associated with the higher value IP address is designated the session establisher. Dynamic discovery of the session establisher thus also reduces the potential for race conditions, the complexity of the communication system 100, and the potential for human errors in configuration.
  • In an alternative embodiment, the session establisher can be determined by using configuration parameters or manually through a user interface (not shown).
  • FIG. 3 depicts an example sequence diagram 300 for establishing a session. As mentioned above, establishment of a session is not attempted until an end-point has been designated as the session establisher. In this example, SIP user agent 106 has previously been designated as the session establisher. The establishment of the SIP session is attempted regardless of the on-hook/off-hook state of SIP user agents 102 and/or 106. In this way, the communication line that results from a successful session establishment functions as if it is an “always on” connection. For example, a user of communication device 110 may exchange voice communications with a user of communication device 112 without having to dial a number associated with communication device 112; the SIP session may have been previously established before either user picks up their hard or soft telephone, as the case may be. This automatic session establishment allows users to speak to each other without requiring any action by them and is the basis for private line functionality.
  • As shown in FIG. 3, SIP user agent 106, as the session establisher, transmits an INVITE message over IP network 108 to SIP proxy/B2BUA 104, which in turn forwards the INVITE message to SIP user agent 102. Alternatively, as mentioned above, SIP user agent 106 may transmit the INVITE message over IP network 108 directly to SIP user agent 102. The INVITE message contains a number of header fields, which are named attributes that provide additional information about a message. The attributes present in the INVITE message can include a unique identifier for the call, the destination address, the source address, and/or information about the type of session that the session establisher is attempting to establish. The body of the INVITE message contains a description of the session, encoded in some other protocol format, such as SDP, which is mentioned above in further detail. When SIP user agent 102 receives the INVITE message, it automatically answers the call. SIP user agent 102 responds by transmitting a SIP 200 OK message to SIP user agent 106 via IP network 108 and optionally via SIP proxy/B2BUA 104. At this point the session is established.
  • Once the session has been established, it is determined which end-point is to be designated as a session refresher, which is used to periodically refresh a corresponding SIP session. In an example embodiment, the session refresher is determined according to RFC-4028, “Session Timers in the Session Initiation Protocol (SIP),” which is hereby incorporated by reference in its entirety. The signaling mechanism is negotiated during session establishment in accordance with the “Session Initiation Protocol (SIP) INFO Method and Package Framework,” which is hereby incorporated by reference in its entirety. In this example, SIP user agent 106 functions as both the session establisher and the session refresher. SIP user agent 106, as session establisher, also negotiates with the other user agent(s) as to which specific signaling mechanism is to be used throughout the session. In this example, an RTP events signaling method is negotiated as the signaling mechanism to be used between SIP user agents 102 and 106. An RTP payload type may be encoded as an existing RFC-4733 event. Alternatively, an extension to RFC-4733 or a new CODEC type may be defined. Although in this example RTP events are negotiated to be used as the signaling mechanism, other suitable signaling mechanisms, such as a SIP INFO mechanism, are contemplated and are within the scope of the present invention.
  • An example SIP MRD event package is defined as follows. A package name for SIP MRD Info-Event is “sip-mrd”. Below are examples of SIP headers where the package name (or token name) is carried:
  • Info-Package: sip-mrd
  • Recv-Info: sip-mrd.
  • A Content-Type header is specified as “application/sip-mrd”. An Augmented Backus-Naur Form (ABNF) for a SIP MRD Info-Event is defined as follows:
  • sip-mrd-relay-body=signal-line CRLF duration-line
  • signal-line=“Signal” EQUAL SP (“start”/“stop”)
  • duration-line=“Duration” EQUAL SP msecs
  • msecs=1*4(DIGIT); 100-5000 millisecs.
  • FIG. 4 depicts an example sequence diagram 400 of a signaling mechanism in accordance with an embodiment of the present invention. In this example, the SIP session has been established, and SIP user agent 106 has been designated as both the session establisher and the session refresher. While FIG. 4 shows both the SIP INFO mechanism and the RTP events mechanism being used as signaling mechanisms, preferably only one of these is used as the signaling mechanism.
  • As shown in FIG. 4, SIP user agents 102 and 106 communicate using RTP messaging. The user changes the state of communication device 112 to off-hook, for example by picking up the hard or soft telephone, as the case may be, which in this example gives rise to no change in the SIP session or the RTP messages. The user then presses a signal key (or button) on communication device 112 to signal the user of communication device 110 of a desire to communicate. Pressing the signal key causes different messages to be sent depending on which signaling mechanism was negotiated for the SIP session. If the SIP MRD event package is supported on both sides, the signaling events are sent using the SIP INFO method. If the RTP SIP MRD CODECs are supported on both sides, then this method is used. If both the SIP MRD event package and the RTP SIP MRD CODECs are supported, then both are used. Both the RTP events signaling mechanism and the SIP INFO signaling mechanism convey a “signal begin” event and a “signal end” event using events defined, for example, in RFC-4733, “RTP Payload for DTMF Digits, Telephony Tones, and Telephony Signals,” which is hereby incorporated by reference in its entirety. If the SIP INFO method was negotiated as the signaling mechanism, then pressing the signal key causes an INFO start event message to be sent to SIP user agent 102 over IP network 108, optionally via SIP proxy/B2BUA 104. If the RTP events mechanism was negotiated as the signaling mechanism, then pressing the signal key causes an RTP start event message to be sent to SIP user agent 102 over IP network 108, optionally via SIP proxy/B2BUA 104. Configuration data included in the messages indicates the start and end events.
  • The INFO message and the RTP message each include RFC-4733 start signal event data, which causes SIP user agent 106 to signal SIP user agent 102, which in turn causes communication device 110 to present a visual and/or audible alert to its user. Particularly, the start signal event information, when received at SIP user agent 102, alerts the user of communication device 110 that the user on communication device 112 wishes to communicate. The alert may be, for instance, the ringing of a hard or soft telephone or the illumination of a light bulb fixed to the hard or soft telephone. Upon receipt of the RFC-4733 start signal event, SIP user agent 102 responds by transmitting an SIP 200 OK message to SIP user agent 106 over IP network 108, optionally via SIP proxy/B2BUA 104.
  • The user of communications device 112 then releases the signal key. Releasing the signal key also causes different messages to be sent depending on which signaling mechanism was negotiated for the SIP session. If the SIP INFO method was negotiated as the signaling mechanism, then releasing the signal key causes an INFO message, including an RFC-4733 end signal event, to be sent to SIP user agent 102 over IP network 108, optionally via SIP proxy/B2BUA 104. SIP user agent 102 responds by transmitting a SIP 200 OK message to SIP user agent 106 over IP network 108, optionally via SIP proxy/B2BUA 104. If the RTP events method was negotiated as the signaling mechanism, then releasing the signal key causes an RTP end event message to be sent to SIP user agent 102 over IP network 108, optionally via SIP proxy/B2BUA 104, which, in turn causes the alerting of SIP user agent 102 to cease. SIP user agent 102 responds by transmitting a SIP 200 OK message to SIP user agent 106 over IP network 108, optionally via SIP proxy/B2BUA 104.
  • In an alternative embodiment, automatic ring-down can be performed, instead of manual ring-down, such that the signaling occurs in response to the user changing the state of communication device 112 to off-hook; that is, signaling occurs without the user keying any button or clicking any icon. This is particularly useful in time-critical communication applications, such as those between financial brokers or emergency personnel, because it reduces the steps and time necessary to engage in communication.
  • In another alternative embodiment, one side of the private line, for instance the SIP user agent 102, does not support either the SIP INFO signaling mechanism or the RTP events signaling mechanism. In this case, signaling will not be sent in either direction and the communication line will function similar to a hoot-and-holler communication line.
  • FIG. 5 depicts an example sequence diagram 500 for re-establishing a session after the session has failed. A SIP session failure can occur in two ways: (1) by the isolated failure of an attempt to refresh the SIP session, or (2) by the failure of an attempt to refresh the SIP session in conjunction with RTP messages no longer being received by the SIP session refresher. In this example, SIP user agent 106 has been designated as the session establisher and the session refresher. As shown in FIG. 5, operation of SIP user agent 102 has failed. SIP user agent 106 attempts to refresh the session by transmitting an INVITE message to SIP user agent 102 over the IP network 108, optionally via SIP proxy/B2BUA 104. SIP user agent 102 fails to respond to the INVITE and, after a predetermined timeout period, SIP proxy/B2BUA 104 transmits to SIP user agent 106 a request timeout 408 message over IP network 108. SIP user agent 106 acknowledges the request timeout 408 message by transmitting an ACK message to SIP proxy/B2BUA 104 over IP network 108.
  • SIP user agent 106 then sends a BYE message to SIP user agent 102 over IP network 108, optionally via SIP proxy/B2BUA 104. SIP user agent 102 fails to respond to this message as well and, after a predetermined timeout period, SIP proxy/B2BUA 104 sends to SIP user agent 106 another request timeout 408 message. SIP user agent 106 begins to run a session establish timer. As shown in FIG. 4, at some point in time before the session establish timer expires, operation of SIP user agent 102 is restored. In response to the session establish timer expiring, SIP user agent 106 attempts to establish the session once again by transmitting another INVITE message to SIP user agent 102 over IP network 108, optionally via SIP proxy/B2BUA 104. This time, because operation of SIP user agent 102 has been restored, SIP user agent 102 responds by transmitting a SIP 200 OK message to SIP user agent 106 over IP network 108, optionally via SIP proxy/B2BUA 104. SIP user agent 106 acknowledges this by transmitting and ACK message to SIP user agent 102 over IP network 108, optionally via SIP proxy/B2BUA 104, indicating that the session has been re-established. SIP user agent 106 and SIP user agent 102 can then continue to communicate using RTP messages.
  • Referring back to FIG. 5, if the operation of SIP user agent 102 had not been restored prior to the session establish timer expiring, SIP user agent 106 would periodically attempt to re-establish the session, at a predetermined repetition rate, until re-establishment is successful or until a predetermined number of failed re-establishment attempts occurs. In this way, the manual ring-down communication line is self-healing. That is, SIP user agent 106 attempts to maintain a persistent private communication line with SIP user agent 102 for as long as possible without requiring human intervention, unless components are damaged and/or are malfunctioning.
  • The present invention (e.g., system 100, sequence diagrams 200, 300, 400, 500, or any part(s) or function(s) thereof) can be implemented using hardware, software or a combination thereof and can be implemented in one or more computer systems or other processing systems. However, the manipulations performed by the present invention were often referred to in terms, such as establishing or discovering, which are commonly associated with mental operations performed by a human operator. No such capability of a human operator is necessary, or desirable in most cases, in any of the operations described herein which form part of the present invention. Rather, the operations are machine operations. Useful machines for performing the operation of the present invention include general purpose digital computers or similar devices.
  • In fact, in one embodiment, the invention is directed toward one or more computer systems capable of carrying out the functionality described herein. An example of a computer system 600 is shown in FIG. 6.
  • Computer system 600 includes one or more processors, such as processor 604. The processor 604 is connected to a communication infrastructure 606 (e.g., a communications bus, cross-over bar, or network). Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or architectures.
  • Computer system 600 can include a display interface 602 that forwards graphics, text, and other data from the communication infrastructure 606 (or from a frame buffer not shown) for display on the display unit 630.
  • Computer system 600 also includes a main memory 608, preferably random access memory (RAM), and can also include a secondary memory 610. The secondary memory 610 can include, for example, a hard disk drive 612 and/or a removable storage drive 614, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 614 reads from and/or writes to a removable storage unit 618 in a well known manner. Removable storage unit 618 represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to by removable storage drive 614. As will be appreciated, the removable storage unit 618 includes a computer usable storage medium having stored therein computer software and/or data.
  • In alternative embodiments, secondary memory 610 can include other similar devices for allowing computer programs or other instructions to be loaded into computer system 600. Such devices can include, for example, a removable storage unit 622 and an interface 620. Examples of such can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an erasable programmable read only memory (EPROM), or programmable read only memory (PROM)) and associated socket, and other removable storage units 622 and interfaces 620, which allow software and data to be transferred from the removable storage unit 622 to computer system 600.
  • Computer system 600 can also include a communications interface 624. Communications interface 624 allows software and data to be transferred between computer system 600 and external devices. Examples of communications interface 624 can include a modem, a network interface (such as an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface 624 are in the form of signals 628 which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 624. These signals 628 are provided to communications interface 624 via a communications path (e.g., channel) 626. This channel 626 carries signals 628 and can be implemented using wire or cable, fiber optics, a telephone line, a cellular link, a radio frequency (RF) link and other communications channels.
  • In this document, the terms “computer program medium,” “computer-readable medium,” and “computer-usable medium” are used to generally refer to media such as removable storage drive 614, a hard disk installed in hard disk drive 612, and/or signals 628. These computer program products provide software to computer system 600. The invention is directed to such computer program products.
  • Computer programs (also referred to as computer control logic) are stored in main memory 608 and/or secondary memory 610. Computer programs can also be received via communications interface 624. Such computer programs, when executed, enable the computer system 600 to perform the features of the present invention, as discussed herein. In particular, the computer programs, when executed, enable the processor 604 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 600.
  • In an embodiment where the invention is implemented using software, the software can be stored in a computer program product and loaded into computer system 600 using removable storage drive 614, hard drive 612 or communications interface 624. The control logic (software), when executed by the processor 604, causes the processor 604 to perform the functions of the invention as described herein.
  • In another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
  • In yet another embodiment, the invention is implemented using a combination of both hardware and software.
  • While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It will be apparent to persons skilled in the relevant art(s) that various changes in form and detail can be made therein without departing from the spirit and scope of the present invention. Thus, the present invention should not be limited by any of the above described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
  • In addition, it should be understood that the figures illustrated in the attachments, which highlight the functionality and advantages of the present invention, are presented for example purposes only. The architecture of the present invention is sufficiently flexible and configurable, such that it can be utilized (and navigated) in ways other than that shown in the accompanying figures.
  • Further, the purpose of the foregoing Abstract is to enable the U.S. Patent and Trademark Office and the public generally, and especially the scientists, engineers and practitioners in the art who are not familiar with patent or legal terms or phraseology, to determine quickly from a cursory inspection the nature and essence of the technical disclosure of the application. The Abstract is not intended to be limiting as to the scope of the present invention in any way. It is also to be understood that the steps and processes recited in the claims need not be performed in the order presented.

Claims (54)

1. A method for providing a private line communication channel using Session Initiation Protocol (SIP), comprising the steps of:
transmitting, by a first SIP user agent to a second SIP user agent over a communication network, an INVITE message to establish a SIP session, wherein at least one of a first communication device associated with the first SIP user agent and a second communication device associated with the second SIP user agent is in either an on-hook state or an off-hook state;
receiving, by the first SIP user agent from the second SIP user agent over the communication network, a 200 OK message confirming receipt of the INVITE message;
transmitting, by the first SIP user agent to the second SIP user agent over the communication network, an ACK message to acknowledge receipt of the 200 OK message; and
transmitting, by either one of the first SIP user agent or the second SIP user agent over the communication network, an event message, to cause the second communication device or the first communication device, respectively, to activate a manual ring-down alert.
2. The method of claim 1, wherein the manual ring-down alert includes at least one of an audible alert and a visual alert.
3. The method of claim 1, wherein the event message relates to an event and includes at least one of a Real-Time Protocol (RTP) message and an INFO message.
4. The method of claim 3, wherein the event includes at least one of a change in a hook state and a change in an alert state of at least one of the first communication device and the second communication device.
5. The method of claim 1, wherein at least one of the first communication device and the second communication device includes a hard turret or a soft turret.
6. The method of claim 1, further comprising transmitting, by the first SIP user agent to the second SIP user agent over the communication network, a message negotiating a role of session establisher between the first SIP user agent and the second SIP user agent.
7. The method of claim 1, further comprising transmitting, by the first SIP user agent to the second SIP user agent over the communication network, an end event message to cause the second communication device to deactivate the manual ring-down alert.
8. The method of claim 1, further comprising forwarding, by at least one of a SIP proxy and a back-to-back user agent (B2BUA), a message between the first SIP user agent and the second SIP user agent over the communication network.
9. The method of claim 1, wherein either one of the first SIP user agent or the second SIP user agent controls the first communication device or the second communication device, respectively, to activate the manual ring-down alert.
10. A non-transitory computer-readable medium having stored thereon sequences of instructions, the sequences of instructions including instructions, which, when executed by a computer system, cause the computer system to:
transmit, by a first Session Initiation Protocol (SIP) user agent to a second SIP user agent over a communication network, an INVITE message to establish a SIP session, wherein at least one of a first communication device associated with the first SIP user agent and a second communication device associated with the second SIP user agent is in either an on-hook state or an off-hook state;
receive, by the first SIP user agent from the second SIP user agent over the communication network, a 200 OK message confirming receipt of the INVITE message;
transmit, by the first SIP user agent to the second SIP user agent over the communication network, an ACK message to acknowledge receipt of the 200 OK message; and
transmit, by either one of the first SIP user agent or the second SIP user agent over the communication network, an event message, to cause the second communication device or the first communication device, respectively, to activate a manual ring-down alert.
11. The computer-readable medium of claim 10, wherein the manual ring-down alert includes at least one of an audible alert and a visual alert.
12. The computer-readable medium of claim 10, wherein the event message relates to an event and includes at least one of a Real-Time Protocol (RTP) message and an INFO message.
13. The computer-readable medium of claim 12, wherein the event includes at least one of a change in a hook state and a change in an alert state of at least one of the first communication device and the second communication device.
14. The computer-readable medium of claim 10, wherein at least one of the first communication device and second communication device includes a hard turret or a soft turret.
15. The computer-readable medium of claim 10, wherein the sequence of instructions further includes instructions which, when executed by the computer system, cause the computer system to:
transmit, by the first SIP user agent to the second SIP user agent over the communication network, a message negotiating a role of session establisher between the first SIP user agent and the second SIP user agent.
16. The computer-readable medium of claim 10, wherein the sequence of instructions further includes instructions which, when executed by the computer system, cause the computer system to:
transmit, by the first SIP user agent to the second SIP user agent over the communication network, an end event message to cause the second communication device to deactivate the manual ring-down alert.
17. The computer-readable medium of claim 10, wherein the sequence of instructions further includes instructions which, when executed by the computer system, cause the computer system to:
forward, by at least one of a SIP proxy and a back-to-back user agent (B2BUA), a message between the first SIP user agent and the second SIP user agent over the communication network.
18. The computer-readable medium of claim 10, wherein the sequence of instructions further includes instructions which, when executed by the computer system, cause either one of the first SIP user agent or the second SIP user agent to control the first communication device or the second communication device, respectively, to activate the manual ring-down alert.
19. A system for providing a private line communication channel using Session Initiation Protocol (SIP), the system comprising:
a first SIP user agent communicatively coupled to a communication network; and
a second SIP user agent communicatively coupled to the communication network,
wherein the first SIP user agent is configured to:
transmit, to the second SIP user agent over the communication network, an INVITE message to establish a SIP session, wherein at least one of a first communication device associated with the first SIP user agent and a second communication device associated with the second SIP user agent is in either an on-hook state or an off-hook state,
receive, from the second SIP user agent over the communication network, a 200 OK message confirming receipt of the INVITE message, and
transmit, to the second SIP user agent over the communication network, an ACK message to acknowledge receipt of the 200 OK message, and
wherein the first SIP user agent and the second SIP user agent are respectively configured to:
transmit, over the communication network, an event message, to cause the second communication device or the first communication device, respectively, to activate a manual ring-down alert.
20. The system of claim 19, wherein the manual ring-down alert includes at least one of an audible alert and a visual alert.
21. The system of claim 19, wherein the event message relates to an event and includes at least one of a Real-Time Protocol (RTP) message and an INFO message.
22. The system of claim 21, wherein the event includes at least one of a change in a hook state and a change in an alert state of at least one of the first communication device and the second communication device.
23. The system of claim 19, wherein at least one of the first communication device and the second communication device includes a hard turret or a soft turret.
24. The system of claim 19, wherein the first SIP user agent is further configured to:
transmit, to the second SIP user agent over the communication network, a message negotiating a role of session establisher between the first SIP user agent and the second SIP user agent.
25. The system of claim 19, wherein the first SIP user agent is further configured to:
transmit, to the second SIP user agent over the communication network, an end event message to cause the second communication device to deactivate the manual ring-down alert.
26. The system of claim 19, further comprising at least one of a SIP proxy and a back-to-back user agent (B2BUA) configured to forward a message between the first SIP user agent and the second SIP user agent over the communication network.
27. The system of claim 19, wherein the first SIP user agent and the second SIP user agent are further configured to control the first communication device and the second communication device, respectively, to activate the manual ring-down alert.
28. A method for providing a private line communication channel using Session Initiation Protocol (SIP), comprising the steps of:
receiving, by a first SIP user agent from a second SIP user agent over a communication network, an INVITE message to establish a SIP session, wherein at least one of a first communication device associated with the first SIP user agent and a second communication device associated with the second SIP user agent is in either an on-hook state or an off-hook state;
transmitting, by the first SIP user agent to the second SIP user agent over the communication network, a 200 OK message confirming receipt of the INVITE message;
receiving, by the first SIP user agent from the second SIP user agent over the communication network, an ACK message to acknowledge receipt of the 200 OK message; and
receiving, by either one of the first SIP user agent or the second SIP user agent over the communication network, an event message, wherein the receiving of the event message causes the first communication device or the second communication device, respectively, to automatically activate a manual ring-down alert.
29. The method of claim 28, wherein the manual ring-down alert includes at least one of an audible alert and a visual alert.
30. The method of claim 28, wherein the event message relates to an event and includes at least one of a Real-Time Protocol (RTP) message and an INFO message.
31. The method of claim 30, wherein the event includes at least one of a change in a hook state and a change in an alert state of at least one of the first communication device and the second communication device.
32. The method of claim 28, wherein at least one of the first communication device and the second communication device includes a hard turret or a soft turret.
33. The method of claim 28, further comprising receiving, by the first SIP user agent from the second SIP user agent over the communication network, a message negotiating a role of session establisher between the first SIP user agent and the second SIP user agent.
34. The method of claim 28, further comprising receiving, by the first SIP user agent from the second SIP user agent over the communication network, an end event message to cause the first communication device to deactivate the manual ring-down alert.
35. The method of claim 28, further comprising forwarding, by at least one of a SIP proxy and a back-to-back user agent (B2BUA), a message between the first SIP user agent and the second SIP user agent over the communication network.
36. The method of claim 28, wherein either one of the first SIP user agent or the second SIP user agent controls the first communication device or the second communication device, respectively, to activate the manual ring-down alert.
37. A non-transitory computer-readable medium having stored thereon sequences of instructions, the sequences of instructions including instructions, which, when executed by a computer system, cause the computer system to:
receive, by a first Session Initiation Protocol (SIP) user agent from a second SIP user agent over a communication network, an INVITE message to establish a SIP session, wherein at least one of a first communication device associated with the first SIP user agent and a second communication device associated with the second SIP user agent is in either an on-hook state or an off-hook state;
transmit, by the first SIP user agent to the second SIP user agent over the communication network, a 200 OK message confirming receipt of the INVITE message;
receive, by the first SIP user agent from the second SIP user agent over the communication network, an ACK message to acknowledge receipt of the 200 OK message; and
receive, by either one of the first SIP user agent or the second SIP user agent over the communication network, an event message, wherein the receiving of the event message causes the first communication device or the second communication device, respectively, to automatically activate a manual ring-down alert.
38. The computer-readable medium of claim 37, wherein the manual ring-down alert includes at least one of an audible alert and a visual alert.
39. The computer-readable medium of claim 37, wherein the event message relates to an event and includes at least one of a Real-Time Protocol (RTP) message and an INFO message.
40. The computer-readable medium of claim 39, wherein the event includes at least one of a change in a hook state and a change in an alert state of at least one of the first communication device and the second communication device.
41. The computer-readable medium of claim 37, wherein at least one of the first communication device and the second communication device includes a hard turret or a soft turret.
42. The computer-readable medium of claim 37, wherein the sequence of instructions further includes instructions which, when executed by the computer system, cause the computer system to:
receive, by the first SIP user agent from the second SIP user agent over the communication network, a message negotiating a role of session establisher between the first SIP user agent and the second SIP user agent.
43. The computer-readable medium of claim 37, wherein the sequence of instructions further includes instructions which, when executed by the computer system, cause the computer system to:
receive, by the first SIP user agent from the second SIP user agent over the communication network, an end event message to cause the first communication device to deactivate the manual ring-down alert.
44. The computer-readable medium of claim 37, wherein the sequence of instructions further includes instructions which, when executed by the computer system, cause the computer system to:
forward, by at least one of a SIP proxy and a back-to-back user agent (B2BUA), a message between the first SIP user agent and the second SIP user agent over the communication network.
45. The computer-readable medium of claim 37, wherein the sequence of instructions further includes instructions which, when executed by the computer system, cause either one of the first SIP user agent or the second SIP user agent to control the first communication device or the second communication device, respectively, to activate the manual ring-down alert.
46. A system for providing a private line communication channel using Session Initiation Protocol (SIP), the system comprising:
a first SIP user agent communicatively coupled to a communication network; and
a second SIP user agent communicatively coupled to the communication network,
wherein the first SIP user agent is configured to:
receive, from the second SIP user agent over the communication network, an INVITE message to establish a SIP session, wherein at least one of a first communication device associated with the first SIP user agent and a second communication device associated with the second SIP user agent is in either an on-hook state or an off-hook state,
transmit, to the second SIP user agent over the communication network, a 200 OK message confirming receipt of the INVITE message, and
receive, from the second SIP user agent over the communication network, an ACK message to acknowledge receipt of the 200 OK message, and
wherein the first SIP user agent and the second SIP user agent are respectively configured to:
receive, over the communication network, an event message, wherein the receiving of the event message causes the first communication device or the second communication device, respectively, to automatically activate a manual ring-down alert.
47. The system of claim 46, wherein the manual ring-down alert includes at least one of an audible alert and a visual alert.
48. The system of claim 46, wherein the event message relates to an event and includes at least one of a Real-Time Protocol (RTP) message and an INFO message.
49. The system of claim 48, wherein the event includes at least one of a change in a hook state and a change in an alert state of at least one of the first communication device and the second communication device.
50. The system of claim 46, wherein at least one of the first communication device and the second communication device includes a hard turret or a soft turret.
51. The system of claim 46, wherein the first SIP user agent is further configured to:
receive, from the second SIP user agent over the communication network, a message negotiating a role of session establisher between the first SIP user agent and the second SIP user agent.
52. The system of claim 46, wherein the first SIP user agent is further configured to:
receive, from the second SIP user agent over the communication network, an end event message to cause the first communication device to deactivate the manual ring-down alert.
53. The system of claim 46, further comprising at least one of a SIP proxy and a back-to-back user agent (B2BUA) configured to forward a message between the first SIP user agent and the second SIP user agent over the communication network.
54. The system of claim 46, wherein the first SIP user agent and the second SIP user agent are further configured to control the first communication device and the second communication device, respectively, to activate the manual ring-down alert.
US13/098,549 2009-09-29 2011-05-02 Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol Abandoned US20110206040A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/098,549 US20110206040A1 (en) 2009-09-29 2011-05-02 Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/569,494 US8599834B2 (en) 2009-09-29 2009-09-29 Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US13/098,549 US20110206040A1 (en) 2009-09-29 2011-05-02 Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/569,494 Continuation US8599834B2 (en) 2009-09-29 2009-09-29 Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol

Publications (1)

Publication Number Publication Date
US20110206040A1 true US20110206040A1 (en) 2011-08-25

Family

ID=43780330

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/569,494 Active - Reinstated 2032-03-02 US8599834B2 (en) 2009-09-29 2009-09-29 Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US13/098,549 Abandoned US20110206040A1 (en) 2009-09-29 2011-05-02 Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/569,494 Active - Reinstated 2032-03-02 US8599834B2 (en) 2009-09-29 2009-09-29 Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol

Country Status (4)

Country Link
US (2) US8599834B2 (en)
EP (1) EP2483796B1 (en)
SG (1) SG179118A1 (en)
WO (1) WO2011041035A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110075653A1 (en) * 2009-09-29 2011-03-31 Ipc Systems, Inc. Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US20220014569A1 (en) * 2020-07-09 2022-01-13 Mediatek Inc. Enhancements for real-time text (rtt) call control over an ip multimedia subsystem (ims) network

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10104131B2 (en) * 2011-05-06 2018-10-16 International Business Machines Corporation Managing session initiation protocol subscription dialog state loss
US9602634B2 (en) * 2012-02-15 2017-03-21 Avaya Inc. Global session identifier
US9912623B2 (en) * 2015-01-16 2018-03-06 General Electric Company Systems and methods for adaptive context-aware control of multimedia communication sessions
US10972514B2 (en) * 2015-10-14 2021-04-06 Avaya Inc. Reestablishment of session initiation protocol (SIP) dialogs
US10440155B2 (en) * 2016-01-11 2019-10-08 Cloud9 Technologies, LLC Private connection multi-media transition
US10938914B2 (en) * 2016-01-18 2021-03-02 Avaya Inc. Inter domain instant messaging bridge
US11108833B2 (en) 2016-06-06 2021-08-31 Blackberry Limited Crossed-invite call handling
US10909830B1 (en) * 2017-11-07 2021-02-02 Pica Product Development, Llc Personal emergency alert system, method and device
US11330034B1 (en) 2020-10-27 2022-05-10 T-Mobile Usa, Inc. Data disruption tracking for wireless networks, such as IMS networks

Citations (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535204A (en) * 1993-01-08 1996-07-09 Multi-Tech Systems, Inc. Ringdown and ringback signalling for a computer-based multifunction personal communications system
US20030097447A1 (en) * 2001-10-25 2003-05-22 Johnston Alan B. Bridging user agent and a proxy server for supporting network services
US6611501B1 (en) * 1996-08-12 2003-08-26 British Telecommunications Public Limited Company Process management system
US20030161448A1 (en) * 2002-02-27 2003-08-28 Sbc Technology Resources Inc. Multi-modal communications method
US20040086102A1 (en) * 2002-11-02 2004-05-06 Mcmurry Kathleen A. Systems and methods for implementing call pickup in a SIP environment
US20050041617A1 (en) * 2003-08-18 2005-02-24 Nokia Corporation Activation of communication sessions in a communication system
US20050141689A1 (en) * 2003-12-31 2005-06-30 Wengrovitz Michael S. Personal call routing between PBX and SIP networks
US20050254510A1 (en) * 2004-05-12 2005-11-17 Saku Oja Session establishment for real-time media communication service
US20060026288A1 (en) * 2004-07-30 2006-02-02 Arup Acharya Method and apparatus for integrating wearable devices within a SIP infrastructure
US7002912B2 (en) * 2001-09-06 2006-02-21 Alcatel Architecture for transporting PBX signaling codes via SIP
US20060056392A1 (en) * 2004-09-16 2006-03-16 Research In Motion Limited, A Canadian Corporation System and method for allocating session initiation protocol (SIP) identifications (IDs) to user agents
US20060072546A1 (en) * 2004-09-24 2006-04-06 Chi-Wen Chen IP telephony apparatus providing simultaneous SIP communication for multiple IP phones and method for the same
US20060078103A1 (en) * 1997-11-03 2006-04-13 Light Elliott D System and method for determining the status of a telephone in a packet switched network
US7031280B2 (en) * 2004-04-26 2006-04-18 Motorola, Inc. Method and apparatus for hand over of calls
US20060211455A1 (en) * 2005-03-16 2006-09-21 Lg Electronics Inc. Mobile communication terminal for setting background music during telephone conversation and method thereof
US20060221943A1 (en) * 2005-03-31 2006-10-05 Aborn Justin A Connecting a packet-based call to multiple devices
US20060234723A1 (en) * 2004-07-07 2006-10-19 Pedersen Jens U Methods and terminal devices
US20060239251A1 (en) * 2005-04-26 2006-10-26 Bennett Jesse W Multi-user media client for communication devices
US20060245418A1 (en) * 2005-05-02 2006-11-02 Siemens Communication, Inc. Intelligent terminal SIP enabled devices
US20060253698A1 (en) * 2005-05-04 2006-11-09 Sujeet Mate Method, system and entities for exchanging content
US20060294112A1 (en) * 2002-10-23 2006-12-28 Davide Mandato Specification of a software architecture for capability and quality-of-service negotiations and session establishment for distributed multimedia applications
US20070064896A1 (en) * 2005-08-23 2007-03-22 Su-Yuan Chang System and method for sharing SIP sessions
US20070171898A1 (en) * 2005-11-29 2007-07-26 Salva Paul D System and method for establishing universal real time protocol bridging
US20070177602A1 (en) * 2004-03-17 2007-08-02 France Telecom Method, server, and system for managing "push-to-talk" session
US20080043722A1 (en) * 2006-08-04 2008-02-21 Chih-Hsin Chuang Extension network system and dialing and answering processes of the same
US20080095143A1 (en) * 2006-10-19 2008-04-24 Research In Motion Limited System and method for providing debug information in session initiation protocol sessions
US20080235381A1 (en) * 2007-03-19 2008-09-25 Yoshimichi Tanizawa Message relaying apparatus, communication establishing method, and computer program product
US20080259909A1 (en) * 2007-04-17 2008-10-23 Stefan Runeson Signaling of Early Media Capabilities in IMS Terminals
US20090022145A1 (en) * 2007-07-20 2009-01-22 Ipc Systems, Inc. Systems, methods, apparatus and computer program products for networking trading turret systems using sip
US20090154468A1 (en) * 1999-11-05 2009-06-18 Mci, Inc. Method and system of providing differentiated services
US7554927B2 (en) * 2003-09-29 2009-06-30 Siemes Aktiengesellschaft Network entity for interconnecting SIP end-points of different capabilities
US7571238B1 (en) * 2000-10-18 2009-08-04 Nortel Networks Limited Authorizing communication services
US20090285204A1 (en) * 2001-03-20 2009-11-19 Worldcom, Inc. Recursive query for communications network data
US20090319657A1 (en) * 2008-06-19 2009-12-24 Huawei Technologies Co., Ltd. Sip terminal, method and system for reporting status thereof, and sip server
US20100157980A1 (en) * 2008-12-23 2010-06-24 Avaya Inc. Sip presence based notifications
US20100216502A1 (en) * 2005-10-17 2010-08-26 Hardin Stephen T System and Method for Mobile PTT Communication
US7856470B2 (en) * 2005-05-27 2010-12-21 Microsoft Corporation Accepting an invitation sent to multiple computer systems
US20110075653A1 (en) * 2009-09-29 2011-03-31 Ipc Systems, Inc. Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US20110079620A1 (en) * 2009-10-02 2011-04-07 Appolo Machine Ltd. Kit for modular structures on a vehicle
US20110093542A1 (en) * 2009-10-19 2011-04-21 Verizon Patent And Licensing, Inc. SESSION INITIATION PROTOCOL (SIP) SIGNALING TO KEEP A VOICE OVER INTERNET PROTOCOL (VoIP) SESSION ACTIVE DURING A CALL HOLD
US20110231558A1 (en) * 2008-09-19 2011-09-22 Jan Holm Method and Apparatus for Establishing a POC Session
US8103215B2 (en) * 2006-07-06 2012-01-24 Koninklijke Philips Electronics N.V. Method of establishing a direct communication between a first wireless phone and a second wireless phone
US20120076002A1 (en) * 2001-07-27 2012-03-29 Rockstar Bidco, LP Integrating multimedia capabilities with circuit-switched calls
US20120157059A1 (en) * 2006-06-05 2012-06-21 Firsthand Technologies Inc. Method and system for extending services to cellular devices
US20130101099A9 (en) * 2008-11-24 2013-04-25 Tomasz Sarnowski Method and apparatus for telecommunication session authentication using DTMF signaling

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
CN101547143B (en) * 2008-03-28 2012-10-03 华为技术有限公司 Method and device for switching streaming media service
DE102009020887A1 (en) 2009-05-12 2010-11-18 Peterpays Ag Method and device for initiating a communication connection

Patent Citations (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5535204A (en) * 1993-01-08 1996-07-09 Multi-Tech Systems, Inc. Ringdown and ringback signalling for a computer-based multifunction personal communications system
US6611501B1 (en) * 1996-08-12 2003-08-26 British Telecommunications Public Limited Company Process management system
US20060078103A1 (en) * 1997-11-03 2006-04-13 Light Elliott D System and method for determining the status of a telephone in a packet switched network
US20090154468A1 (en) * 1999-11-05 2009-06-18 Mci, Inc. Method and system of providing differentiated services
US7571238B1 (en) * 2000-10-18 2009-08-04 Nortel Networks Limited Authorizing communication services
US20090285204A1 (en) * 2001-03-20 2009-11-19 Worldcom, Inc. Recursive query for communications network data
US20120076002A1 (en) * 2001-07-27 2012-03-29 Rockstar Bidco, LP Integrating multimedia capabilities with circuit-switched calls
US7002912B2 (en) * 2001-09-06 2006-02-21 Alcatel Architecture for transporting PBX signaling codes via SIP
US20030097447A1 (en) * 2001-10-25 2003-05-22 Johnston Alan B. Bridging user agent and a proxy server for supporting network services
US20030161448A1 (en) * 2002-02-27 2003-08-28 Sbc Technology Resources Inc. Multi-modal communications method
US20060294112A1 (en) * 2002-10-23 2006-12-28 Davide Mandato Specification of a software architecture for capability and quality-of-service negotiations and session establishment for distributed multimedia applications
US20040086102A1 (en) * 2002-11-02 2004-05-06 Mcmurry Kathleen A. Systems and methods for implementing call pickup in a SIP environment
US20050041617A1 (en) * 2003-08-18 2005-02-24 Nokia Corporation Activation of communication sessions in a communication system
US7554927B2 (en) * 2003-09-29 2009-06-30 Siemes Aktiengesellschaft Network entity for interconnecting SIP end-points of different capabilities
US20050141689A1 (en) * 2003-12-31 2005-06-30 Wengrovitz Michael S. Personal call routing between PBX and SIP networks
US20070177602A1 (en) * 2004-03-17 2007-08-02 France Telecom Method, server, and system for managing "push-to-talk" session
US7031280B2 (en) * 2004-04-26 2006-04-18 Motorola, Inc. Method and apparatus for hand over of calls
US20050254510A1 (en) * 2004-05-12 2005-11-17 Saku Oja Session establishment for real-time media communication service
US20060234723A1 (en) * 2004-07-07 2006-10-19 Pedersen Jens U Methods and terminal devices
US20060026288A1 (en) * 2004-07-30 2006-02-02 Arup Acharya Method and apparatus for integrating wearable devices within a SIP infrastructure
US20060056392A1 (en) * 2004-09-16 2006-03-16 Research In Motion Limited, A Canadian Corporation System and method for allocating session initiation protocol (SIP) identifications (IDs) to user agents
US20120263175A1 (en) * 2004-09-16 2012-10-18 Research In Motion Limited SYSTEM AND METHOD FOR ALLOCATING SESSION INITIATION PROTOCOL (SIP) IDENTIFICATIONS (IDs) TO USER AGENTS
US20060072546A1 (en) * 2004-09-24 2006-04-06 Chi-Wen Chen IP telephony apparatus providing simultaneous SIP communication for multiple IP phones and method for the same
US20060211455A1 (en) * 2005-03-16 2006-09-21 Lg Electronics Inc. Mobile communication terminal for setting background music during telephone conversation and method thereof
US20060221943A1 (en) * 2005-03-31 2006-10-05 Aborn Justin A Connecting a packet-based call to multiple devices
US20060239251A1 (en) * 2005-04-26 2006-10-26 Bennett Jesse W Multi-user media client for communication devices
US20060245418A1 (en) * 2005-05-02 2006-11-02 Siemens Communication, Inc. Intelligent terminal SIP enabled devices
US20060253698A1 (en) * 2005-05-04 2006-11-09 Sujeet Mate Method, system and entities for exchanging content
US7856470B2 (en) * 2005-05-27 2010-12-21 Microsoft Corporation Accepting an invitation sent to multiple computer systems
US20070064896A1 (en) * 2005-08-23 2007-03-22 Su-Yuan Chang System and method for sharing SIP sessions
US20100216502A1 (en) * 2005-10-17 2010-08-26 Hardin Stephen T System and Method for Mobile PTT Communication
US20070171898A1 (en) * 2005-11-29 2007-07-26 Salva Paul D System and method for establishing universal real time protocol bridging
US20120157059A1 (en) * 2006-06-05 2012-06-21 Firsthand Technologies Inc. Method and system for extending services to cellular devices
US8103215B2 (en) * 2006-07-06 2012-01-24 Koninklijke Philips Electronics N.V. Method of establishing a direct communication between a first wireless phone and a second wireless phone
US20080043722A1 (en) * 2006-08-04 2008-02-21 Chih-Hsin Chuang Extension network system and dialing and answering processes of the same
US20080095143A1 (en) * 2006-10-19 2008-04-24 Research In Motion Limited System and method for providing debug information in session initiation protocol sessions
US20080235381A1 (en) * 2007-03-19 2008-09-25 Yoshimichi Tanizawa Message relaying apparatus, communication establishing method, and computer program product
US20080259909A1 (en) * 2007-04-17 2008-10-23 Stefan Runeson Signaling of Early Media Capabilities in IMS Terminals
US20090022145A1 (en) * 2007-07-20 2009-01-22 Ipc Systems, Inc. Systems, methods, apparatus and computer program products for networking trading turret systems using sip
US20090319657A1 (en) * 2008-06-19 2009-12-24 Huawei Technologies Co., Ltd. Sip terminal, method and system for reporting status thereof, and sip server
US20110231558A1 (en) * 2008-09-19 2011-09-22 Jan Holm Method and Apparatus for Establishing a POC Session
US20130101099A9 (en) * 2008-11-24 2013-04-25 Tomasz Sarnowski Method and apparatus for telecommunication session authentication using DTMF signaling
US20100157980A1 (en) * 2008-12-23 2010-06-24 Avaya Inc. Sip presence based notifications
US20110075653A1 (en) * 2009-09-29 2011-03-31 Ipc Systems, Inc. Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US20110079620A1 (en) * 2009-10-02 2011-04-07 Appolo Machine Ltd. Kit for modular structures on a vehicle
US20110093542A1 (en) * 2009-10-19 2011-04-21 Verizon Patent And Licensing, Inc. SESSION INITIATION PROTOCOL (SIP) SIGNALING TO KEEP A VOICE OVER INTERNET PROTOCOL (VoIP) SESSION ACTIVE DURING A CALL HOLD

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110075653A1 (en) * 2009-09-29 2011-03-31 Ipc Systems, Inc. Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US8599834B2 (en) 2009-09-29 2013-12-03 Ipc Systems, Inc. Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US20220014569A1 (en) * 2020-07-09 2022-01-13 Mediatek Inc. Enhancements for real-time text (rtt) call control over an ip multimedia subsystem (ims) network
US11627170B2 (en) * 2020-07-09 2023-04-11 Mediatek Inc. Enhancements for real-time text (RTT) call control over an IP multimedia subsystem (IMS) network

Also Published As

Publication number Publication date
US20110075653A1 (en) 2011-03-31
SG179118A1 (en) 2012-04-27
EP2483796B1 (en) 2017-10-11
US8599834B2 (en) 2013-12-03
EP2483796A1 (en) 2012-08-08
WO2011041035A1 (en) 2011-04-07
EP2483796A4 (en) 2014-01-01

Similar Documents

Publication Publication Date Title
US8599834B2 (en) Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol
US7840681B2 (en) Method and apparatus for integrating wearable devices within a SIP infrastructure
JP5059004B2 (en) Method for associating a telephone call with a dialog based on a computer protocol such as SIP and a computer-readable recording medium
US8363572B2 (en) Session initiation protocol extensions for call control and resource status monitoring in turrets and turret switching systems
US8862681B2 (en) Multimodal conversation transfer
US20080013447A1 (en) Method and Apparatus for Survivable Failover in Communication System
US20130097333A1 (en) Methods and apparatuses for unified streaming communication
US20080137643A1 (en) Accessing call control functions from an associated device
JP2009246994A (en) Method for providing early-media service based on session initiation protocol, and application server for providing early-media service based on session initiation protocol
US20180255182A1 (en) Web Real-Time Client Communication Over a Stimulus Based Network
US8903058B2 (en) Conveying call subject matter with voice data
US8250147B2 (en) Remote call control and conferencing using paired devices
RU2526710C2 (en) Method and system for call forwarding based on sip using set-top box
US20160286038A1 (en) Method and Device, System and Software Product for Managing a Call
WO2010091567A1 (en) System and method for switching click to dial service to multimedia conference service
US8667149B2 (en) Communication device, communication method, and computer-readable storage medium storing communication program
US20200186636A1 (en) Enabling call transfer using headset
US10193938B2 (en) Operating a network node
CN110996358B (en) Call terminal switching method and device, electronic equipment and storage medium
WO2015131466A1 (en) Data service processing method and device based on session initiation protocol (sip)
JP6183881B2 (en) Codec conversion gateway, codec conversion method, and codec conversion program
US20090003541A1 (en) Network-hosted server, a method of monitoring a call connected thereto and a network-hosted voicemail server
KR20230117847A (en) Wireless communication method based on sip
TW202410678A (en) High-availability multimedia gateway system, multimedia gateway management method and computer-readable medium
CN103475639A (en) RTP (Real-time Transport Protocol) backspacing method and apparatus

Legal Events

Date Code Title Description
AS Assignment

Owner name: IPC SYSTEMS, INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:POTTS, TIMOTHY;PAPADOPOULOS, LEONIDAS P.;JAIN, RAJNISH;REEL/FRAME:026207/0068

Effective date: 20090929

AS Assignment

Owner name: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT, NEW Y

Free format text: SECOND LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:IPC SYSTEMS, INC.;REEL/FRAME:033004/0842

Effective date: 20140508

Owner name: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT, IL

Free format text: FIRST LIEN PATENT SECURITY AGREEMENT;ASSIGNOR:IPC SYSTEMS, INC.;REEL/FRAME:033004/0802

Effective date: 20140508

AS Assignment

Owner name: IPC SYSTEMS, INC., NEW JERSEY

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGAN CHASE BANK, N.A.;REEL/FRAME:034916/0883

Effective date: 20150206

Owner name: IPC SYSTEMS, INC., NEW JERSEY

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:GOLDMAN SACHS BANK USA;REEL/FRAME:034916/0927

Effective date: 20150206

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION