Abstract:
The present invention is directed to a system and method capable of automatically storing and retransmitting messages for an IP (Internet Prorocol) phone. The system includes a message database for storing unsent or new messages, and a parameter-setting unit for storing at least one parameter. Additionally, a message control center retrieves and retransmits the unsent messages, or retrieves and displays the new messages according to the parameter.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to an IP phone, and more particularly to a system and method capable of automatically storing and retransmitting messages for an IP phone. 
         [0003]    2. Description of the Prior Art 
         [0004]    The continued proliferation and expansion of network and broadband service make voice and image transmission through the internet become more and more popular. VoIP (Voice over Internet Protocol) is a protocol to transmit voice or image through internet. The transmission is carried out in the form of digital data packets. In the past, bandwidth limitation causes. VoIP scarcely comparable to the conventional telephone system. Nevertheless, the situation is altering by the progress in modern communication technique. 
         [0005]    The development of IP phone under VoIP technology is fast. The IP phone based on the SIP (Session Initiation Protocol) is especially outstanding. One of the drawbacks of SIP, however, is the lack of instant message handling. The SIP server does not support functions for storing or retransmitting messages. When the called side is off-line, a delivered message is not stored or retransmitted as in a mobile phone message service. Instead, it simply returns an error code for such a case without any friendly design for clients. 
         [0006]    In view of above circumstance, there is a need for a system and method capable of automatically storing and retransmitting messages for an IP phone. 
       SUMMARY OF THE INVENTION 
       [0007]    It is an object of the present invention to provide a system and method capable of automatically storing and retransmitting messages for an IP phone. 
         [0008]    In accordance with above object, the present invention provides a system capable of automatically storing and retransmitting messages for an IP phone. The system includes a message database for storing unsent or new messages, and a parameter-setting unit for storing at least one parameter. Additionally, a message control center retrieves and retransmits the unsent messages, or retrieves and displays the new messages according to the parameter. 
     
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0009]    For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taking in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which: 
           [0010]      FIG. 1  shows a system diagram of a local message center in accordance with an embodiment of the present invention; 
           [0011]      FIG. 2  shows a block diagram of a message sending module in accordance with the present invention; 
           [0012]      FIG. 3  shows an operation flow of the message sending module shown in  FIG. 2 ; 
           [0013]      FIG. 4  shows a block diagram of a message receiving module in accordance with the present invention; 
           [0014]      FIG. 5  shows an operation flow of the message receiving module shown in  FIG. 4 . 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0015]    Preferred embodiments in accordance with the present invention will be described below in detail with reference to the accompanying drawings. Various embodiments used to describe the principles of the present invention in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the invention. 
         [0016]      FIG. 1  shows a system diagram in accordance with an embodiment of the present invention, in which a local message center  1  is illustrated to demonstrate some terminal equipment, such as a personal computer or an IP phone, installed with application software at the client side. The local message center  1  includes a message input device  10 , a message display device  20 , a parameter-setting unit  40 , a message database  50 , and a message control center  30 . The message control center  30  contains an input unit  310 , an output unit  320 , a control unit  330 , a receiving unit  340 , and a delivering unit  350 . 
         [0017]      FIG. 2  shows a block diagram of a message sending module in accordance with the present invention. The message sending flow will be described with reference to the diagram of  FIG. 2  and the flow chart shown in  FIG. 3 . A message is input via the message input device  10  which may be any peripheral input device such as a keyboard, a mouse, or a microphone. The original information represented by text, voice, or image of the message is processed by the message input device  10  and transformed to a message content. The message content is input to the input unit  310  in step  100 . An unsent tag and a message built time tag are attached to the message content in step  110 . In step  120 , the message content is stored into the message database  50 . The input unit  310  may be a software program for processing the message content from the message input device  10 . All other units ( 320 - 350 ) in message control center  30  may also be software programs. The aforementioned “tags” are to mark status of the message content. There are three types of tags in the present embodiment: a first tag to mark a message as sent, unsent or expired, a second tag to mark a message new or not, and a message built time tag to register the time when the message is built in the input unit  310 . 
         [0018]    The control unit  330  processes message contents stored in the message database  50  according to parameters set by the parameter-setting unit  40 . The control unit  330  may be a software process implemented as an independent thread control, so as to repeatedly execute a routine which is configurable through the parameters set by the parameter-setting unit  40 . There are three parameters under control by the parameter-setting unit  40 : automatic redial mode (on/off), polling interval, and expiration period. If the automatic redial mode is “off” in step  130 , then the local message center  1  only dials once to the receiving end in step  140 . If the automatic redial mode is “on” in step  130 , then the control unit  330  will repeatedly check the first tag (step  150 ) to see whether it is an unsent message (step  160 ) in a frequency defined by the polling interval. For an unsent message, the control unit  330  will check if the message has been expired according to the expiration period as well as the message built time tag (step  170 ). If it is found to be expired, the control unit  330  will change the first tag to be expired and the local message center  1  will skip the expired message (step  180 ). 
         [0019]    If it is not expired, the corresponding message content will be retrieved from the message database  50  to the delivering unit  350  (step  190 ). In step  200 , the delivering unit  350  will packet the message content in accordance with the format of the communication protocol in transmission layer  60  and deliver the message packet to the transmission layer  60 . The communication protocol in transmission layer  60  may be SIP (Session Initiation Protocol) or H.323 etc. The delivering unit  350  also checks a return code to determine if the delivering is successful in step  210 . If the message is delivered successfully, the delivering unit  350  will change the first tag to be “sent” and store it back to the message database  50  in step  220 . If the return code shows a transmission failure, then the message will be checked for the expiration period in step  230 . If it is expired, the message will be skipped (step  180 ); otherwise, step  190  through step  230  will be repeated until the message is delivered successfully or expired. 
         [0020]      FIG. 4  and  FIG. 5  respectively show a block diagram and an operation flow chart of a receiving module in accordance the present invention. The following description refers to both  FIG. 4  and  FIG. 5 . The transmission layer  60  inputs a message to a receiving unit  340 . The receiving unit  340  may also be implemented as an independent software thread to execute the task. The receiving unit  340  unpacks the receiving message packet in accordance with the communication protocol of the transmission layer  60  in step  400 . The unpacked message content is attached with a new message tag and stored into the message database  50  in step  410 . In step  420 , the control unit  330  repeatedly checks the message database  50  for any new message in a frequency defined by the polling interval configured by the parameter-setting unit  40 . If there is no new message tag found, the polling process to the message database  50  simply repeats; on the other hand, if a new message tag is found, the corresponding message content will be retrieved from the message database  50  in step  430 . The output unit  320  will then deliver the message content to the message display device  20  for displaying in step  440 . As soon as the message content is displayed, the output unit  320  also changes its second tag from “new tag” to “displayed tag” and stores it back to the message database  50 . 
         [0021]    It should be understood, however, that there is no intention to limit the invention to the specific embodiments disclosed, but on the contrary, the invention is to cover all modifications, alternate constructions and equivalents falling within the spirit and scope of the invention as expressed in the appended claims.