Mobile computing devices, such as smart phones, may provide various processing capabilities. For example, mobile devices may provide personal digital assistant (PDA) features, including word processing, spreadsheets, synchronization of information (e.g., e-mail) with a desktop computer, and so forth.
In addition, such devices may have wireless communications capabilities. More particularly, mobile devices may employ various communications technologies to provide features, such as mobile telephony, mobile e-mail access, web browsing, and content (e.g., video and radio) reception. Exemplary wireless communications technologies include cellular, satellite, and mobile data networking technologies.
Dual-tone multi-frequency (DTMF) signaling is used in conventional telephony networks for dialing, as well as for the in-band transmission of information once a call is established. Typically, wireless (e.g., cellular) networks do not use DTMF for dialing. However, DTMF may be needed for certain wireless calls such as ones with devices on traditional wired telephony networks. For instance, calls to businesses and other organizations often involve automated menus that request caller selections through DTMF signals.
Typically, in cellular networks, DTMF signals are not suitable for in-band transmission. This is because distortions caused by audio encoding schemes can make the recognition of DTMF digits in received transmissions difficult. Thus, cellular networks employ separate signaling messages between mobile stations and network entities to convey DTMF digits.
Unlike other networks (such as cdma2000 systems which employ messages that convey multiple DTMF digits), Global System for Mobile communications (GSM) networks and Universal Mobile Telecommunications System (UMTS) networks generate a separate set of messages for each DTMF digit. This may cause undesirable delays in the transfer of multiple DTMF digits across these networks.
Various embodiments may be generally directed to techniques for DTMF symbols in wireless communications networks. For instance, an apparatus may include a dual-tone multi-frequency (DTMF) messaging module and a transceiver. The DTMF messaging module generates a DTMF message that represents one or more DTMF digits. The transceiver sends the DTMF message across a wireless communications network, such as a GSM network or a UMTS network. In addition, the transceiver receives, from the wireless communications network, an acknowledgment of the DTMF message. This acknowledgment is a DTMF-specific signaling message.
Various advantages may be obtained through such techniques. For instance, DTMF signaling may be more efficient and take less time.
Various embodiments may comprise one or more elements. An element may comprise any structure arranged to perform certain operations. Each element may be implemented as hardware, software, or any combination thereof, as desired for a given set of design parameters or performance constraints. Although an embodiment may be described with a limited number of elements in a certain topology by way of example, the embodiment may include other combinations of elements in alternate arrangements as desired for a given implementation. It is worthy to note that any reference to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrases “in one embodiment” or “in an embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
Radio module 102 may communicate (through an antenna 110) with remote devices (such as cellular base stations) across various types of wireless links. For example, radio module 102 may communicate across Global System for Mobile communications (GSM) networks or Universal Mobile Telecommunications System (UMTS) networks.
The wireless transmissions sent and received by transceiver 114 comprise signals that may be modulated according to various schemes and may be transmitted at various frequencies. Accordingly, transceiver 114 may include a modem to perform modulation and demodulation operations associated with such signals. Also, transceiver 114 may include timing functionality to operate in accordance with network timing constructs, such as time division multiple access (TDMA) frames.
Communications control module 115 may perform various operations. For example, communications control module 115 may determine when transceiver 114 may transmit and/or receive signals. Also, communications control module 115 may perform operations involving handoffs between cells. Examples of such operations include the evaluation of potential handoff candidates or cells. Such evaluations may be based on one or more power measurements that communication control module 115 receives from transceiver 114.
Traffic module 118 handles payload traffic (e.g., voice and data) exchanged across wireless networks by transceiver 114. For instance, traffic module 118 may perform operations, such as the buffering of information. Such buffered information may be for wireless transmission by transceiver 114. Also, such buffered information may be information that transceiver 114 receives from remote devices.
Signaling module 116 generates and processes signaling messages exchanged across wireless networks by transceiver 114. Accordingly, signaling module 116 may provide transceiver 114 with signaling messages for wireless transmission to remote devices (e.g., base stations), and obtain signaling messages received wirelessly by transceiver 114 from such remote devices. Examples of such signaling messages include DTMF messages, dialing messages, and so forth.
As shown in
Host 104 may perform operations associated with user applications. Exemplary user applications include telephony, text messaging, e-mail, web browsing, word processing, and so forth. Furthermore, host 104 may perform operations associated with one or more protocols (e.g., multiple protocols at various layers). Moreover, host 104 may provide one or more functional utilities that are available to various protocols, operations, and/or applications. Exemplary utilities include operating systems, device drivers, user interface functionality, and so forth.
As shown in
Voice interface 120 provides for the exchange of audio (e.g., voice) signals. These signals may be associated with telephony applications. In embodiments, such signals may be in a digital or analog format. For instance, such signals may be pulse-amplitude modulated (PAM) signals, or digital pulse-code modulated signals. However, the embodiments are not limited to these examples.
Data interface 122 provides for the exchange of data associated with various applications. For instance, such data may be associated with Internet Protocol (IP) communications (e.g., web browsing, e-mail and so forth), as well as other types of data communications (e.g., short message service (SMS) messages, multimedia messaging service (MMS) messages, and so forth).
Control interface 124 provides for the exchange of control data associated with various applications. Also, control interface 124 may provide for the exchange of information that establishes or modifies various operational parameters of host 104 and/or radio module 102.
Interfaces 120, 122, and 124 may be implemented in various ways. For instance, these interfaces may be implemented with one or more bus interfaces, one or more Universal Serial Bus (USB) interfaces, one or more universal asynchronous receiver/transmitter (UART) interfaces, as well as other types of interfaces (e.g., other types of serial and/or parallel interfaces). Thus, while shown as being distinct, interfaces 120, 122, and/or 124 may be logical or virtual interfaces that share common communications media. Also, interfaces 120, 122, and/or 124 may be implemented with shared memory. Further, these interfaces may include non-physical aspects. For instance, these interfaces may be implemented through messages passed between processes or software modules. The embodiments, however, are not limited to these examples.
As shown in
User interface 106 facilitates user interaction with apparatus 100. This interaction may involve the input of information from a user and/or the output of information to a user. Accordingly, user interface 106 may include one or more devices, such as a keyboard (e.g., a full QWERTY keyboard), a keypad, a touch screen, a microphone, and/or an audio speaker.
Thus, through user interface 106, a user may engage in voice conversations. that involve the exchange of audio (e.g., voice) signals. Also, during such conversation, a user enter data (e.g., DTMF digits) for transmission across wireless networks. Entry of DTMF digits may involve a user pressing keys on a keypad. The embodiments, however, are not limited to this form of user input.
As described herein, embodiments may combine multiple DTMF symbols or digits in a single network message. Thus, DTMF messaging module 117 may wait according to certain timing parameters before providing a DTMF signaling message to transceiver 114 for wireless transmission. Details regarding an exemplary implementation of DTMF messaging module 117 are provided below with reference to
As described above, the elements of
The elements of
Burst DTMF detection module 202 receives DTMF digit notifications 220. With reference to
Upon the receipt of notifications 220, burst DTMF detection module 202 may generate one or more DTMF messaging directives 226. As shown in
Each DTMF messaging directive 226 may indicate one or more DTMF digits to be conveyed in a signaling message across a wireless link. The digit(s) included in a particular DTMF messaging directive 226 may be based on the arrival times of such digit(s). Thus, burst DTMF detection module 202 may employ timing module 204 in generating DTMF messaging directives 226.
For instance, burst DTMF detection module 202 may engage timing module 204 to determine when certain time periods have elapsed. For example, burst DTMF detection module 202 may generate a single DTMF messaging directive 226 for all DTMF digit notifications 220 that are received within a predetermined time interval. Alternatively, DTMF message processing module 206 may generate a single DTMF messaging directive 226 for a sequence of DTMF digit notifications 220 in which the elapsed times between all pairings of consecutive DTMF notifications 220 in the sequence are less than a predetermined time interval. The embodiments, however, are not limited to such timing implementations.
As described above, message processing module 206 receives DTMF messaging directives 226 from burst DTMF detection module 202. Upon receipt of these directives, message processing module 206 generates corresponding DTMF signaling messages 222. Thus, each DTMF signaling message 222 includes the DTMF digit(s) indicated in its corresponding DTMF message directive 226. These messages may be wirelessly transmitted to remote devices, such as cellular base stations. Thus, with reference to
After being transmitted wirelessly, DTMF signaling messages 222 may be received by a remote network entity (e.g., a mobile switching center (MSC)) and processed accordingly. For instance, the remote network entity may regenerate corresponding DTMF digits and send them across a public switched telephone network (PSTN). The embodiments, however, are not limited to this example.
In addition, such remote network entities may send messages that acknowledge reception of DTMF signaling messages 222. Accordingly,
Operations for the above embodiments may be further described with reference to the following figures and accompanying examples. Some of the figures may include a logic flow. Although such figures presented herein may include a particular logic flow, it can be appreciated that the logic flow merely provides an example of how the general functionality as described herein can be implemented. Further, the given logic flow does not necessarily have to be executed in the order presented, unless otherwise indicated. In addition, the given logic flow may be implemented by a hardware element, a software element executed by a processor, or any combination thereof. The embodiments are not limited in this context.
As described above, each DTMF signal generates its own set of messages in conventional GSM and UMTS networks. For example,
Thus,
The DTMF signaling approach of
In contrast, embodiments combine multiple DTMF digits into single message sets. For instance,
DTMF sequence message 326 is also referred to as a “burst DTMF” message because it may include information for one or more DTMF digits generated by device 302. With reference to
DTMF sequence message 326 may include one or more fields for each of these DTMF digit(s). These fields may be arranged to indicate the sequence in which its DTMF digits have been generated by device 302.
For example, DTMF sequence message 326 may include, for each of its DTMF digit(s), a digit value field, a digit start time field and a digit stop time field. The embodiments, however, are not limited to these exemplary fields. The digit value field indicates the value of the corresponding DTMF digit, the digit start time field indicates when the corresponding digit was initiated by device 302, and the digit stop time field indicates when the corresponding digit was concluded by device 302.
As an alternative (or an addition) to having a digit start time field and a digit stop time field for each of its DTMF digits, DTMF sequence message 326 may include a digit duration field that indicates the duration at which the corresponding digit was entered.
In embodiments, fields such as the digit start time field, the digit stop time field, and/or the digit duration field may be set to contain actual start, stop, and/or duration times. However, in embodiments, these fields may be automatically set to contain certain start times, stop times, and/or duration times. Such times may be based on various default settings of mobile device 302.
In addition, DTMF sequence message 326 may include a field (e.g., a header) that identifies the message as a burst DTMF message. Also, DTMF message 326 may include a field indicating a unique identifier (such as a serial number) so that it may be distinguished from other burst DTMF messages.
DTMF sequence ACK message 328 is a message that is specifically used for responding to DTMF sequence message 326. Thus, DTMF sequence ACK message 328 may have a specific identifier (e.g., a header) that identifies it as an acknowledgement message for a received burst DTMF message. Moreover, DTMF sequence ACK message 328 may include one or more fields indicating that it corresponds to a particular burst DTMF message (i.e., DTMF sequence message 326). Such field(s) may include the unique identifier (e.g., serial number) of DTMF sequence message 326.
As described above, existing wireless networks, such as cdma2000 systems, employ signaling messages that convey multiple DTMF digits. Conversely, such techniques are not currently employed in GSM and/or UMTS networks.
Moreover, cdma2000 systems employ layer 2 (L2) signaling messages to acknowledge DTMF messages sent by mobile devices. Layer 2 signaling messages are messages that provide for the correct transmission and reception of signaling messages. However, unlike layer 3 (L3) signaling, these messages do not concern protocol semantics and timing. Thus, these layer 2 acknowledgements are not particular to DTMF signaling and merely indicate reception of messages sent by the mobile device without regard for the type of signaling messages they are acknowledging.
The techniques described herein employ acknowledgment (ACK) messages that are sent from networks to mobile devices to confirm the receipt of burst DTMF messages by the network. As described above, embodiments employ DTMF-specific acknowledgement messages. More particularly, such DTMF-specific ACK messages (such as DTMF sequence ACK message 328) are sent only in response to burst DTMF messages (such as DTMF sequence message 326). Accordingly, such ACK messages are layer 3 (L3) or greater signaling messages because they concern communication protocol semantics and timing. Thus, cdma2000 networks do not employ DTMF-specific acknowledgment messages, as described herein.
Various timing requirements may be met by the reception of these notifications and/or the generation of these digits. For instance, the notifications may be received within a predetermined time interval. Alternatively, the DTMF digits may be generated within a predetermined time interval. As another alternative, the elapsed times between all pairings of consecutive notifications received at block 403 may be less than a predetermined time duration. As yet a further alternative, the elapsed times between all pairings of consecutive DTMF digits entered at block 402 may be less than a predetermined time duration. The embodiments, however, are not limited to these exemplary timing requirements.
Based on these signals, a block 404 generates a DTMF signaling message. This message represents the two or more DTMF digits, as these digits satisfy one or more timing requirements, such as one or more of the requirements described above. This DTMF signaling message may be a burst DTMF message, as described above with reference to
As indicated by a block 406, the device sends the DTMF signaling message across a wireless communications network, such as a GSM and/or UMTS network. Referring to
At a block 408, the one or more DTMF messages are received from the wireless communications network. Based on these messages, the network entity may, at a block 410, generate a corresponding acknowledgement (ACK) message (such as DTMF sequence ACK message 328 of
Based on the DTMF signaling message received at block 408, the corresponding two or more digits are regenerated by the network at a block 412. In particular, these digits are the digits generated by the device at block 402. As indicated by a block 414, these regenerated digits may then be sent (e.g., as conventional DTMF tone signals) across a telephony network. Such a network may be public switched telephony network (PSTN) or other network (wired or wireless). These digits may be sent to a terminal device coupled to the telephony network. Examples of such terminal devices include handsets and automated menu systems. The embodiments, however, are not limited to these examples.
As shown in
Also, device 502 may include a memory 508, a wired communications interface 512, a power supply (e.g., a battery) 514, and an expansion interface 516. These elements may be implemented in hardware, software, firmware, or any combination thereof.
Power supply 514 provides operational power to elements of device 502. Accordingly, power supply 514 may include a battery. Such a battery may be rechargeable and/or removable. Alternatively or additionally, power supply 514 may include an interface to an external power source, such as an alternating current (AC) source. However, the embodiments are not limited to these examples.
Memory 508 may store information in the form of data. For instance, memory 508 may contain application documents, e-mails, sound files, and/or images in either encoded or unencoded formats.
Alternatively or additionally, memory 508 may store control logic, instructions, and/or software components. These software components include instructions that can be executed by one or more processors. Such instructions may provide functionality of one or more elements. Exemplary elements include host 106, one or more components within radio module 102, and/or user interface 106.
Memory 508 may be implemented using any machine-readable or computer-readable media capable of storing data, including both volatile and non-volatile memory. For example, memory 508 may include read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, or any other type of media suitable for storing information. It is worthy to note that some portion or all of memory 508 may be included in other elements of system 500. For instance, some or all of memory 508 may be included on a same integrated circuit or chip with elements of apparatus 100 and/or apparatus 500. Alternatively some portion or all of memory 508 may be disposed on an integrated circuit or other medium, for example a hard disk drive, which is external. The embodiments are not limited in this context.
Wired communications interface 512 provides for the exchange of information with a device 506c (e.g., a proximate device), such as a personal computer. This exchange of information may be across one or more wired connections. Examples of such connections include USB interfaces, parallel interfaces, and/or serial interfaces. In addition, interface 512 may provide for such exchanges across wireless connections(s). An infrared interface is an example of such a connection. The information exchanged with such proximate devices, may include e-mail, calendar entries, contact information, as well as other information associated with personal information management applications. In addition, such information may include various application files, and content (e.g., audio, image, and/or video).
Wired communications interface 512 may include various components, such as a transceiver and control logic to perform operations according to one or more communications protocols. In addition, wired communications interface 512 may include input/output (I/O) adapters, physical connectors to connect the I/O adapter with a corresponding communications medium.
Expansion interface 516 may be in the form of an expansion slot, such as a secure digital (SD) slot. Accordingly, expansion interface 516 may accept memory, external radios (e.g., global positioning system (GPS), Bluetooth, WiFi radios, etc.), content, hard drives, and so forth. The embodiments, however, are not limited to SD slots. Other expansion interface or slot technology may include memory stick, compact flash (CF), as well as others.
Such wireless communications allow device 502 to communicate with various remote devices. For instance,
To provide such features, wireless network 504a may include a controller (e.g., a mobile switching center (MSC)) that receives DTMF messages, as described herein. The controller may be implemented in hardware, software, firmware, or any combination thereof. Upon receipt of such messages, the controller may generate DTMF signals that it sends across PSTN 504b. For example, such DTMF signals may be sent to terminal device 506b. The embodiments, however, are not limited to this context.
Numerous specific details have been set forth herein to provide a thorough understanding of the embodiments. It will be understood by those skilled in the art, however, that the embodiments may be practiced without these specific details. In other instances, well-known operations, components and circuits have not been described in detail so as not to obscure the embodiments. It can be appreciated that the specific structural and functional details disclosed herein may be representative and do not necessarily limit the scope of the embodiments.
Various embodiments may be implemented using hardware elements, software elements, or a combination of both. Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. These terms are not intended as synonyms for each other. For example, some embodiments may be described using the terms “connected” and/or “coupled” to indicate that two or more elements are in direct physical or electrical contact with each other. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
Some embodiments may be implemented, for example, using a machine-readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method and/or operations in accordance with the embodiments. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language.
Although the above description was made in the context of GSM and UMTS systems, the techniques described herein may be employed with other wireless telecommunications systems, such cellular radiotelephone systems compliant with the Third-Generation Partnership Project (3GPP), 3GPP2, and so forth. However, the embodiments are not limited to these examples. For example, various 4G systems may be employed.
Further, although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.