GB2442040A - Voice over Internet Protocol (VoIP) voicemail service - Google Patents

Voice over Internet Protocol (VoIP) voicemail service Download PDF

Info

Publication number
GB2442040A
GB2442040A GB0618850A GB0618850A GB2442040A GB 2442040 A GB2442040 A GB 2442040A GB 0618850 A GB0618850 A GB 0618850A GB 0618850 A GB0618850 A GB 0618850A GB 2442040 A GB2442040 A GB 2442040A
Authority
GB
United Kingdom
Prior art keywords
voicemail
data
client
message
public key
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.)
Withdrawn
Application number
GB0618850A
Other versions
GB0618850D0 (en
Inventor
Karl William Feilder
Andrew Dancer
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.)
Trend Micro Ltd
Original Assignee
Identum Ltd
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 Identum Ltd filed Critical Identum Ltd
Priority to GB0618850A priority Critical patent/GB2442040A/en
Publication of GB0618850D0 publication Critical patent/GB0618850D0/en
Publication of GB2442040A publication Critical patent/GB2442040A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L29/06095
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/53Centralised arrangements for recording incoming messages, i.e. mailbox systems
    • H04M3/533Voice mail systems
    • 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
    • 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/1063Application servers providing network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

There is described a VoIP telephony system having a voicemail facility in which a voicemail storage means stores data corresponding to one or more voicemail messages, and generated voicemail data is transmitted to the voicemail storage means using packet-based network communication. According to an aspect of the invention, the generated voicemail data is transmitted using a transport protocol which resends data packets which are not received by the voicemail storage means (e.g. Transmission Control Protocol (TCP) rather than User Datagram Protocol (UDP)). According to another aspect of the invention, the generated voicemail data is encrypted using the public key of an asymmetric encryption algorithm in which the public key is calculated using an identifier associated with the intended recipient of the voicemail message.

Description

COMMUNICATION SYSTEM
This invention relates to a packet-based communication system for communicating voice telephone calls, and in particular to a voicemail service forming part of the communication system.
In recent years there has been much interest in the use of packet-based communication systems to transmit voice, in particular in transmitting voice over the Internet using the IP protocol (commonly referred to as V0IP) . In V0IP, participants are respectively allocated V0IP identifiers, which are analogous to telephone numbers. It is also known to include a V0IP voicemail service. If a person being telephoned does not answer, then the caller is automatically re-directed to a voicemail server which records a voicemail message for subsequent retrieval.
The IP protocol is a network layer protocol which governs the forwarding of data. The IP protocol will try to deliver a data packet to a desired recipient, but has the ability to discard data packets which the network is having difficulty delivering. The IP protocol is typically complemented by a higher level
S
transport layer protocol such as the Transmission Control Protocol (TCP) or the User Datagram Protocol (tJDp) The Transmission Control Protocol checks received data packets, and if any data packets are missing requests re-transmission of the missing data packets. The Transmission Control Protocol also delays the sending of data packets if the network is congested. In contrast, the User Datagram Protocol has no error recovery procedures and also takes no account of network congestion when controlling the sending of data packets.
For voice communication it is important that the data packets are not unduly delayed so that the conversation between the participants is fairly Uninterrupted. For this reason, voice data packets are typically sent using the User Datagram Protocol.
However, the lack of error recovery procedures in the User Datagram Protocol can lead to deterioration in voice signal quality, even with the use of error detection and correction algorithms which encode the voice data.
Another problem with using the User Datagram Protocol for voice data packets is that with the increase in VoIP data traffic, the resultant increase in UDP data packets could result in congestion problems in the Internet.
V0IP data traffic is usually encrypted, with a conventional cryptographic key exchange procedure taking place between the participants of the V0IP telephone call. However, in the event of leaving a voicemail message, the encryption of the voicemail message is complicated by the need to ensure that the intended recipient is able to decrypt the voicemail message.
According to a first aspect of the present invention, there is provided a packet-based voice data communication system in which participants have associated identifiers. The voice data communication system includes a voicemail facility in which any voicemail messages are encrypted using the public key of an asymmetric encryption algorithm, in which the public key is derivable from a root public key and the identifier for the recipient of the voicemail message, who has access to the corresponding private key for decrypting the voicemail message.
According to a second aspect of the invention, the voicemail message is recorded and encrypted at a sender computer and then transmitted to the voicemail server using a protocol with error recovery facilities in order to preserve message quality. Preferably, the protocol also has network traffic management facilities which delays transmission of data packets if the network is congested, as there is no requirement for prompt transmission of data packets for a voicemail message. In an embodiment, the Transmission Control Protocol is used when sending voice data packets for a voicemail message.
An embodiment of the present invention will now be described with reference to the accompanying drawings, in which: Figure 1 schematically shows the main components of a V0IP communication system according to the invention; Figure 2 schematically shows the main components of an encryption authority server forming part of the V0IP communication system illustrated in Figure 1; Figure 3 schematically shows the main components
I
of a V0IP service provider server forming part of the VoIP communication system iflustrated in Figure 1; Figure 4 schematically shows the contents of a client entry in a client database forming part of the V0IP service provider server illustrated in Figure 3; Figure 5 schematically shows the main components of a voicemail server forming part of the VoIP communication system in Figure 1; Figure 6 schematically shows the main components of a client computer forming part of the V0IP communication system illustrated in Figure 1; Figure 7 schematically shows the main program routines of a VoIP program stores on the client computer illustrated in Figure 6; Figure 8 schematically shows the contents of a client data memory region in the client computer illustrated in Figure 6; Figure 9 schematically shows the contents of an encryption data memory region stored in the client computer illustrated in Figure 6; Figure 10 schematically shows the main components of a gateway forming part of the V0IP communication system illustrated in Figure 1; Figure 11 schematically shows the contents of a client data memory region in the gateway illustrated in Figure 10; Figure 12 schematically shows the contents of an encryption data region in the gateway illustrated in Figure 10; Figure 13 shows a flow chart schematically illustrating the main steps performed when a client computer logs Onto the V0IP service provider server in the VoIP communication system illustrated in Figure 1; Figures l4A and 14B show a flow chart schematically illustrating the main steps performed when a client of the V0IP communication system illustrated in Figure 1 makes a V0IP telephone call; Figure 15 shows a flow chart schematically illustrating the main steps performed when a client of the V0IP communication system illustrated in claim 1 records a voicemail message; Figure 16 shows a flow chart schematically showing in more detail the generation of voicemail data during the process illustrated in Figure 9; and Figure 17 shows a flow chart schematically illustrating the main steps performed when a client of the V0IP Communication system illustrated in Figure 1 retrieves a voicemail.
System Overview As shown in Figure 1, in the first embodiment a V0IP communication system includes a plurality of client computers, of which only a sending computer la and a receiving computer lb are shown in Figure 1 for ease of illustration, connected to the Internet 3. An encryption authority server 5, a VoIP service provider server 7 and a voicemail server 9 are also connected to the Internet 3.
A conventional telephone 11 is also connected to the V0IP communication system. In particular, the telephone 11 is connected to a local central office 13, which is in turn connected via a gateway 15 to the internet 3.
The encryption authority server 5 provides cryptographic keys to the client computers i. In particular, in this embodiment the encryption authority server 5 issues a public key certificate providing a root public key KGPUb for the encryption algorithm described in WO 03/017559, the whole contents of which is incorporated herein by reference.
According to this encryption algorithm, the public key KCPLIb for a client having a VoIP address "client ID" is given by: = F(client -ID, where F is a publicly available function. In this way, the public key KCpub associated with a client can be calculated by anyone knowing the VoIP address of the client, the root public key KGPUb of the encryption authority and the function F (all of which are publicly available) The private key associated with a client can only be calculated with knowledge of the root private key KCPri, which is kept secret by the encryption authority administering the encryption authority server 5. In particular, the private key KCpri for a client having a V0IP address "client ID" is calculated by the encryption authority server 5 in accordance with the relation: KiCiri = G(c/icnhID,J(G) where G is a function which is paired with F. In this embodiment, the encryption authority server 5 calculates the respective private key for each client and sends the calculated private keys to the corresponding clients.
Throughout the remainder of this description, unless otherwise indicated reference to data being asymmetrically encrypted using a public key means that the data is encrypted using the asymmetric encryption algorithm described in WO 03/017559 with the public key forming the cryptographic key, and similarly reference to data being asymmetrically decrypted using a private key means that the data is decrypted using the asymmetric encryption algorithm described in WO 03/017559 with the private key forming the cryptographic key.
Reference will also be made throughout the description to data being symmetrically encrypted or decrypted using a symmetric key. Unless otherwise indicated, this refers to encryption or decryption of the data using the Advanced Encryption Standard (AES) algorithm using the symmetric key as the cryptographic key.
The V0IP service provider server 7 keeps a database of clients, each having a respective V0IP address. When a user of a client computer turns on their computer and accesses the Internet, the user of the client computer 1 is able to logon to the V0IP service provider server 7, which involves sending IP addressing information for the client computer 1 to the V0IP service provider server 7 so that the V0IP service provider server 7 can forward any V0IP telephone call signals for that user to the correct client computer 1. If the V0IP service provider 7 receives a request to initiate a VoIP telephone call with a client who is not logged on, or if a logged on client does not respond to receipt of a VoIP telephone call within a predetermined period of time, then the V0IP service provider server 7 re-directs the caller to the voicemail server 9.
In this embodiment, when a caller at a sending computer la is re-directed to the voicemail server 9, the caller is able to record a message at the sending computer la, asymmetrically encrypt the resultant voice data with the public key for the person being called to generate encrypted voicemail data, and then transmit the encrypted voicemail data using the Transmission Control Protocol to the voicemail server 9 for subsequent retrieval by the person being called.
Alternatively, if the caller is at a conventional telephone ii, then the message from the caller is recorded and asymmetrically encrypted at the gateway 15, and then the encrypted voicemail data is transmitted from the gateway 15 to the voicemail server 9 usang the Transmission Control Protocol.
When a client retrieves encrypted voicemail data, the client downloads the encrypted voicemail data from the voicemail server 9 using the Transmission Control Protocol and asymmetrically decrypts the message using the private key for that client to recover the voice signal.
The encryption authority server 5, the V0IP service provider server 7, the voicemail server 9 and the gateway 15 will now be described in more detail.
The Encryption Authority Server As shown in Figure 2, the encryption authority server S has an operator interface 21, a network interface 23, a processor 25 and memory 27 interconnected by a bus system 29.
The operator interface 21 includes a keyboard (not shown) for an operator to enter data into the encryption authority server 5 and a display (not shown) for allowing the operator to read data produced by the encryptiot-i authority server 5. The operator interface 21 also includes a CD-ROM reader-writer (not shown) via which data stored on a CD-ROM 31 can be input into the encryption authority server 5 or data produced by the encryption authority server 5 can be written onto a recordable CD-ROM 31.
The network interface 23 receives data from and outputs data to the Internet 3 in the form of network signals 33.
The processor 25 performs processing operations in accordance with program routines stored in the memory 27. These program routines may be either stored during manufacture, or input to the encryption authority server 5 via the operator interface 21 or the network interface 23. The program routines process data stored in the memory 27 and data received by the encryption authority server 5 via the operator interface 21 and the network interface 23.
The memory 27 is formed by different types of memory having respectively different access times, and
I
conventional processing techniques are employed to improve the speed of processing by caching data likely to be required into fast access time memory in advance.
The memory 27 includes a region 35 storing program routines used by the encryption authority server 5, a region 37 storing data and a region 39 providing In particular, the program routines memory region 35 stores: -a Master_Control routine 41; -a Key_Maintenance sub-routine 43; -a Register_Client sub-routine 45; -a Calculate_Private_Key sub-routine 47; and -a Supply Root Public Key sub-routine 49.
The stored data memory region 37 stores: -a client database 51; and -a key database 53.
The Master Control routine 41 co-ordinates the operations of the encryption authority server 5. This includes executing the sub-routines when required.
It will be appreciated that the security of the user private keys is reliant on the root private key KGprj remaining secret. As a precautionary measure, in this embodiment the Key Maintenance sub-routine 43 is periodically executed to generate new core public and private keys which are stored in the key database 53 along with the old public and private keys. In particular, the key database 53 stores data indicating for core public and private key pairs and for each pair the time period for which that pair was active.
The Register Client sub-routine 45 is initiated by the Master Control sub-routine 41 in response to a registration request received by a prospective client.
The Register_client sub-routine 45 stores data relating to the client (including the V0IP address for the client) in the client database 51, uses the Calculate_Private_Key sub-routine 45 to calculate a client private key using the currently active core private key K,ri and the V0IP address for the client and supplies the calculated client private key to the client. Subsequently, whenever the Key_Maintenance sub-routine 43 generates a new core private key KGPrL; the Key_Maintenance sub-routine 43 uses the Calculate_Private_Key sub-routine 47 to calculate the new client private key for each client based on the
I
new core private key. The new client private key is then sent to the client along with a new core public key certificate.
The Supply Root Public Key sub-routine 49 is initiated by the Master Control routine 41 in response to a request for a root public key KGpUb, and supplies a public key certificate for the requested root public key The VoIP Service Provider Server As shown in Figure 3, the V0IP service provider server 7 has an operator interface 61, a network interface 63, a processor 65 and memory 67 interconnected by a iS bus system 69.
The operator interface 61 includes a keyboard (not shown) for an operator to enter data into the VoIP service provider server 7 and a display (not shown) for allowing the operator to read data produced by the VoIP service provider server 7. The operator interface 61 also includes a CD-ROM reader-writer (not shown) via which data stored on a CD-ROM 71 can be input into the V0IP service provider server 7 or data produced by the V0IP service provider server 7 can be written onto a recordable CD-ROM 71.
The network interface 63 receives data from and outputs data to the Internet 3 in the form of network signals 73.
The processor 65 performs processing operations in accordance with program routines stored in the memory 67. These program routines may be either stored during manufacture, or input to the V0IP service provider server 7 via the operator interface 61 or the network interface 63. The program routines process data stored in the memory 67 and data received by the VoIP service provider server 7 via the operator interface 61 and the network interface 63.
The memory 67 is formed by different types of memory having respectively different access times, and conventional processing techniques are employed to improve the speed of processing by caching data likely to be required into fast access time memory in advance.
The memory 67 includes a region 75 storing program routines used by the V0IP service provider server 7, a region 77 storing a client database and a region 79 providing working memory.
In particular, the program routines memory region 75 stores: -a Master Control routine 81; -a Register_client sub-routine 83; -a Maintain Connection sub-routine 85; -a Process_call sub-routine 87; and -a Voicemail sub-routine 89.
The Master_control routine 81 controls the operation of the V0IP service provider server 7, using the sub-routines when needed.
The Register Client sub-routine 83 is initiated by the Master_Control routine 81 in order to register details of a new client in the client database 91. Each client has an entry in the client database 91. As shown in figure 4, the contents of a client entry 91 in the client database includes:
-a username field 93 which stores a username for
the client;
-a password field 95 which stores a password for
the client;
-a VoIp address field 97 which stores the V0IP
address for the client;
-a logan status field 99 which stores data
indicating whether the client is currently logged on and receiving calls, logged on and not receiving calls or not].ogged on;
-an IP addressing info field 101 storing IP
addressing information for the client if the client is currently logged on; and
-a voicemail status field 103 storing a flag
indicating whether or not any voicemail messages are stored for the client; and
-a PSTN number field 105 storing a telephone
number which is dialled by a conventional telephone to connect with the client.
In this embodiment, the Register_Client sub-routine 83 creates a new client entry 91 in the client database 77 and stores a username, password and V0IP address in
the appropriate fields of the new client entry.
The Voicemail Server As shown in Figure 5, the voicemail server 9 has an operator interface 111, a network interface 113, a processor 115 and memory 117 interconnected by a bus system 119.
The operator interface 111 includes a keyboard (not shown) for an operator to enter data into the ( voicemail server 9 and a display (not shown) for allowing the operator to read data produced by the voicemail server 9. The operator interface ill also includes a CD-ROM reader-writer (not shown) via which data stored on a CD-ROM 121 can be input into the voicemail server 9 or data produced by the voicemail server 9 can be written onto a recordable CD-ROM 121.
The network interface 113 receives data from and outputs data to the Internet 3 in the form of network signals 123.
The processor 115 performs processing operations in accordance with program routines stored in the memory 117. These program routines may be either stored during manufacture, or input to the voicemail server 9 via the operator interface 111 or the network interface 113. The program routines process data stored in the memory 117 and data received by the voicemail server 9 via the operator interface 111 and the network interface 113.
The memory 117 is formed by different types of memory having respectively different access times, and conventional processing techniques are employed to improve the speed of processing by caching data likely ( to be required into fast access time memory in advance.
The memory 117 includes a region 125 storing program routines used by the voicemail server 9, a region 127 storing data and a region 129 providing working memory.
In particular, the program routines memory region 125 stores: -a Master_Control routine 131; -a Register Client sub-routine 133; -a New Voicemail sub-routine 135; and -a Voicemail_Retrieval sub-routine 137.
The stored data memory region 127 is configured to store: -a client database 139; and -a voicemail database 141.
The Master_Control routine 131 of the voicemail server 9 co-ordinates the operations of the voicemail server 9. This includes executing the sub-routines when required.
In this embodiment, the Register_Client sub-routine ( 133 creates a new client entry in the client database 139 and stores a username, password and V0IP address
in the appropriate fields of the new client entry.
The Client Computers The niain components of a client computer 1, such as the sending computer la and the receiving computer lb, will now be described with reference to Figures 6 to 9.
As shown in Figure 6, a client computer 1 has an operator interface 151, a network interface 153, a processor 155 and memory 157 interconnected by a bus system 159.
The operator interface 151 includes a keyboard (not shown) for an operator to enter data into the user computer 1 and a display (not shown) for allowing the operator to read data produced by the user computer 1.
The operator interface 151 also includes a CD-ROM reader-writer (not shown) via which data stored on a CD-ROM 161 can be input into the user computer 1 or data produced by the user computer 1 can be written onto a recordable CD-ROM 161.
The network interface 153 receives data from and ( outputs data to the Internet 3 in the form of network signals 163.
The processor 155 performs processing operations in accordance with program routines stored in the memory 157. These program routines may be either stored during manufacture, or input to the user computer 1 via the operator interface 151 or the network interface 153. The program routines process data stored in the memory 157 and data received by the user computer 1 via the operator interface 151 and the network interface 153.
The memory 157 is formed by different types of memory having respectively different access times, and conventional processing techniques are employed to improve the speed of processing by caching data likely to be required into fast access time memory in advance.
The memory 157 includes a region 165 storing program routines used by the user computer 1, a region 167 storing data and a region 169 providing working memory.
in particular, among other programs the program ( routines memory region 165 stores: -a conventional operating system 171 such as Microsoft Windows; and -a VQIP program 173 including an encryption plug- in 175.
As shown in Figure 7, the V0IP program 173 includes the following routines and sub-routines: -a Master_Control routine 191; -a Register VoIP Client sub-routine 193; -a Logon sub-routine 195; -a Send_Heartbeat sub-routine 197; -a Logoff sub-routine 199; -a Make_Call sub-routine 201; -a Record_Voicemail sub-routine 203; and -a Retrieve Voicemail sub-routine 205.
In addition, the encryption plug-in 175 of the V0IP program includes: -a Register Encryption Client sub-routine 207; -a Key_Maintenance sub-routine 209; -a Calculate_Public_Key sub-routine 211; -a Generate Random Number sub-routine 213; -a Symmetric Encryption Engine 215; and -an Asymmetric Encryption Engine 217.
Returning to Figure 6, among other data the stored data memory region 167 stores: -client data 177 storing client registration details associated with the V0IP service provider server 7 and the voicemail server 9; -encryption data 179 storing data associated with the encryption plug-in; and -address book 181 storing V0IP usernames and V0IP addresses for other clients registered with the V0IP service provider server.
As shown in Figure 8, the client data 177 includes:
-a V0IP username field 221 storing a V0IP
username for the client;
-a VoIP password field 223 storing a VoIP
password for the client; and
-a VoIP address field 225 storing a V0IP address
for the client.
As shown in Figure 9, the encryption data 179 includes: -a current key store 231 storing the current public key and private key for the client; -a root public key store 233 storing root public key certificates issued by the encryption authority; -a key archive 233 storing previous public keys and private keys for the client; and -a future key store 235 for storing future private keys for the client.
In this embodiment, the Register V0IP Client sub-routine 193 is initiated in response to a user request in order to register the user of the client computer 1 with the V0IP service provider server 7 and the voicemail server 9. During this registration process, a username, password and V0IP address are generated and stored in the corresponding fields of the client data memory region 177.
As part of the user registration process, the Master_Control routine 191 also initiates the Register Encryption Client sub-routine 207 to register the user of the client computer 1 with the encryption authority server 5. This involves the client computer 1 transmitting the V0IP Address for the client to the encryption authority server 5, and receiving in return a private key which is stored in the current key store 231.
The Gateway The main components of the gateway 15 will now be described with reference to Figures 10 to 12.
As shown in Figure 10, the gateway 15 has a public switched telephone network (PSTN) interface 251, an IP Network Interface 253, an operator interface 255, a processor 257 and memory 259 interconnected by a bus system 261.
The operator interface 255 inc].udes a keyboard (not shown) for an operator to enter data into the gateway and a display (not shown) for allowing the operator to read data produced by the gateway 15. The operator interface 255 also includes a CD-ROM reader-writer (not shown) via which data stored on a CD-ROM 263 can be input into the gateway 15 or data produced by the gateway 15 can be written onto a recordable CD-ROM 263.
The PSTN network interface receives signals 265 from and sends signals 265 to a remote communications apparatus via a circuit-switched network. The IP network interface 253 receives signals 267 from and sends signals 267 to a remote communications apparatus via a packet-switched network.
The processor 257 performs processing operations in (,.
accordance with program routines stored in memory 259.
These program routines may be either stored during manufacture, or input to the qat:eway 15 via the operator interface 255, the PSTN interface 251 or the IP network interface 253. The program routines process data stored in the memory 259 and data received by the gateway 15 via the operator interface 255, the PSTN interface 251 and the IP network interface 253.
The memory 157 is formed by different types of memory having respectively different access times, and conventional processing techniques are employed to improve the speed of processing by caching data likely to be required into fast access time memory in advance.
The memory 259 includes a region 269 storing program routines used by the gateway 15, a region 271 storing data and a region 273 providing working memory.
In particular, among other programs the program routines memory region 269 stores: -a Master Control routine 275; -a Protocol_Converter 277; -a VoiPPrograrn 279; and -an Encryption Program 281.
The stored data memory region 271 is configured to store: -a client database 283; and -a public encryption data database 285.
The Master Control routine 275 of the gateway 15 co-ordinates the operations of the gateway 15. This includes executing sub-routines when required.
The Protocol_Converter 277 converts signals received via the PSTN interface 251 into Internet signals for sending via the IP network interface 153 and vice versa. When a conventional telephone 11 is used to leave a voicemail message
in the voicemail server 9 for the first time, an entry is generated in the client database 283 corresponding to the telephone 11 used.
In particular, as shown in Figure 11 an entry 291 in the client database 283 includes:
-the telephone number field 291 storing the
telephone number of the corresponding telephone 11;
-a current private key store field 293 storing
the present private key for the corresponding telephone 11;
-a future private key store field 297 storing a
future private key f or the corresponding telephone 11; and -a private key archive 299 storing previous private keys for the corresponding telephone 11 together with the date range for which each private key was valid.
In this embodiment, the private key for a telephone 11 is generated using the telephone number for that telephone 11 as an identifier.
As shown in Figure 12, the public encryption data database 285 stores:
-a root public key store field 303 storing the
root public key which is currently valid;
-a future root public key store field 305
storing a future private key; and -a root public key archive 307 storing previous root public keys together with the date range for which each root public key was valid.
The processes occurring when a client logs onto the V0IP service provider server 7, when a client makes a V0IP telephone call and when a client retrieves a voicemail will now be described in detail.
Client Logging On The processes occurring when a client logs onto the V0IP service provider server 7, and is accordingly able to receive VoIP telephone calls, will now be described with reference to the flow chart of Figure 13.
Following a user input indicating that the user wishes to logon to the V0IP service, the Master_Control routine 191 of the client computer 1 starts, at 51, starts the logon process by initiating the Logon sub-routine 195. The client computer 1 sends, at S3, a logon signal to the V0IP service provider server 7 including the V0IP username and VoIP password for the client. In response to receipt of the logon signal, at S5, the Master_Control routine 81 of the V0IP service provider server 7 initiates the Maintain_Connection sub-routine 85. The V0IP service provider server 7 checks the received V0IP username and V0IP password for the client against the data stored for in the entry 91 for the client in the client database 77.
The VoIP service provider server 7 also retrieves IP addressing information from the logon signal and stores the IP addressing information in the IP
addressing info field 101 in the entry 91 for the
client in the client database 77. In the case that the client has a public IP address which is unique for that client, the IP addressing information is the public IP address However, in some situations clients will have a shared public IP address, for example the public IP address for a corporate firewall, in which case the IP addressing information includes further data which allows data signals to be forwarded from the public IP address to the client computer 1. The V0IP service provider server 7 then sets the logon status field 99 in the entry 91 in the client database 77 for the client to indicate that the client is logged on and receiving calls.
The V0IP service provider server 7 then checks, at S9,
the voicemail status field 103 to determine if the
voicemail server 9 is storing a voicemail for the client. If the voicemail status field 103 indicates that the voicemail server 9 is not storing a voicemail for the client, then the logon process ends at Sil.
If the voicemail status field 103 indicates that the voicemail server 9 is storing a voicemail for the p client, then the V0IP service provider server 7 sends, at S13, a voicemail notification to the client. On receipt, at S15, of the voicemail notification, the client computer displays a voicemail alert to the operator of the client computer 1.
After the client logon process has ended, the Master_Control routine 191 of the client computer 1 periodically initiates the Send Heartbeat sub-routine 197, which sends a heartbeat signal' to the V0IP service provider server 7 to confirm that the client computer 1 is still connected. The Maintain_Connection sub-routine 85 of the V0IP service provider server 7 monitors for the heartbeat signals', and if a heartbeat signal' is not received after a predetermined length of time the V0IP service provider server 7 sets the logon status field 99 to indicate the client is not logged on.
In response to an instruction input by the operator of the client computer 1 to log off, the Master_Control routine 191 of the client computer 1 initiates the Logoff sub-routine 199 which sends a logoff signal to the VoIP service provider server 7. In response to receipt of the Logoff signal, the V0IP service provider server 7 sets the logon status field 99 to indicate the client is not logged on.
In this embodiment, the operator of the client computer 1 is also able to input an instruction to remain logged on but be unavailable for telephone calls. In response to such an instruction, the client computer 1 sends a signal to the V0IP service provider server 7 which responds by setting the logon status field 99 to indicate that the client is logged on but unavailable for calls.
Making a V0IP Telephone Call The processes occurring when a client of the V0IP service provider server 7 makes a telephone call will now be described with reference to Figures 14A, 14B, and 16.
As shown in Figure 14A, the process of making a telephone call starts, at S3l, with receipt of a call set-up instruction input by a logged-on client at a sending computer la. In particular, the call set-up instruction includes the logged-on client identifying the V0IP address for a desired recipient. The Master_Control routine 191 at the sending computer la responds by initiating the Make_Call sub-routine 201 which causes the sending computer la to send, at S33, (S' a request to the V0IP service provider server 7 to initiate a telephone call with the desired recipient as identified by the V0IP address.
On receiving, at S35, the request to initiate a telephone call, the Master_Control routine 81 of the V0IP service provider server 7 initiates the Process_Call sub-routine 87. In this embodiment, the request to initiate the telephone call is sent using the Transmission Control Protocol which ensures that if an IP packet is not safely received by the V0IP service provider server 7, then a request for that IP packet to be re-sent is transmitted back to the sending computer la.
The VoIP service provider server 7 checks, at S37, the logon status field 99 for the recipient as identified by the received V0IP address. If the logan status field 99 indicates that the recipient is not logged on, or that the recipient is logged on but not available for calls, then the V0IP service provider server 7 initiates the Voicemail sub-routine 89 (which will be described in detail hereafter), after which the process ends at S41. If the logan status field 99 indicates that the recipient is lagged on and available for calls, the V0IP service provider server f 7 forwards, at S43, a request to initiate a telephone call to the recipient using the IP addressing information stored in the IP addressing info field 101 for the recipient.
In response to receipt, at S45, by the receiving computer lb of a request to initiate a telephone call, the Master_Control routine 191 of the receiving computer lb initiates the Make_Call routine 201, which generates a user alert, in this embodiment the combination of a ringing noise and the display of an alert message. In this embodiment, the request to initiate a telephone call sent by the V0IP service provider server 7 to the receiving computer lb is sent using the Transmission Control Protocol to allow for re-sending of data packets lost in transit.
After generating the user alert, the receiving computer lb waits a preset amount of time for the operator of the receiving computer lb to input an instruction accepting the telephone call. If the operator of the receiving computer lb does not accept the telephone call within the preset amount of time, then the receiving computer lb sends, at S51, a caller unavailable signal to the VoIP service provider server 7 using the Transmission Control Protocol. In / response to receipt, at S53, of the caller unavailable signal from the receiving computer lb. the V0IP service provider server 7 initiates the Voicemail sub-routine 89, following which the call process ends at S57.
If the operator of the receiving computer lb does accept the call within the preset amount of time, then the telephone call proceeds during which the receiving computer lb sends and receives, at S59, voice data and correspondingly the sending computer receives and sends voice data, at S61. In this embodiment, the transmission of voice data between the sending computer la and the receiving computer lb is carried out using the User Datagram Protocol to ensure that packets of voice data are not delayed due to network congestion.
When the operator of either the sending computer la or the receiving computer lb ends the telephone call, then the call processing at the receiving computer ends, at S63, and the call processing at the sending computer ends, at S65.
As discussed above, the voicemail sub-routine 89 is initiated by the VoIP service provider server 7 if the desired recipient is not logged on, is logged on but is not available for calls, or does not accept the telephone call within a preset period of time. The procedure of recording a voicemail will now be described in more detail with reference to Figures 15 and 16.
As shown in Figure 15, the voicemail sub-routine 89 first re-directs, at S71, the telephone call to the voicemail server 9 by sending a data signal identifying the sending computer la and the V0IP address of the desired recipient using the Transmission Control Protocol.
Following receipt, at S73, of the re-directed telephone call, the Master_Control routine 131 initiates the New Voicemail sub-routine 135. This first causes the voicemail server 9 to transmit, at S75, voice data conveying a pre-recorded message inviting the operator of the sending computer la to leave a voicemail message. The voice data for the pre-recorded message is sent using the User Datagram Protocol to prevent the sending of data packets being delayed due to network congestion.
Following receipt, at S77, of the voice data for the pre-recorded message, the sending computer la plays the recorded message to the operator of the sending computer la. The sending computer la then waits, at S79, for the operator to indicate whether or not a voicemail message is to be recorded. If the operator indicates that a voicemail message is not to be recorded, for example by ending the telephone call, then the sending computer la sends, at S81, data indicating no voicemail message is to be recorded to the voicemail server 9 using the Transmission Control Protocol, and the call processing by the sending computer la ends, at S83. Following receipt, at S85, by the voicemail server 9 of the data indicating that no voicemail data is to be recorded, call processing by the voicemail server ends at S87.
If the operator of the sending computer la indicates that a voicemail message is to be recorded, then the Record Voicemail sub- routine 203 is initiated, at 889.
The Record Voicemail sub-routine 203 will now be described with reference to Figure 16.
As shown in Figure 16, following initiation, at Sill, of the Record_Voicemail sub-routine 203, the operator of the sending computer la speaks the desired message and the sending computer la generates, at S113, voice data for the desired message. The sending computer la then digitally signs, at S115, in a conventional manner the voice data using the current private key for the operator stored in the current key store 231.
This digital signature allows the originator and integrity of the voicemail message to be verified.
The sending computer la then uses the Generate Random Number sub-routine 213 to generate, at S117, a session key. The signed voice data is then symmetrically encrypted, at S119, using the session key by the Symmetric Encryption Engine sub-routine 215 to generate encrypted voice data. The Calculate_Public_Key sub-routine 211 is then initiated to calculate, at S121, the public key for the desired recipient using the VoIP address for the desired recipient and the root public key stored in the root public key store 233. The session key is then asymmetrically encrypted, at S123, by the Asymmetric Encryption Engine sub-routine 217 using the calculated public key for the recipient to generate encrypted key data. The encrypted voice data and the encrypted key data are then combined, at 5125, together with header information identifying the VoIP address for the operator of the sending computer la and the time and date to generate the voicemail data and the Record Voicemail sub-routine then ends, at S127.
Returning to Figure 15, after the voicemail data has been generated the sending computer la transmits, at S91, the voicemail data to the voicemail server 9 using the Transmission Control Protocol. This allows both for the sending of data packets to be delayed if the network is busy, thereby improving overall network performance, and also for the re-sending of any data packets which do not reach the voicemail server 9, thereby improving the quality of the voicemail message.
Following receipt, at S95, of the transmitted voicemail data, the voicemail server 9 saves the voicemail data in the voicemail database 9 along with an identifier identifying the desired recipient. The voicemail server 9 then sends, at S97, voicemail advice data to the V0IP service provider server 7 notifying the presence of a stored voicemail for the desired recipient, and then the call processing by the voicemail server 9 ends, at S99. Following receipt, at SlOl, of the voicemail advice data, the V0IP service provider server 7 checks the data stored in the voicemail status field 103 for the entry 91 in the
I
client database 77 corresponding to the desired
recipient. If the voicemail status field 103
indicates that no voicemail is stored for the desired recipient, then the data stored in the voicemail status field 103 for the desired recipient is amended to indicate that a voicemail message is stored for the desired recipient. The call processing by the V0IP service provider server then ends, at S103.
Retrieving a Voicemail Message The processes occurring when a client of the VoIP service provider server 7 retrieves a voicemail from the voicemail server 9 will now be described with reference to Figure 17.
As discussed above, the V0IP service provider server 7 sends an alert to a client that a voicemail is stored for the client when the voicemail status field 103 in the entry 91 for the client in the client database 77 indicates that the voicemail server 9 is storing a voicemail for the client. The voicemail retrieval process starts, at S141, with the operator instructing the client computer 1 to retrieve the voicemail, which causes the Master_Control routine 191 of the V0IP service provider server 7 to initiate the Retrieve_Voicemail sub-routine.
42 5b:i.
The client computer 1 then sends, at S143, a logan request to the voicemail server 9. The logon request identifies the username and password for the operator of the client computer 1. Following receipt, at Sl45, of the logon request, the voicemail server 9 verifies the username and password using the data stored in the client database 139, and then sends, at S147, a logan acknowledgement signal to the client computer 1.
Following receipt, at S149, of the logon acknowledgement, the client computer sends, at S151, a signal requesting downloading of the voicemail data to the voicemail server 9. Following receipt, at S153, of the download request, the voicemail server 9 sends, at 5155, the voicemail data stored in the voicemail server 9 f or the client to the client computer 1.
Following receipt, at S157, of the voicemail data, the client computer 1 utilises the Asymmetric Encryption Engine sub-routine 217 to asymmetrically decrypt, at S159, the encrypted key data part of the voicemail data using the private key for the operator of the client computer 1 which was active when the voicemail data was generated (as identified by the time and date stared in the header information of the voicemail data), thereby recovering the session key. This private key may be the current private key stored in the private key store 231 or a previous private key stored in the key archive 235.
The client computer 1 then uses the Symmetric Encryption Engine sub-routine 215 to symmetrically decrypt the encrypted voice data part of the voicemail data using the recovered session key to recover the signed voice data.
The client computer 1 then uses the Calculate_Public_Key sub-routine 211 to calculate the public key for the originator of the voicemail data using the V0IP address for the originator given in the header information of the voicemail data and the root public key valid when the voicemail data was generated. The client computer 1 then verifies, at S165, the signed voice data using the calculated public key in a conventional manner. The client computer 1 then outputs, at S167, the voicemail message to the operator of the client computer 1, and the voicemail retrieval process ends, at S169.
During the voicemail retrieval process, all communication between the client computer 1 and the voicemail server 9 is conducted using the Transmission pTh Control Protocol.
Calling a client from a conventional telephone When a conventional telephone 11 is used to call a client of the VoIP communication system, a PSTN telephone number corresponding to the client is dialled. This connects the telephone 11 to the V0IP service provider server 7, which looks up the client details corresponding to the dialled PSTN telephone number in the client database 77 and tries to connect the call.
If the call is not connected, then the call is re-directed to the voicemail server 9 together with an indication that a conventional telephone 11 was used.
The voicemail server 9 then sends a signal to the gateway 15 advising that a voicemail message is to be recorded and giving the V0IP username for the person called, and also sends a recorded message to the calling telephone 11. If the caller wishes to leave a voicemail message, the message is recorded at the gateway 15 and signed using the private key stored in the current private key store field 295 of the entry 291 for the calling telephone 11 in the client database 283 of the gateway 15. The gateway 15 then calculates the public key corresponding to the V0IP username of the person called, and asymmetrically encrypts the message using the calculated public key.
The encrypted voicemail data is then sent, using the Transmission Control Protocol, to the voicemail server 9 for retrieval by the called party.
Modifications and Further Embodiments In the illustrated embodiment, the encrypted voice data and the encrypted key data are sent as data packets to the voicemail server using the Transmission Control Protocol. In this way, receipt of all the data packets can be assured. Further, the Transmission Control Protocol has the additional feature that it will delay sending the data packets if the network is busy. In this way, the amount of network traffic is regulated.
It will be appreciated that alternative transport protocols to the Transport Control Protocol which resend data packets which are not received could be used.
In the illustrated embodiment, the voicemail message is sent to a voicemail server to await retrieval by the intended recipient. In an alternative embodiment, the sending computer la stores the email address of each contact in the address book 181, and sends an email conveying the voicemail message directly to the intended recipient. In an embodiment, the voicemail message is attached in encrypted format to the email message.
In the illustrated embodiment, the user of the receiving computer lb is already registered with the encryption authority server 5, and accordingly has a user private key. It will be appreciated that as a public key for a recipient can be calculated by anyone using the \ToIP address of the recipient and the core public key KGplb, encrypted voicernails can also be sent to recipients who are not already registered with the encryption authority server. However, if someone who is not registered with the encryption authority server receives an encrypted voicemail, then they must register with the encryption authority server 5 in order to obtain the user private key needed to decrypt the encrypted voicemail.
In the illustrated embodiment, the encryption authority server 5 generates a root private key and root public key pair. This generation involves some form of random number generation so that the generated keys are not predefined. Once the root private key is generated, the user private keys can be calculated from the root private key and some form of identifier for the user. Similarly, once the root public key is generated the user public keys can he calculated from the root public key and the identifier for the user.
In particular, calculation of the user private and public keys does not recplire any random number generation and it is a repeatable calculation yielding the same result each time whenever and wherever it is performed.
In the illustrated embodiment, the V0IP address for the user is used as the identifier of the user. Other forms of identifier could be used, but the VoIP address is convenient because the sender will always have knowledge of the V0IP address for the recipient in order to establish a V0IP telephone call with the recipient.
As described above, the sender can calculate the public key for a recipient using the V0IP address for the recipient and the root public key. Accordingly, there is no necessity to verify the authenticity of the public key for the recipient (for example by a public key certificate), although the root public key will normally form part of a public key certificate 48 -containing information f or confirming the authenticity o the root public key in a conventional manner.
In the illustrated embodiment, the asymmetric encryption algorithm discussed in WO 03/017559 is used. It will be appreciated that alternative algorithms with the same overall functionality could be used, for example the algorithm discussed in "ID based cryptosystems with pairing on elliptic curve" by P. Sakai and M. Kasahara, Cryptology ePrint archive, Report 2003/054 and the algorithm discussed in "An Efficient ID-KEM Based On the Sakai-Kasahara Key Construction" by Chen et al, Cryptology ePrint archive, Report 2005/224 (both of which publications are hereby incorporated herein by reference) Further, the asymmetric encryption algorithm need not determine the public key for a client using the client identity, and any asymmetric encryption algorithm, for example the RSA algorithm, could be used.
While in the illustrated embodiment symmetric encryption is performed using the AES encryption algorithm, it will be appreciated that other symmetric encryption algorithms could be used, for example the DES algorithm.
In the illustrated embodiment, the encryption authority server 5 and the VoIP service provider server 7 both include web servers which allow information to be communicated in the form of web pages to the user computers 1, which use conventional web browser programs incorporated in the user computers 1 to present the web pages on respective displays. It will be appreciated that other data communication techniques could be used involving structured data transfer, for example utilising XML files. In some embodiments, the user computers may include proprietary client software to enable communication with one or both of the encryption authority server and the VoIP service provider server.
In the illustrated embodiment, the user computers are conventional personal computers. It will be appreciated that such personal computers may be, for example, of the laptop or desktop variety. Further, the user computer could be formed by other types of computer apparatus such as a thin client or a personal digital assistant (PDA) Although the illustrated embodiment of the invention comprises computer apparatus (such as personal p..' computers and servers) and processes performed in the computer apparatus, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source code, object code, a code intermediate source and object codes such as in a partially compiled form, or in any other form suitable for using the implementation of the processes according to the inventiOn.
The carrier may be any entity or device capable of carrying the program. For example, the carrier may comprise a storage medium, such as a ROM, for example a CD-ROM or a semi-conductor ROM, or a magnetic recording medium, for example a floppy disk, or a hard disk. Further, the carrier may be a transmissible carrier such as an electronic or optical signal which may be conveyed via electrical or optical cable or by radio or other means.
When the program is embodied in a signal which may be conveyed directly by cable or other device or means, the carrier may be constituted by such cable or other device or means. Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.
Although in the described embodiments the invention is implemented using software, it will be appreciated that alternatively the invention could be implemented using hardware devices, or a combination of hardware devices and software.

Claims (31)

CLLAI MS
1. A telephony system comprising: voicemail storage means operable to store data corresponding to one or more voicemail messages; means for generating voicemail data corresponding to a voicemail message; and means for transmitting the generated voicemail data to the voicemail storage means using packet-based network communication, wherein said transmitting means is operable to transmit the generated voicemail data using a transport protocol which is operable to resend data packets which are not received by the voicemail storage means.
2. A telephony system according to claim 1, wherein said generating means and said transmitting means form part of computer means associated with the caller.
3. A telephony system according to claim 1, wherein said generating means and said transmitting means form part of a network gateway device linking a circuit-switched network and a packet-switched network.
4. A telephony system according to any preceding claim, wherein said transport protocol is the Transmission Control Protocol.
5. A telephony system according to any preceding claim, wherein said generating means comprises: means for recording voice data corresponding to a spoken message; and means for encrypting the voice data to generate said voicemail data.
6. A telephony system according to claim 5, wherein said encrypting means comprises means for digitally signing the voice data using a private key associated with the caller.
7. A telephony system according to claim 6, wherein said signing means is operable to sign the voice data using an encryption algorithm in which the private key is calculated using an identifier associated with the caller.
8 A telephony system according to any of claims 5 to 7, wherein said encrypting means comprises means is operable to use an asymmetric encryption algorithm
C
using a public key associated with the person being called.
9. A telephony system according to claim 8, wherein said asymmetric algorithm has a public key which is calculated using an identifier associated with the intended recipient of the voicemail message.
10. A telephony system comprising: voicemail storage means operable to store data corresponding to one or more voicemail messages; and means for generating voicemail data corresponding to a voicemail message, wherein said generating means comprises means for encrypting voice data corresponding to a spoken message using the public key of an asymmetric encryption algorithm in which the public key is calculated using an identifier associated with the intended recipient of the voicemail message.
11. A network apparatus comprising: first transmitting means for transmitting voice data associated with a telephone call to a remote network apparatus using packet-based network communication, wherein the first transmitting means is operable to transmit the voice data using a first transport protocol which does not resend data packets which are not received by the remote network apparatus; means for generating voicemail data corresponding to a voicemail message; and second transmitting means for transmitting the generated voicemail data to the voicemail storage means using packet-based network communication, 1U wherein said second transmitting means is operable to transmit the generated voicemail data using a second transport protocol which is operable to resend data packets which are not received by the voicemail storage means.
12. A network apparatus according to claim 11, wherein the first transport protocol is the User Datagram Protocol.
13. A network apparatus according to claim 11 or 12, wherein the second protocol is the Transmission Control Protocol.
14. A network apparatus according to any of claims 11 to 13, wherein said generating means comprises: means for recording voice data corresponding to a spoken message; and means for encrypting the voice data to generate said voicemail data.
15. A network apparatus according to claim 14, wherein said encrypting means comprises means for digitally signing the voice data using a private key associated with the caller.
16. A network apparatus according to claim 15, wherein said signing means is operable to sign the voice data using an encryption algorithm in which the private key is calculated using an identifier associated with the caller.
17. A network apparatus according to any of claims 14 to 16, wherein said encrypting means is operable to use an asymmetric encryption algorithm using a public key associated with the person being called.
18. A network apparatus according to claim 17, wherein the public key for said asymmetric encryption algorithm is calculated using an identifier associated with the intended recipient of the voicemail message.
19. A network apparatus according to any of claims 11 to 18, wherein the network apparatus is a computer apparatus associated with a caller.
20. A network apparatus according to any of claims 11 to 18, wherein the network apparatus is a gateway between a circuit-switched network and a packet-switched network.
21. A network apparatus comprising: first transmitting means for transmitting voice data associated with a telephone call to a remote network apparatus using packet-based network communication; means for generating voicemail data corresponding to a voicemail message; and second transmitting means for transmitting the generated voicemail data to the voicemail storage means using packet-based network communication, wherein said generating means comprises means for encrypting voice data corresponding to a spoken message using the public key of an asymmetric encryption algorithm in which the public key is calculated using an identifier associated with the intended recipient of the voicemail message.
22. A method of operating a network apparatus, the method comprising the steps of: generating voicemail data corresponding to a voicemail message; and transmitting the generated voicemail data to a voicemail storage means using packet-based network communication, wherein the generated voicemail data is transmitted using a transport protocol which is operable to resend data packets which are not received by the voicemail storage means.
23. A method according to claim 22, wherein the transport protocol is the Transmission Control Protocol.
24. A method according to claim 22 or claim 23, wherein said generating step comprises: recording voice data corresponding to a spoken message; and encrypting the voice data to generate said voicemail data.
25. A method according to claim 24, wherein said encrypting step comprises digitally signing the voice data using a private key associated with the caller.
26. A method according to claim 25, wherein said signing step comprises signing the voice data using an encryption algorithm in which the private key is calculated using an identifier associated with the caller.
27. A method according to any of claims 24 to 26, wherein said encrypting step uses an asymmetric encryption algorithm and a public key associated with the person being called.
28. A method according to claim 27, wherein the public key for said asymmetric encryption algorithm is calculated using an identifier associated with the intended recipient of the voicemail message.
29. A method of operating a network apparatus, the method comprising the steps of: generating voicemail data corresponding to a voicemail message; and transmitting the generated voicemail data to a voicemail storage means using packet-based network communication, wherein said generating step comprises encrypting voice data corresponding to a spoken message using the public key of an asymmetric encryption algorithm in which the public key is calculated using an identifier associated with the intended recipient of the voicemail message.
30. A storage device storing instructions including instructions for programming a programmable processing apparatus to implement a method according to any of claims 22 to 29.
31. A signal conveying instructions including instructions for programming a programmable processing apparatus to implement a method according to any of claims 22 to 29.
GB0618850A 2006-09-25 2006-09-25 Voice over Internet Protocol (VoIP) voicemail service Withdrawn GB2442040A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0618850A GB2442040A (en) 2006-09-25 2006-09-25 Voice over Internet Protocol (VoIP) voicemail service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0618850A GB2442040A (en) 2006-09-25 2006-09-25 Voice over Internet Protocol (VoIP) voicemail service

Publications (2)

Publication Number Publication Date
GB0618850D0 GB0618850D0 (en) 2006-11-01
GB2442040A true GB2442040A (en) 2008-03-26

Family

ID=37421570

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0618850A Withdrawn GB2442040A (en) 2006-09-25 2006-09-25 Voice over Internet Protocol (VoIP) voicemail service

Country Status (1)

Country Link
GB (1) GB2442040A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010026562A1 (en) * 2008-09-03 2010-03-11 Alcatel Lucent Verifying authenticity of voice mail participants in telephony networks
US9838510B2 (en) 2009-09-30 2017-12-05 British Telecommunications Public Limited Company Method of configuring a device for communications service activation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2410149A (en) * 2004-01-19 2005-07-20 Samsung Electronics Co Ltd Unified messaging system transmitting voice over IP packet data in burst mode
US20050180323A1 (en) * 2004-02-12 2005-08-18 Beightol Dean D. System for transmitting high quality speech signals on a voice over Internet protocol network
GB2417394A (en) * 2004-01-29 2006-02-22 Samsung Electronics Co Ltd Storing voice messages in packet form in a VoIP voice mail box

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2410149A (en) * 2004-01-19 2005-07-20 Samsung Electronics Co Ltd Unified messaging system transmitting voice over IP packet data in burst mode
GB2417394A (en) * 2004-01-29 2006-02-22 Samsung Electronics Co Ltd Storing voice messages in packet form in a VoIP voice mail box
US20050180323A1 (en) * 2004-02-12 2005-08-18 Beightol Dean D. System for transmitting high quality speech signals on a voice over Internet protocol network

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010026562A1 (en) * 2008-09-03 2010-03-11 Alcatel Lucent Verifying authenticity of voice mail participants in telephony networks
CN102144381A (en) * 2008-09-03 2011-08-03 阿尔卡特朗讯公司 Verifying authenticity of voice mail participants in telephony networks
KR101268702B1 (en) * 2008-09-03 2013-05-31 알까뗄 루슨트 Verifying authenticity of voice mail participants in telephony networks
US8516259B2 (en) 2008-09-03 2013-08-20 Alcatel Lucent Verifying authenticity of voice mail participants in telephony networks
CN102144381B (en) * 2008-09-03 2014-03-26 阿尔卡特朗讯公司 Verifying authenticity of voice mail participants in telephony networks
EP3393102A1 (en) * 2008-09-03 2018-10-24 Alcatel Lucent Verifying authenticity of voice mail participants in telephony networks
US9838510B2 (en) 2009-09-30 2017-12-05 British Telecommunications Public Limited Company Method of configuring a device for communications service activation

Also Published As

Publication number Publication date
GB0618850D0 (en) 2006-11-01

Similar Documents

Publication Publication Date Title
US10313135B2 (en) Secure instant messaging system
US8793491B2 (en) Electronic data communication system
JP4603043B2 (en) Method for transmitting sync ML synchronization data
US7146009B2 (en) Secure electronic messaging system requiring key retrieval for deriving decryption keys
US8837737B2 (en) Key management in a communication network
US20100002882A1 (en) Method and Device for Anonymous Encrypted Mobile Data and Speech Communication
JP2012523180A (en) Protection of messages related to multicast communication sessions within a wireless communication system
US11882215B2 (en) Handling joining and leaving of participants in videoconferencing with end-to-end encryption
JP2008312148A (en) Communication apparatus, communication system and communication method
EP2484048B1 (en) Sending protected data in a communication network
CN114124368B (en) Data transmission method, client, server and storage medium
JP4565788B2 (en) Packet authentication
WO2022265945A1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
KR101241864B1 (en) System for User-Centric Identity management and method thereof
JP2004248169A (en) Communications control system, communication control method and program, and communication terminal
GB2442040A (en) Voice over Internet Protocol (VoIP) voicemail service
CN109194905B (en) Video conference connection encryption and establishment method, terminal, server and system
JP2007004440A (en) Electronic mail server device and client device
EP3907967A1 (en) Method for preventing sip device from being attacked, calling device, and called device
CN101719894B (en) Implementing system and implementing method for securely sending delay media
JP2005286647A (en) System, device, and method for communication
JP2008136248A (en) Session control server, transmission device, communication system and method, program and recording medium

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)