Mediation Of A Combined Asynchronous And Synchronous Communication Session
Disclosed are techniques for mediating a communication session between a communication device operating asynchronously and a communication device operating synchronously. A communications server receives a first set of text data transmitted asynchronously from an asynchronous communication device over a first communication link and converts the text data into a first synchronous stream of audio data. The communications server then establishes a synchronous audio media channel between itself and the synchronous device over a second communication link before transmitting the first synchronous stream of audio data to the second communication device over the established synchronous audio media channel. The communications server may also receive a second synchronous stream of audio data from the synchronous communication device and convert the second synchronous stream of audio data into a second set of text data. The second set of text data may then be transmitted asynchronously to the asynchronous communication device over the first communication link.
1 . A method of mediating, via a communications server, a communication session between a first communication device operating asynchronously and a second communication device operating synchronously, the method comprising:
receiving a first set of text data from the first communication device over a first communication link, the text data transmitted asynchronously;
converting the a first set of text data to audio data into a first synchronous stream of audio data;
establishing a synchronous audio media channel between the communications server and the synchronous device over a second communication link;
transmitting the first synchronous stream of audio data to the second communication device over the established synchronous audio media channel;
receiving a second synchronous stream of audio data from the second communication device;
converting the second synchronous stream of audio data to a second set of text data; and
transmitting the second set of text data to the first communication device asynchronously over the first communication link.
2 . The method of claim 1 , wherein transmitting the second set of text data asynchronously comprises:
packing the second set of text data into a series of MQTT messages; and
sending the MQTT messages over an IP based communication link.
3 . The method of claim 1 , wherein transmitting the second set of text data asynchronously comprises:
packing the second set of text data into a series of SMS text messages; and
sending the SMS messages via an SMS transport mechanism.
4 . The method of claim 1 , wherein transmitting the second set of text data asynchronously comprises:
packing the second set of text data into a series of webRTC data channel messages; and
sending the webRTC data channel messages over an IP based communication link.
5 . The method of claim 1 , wherein the synchronous audio media channel between the communications server and the second communication device is established using a SIP protocol.
6 . The method of claim 1 , wherein establishing the synchronous audio media channel between the communications server and the synchronous device comprises:
communication with a telecom server via SIP signaling to establish a synchronous audio media channel between the communications server and the telecom server;
in the telecom server:
converting the SIP signaling to a telecom protocol utilized by the telecom server and the second communication device;
establishing a connection with the second communication device;
establishing a synchronous audio media channel between the telecom server and the second communication device; and
joining the synchronous audio media channel between the communications server and the telecom server with the synchronous audio media channel between the telecom server and the second communication device.
7 . The method of claim 1 , the first communication link comprising an 802.11 WiFi communication link.
8 . The method of claim 1 , the first communication link comprising a cellular data communication link.
9 . An apparatus, comprising:
a processor operable to execute one or more software modules, the software modules including instructions that when executed mediate a communication session between a first communication device operating asynchronously and a second communication device operating synchronously by:
receiving a first set of text data from the first communication device over a first communication link, the text data transmitted asynchronously;
converting the a first set of text data to audio data into a first synchronous stream of audio data;
establishing a synchronous audio media channel between the communications server and the synchronous device over a second communication link;
transmitting the first synchronous stream of audio data to the second communication device over the established synchronous audio media channel;
receiving a second synchronous stream of audio data from the second communication device;
converting the second synchronous stream of audio data to a second set of text data; and
transmitting the second set of text data to the first communication device asynchronously over the first communication link.
10 . The apparatus of claim 9 , wherein transmitting the second set of text data asynchronously comprises instructing the processor to:
pack the second set of text data into a series of MQTT messages; and
send the MQTT messages over an IP based communication link.
11 . The apparatus of claim 9 , wherein transmitting the second set of text data asynchronously comprises instructing the processor to:
pack the second set of text data into a series of SMS text messages; and
send the SMS messages via an SMS transport mechanism.
12 . The apparatus of claim 9 , wherein transmitting the second set of text data asynchronously comprises instructing the processor to:
pack the second set of text data into a series of webRTC data channel messages; and
send the webRTC data channel messages over an IP based communication link.
13 . The apparatus of claim 9 , wherein the synchronous audio media channel between the communications server and the second communication device is established using a SIP protocol.
14 . The apparatus of claim 9 , wherein establishing the synchronous audio media channel between the communications server and the synchronous device comprises instructing the processor to establish a synchronous audio media channel between the communications server and a telecom server via SIP signaling, wherein the telecom server:
converts the SIP signaling to a telecom protocol utilized by the telecom server and the second communication device;
establishes a connection with the second communication device;
establishes a synchronous audio media channel between the telecom server and the second communication device; and
joins the synchronous audio media channel between the communications server and the telecom server with the synchronous audio media channel between the telecom server and the second communication device.
15 . The apparatus of claim 9 , the first communication link comprising an 802.11 WiFi communication link.
16 . The apparatus of claim 9 , the first communication link comprising a cellular data communication link.
17 . At least one machine-readable non-transitory medium comprising a set of instructions executable on a computing device to cause the computing device to mediate a communication session between a first communication device operating asynchronously and a second communication device operating synchronously by:
receiving a first set of text data from the first communication device over a first communication link, the text data transmitted asynchronously;
converting the a first set of text data to audio data into a first synchronous stream of audio data;
establishing a synchronous audio media channel between the communications server and the synchronous device over a second communication link;
transmitting the first synchronous stream of audio data to the second communication device over the established synchronous audio media channel;
receiving a second synchronous stream of audio data from the second communication device;
converting the second synchronous stream of audio data to a second set of text data; and
transmitting the second set of text data to the first communication device asynchronously over the first communication link.
18 . The at least one machine-readable non-transitory medium of claim 17 , further comprising a set of instructions executable on a computing device to cause the computing device to:
pack the second set of text data into a series of MQTT messages; and
send the MQTT messages over an IP based communication link.
19 . The at least one machine-readable non-transitory medium of claim 17 , further comprising a set of instructions executable on a computing device to cause the computing device to:
pack the second set of text data into a series of SMS text messages; and
send the SMS messages via an SMS transport mechanism.
20 . The at least one machine-readable non-transitory medium of claim 17 , further comprising a set of instructions executable on a computing device to cause the computing device to:
pack the second set of text data into a series of webRTC data channel messages; and
send the webRTC data channel messages over an IP based communication link.
21 . The at least one machine-readable non-transitory medium of claim 17 , wherein the synchronous audio media channel between the communications server and the second communication device is established using a SIP protocol.
22 . The at least one machine-readable non-transitory medium of claim 17 , further comprising a set of instructions executable on a computing device to cause the computing device to establish a synchronous audio media channel between the communications server and a telecom server via SIP signaling, wherein the telecom server:
converts the SIP signaling to a telecom protocol utilized by the telecom server and the second communication device;
establishes a connection with the second communication device;
establishes a synchronous audio media channel between the telecom server and the second communication device; and
joins the synchronous audio media channel between the communications server and the telecom server with the synchronous audio media channel between the telecom server and the second communication device.
23 . The at least one machine-readable non-transitory medium of claim 17 , the first communication link comprising an 802.11 WiFi communication link.
24 . The at least one machine-readable non-transitory medium of claim 17 , the first communication link comprising a cellular data communication link.