SYSTEM AND METHODS FOR ENHANCED MULTIMEDIA IN VOIP NETWORKS
This application is a continuation of U.S. patent application Ser. No. 15/054,775, filed Feb. 26, 2016, which is a continuation of U.S. patent application Ser. No. 13/548,806, filed Jul. 13, 2012, now U.S. Pat. No. 9,300,804, which is a continuation of U.S. patent application Ser. No. 12/489,567, filed Jun. 23, 2009, now U.S. Pat. No. 8,254,545, the disclosures of which are incorporated by reference herein in their entirety. The present invention relates generally to message handling and more particularly to message handling in a unified messaging platform environment. Traditional messaging systems that rely on call forwarding (e.g., voicemail, etc.) must create messages at the terminating (e.g., destination) message system. It is not possible for the originating caller to influence message handling at the terminating message system. For example, it is not possible for a caller to request that a call should not be forwarded to a voicemail system. Thus, the originating caller is at the mercy of the functionality provided by the terminating message system. Accordingly, improved systems and methods for message handling in a unified messaging platform environment are required. The present invention relates generally to message handling and more particularly to message handling in a unified messaging platform environment. These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings. In at least one embodiment of the present invention calls placed to a call recipient bypass the terminating messaging system, creating an enhanced message in the call originator's messaging system and delivering the enhanced message using alternate routing information. This allows a caller to create enhanced messages for a call recipient even when the call recipient's messaging system does not support such functionality. The caller may also embed stored content and/or use links in the enhanced messages to allow the message to be modified and/or deleted before it is accessed by the call recipient. As described herein, “in communication with” describes connection between components (e.g., calling parties 102 Calling parties 102 Application server 104 is any appropriate server or combination of servers particularly configured to host an application programming interface (API) that performs the functions described below. Networks 106 and 114 are any appropriate calling network, such as a circuit switched network (e.g., PSTN) or packet switched network (e.g., Internet). Network 106 is associated at least with calling parties 102 For diagrammatical simplicity, networks 106 and 114 have been shown as separate entities. It is understood that networks 106 and 114 may, in some embodiments, be the same network. Similarly, network 106 and/or network 114 may include one or more of calling parties 102 Routing database 108 may be any appropriate database storing routing information. Routing information includes telephone number mapping (ENUM) routing information, domain name system (DNS) routing information, name authority pointer (NAPTR) records, uniform resource identifiers (URIs), and the like. UM platform 110 is any appropriate unified messaging system that integrates different streams of communications (e.g., email, SMS, facsimile, voice, video, etc.) into a single interface, accessible from a variety of different devices. UM platform 110 receives, stores, and/or forwards such streams to calling parties 102 Messaging server 116 is a server or similar platform capable of receiving, storing, and/or forwarding messages. In at least one embodiment, messaging server 116 is a UM platform. In the same or alternative embodiments, messaging server 116 is associated with network 114 and is a message recipient server for called parties 112 Controller 200 contains devices that form a controller including a processor 202 that controls the overall operation of the controller 200 by executing computer program instructions, which define such operation. The computer program instructions may be stored in a storage device 204 (e.g., magnetic disk, database, etc.) and loaded into memory 206 when execution of the computer program instructions is desired. Thus, applications for performing the herein-described method steps, such as those described below with respect to method 300 are defined by the computer program instructions stored in the memory 206 and/or storage 204 and controlled by the processor 202 executing the computer program instructions. The controller 200 may also include one or more network interfaces 208 for communicating with other devices via a network (e.g., messaging system 100). The controller 200 also includes input/output devices 210 that enable operator interaction with the controller 200. Controller 200 and/or processor 202 may include one or more central processing units, read only memory (ROM) devices and/or random access memory (RAM) devices. One skilled in the art will recognize that an implementation of an actual computer for use in a portable communication device could contain other components as well, and that the controller of According to some embodiments of the present invention, instructions of a program (e.g., controller software) may be read into memory 206, such as from a ROM device to a RAM device or from a LAN adapter to a RAM device. Execution of sequences of the instructions in the program may cause the controller 200 to perform one or more of the method steps described herein. In alternative embodiments, hard-wired circuitry or integrated circuits may be used in place of, or in combination with, software instructions for implementation of the processes of the present invention. Thus, embodiments of the present invention are not limited to any specific combination of hardware, firmware, and/or software. The memory 206 may store the software for the controller 200, which may be adapted to execute the software program and thereby operate in accordance with the present invention and particularly in accordance with the methods described in detail below. However, it would be understood by one of ordinary skill in the art that the invention as described herein could be implemented in many different ways using a wide range of programming techniques as well as general purpose hardware sub-systems or dedicated controllers. Such programs may be stored in a compressed, uncompiled, and/or encrypted format. The programs furthermore may include program elements that may be generally useful, such as an operating system, a database management system, and device drivers for allowing the portable communication device to interface with peripheral devices and other equipment/components. Appropriate general purpose program elements are known to those skilled in the art, and need not be described in detail herein. In step 304, a caller (e.g., calling party 102 In step 306, a determination is made as to whether the caller has enabled an enhanced messaging feature. If the enhanced messaging feature is enabled (e.g., at the application server 104), the method proceeds to step 308. If not, the method ends at step 324. The enhanced messaging feature is enabled for the subscriber via a separate provisioning mechanism. For example, the provisioning mechanism may take the form of a web portal that allows the subscriber to control their settings. In step 308, application server 104 performs a routing query. In at least one embodiment, application server 104 performs an ENUM query (e.g., via routing database 108) to determine one or more alternate contacts (e.g., email address, etc.). That is, application server 104 leverages the original routing information (e.g., a telephone number) about the called party 112 In step 310, a determination is made as with whether viable alternate routing information has been found. If acceptable alternate routing information is found, the method passes control to step 312. If no acceptable alternate routing information is found, the method ends at step 324. If acceptable alternate routing information is found, the call is forwarded to called party 112 In step 314, a determination is made as to whether the call has been answered by the called party 112 In the local messaging platform (e.g., UM platform 110, etc.), the call is connected from the calling party 102 In step 320, the local messaging platform determines alternate contact information for the called party 112 In step 322, the local messaging platform delivers the enhanced message to the called party 112 Such an enhanced messaging system may augment an existing messaging system, such as a unified messaging system. It may be integrated with VoIP networks allowing a caller to create advanced multimedia messages. The caller may then incorporate their own stored content into such messages. Callers can add links to messages. This allows a caller to update and/or delete the stored content prior to access by the call recipient. The embodiments described above are incorporated seamlessly into existing networks because the terminating network need only understand the “do not forward call” directive and the ENUM functionality in IMS architecture can be leveraged to provide the enhanced messaging. The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention. Calls placed to a call recipient bypass the terminating messaging system, creating an enhanced message in the call originator's messaging system and delivering the enhanced message using alternate routing information. A caller creates enhanced messages for a call recipient even when the call recipient's messaging system does not support such functionality. The caller also embeds stored content and/or use links in the enhanced messages to allow the message to be modified and/or deleted before it is accessed by the call recipient. 1. A method for call forwarding, comprising:
receiving from a caller a call that has not been answered by an intended recipient, wherein the call is associated with routing information; creating an enhanced message comprising a message recorded by the caller and a link to previously stored additional content; determining alternate contact information associated with the intended recipient based on the routing information; and transmitting the enhanced message to the intended recipient based on the alternate contact information. 2. The method of mapping a telephone number of the intended recipient to the alternate contact information. 3. The method of determining an email address associated with the intended recipient based on the routing information. 4. The method of 5. The method of 6. The method of receiving preferences from the caller identifying the previously stored additional content. 7. The method of 8. The method of an indication that a msg-taker service is not an acceptable contact. 9. The method of enabling enhanced messaging for the caller. 10. A computer readable medium storing computer program instructions which, when executed on a processor, cause the processor to perform operations comprising:
receiving from a caller a call that has not been answered by an intended recipient, wherein the call is associated with routing information; creating an enhanced message comprising a message recorded by the caller and a link to previously stored additional content; determining alternate contact information associated with the intended recipient based on the routing information; and transmitting the enhanced message to the intended recipient based on the alternate contact information. 11. The computer readable medium of mapping a telephone number of the intended recipient to the alternate contact information. 12. The computer readable medium of determining an email address associated with the intended recipient based on the routing information. 13. The computer readable medium of 14. The computer readable medium of 15. A unified messaging system comprising:
a processor; and a memory to store computer program instructions, the computer program instructions when executed on the processor cause the processor to perform operations comprising:
receiving from a caller a call that has not been answered by an intended recipient, wherein the call is associated with routing information; creating an enhanced message comprising a message recorded by the caller and a link to previously stored additional content; determining alternate contact information associated with the intended recipient based on the routing information; and transmitting the enhanced message to the intended recipient based on the alternate contact information. 16. The unified messaging system of mapping a telephone number of the intended recipient to the alternate contact information. 17. The unified messaging system of receiving preferences from the caller identifying the previously stored additional content. 18. The unified messaging system of 19. The unified messaging system of an indication that a msg-taker service is not an acceptable contact. 20. The unified messaging system of enabling enhanced messaging for the caller.CROSS-REFERENCE TO RELATED APPLICATIONS
FIELD OF THE DISCLOSURE
BACKGROUND OF THE DISCLOSURE
BRIEF DESCRIPTION OF THE DRAWINGS
DETAILED DESCRIPTION OF THE DRAWINGS


