Abstract:
Methods, devices, and systems for automatically controlling the activation and/or deactivation of communication applications are provided. More specifically, methods, devices, and systems are provided such that the inspection of communication packet headers can be leveraged as a trigger for automatically activating and/or deactivating communication applications and the population of a corresponding user-interface to the application.

Description:
FIELD OF THE INVENTION 
     The invention relates generally to communications and more specifically to communication applications. 
     BACKGROUND 
     In computing, a softphone is a software program for making telephone calls over the Internet using a general purpose computer, rather than using dedicated hardware. Often a softphone is designed to behave like a traditional telephone, sometimes appearing as an image of a phone, with a display panel and buttons with which the user can interact. A softphone is usually used with a headset connected to the sound card of the PC, laptop, or the like, or with a USB phone. 
     Traditionally, softphone applications have had embedded support only for voice and video communication. When a specialized communication medium is required, such as Teletypewriter or Teletype (TTY), the softphone must be operated in a mode that places it in conjunction with a separate special-purpose endpoint device. It may be possible to provide embedded support for TTY into a softphone. However, if TTY communications are required, then a text chat window will need to be populated on the softphone. 
     SUMMARY 
     The use of a text chat window is not necessarily that difficult to implement. However, in order to prevent the Graphical User Interface (GUI) of the softphone from becoming unnecessarily cluttered, it is desirable that the text chat window be presented only when required, and that it remain hidden or inactive when not required. 
     It is also desirable only to enable communications via a certain medium to prevent the unnecessary utilization of communication hardware and network bandwidth. For example, if two communication devices are both capable of communicating via voice, video, and text, it may not be desirable to assign hardware resources for voice, video, and text at the onset of the communication session unless the participants are going to use all three media. Not only would hardware resources (e.g., ports, drivers, processors, memory, etc.) be unnecessarily consumed, but network bandwidth would also be unnecessarily consumed. It would be much more desirable to assign such resources on an as-needed basis and in response to the desires and needs of the communication session participants. 
     Some existing communication solutions allow users to activate the application windows manually. However, it is important to note that, in a completely manual process, participants (especially contact center agents) may not be aware that a call is from a TTY user and, therefore, may fail to enable a text window in a timely manner. Accordingly, it is one aspect of the present invention to allow an application window, such as a text window, to be activated automatically by the softphone for calls that were pre-identified as being from TTY users. 
     Contact center techniques exist for pre-identifying TTY callers that include requiring the callers to call into the center via a TTY-only inbound phone number and/or presenting callers with an automated attendant application that asks them to self-identify. In both cases, calls are placed in a TTY hunt group prior to their being presented to an agent. A call may be tagged as being from the TTY hunt group to automatically trigger the contact center agent&#39;s communication device to activate its text window. 
     The above-described automatic activation techniques still fail to solve the following problems: 
     (1) Softphone-equipped employees at an enterprise may receive direct-dial calls from PSTN-based TTY users, in the same way that inbound direct-dial voice calls may be received. Calls may also be transferred between employees of a contact center without traversing the TTY hunt group. In these scenarios, currently available techniques do not provide a way to activate the called party&#39;s text window automatically because there is no pre-identification of TTY users. 
     (2) In communication environments that support multi-mode “unified communication,” people, including those with no disability-related need to use a TTY, may wish to supplement their communications with a different medium at some point during the communication session. For example, “Party A” may wish to send “Party B” a URL that cannot conveniently be sent by voice, or may simply wish to transmit something by text because voice can be overheard by people who are nearby. In these scenarios, the prior art techniques do not provide a way to automatically activate Party B&#39;s text window (or other data-appropriate application). 
     In response to these problems, embodiments of the present invention provide another mechanism that will cause an application and/or the application&#39;s window to open automatically. 
     It is one aspect of the present invention to take advantage of a “TTY-on-IP” codec that was implemented in Avaya gateways approximately six years ago. The gateway solution works in the following manner: 
     Rather than transport TTY signals on IP networks as in-band audio tones (which are prone to distortion in the presence of packet loss or audio compression), Avaya systems transport TTY signals as, what are in essence, verbal descriptions of the tones. The encoding format conforms to the protocol specified by IETF Standard RFC-2833. Consistent with the RFC-2833 standard, the packets have headers that identify the format of the information contained within the packet. 
     In accordance with at least some embodiments of the present invention, all packets that contain TTY information, that are received by a communication device from a gateway or from another communication device, will have headers that can indicate: “This packet contains TTY information.” Based solely on its inspection of the packet headers, with no inspection of the packet content, a packet analyzer provided in a communication device, such as a softphone, can be user-configured to open its TTY/text window immediately and automatically upon receipt of a TTY transmission that is formatted in the above-described manner. 
     While certain examples will be discussed herein related to the automatic triggering of a text window and text application, one skilled in the art will appreciate that embodiments of the present invention are not so limited. More specifically, embodiments of the present invention include the general idea of utilizing packet headers as a trigger for automatic activation or de-activation of a special-purpose software application, which may or may not be implemented in conjunction with a softphone. 
     Illustratively, in addition to RFC-2833, industry-standard protocols that support conversational text in SIP environments include RFC-4103, RFC-4351, and RFC-5194. Detection of an RFC-4103, RFC-4351, or RFC-5194 packet header could trigger the automatic opening of a text chat window. Alternatively, or in addition, if a communication session begins as a text-based communication, the detection of a G.711, G.722, G.726, G.729, or any other voice-based packet header could trigger the automatic opening of a voice application window. Alternatively, or in addition, if a communication session begins as a non-video-based communication, the detection of a video packet header could trigger the automatic opening of a video application window. Exemplary video standards which may be followed in forming a video packet include, but are not limited to, RFC-2250, RFC-3189, RFC-4175, RFC-4421, and others. 
     The standards discussed above in connection with the various media types are but examples of the well-known and, in some instances, standardized codecs used today. Embodiments of the present invention are not limited to these exemplary codecs and standards should not be construed in such a manner. 
     In other words, the fundamental premise of the present invention can be extended beyond the automatic opening of a text chat window. For example, the receipt of a packet header that indicates video content could trigger the automatic opening of a video display window. In this scenario, initial negotiation of the communication session would serve as a confirmation that the endpoints are video-capable, but would not necessarily cause the utilization of a video-based communication session. In order to conserve screen real estate, a video window would not be opened by the communication endpoint prior to the endpoint&#39;s receipt of video packets that call for it. Although conservation of screen space is one beneficial feature obtained by implementing certain embodiments of the present invention, utilization of mechanisms described herein also include: (1) preservation of computer resources, such as CPU and memory, by not assigning them to a softphone&#39;s special applications until these resources are known to be needed and (2) conserving network bandwidth by not reserving such bandwidth for the special applications until it is known to be needed. 
     In accordance with at least some embodiments of the present invention, the communication endpoint might ask for the user&#39;s confirmation before opening a window automatically (e.g., “You are receiving a video transmission. Do you want to see it?”). 
     In accordance with at least some embodiments of the present invention, inspection of the packet header alone would trigger the opening of the appropriate application and window and, simultaneously, trigger the activation of the required codec. As an example of why this might be desirable, RFC-2833 and RFC-4103 encode text differently. An endpoint would need to activate a different codec upon receipt of an RFC-2833 or RFC-4103 packet, but might nevertheless use the same text chat GUI window for both. 
     In accordance with at least some embodiments of the present invention, a buffer in the receiving communication device is adapted to save and allow the subsequent playback of information that was received while the special-purpose application is being enabled. Illustratively, this would ensure that the TTY character that triggered the text chat window is seen by the recipient immediately upon opening the text chat GUI window. 
     In accordance with at least some embodiments a method is provided that generally comprises: 
     establishing, at a first communication device, a communication session with a second communication device, wherein the first communication device utilizes at least a first application for communicating with the second communication device via at least a first medium, the first medium having been negotiated prior to the establishment of the communication session; 
     during the communication session, receiving as a part of the communication session a communication packet at the first communication device; 
     analyzing, by the first communication device, a header portion of the received communication packet; and 
     based on the analysis of the header portion, invoking by the first communication device at least a second application for communicating via at least a second medium. 
     The term “computer-readable medium” as used herein refers to any tangible storage and/or transmission medium that participates in storing and/or providing instructions to a processor for execution. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, NVRAM, or magnetic or optical disks. Volatile media includes dynamic memory, such as main memory. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, magneto-optical medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, RAM, PROM, EPROM, FLASH-EPROM, solid state medium like a memory card, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read. A digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. When the computer-readable media is configured as a database, it is to be understood that the database may be any type of database, such as relational, hierarchical, object-oriented, and/or the like. Accordingly, the invention is considered to include a tangible storage medium or distribution medium and prior art-recognized equivalents and successor media, in which the software implementations of the present invention are stored. 
     The terms “determine,” “calculate” and “compute,” and variations thereof, as used herein, are used interchangeably and include any type of methodology, process, mathematical operation or technique. 
     The term “module”, “agent”, or “tool” as used herein refers to any known or later developed hardware, software, firmware, artificial intelligence, fuzzy logic, or combination of hardware and software that is capable of performing the functionality associated with that element. Also, while the invention is described in terms of exemplary embodiments, it should be appreciated that individual aspects of the invention can be separately claimed. 
     The preceding is a simplified summary of embodiments of the invention to provide an understanding of some aspects of the invention. This summary is neither an extensive nor exhaustive overview of the invention and its various embodiments. It is intended neither to identify key or critical elements of the invention nor to delineate the scope of the invention but to present selected concepts of the invention in a simplified form as an introduction to the more detailed description presented below. As will be appreciated, other embodiments of the invention are possible utilizing, alone or in combination, one or more of the features set forth above or described in detail below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is block diagram depicting a communication system in accordance with at least some embodiments of the present invention; 
         FIG. 2A  is a first screen shot of a user interface in accordance with at least some embodiments of the present invention; 
         FIG. 2B  is a second screen shot of a user interface in accordance with at least some embodiments of the present invention; 
         FIG. 2C  is a third screen shot of a user interface in accordance with at least some embodiments of the present invention; and 
         FIG. 3  is a flow diagram depicting a communication method in accordance with at least some embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     The invention will be illustrated below in conjunction with an exemplary communication system. Although well suited for use with, e.g., a system using a server(s) and/or database(s), the invention is not limited to use with any particular type of communication system or configuration of system elements. Those skilled in the art will recognize that the disclosed techniques may be used in any communication application in which it is desirable to automatically manage the activation and/or de-activation of communication applications. 
     The exemplary systems and methods of this invention will also be described in relation to analysis software, modules, and associated analysis hardware. However, to avoid unnecessarily obscuring the present invention, the following description omits well-known structures, components and devices that may be shown in block diagram form, are well known, or are otherwise summarized. 
     For purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the present invention. It should be appreciated, however, that the present invention may be practiced in a variety of ways beyond the specific details set forth herein. 
     Referring now to  FIG. 1 , an exemplary communication system  100  is depicted in accordance with at least some embodiments of the present invention. The communication system  100  may comprise a communication network  104  that facilitates communications (e.g., voice, image, video, data, other non-voice media types employing protocols that support conversational text, such as those described in RFC-4103 (RTP Payload for Text Conversation), RFC-2833, RFC-4351, RFC-5194, and combinations thereof) between various communication devices  108 . 
     The communications between communication devices  108  may be direct communications or, in some embodiments, may be facilitated by a communications server and/or switch. In other embodiments, communications between communication devices  108  may traverse one or more gateway  112 , such as in a contact center configuration where one communication device  108  is operated by a contact center agent on an enterprise side of the gateway  112  and another communication device  108  is operated by a customer on the public side of the gateway  112 . 
     The communication network  104  may be any type of known communication medium or collection of communication media and may use any type of protocols to transport messages between endpoints. The communication network  104  may include wired and/or wireless communication technologies. The Internet is an example of the communication network  104  that constitutes an IP network consisting of many computers and other communication devices located all over the world, which are connected through many telephone systems and other means. Other examples of the communication network  104  include, without limitation, a standard Plain Old Telephone System (POTS), an Integrated Services Digital Network (ISDN), the Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Session Initiation Protocol (SIP) network, a cellular communication network, a satellite communication network, any type of enterprise network, and any other type of packet-switched or circuit-switched network known in the art. Generally speaking however, the communication network  104  comprises at least one packet-based communication network. In addition, it can be appreciated that the communication network  104  need not be limited to any one network type, and instead may be comprised of a number of different networks and/or network types. 
     The communication devices  108  may be any type of known communication or processing device such as a Digital Control Protocol (DCP) phone, VoIP telephones, Push-To-Talk (PTT) telephony devices, a computer (e.g., personal computer, laptop, or Personal Digital Assistant (PDA)) with a Computer Telephony Interface (CTI), a mobile telephone, a smart phone, or combinations thereof. In accordance with at least some embodiments of the present invention, at least one of the communication devices  108  is a softphone. The term “softphone” as used herein should be understood to include any type of device comprising a processor and memory having one or more communication applications stored thereon. The communication applications stored on the communication device  108  allow the communication device to operate and behave like a traditional phone having dedicated hardware for facilitating communications. A softphone, on the other hand, does not generally have dedicated hardware to facilitate real-time communications with other users of other communication devices. Rather, the softphone utilizes one or more of its applications to facilitate such communications. In some embodiments, the softphone may be embodied as a single device (e.g., a PC, laptop, or similar type of personal workstation) which is connected to the Internet. In other embodiments, the softphone may be embodied as multiple devices where one device comprises the communication application(s) but is connected to another simple telephone which provides the connection between the device having the application(s) and the PSTN, for example. Other configurations of softphones are well known to those skilled in the art and are, therefore, not elaborated further herein. 
     The communication device  108  may be controlled by or associated with a single user or may be adapted for use by many users (e.g., an enterprise communication device that allows any enterprise user to utilize the communication device upon presentation of a valid user name and password). In general the communication device  108  may be adapted to support video, audio, text, and/or data communications with other communication devices  108 . The type of medium used by the communication device  108  to communicate with other communication devices  108  may depend upon the communication applications available on the communication device  108 . 
     One or more of the communication devices  108  may comprise various components that enable it to transmit and receive packets containing voice, video, text, and/or data communications across the communication network  104 . A communication device  108  may, therefore, include a memory  116  and a processor  128 . As noted above, the memory  116  may include a number of applications or executable instructions that are readable and executable by the processor  128 . For instance, the memory  116  may include a plurality of communication applications  120   a -N and a packet analyzer  124 . 
     The communication applications  120   a -N may be specifically used by the communication device  108  for communicating via a particular medium or possibly via a different standard in the same medium. As one example, the first application  120   a  may correspond to a voice-based application, the second application  120   b  may correspond to a text-based application, and the Nth application  120 N may correspond to a video-based application. 
     The packet analyzer  124  is provided to analyze packets received at the communication device and determine, based on the results of the analysis, whether one or more of the applications  120   a -N should be activated and/or de-activated. The packet analyzer  124  is generally operable to analyze the contents of the header portion of packets received during a communication session. In some embodiments, the communication session has already been established and the packets received during the communication session are generally assumed to be carrying the data according to a pre-negotiated format. However, conditions may change such that during an established communication session one communication device  108  begins utilizing another communication medium as a part of the communication session, perhaps unbeknown to the other communication device  108 . This newly utilized medium may cause packets of a different format to be transmitted to the other communication device  108  in a different and previously non-negotiated format. The packet analyzer  124  is capable of identifying such packets by the contents of their header and not necessarily by inspecting the data contents of the packets themselves (i.e., via a non-deep-packet inspection). Once the packet analyzer  124  identifies such a packet, the packet analyzer  124  is capable of invoking the appropriate application  120  to supplement the communication session. 
     In addition, the communication device  108  may comprise user interface  132  that is adapted to facilitate user control of the communication device  108  and a network interface  136  that is adapted to connect the communication device  108  to the communication network  104 . The network interface  136  may comprise a communication modem, a communication port, or any other type of device or driver adapted to condition packets for transmission across the communication network  104  to a destination communication device  108  as well as condition received packets for processing by the processor  128 . Examples of network interfaces  136  include, without limitation, a network interface card, a modem, a wired telephony port, a serial or parallel data port, radio frequency broadcast transceiver, a USB port, or other wired or wireless communication network interfaces. 
     The user interface  132  may comprise any type of known user input and/or user output technologies. For example, the user interface  132  may comprise a GUI to facilitate visual communication control of a voice communication session as well as facilitate text and video-based communication sessions. Additionally, the user interface  132  may comprise an audio interface (e.g., speaker and microphone) which allows the user to hear voice communications and project voice communications to the other communication session participants. In some embodiments the user input and user output portions of the user interface  132  may be separate and distinct. In other embodiments, the user input and user output portions of the user interface  132  may be combined, such as in a touch-screen interface. 
     Each application  120   a -N may also have its own dedicated interface window or control screen that allows a user of the communication device  108  to control the application  120  and further control the communication session, or at least the medium controlled by the application  120 . Thus, if multiple media are being used during a single communication session, multiple windows may be opened and displayed on the user interface  132 . In accordance with at least some embodiments of the present invention, when an application is invoked during an established communication session, the interface window for that application may also be automatically displayed via the user interface  132 . 
     Referring now to  FIGS. 2A-2C , an exemplary set of screen-shots of a GUI  200  will be described in accordance with at least some embodiments of the present invention. Referring initially to  FIG. 2A , a first screen-shot of a GUI  200  is depicted wherein a first application interface window  204  is displayed on the GUI  200 . The first application interface window  204  may correspond to the application  120  which is being used to facilitate communications via a first medium during an established communication session. The first medium may comprise one of voice, video, data, and text. Therefore, the first application interface window  204  may correspond to one of a control interface for voice communications, a video screen with a control interface, a text-chat window, or a data window. 
     With reference now to  FIG. 2B , if a far-end user decides to begin using a second medium as a part of the communication session, the far-end user may open a second application or in some other fashion begin transmitting newly formatted packets to the other communication device  108  involved in the communication session. The newly formatted packets may be received in the data stream of the established communication session (e.g., over the same port and possibly interspersed between the packets carrying data for the first medium), but the newly formatted packets may be carrying data according to a different standard. 
     When the packet analyzer  124  detects such a newly formatted packet, possibly by analyzing the header of the packet and identifying that a new packet format is being used, the packet analyzer  124  may automatically identify the second medium and perform one of following two functions: (1) automatically invoking the application which facilitates communications via the second medium or (2) querying the user of the communication device  108  if they want to communicate via the second medium. 
       FIG. 2B  depicts the scenario where a query is transmitted visually to a user of the communication device  108  via a popup window  208 . One skilled in the art will appreciate that an audio query may also be utilized to ask the user if the second medium should be utilized as a part of the communication session. Exemplary audio queries may be transmitted possibly via a whisper page, interrupt, or similar type of audio communication. 
     If the user affirmatively responds to the query or in the event that the packet analyzer  124  automatically invokes the appropriate application, then a new application interface window  212  is presented via the user interface  132 , such as is depicted in  FIG. 2C . In some embodiments, the first application interface window  204  may be automatically re-sized to accommodate the new application interface window  212 . In other embodiments, the new application interface window  212  may be placed partially or completely over the first application interface window  204 . In other embodiments, the new application interface window  212  may be opened behind the first application interface window  204 , but some other sort of audio or visual indicia may be presented to the user indicating that the new application interface window  212  has been opened. 
     Referring now to  FIG. 3 , an exemplary communication method will be described in accordance with at least some embodiments of the present invention and from the perspective of a single communication device  108 . One skilled in the art will appreciate that embodiments of the present invention can be equally applied to two-party communication sessions and multi-party communication sessions without departing from the scope of the present invention. 
     The method begins when a communication initialization message is received at the communication device  108  (step  304 ). The communication initialization message may include a call setup signal, an H.323 call setup message, a SIP INVITE message, or any other type of message or collection of messages used to initiate a communication session. 
     Thereafter, or possibly included in the communication initialization message or exchange of communication initialization messages, the communication device  108  negotiates parameters for the communication session (step  308 ). During this negotiation step the communication device may determine the communication capabilities of the far-end device as well as define which medium or media are to be used initially as a part of the communication session. In some embodiments, the communication devices are capable of communicating via first, second, third, and fourth media (e.g., voice, video, text, and data) but may agree to only communicate initially via one such medium. Still, the devices may share their communication capabilities to facilitate a smooth and efficient session transition to other media. For example, in some embodiments codecs for all media may be pre-negotiated even though only a single medium is being used initially. The pre-negotiation is not a requirement, however. 
     After the initial communication session parameters have been negotiated, the method continues with the establishment of the communication session via the first medium (step  312 ). In this particular example, the first medium may correspond to a voice medium. To facilitate communications via the first medium, the communication device  108  may invoke a first corresponding application which allows the user of the communication device to control the voice call. 
     During the established communication session the far-end communication device may begin utilizing a second communication medium. This is typically initiated by an action of a user of the far-end communication device (e.g., opening a video channel, sending a text message, sending an email, or the like). The user of the other communication device may not be aware of the far-end user&#39;s actions and may not have applications open for every possible medium that could be used during the communication session. Rather, as a part of the communication session, packets are received at the communication device  108  from the far-end device (step  316 ). Each of these packets may be analyzed by the packet analyzer  124  to determine if a new medium is being used (step  320 ). In particular, the packet analyzer  124  may analyze the header portion of the packets to determine if the packet is identifying itself as carrying data for a medium other than the first medium. Analysis of the header portion of the packet allows the packet analyzer  124  to quickly determine if a new medium is being used during the communication session. This results in the ability to support real-time or near real-time communications in a manner which minimizes the delay between detecting a new medium and invoking a new application to facilitate user communications via the new medium. This is particularly useful for far-end TTY users to ensure that the far-end user does not get the sense that they are being ignored or that the call has been dropped. It is also useful in emergency situations or other types of time-sensitive situations. 
     If the packet analyzer  124  determines that the received packet is only carrying data for the first medium, then the method proceeds to step  324  where it is determined if the communication session has been terminated (e.g., via detection of a communication-ending message such as a SIP BYE message, an H.323 termination message, or detection of an on-hook state)(step  324 ). If this query is answered negatively, then the method returns back to step  316 . If this query is answered affirmatively, then the communication session is terminated (step  328 ). As an optional step, the application(s) which were previously opened to facilitate the communication session may be automatically or manually closed (step  332 ). 
     Referring back to the inquiry of step  320 , in the event that the packet analyzer  124  detects a packet formatted to carry data for a medium other than the first medium, then the method continues with the packet analyzer  124  identifying the new medium and further identifying the application  120  which is used to facilitate communications via the new medium (step  336 ). 
     Once the packet analyzer  124  identifies the new medium and corresponding application  120 , the packet analyzer  124  determines whether a new application interface window should be opened to facilitate communications via the new medium (step  340 ). If the packet analyzer  124  has been pre-programmed to automatically open a new application interface window upon detecting a new medium, then the method may continue invoking the application and opening its corresponding interface window (step  344 ). Similarly, if the packet analyzer  124  queries the user of the communication device whether they want to allow the new application interface window to be opened and the user responds affirmatively, then the new application can be invoked and the corresponding interface window may be opened. This query may also be answered affirmatively if the appropriate application is already opened and/or the corresponding application interface window is opened. 
     Thereafter, the communication session is allowed to continue with the new media (step  348 ). As can be appreciated by one skilled in the art the new media may either replace the first media or supplement the first media. In the situation where the new media supplements the first media, multiple application interface windows may be simultaneously opened on the user interface  132  or a single application interface window capable of facilitating the multi-media communication may be utilized. Thereafter, or in the event that it was decided at step  340  not to utilize the new medium, the method continues to step  324  to determine if the communication session has been terminated. 
     In additional embodiments of the present invention, a mega-packet that has an audio packet and a video packet bundled within a single mega-packet can be used as a way to ensure that the video and corresponding audio arrive together, are buffered together, and are presented by the receiving device together. In accordance with at least some embodiments of the present invention, if a packet is received as self-identifying the use of RFC-4351, RFC-2198 or some other packet format having multiple media types, then multiple applications may be simultaneously invoked for various different media types corresponding to the media types contained within the mega-packet. 
     While the above-described flowchart has been discussed in relation to a particular sequence of events, it should be appreciated that changes to this sequence can occur without materially effecting the operation of the invention. Additionally, the exact sequence of events need not occur as set forth in the exemplary embodiments. The exemplary techniques illustrated herein are not limited to the specifically illustrated embodiments but can also be utilized with the other exemplary embodiments and each described feature is individually and separately claimable. 
     The systems, methods and protocols of this invention can be implemented on a special purpose computer in addition to or in place of the described communication equipment, a programmed microprocessor or microcontroller and peripheral integrated circuit element(s), an ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as discrete element circuit, a programmable logic device such as PLD, PLA, FPGA, PAL, a communications device, such as a server, personal computer, any comparable means, or the like. In general, any device capable of implementing a state machine that is in turn capable of implementing the methodology illustrated herein can be used to implement the various communication methods, protocols and techniques according to this invention. 
     Furthermore, the disclosed methods may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation platforms. Alternatively, the disclosed system may be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized. The analysis systems, methods and protocols illustrated herein can be readily implemented in hardware and/or software using any known or later developed systems or structures, devices and/or software by those of ordinary skill in the applicable art from the functional description provided herein and with a general basic knowledge of the communication and computer arts. 
     Moreover, the disclosed methods may be readily implemented in software that can be stored on a storage medium, executed on a programmed general-purpose computer with the cooperation of a controller and memory, a special purpose computer, a microprocessor, or the like. In these instances, the systems and methods of this invention can be implemented as program embedded on personal computer such as an applet, JAVA® or CGI script, as a resource residing on a server or computer workstation, as a routine embedded in a dedicated communication system or system component, or the like. The system can also be implemented by physically incorporating the system and/or method into software and/or hardware system, such as the hardware and software systems of a communications device or system. 
     It is therefore apparent that there has been provided, in accordance with the present invention, systems, apparatuses and methods for managing communication applications. While this invention has been described in conjunction with a number of embodiments, it is evident that many alternatives, modifications and variations would be or are apparent to those of ordinary skill in the applicable arts. Accordingly, it is intended to embrace all such alternatives, modifications, equivalents and variations that are within the spirit and scope of this invention.