Abstract:
Messaging between SIP users and mobile telephone users is simplified by providing a set of temporary addresses according to the second standard that can be assigned as identifiers of the first user. A temporary address is assigned to a SIP user who sends an instant message to a mobile user. The temporary address and the second subscriber&#39;s address then form a unique identification of the first user. A gateway is disclosed comprising a table mapping the address of said first user according to the first addressing standard, the address of said second user according to the second addressing standard, and a temporarily assigned address used to identify the first user. This enables the mobile telephone user to reply to the instant message in a simple way.

Description:
TECHNICAL FIELD  
         [0001]    The present invention relates to a method of sending an instant message between a first user connected to a first communications network and having a first address according to a first standard and a second user connected to a second communications network and having a second address according to a second standard.  
           [0002]    The invention also concerns a gateway for use between a first and a second communications network employing a first an a second addressing standard, respectively, said gateway enabling a second user in the second network to respond to a message sent to the second user from a first user in the first network, and a computer program product for use in such a gateway  
         BACKGROUND AND PRIOR ART  
         [0003]    Instant messaging is currently the fastest growing means of communication in the world. The concept of instant messaging covers small simple messages for immediate delivery to the recipient.  
           [0004]    Session Initiation Protocol (SIP) is an open IETF standard, in which an end-user is provided with only one address for all interaction needs, ranging from instant messaging to video conferencing and gaming. It is independent of the underlying network, transport protocol or types of end-user terminal. SIP is an application-layer control (signalling) protocol for creating, modifying and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution and multimedia conferences. SIP invitations are used to create sessions. These invitations carry session descriptions which allow participants to agree on a set of compatible media types. SIP makes use of proxy servers to help route requests to a user&#39;s current location, assist in firewall traversal, and provide features to users. SIP also provides a registration function that allows them to upload their current location for use by proxy servers.  
           [0005]    The concept of Presence is essential. Presence is a means for finding, retrieving and subscribing to changes to the presence information of other users. Mobile Presence is characterized by three types of information: location, status (availability) and means. Location indicates where a user is currently located, for example, at home, at work, at lunch. Status indicates availability, that is, if a user is on or off line. Means indicates the terminals currently available to the user, and their capabilities. A presence server keeps track of this information for SIP users. Mobile Presence integrates the concepts of presence over fixed and wireless networks for a wide variety of terminal types.  
           [0006]    SIP users can send instant messages to users in other networks, including mobile telephony subscribers. An instant message sent to a mobile terminal is converted to a Short Message Service (SMS) message according to the standard of the mobile network. A problem arises, however, if the mobile subscriber wishes to reply to an instant message from a SIP user. Simply pressing the reply button will not work, since the SIP address is not known in the mobile telephone network. Replying to the first subscriber&#39;s mobile telephone number would cause the reply to be sent to the first subscriber&#39;s mobile telephone instead of the SIP client as intended.  
           [0007]    If an instant message is sent as an SMS from a mobile phone to a SIP user, it is sent to a specific phone number, and a SIP address will be supplied in the message. Therefore, the problem does not apply in this case.  
         OBJECT OF THE INVENTION  
         [0008]    It is an object of the invention to simplify messaging between SIP users and mobile telephone users.  
         SUMMARY OF THE INVENTION  
         [0009]    This object is achieved according to the invention by a method according to the preamble of claim  1 ,  
           [0010]    said method comprising the steps of:  
           [0011]    providing a set of temporary addresses according to the second standard that can be assigned as identifiers of the first user,  
           [0012]    when the first user sends a instant message to the second user, assigning a temporary address to the first user and storing information about the temporary address in or in connection to a a gateway node between said first and said second network using the temporary address in conjunction with the second subscriber&#39;s address as a unique identification of the first user.  
           [0013]    The object is also achieved, according to the invention, by a gateway according to the preamble of claim  5 ,  
           [0014]    said gateway being characterized in that it comprises a table mapping the address of said first user according to the first addressing standard, the address of said second user according to the second addressing standard, and a temporarily assigned address used to identify the first user.  
           [0015]    The object is also achieved by a computer program product for use in such a gateway, said computer program comprising  
           [0016]    means for assigning a temporary address to a first user in the first network when said first user sends a message to a second user having a second address in the second network,  
           [0017]    means for identifying, when the second user responds to the message, the address of the first user on the basis of said temporary address and the address of said second user.  
           [0018]    In this way, addresses may be temporarily assigned only when needed, that is, when a user in, for example, a SIP network has sent a message to a user in a GSM network work. The GSM user is enabled to respond to the message. Preferably, the GSM user can send a response simply by pressing a “reply” button. Alternatively, the address of the SIP user may have to be entered manually. At the same time, using the temporary address in conjunction with the address of the second user to identify the first user enables the same temporary address to be used several times, thus reducing the number of temporary addresses needed.  
           [0019]    In a preferred embodiment the method of the invention comprises the steps, when the second user replies, of  
           [0020]    sending information concerning the reply to the gateway,  
           [0021]    using the temporary address assigned to the first user to identify the first user sending the reply to the first user.  
           [0022]    Preferably, the temporary address after a predefined period of time after is has been assigned or after it has been accessed.  
           [0023]    Preferably, said temporarily assigned address is according to the second addressing standard.  
           [0024]    According to the invention, the messages may be sent between two legitimate numbers according to the mobile telephony standard, for example, two GSM numbers while involving SIP client of at least one user. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0025]    In the following the invention will be described in more detail, by way of preferred embodiments and with reference to the drawings, in which:  
         [0026]    [0026]FIG. 1 shows schematically an example network in which the invention may be used.  
         [0027]    [0027]FIG. 2 is a more detailed representation of a communications network in which the invention may be used.  
         [0028]    [0028]FIG. 3 shows an address table according to a first embodiment of the invention.  
         [0029]    [0029]FIG. 4 is a flow chart of the method of assigning temporary addresses according to the first embodiment.  
         [0030]    [0030]FIG. 5 is a flow chart of the method of using the temporary addresses according to the first embodiment.  
         [0031]    [0031]FIGS. 6, 7 and  8  illustrate the address table in various situations. 
     
    
     DETAILED DESCRIPTION OF EMBODIMENTS  
       [0032]    [0032]FIG. 1 shows a first terminal  1  connected to a first communications network  3 . The user of the first terminal  1  has a SIP address uniquely identifying the user regardless of the terminal used by the user. The communications network  3  is connected to a mobile communications network  5  through a gateway  7 . In a preferred embodiment, the gateway  7  is a Presence and Instant Messaging Gateway. A table or database  11  in or in connection to the gateway  7  contains address information used to identify the address of the first terminal according to the invention.  
         [0033]    It is assumed that the user of the first terminal  1  wishes to send an instant message to another user. The other user could be a SIP user or a mobile subscriber without a SIP address. If the other user is a SIP user, it is assumed that the presence information currently shows that the other user is available by his mobile terminal. Therefore, the instant message will be sent to the other user&#39;s mobile telephone as an SMS message. When the other user has received the SMS message, he may want to reply. According to the invention therefore, means are provided for sending the messages between two legitimate GSM numbers. This can be achieved in different ways, as explained below.  
         [0034]    [0034]FIG. 2 gives a more complete picture of the networks that may be involved according to an embodiment of the invention. A number of terminals belonging to a SIP user are connected to the Internet. The terminals include, for example, a handheld Bluetooth device  23 , a PC client  25  and a SIP phone  27 . The terminals  23 ,  25 ,  27  are used by the same user and can be reached, depending on the user&#39;s Presence, by the same SIP address. The terminals  23 ,  25 ,  27  are connected, through a SIP network  21 , which is a logical part of the Internet. A SIP proxy server  31  and a SIP presence server  33  are connected to the SIP network. The function of the proxy server  31  is the same as usual for proxy servers. The function of the presence server  33  is to register the presence of SIP users as discussed above. One or more other networks may also be connected to the SIP network through a gateway  35 . FIG. 2 shows a GSM network  37 , to which GSM telephones  39  are connectable. In this case, since an instant message sent from one of the SIP user&#39;s terminal  23 ,  25 ,  27  to a  39  in the GSM network  37  will be converted to an SMS message, an SMS centre  41  is connected between the gateway  35  and the GSM network  41 .  
         [0035]    [0035]FIG. 3 shows the assignment of addresses according to the first embodiment of the invention. Three columns are used in the address table: The left column contains, for each message sent, the SIP address of the first user, that is, the originator of the message. The address has the format “userx@domain.com”. The middle column contains the phone number of the mobile user recipient of the message. The right column contains the number temporarily assigned to the first user. As can be seen, the temporary number has the same format as the mobile phone numbers in the middle column. When the mobile user replies, the temporary number and the mobile user&#39;s phone number are used to retrieve the SIP address of the first user, who is to receive the reply. The temporary number and the mobile user&#39;s phone number must uniquely define the SIP user. In the table shown in FIG. 3 this could also be achieved by letting the first and second entry use the same gateway number (040 1111) and the third gateway entry use the second gateway number (040 2222).  
         [0036]    If the same SIP user sends more than one message to the same mobile user, only one temporary number has to be assigned, and only one entry is needed in the table for the combination of SIP user and mobile user. It would of course be possible to assign new numbers each time, but it would make the table unnecessarily long.  
         [0037]    [0037]FIG. 4 is a flow chart of how a temporary address is assigned according to the first embodiment of the invention.  
         [0038]    Step S 1 : An instant message is sent from a SIP user to a mobile user  
         [0039]    Step S 2 : Should the message be redirected to a mobile network? If yes, go to step S 3 ; if no, go to step S 10 .  
         [0040]    Step S 3 : Forward the message to the gateway.  
         [0041]    Step S 4 : Is a GSM number available for the SIP user? If yes, go to step S 6 ; if no, go to step S 5 :  
         [0042]    Step S 5 : Assign a temporary number to identify the SIP user. Store in the gateway database.  
         [0043]    Step S 6 : Convert the message to an SMS message  
         [0044]    Step S 7 : Send the SMS message to the mobile user.  
         [0045]    Step S 8 : Wait for a predetermined period of time.  
         [0046]    Step S 9 : Release the temporary number. End of procedure.  
         [0047]    Step S 10 : Send message according to standard. End of procedure.  
         [0048]    In step S 7 , the time to wait should be set to an appropriate value. The value may be selected by the operator in dependence, for example, of the number of addresses available. The time should not be so long that the gateway runs out of addresses that may be assigned. If a large number of temporary addresses are available, each address can be kept longer. The time to wait determines how long the second user can reply to the SMS. For example, the temporary address may be kept as long as the SMS is kept, which is typically 1-2 weeks.  
         [0049]    The time to wait may be calculated either from the time when the temporary number is assigned in step S 5 , or from the time when the temporary number is accessed in the table, for sending another message to the same mobile user. In the latter case, the time should be reset each time the temporary number is accessed, so that the time is extended each time a reply is sent to the SIP user. The reason for waiting is to accomodate the SMS receiver with an ability to reply to the instant message.  
         [0050]    [0050]FIG. 5 is a flowchart of the steps taken when the mobile subscriber wants to reply to the SMS message received from a SIP user.  
         [0051]    Step S 11 : The mobile subscriber sends the reply. In addition to the payload, the reply contains as address information the mobile subscriber&#39;s address and the address temporarily assigned in the gateway. The address information is preferably added automatically, so that the mobile subscriber only has to press a “reply” button to send the reply. Alternatively, address information may have to be entered.  
         [0052]    Step S 12 : The reply is received in the gateway.  
         [0053]    Step S 13 : The gateway retrieves the appropriate address of the SIP user from the database.  
         [0054]    Step S 14 : Convert the message to Instant Message (IM) format.  
         [0055]    Step S 15 : The reply is sent to the SIP user according to the address retrieved in step S 13 . End of procedure.  
         [0056]    According to the first embodiment, the address of the SIP user is retrieved from the database on the basis of the mobile subscriber&#39;s number and the number temporarily assigned to the first user, see FIG. 3.  
         [0057]    [0057]FIG. 6 shows the situation where several different SIP users send messages to the same mobile user, according to the first embodiment. The table has the same three columns as discussed for FIG. 3. The four table entries are for the first, second, third and fourth SIP user, respectively, as shown in the left column. The number of the receiving mobile subscriber is the same in each case, as seen from the middle column. The number temporarily assigned, shown in the right column, is different in each case, and has the same format as the mobile number in the middle column.  
         [0058]    When the mobile subscriber replies to one of the messages, the reply will be sent to the gateway together with the temporarily assigned number. The temporary number and the mobile subscriber&#39;s number together then uniquely define the SIP user who should receive the reply.  
         [0059]    [0059]FIG. 7 shows the situation where the same SIP user sends messages to several different mobile users. The four table entries show the first, second third and fourth mobile subscriber, respectively, in the middle column. As can be seen from the left column, the SIP user is always the same. The temporary address, in the right column, is also the same in all four cases. In each case, the combination of the temporary address shown in the right column and the mobile subscriber number in the middle column together uniquely define the SIP user. Of course, different gateway numbers could be assigned in each case, but it is more economic to assign as few gateway numbers as possible.  
         [0060]    The following pseudo-code example further describes how temporary addresses are assigned according to the invention:  
                                   If(a gateway number has already been associated with the given SIP address and       GSM number pair)       {        then that gateway number is returned       }       else If(the GSM number exists in the cache)       {        then a different gateway number than those associated with the same GSM num-        ber is returned       }       else If(SIP address exists among the old entries)       {        then the same gateway number already used for the SIP address is returned       }       else       {        neither the GSM number nor the SIP address exists, so an arbitrary gateway num-        ber may be assigned       }