Device-initiated codec rate change during a voice call
Claim Score by NHIP
Abstract
A method for initiating a codec rate change during a VoIP call by a wireless communication device is disclosed. The method can include the wireless communication device establishing a first codec rate for use in the VoIP call during a call establishment phase; using the first codec rate to encode voice data for transmission during a first portion of the VoIP call; determining a channel quality while using the first codec rate; determining that the channel quality satisfies a threshold for requesting a codec rate change; requesting a codec rate change from the first codec rate to a second codec rate in response to the channel quality satisfying the threshold; and using the second codec rate to encode voice data for transmission during a second portion of the VoIP call.

Term
7.4 yearsto projected expiry
Projected expiry 26 February 2034, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1A method for initiating a codec rate change during a voice over Long Term Evolution (VoLTE) call by a wireless communication device including a physical layer and a real-time transport protocol (RTP) layer, the method comprising the wireless communication device:establishing a first codec rate for use in the VoLTE call during a call establishment phase;using the first codec rate to encode voice data for transmission during a first portion of the VoLTE call;determining a channel quality at the physical layer while using the first codec rate;determining that the channel quality satisfies a threshold for requesting a codec rate change;providing an indication that the channel quality satisfies the threshold to the RTP layer;requesting, at the RTP layer, a codec rate change from the first codec rate to a second codec rate in response to the indication that the channel quality satisfies the threshold;and using the second codec rate to encode voice data for transmission during a second portion of the VoLTE call.
- 10Broadest claimClaim Score 46, average(NHIP)A wireless communication device comprising:a transceiver configured to transmit data and receive data via a Long Term Evolution (LTE) network;and processing circuitry coupled with the transceiver, the processing circuitry configured to control the wireless communication device to at least: establish a first codec rate for use in a voice over LTE (VoLTE) call during a call establishment phase;use the first codec rate to encode voice data for transmission during a first portion of the VoLTE call;determine a channel quality while using the first codec rate;determine that the channel quality satisfies a threshold for requesting a codec rate change;request a codec rate change from the first codec rate to a second codec rate in response to the channel quality satisfying the threshold;and use the second codec rate to encode voice data for transmission during a second portion of the VoLTE call.
- 17A computer program product for initiating a codec rate change during a voice over Internet Protocol (VoIP) call by a wireless communication device, the computer program product comprising at least one non-transitory computer readable storage medium having computer program code stored thereon, the computer program code comprising:program code for establishing a first codec rate for use in the VoIP call during a call establishment phase, wherein the VoIP call is supported over a wireless connection between the wireless communication device and a wireless network access point;program code for using the first codec rate to encode voice data for transmission during a first portion of the VoIP call;program code for determining a channel quality while using the first codec rate;program code for determining that the channel quality satisfies a threshold for requesting a codec rate change;program code for requesting a codec rate change from the first codec rate to a second codec rate in response to the channel quality satisfying the threshold;and program code for using the second codec rate to encode voice data for transmission during a second portion of the VoIP call.
Independent claims3
103 paragraphs in 5 sections, as filed
FIELD OF THE DESCRIBED EMBODIMENTS
0001The described embodiments relate generally to communication technology and more particularly to initiation of a codec rate change by a wireless communication device during a voice over Internet Protocol (VoIP) call.
BACKGROUND
0002Wireless communication devices participating in a VoIP call, such as a voice over Long Term Evolution (VoLTE) call, can use an audio codec to encode and decode audio data exchanged during the call. Audio codecs can have a codec rate, which can define a bit rate used to encode audio data, and thus the size of an audio data packet resulting from encoding an audio data sample (usually 20 milliseconds of audio data in VoLTE calls) at the codec rate.
0003The amount of data that a wireless communication device can send and/or receive over a radio link that can be used to support a VoIP call can depend on radio frequency (RF) channel conditions. As such, the codec rate selected for use during call establishment can be selected based on channel conditions existing at the outset of the call. However, channel conditions can fluctuate over time, and a wireless communication device can experience a wide range of condition during a communication session. For example, a wireless communication device participating in a call can enter an area with poor RF conditions during the call, and can be unable to successfully send encapsulated vocoder packets encoded at the codec rate chosen during the call establishment phase. This inability to successfully send encapsulated vocoder packets can cause interruptions in the call and, in some instances, can even cause the call to drop, thus negatively impacting user experience.
BRIEF SUMMARY OF SOME DISCLOSED EMBODIMENTS
0004Some embodiments disclosed herein provide for initiation of a codec rate change by a wireless communication device during a VoIP call, such as a VoLTE call. More particularly, a wireless communication device in accordance with some example embodiments can request a codec rate change during a call in response to determining that a channel quality observed by the wireless communication device satisfies a defined threshold for requesting a codec rate change. For example, in some embodiments, channel quality can be observed at a physical layer of a wireless communication device and, if an observed channel quality satisfies a threshold for requesting a codec rate change, the device can request a codec rate change at a real-time transport protocol (RTP) layer of the device. As such, if channel conditions degrade during a call, the device can initiate a codec rate change to a lower codec rate to enable successful transmission of encoded voice data in the degraded channel conditions. Further, in some example embodiments, if channel conditions improve to a point that a higher codec rate can be accommodated, a codec rate change to a higher codec rate can be requested so that higher quality audio can be provided in the call. Accordingly, user experience can be improved by reduced audio interruptions and call drops. Further, in some embodiments, user experience can be improved in an instance in which channel conditions improve during the call by switching to a higher codec rate providing a higher audio quality.
0005In a first example embodiment, a method for initiating a codec rate change during a VoIP call by a wireless communication device is provided. The VoIP call can, for example, be a VoLTE call. The method can include the wireless communication device establishing a first codec rate for use in the VoIP call during a call establishment phase; using the first codec rate to encode voice data for transmission during a first portion of the VoIP call; determining a channel quality while using the first codec rate; determining that the channel quality satisfies a threshold for requesting a codec rate change; requesting a codec rate change from the first codec rate to a second codec rate in response to the channel quality satisfying the threshold; and using the second codec rate to encode voice data for transmission during a second portion of the VoIP call.
0006In some implementations of the first example embodiment, the wireless communication device can include a physical layer and an RTP layer. In some such implementations, the channel quality can be determined at the physical layer and the codec rate change can be requested at the RTP layer in response to an indication being provided to the RTP layer that the channel quality satisfies the threshold for requesting a codec rate change.
0007In a second example embodiment, a wireless communication device comprising a transceiver and processing circuitry coupled with the transceiver is provided. The transceiver can be configured to transmit data and receive data via a wireless network. In some implementations, the transceiver can be configured to transmit data and receive data via a Long Term Evolution (LTE) network. The processing circuitry can be configured to control the wireless communication device to establish a first codec rate for use in a VoIP call during a call establishment phase. The VoIP call can, for example, be a VoLTE call. The processing circuitry can be further configured to control the wireless communication device to use the first codec rate to encode voice data for transmission during a first portion of the VoIP call; determine a channel quality while using the first codec rate; determine that the channel quality satisfies a threshold for requesting a codec rate change; request a codec rate change from the first codec rate to a second codec rate in response to the channel quality satisfying the threshold; and use the second codec rate to encode voice data for transmission during a second portion of the VoIP call.
0008In some implementations of the second example embodiment, the wireless communication device can include a physical layer and an RTP layer. In some such implementations, the processing circuitry can be configured to further control the wireless communication device to determine the channel quality at the physical layer; provide an indication to the RTP layer that the channel quality satisfies the threshold; and request the codec rate change at the RTP layer in response to the indication that the channel quality satisfies the threshold.
0009In a third example embodiment, a computer program product for initiating a codec rate change during a VoIP call by a wireless communication device is provided. The VoIP call can, for example, be a VoLTE call. The computer program product can include at least one non-transitory computer readable storage medium having computer program code stored thereon. The computer program code of the third example embodiment can include program code for establishing a first codec rate for use in the VoIP call during a call establishment phase; program code for using the first codec rate to encode voice data for transmission during a first portion of the VoIP call; program code for determining a channel quality while using the first codec rate; program code for determining that the channel quality satisfies a threshold for requesting a codec rate change; program code for requesting a codec rate change from the first codec rate to a second codec rate in response to the channel quality satisfying the threshold; and program code for using the second codec rate to encode voice data for transmission during a second portion of the VoIP call.
0010In some implementations of the third example embodiment, the wireless communication device can include a physical layer and an RTP layer. In some such implementations, the computer program code can include program code for determining the channel quality at the physical layer; program code for providing an indication to the RTP layer that the channel quality satisfies the threshold; and program code for requesting the codec rate change at the RTP layer in response to the indication that the channel quality satisfies the threshold.
0011In a fourth example embodiment, an apparatus for initiating a codec rate change during a VoIP call by a wireless communication device is provided. The VoIP call can, for example, be a VoLTE call. The apparatus of the fourth example embodiment can include means for establishing a first codec rate for use in the VoIP call during a call establishment phase; means for using the first codec rate to encode voice data for transmission during a first portion of the VoIP call; means for determining a channel quality while using the first codec rate; means for determining that the channel quality satisfies a threshold for requesting a codec rate change; means for requesting a codec rate change from the first codec rate to a second codec rate in response to the channel quality satisfying the threshold; and means for using the second codec rate to encode voice data for transmission during a second portion of the VoIP call.
0012In some implementations of the fourth example embodiment, the wireless communication device can include a physical layer and an RTP layer. In some such implementations, the apparatus can include means for determining the channel quality at the physical layer; means for providing an indication to the RTP layer that the channel quality satisfies the threshold; and means for requesting the codec rate change at the RTP layer in response to the indication that the channel quality satisfies the threshold.
0013This Summary is provided merely for purposes of summarizing some example embodiments so as to provide a basic understanding of some aspects of the disclosure. Accordingly, it will be appreciated that the above described example embodiments are merely examples and should not be construed to narrow the scope or spirit of the disclosure in any way. Other embodiments, aspects, and advantages will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the described embodiments.
BRIEF DESCRIPTION OF THE DRAWINGS
0014The described embodiments and the advantages thereof may best be understood by reference to the following description taken in conjunction with the accompanying drawings. These drawings in no way limit any changes in form and detail that may be made to the described embodiments by one skilled in the art without departing from the spirit and scope of the described embodiments.
0015<figref idref="DRAWINGS">FIG. 1</figref> illustrates a wireless communication system in accordance with some example embodiments.
0016<figref idref="DRAWINGS">FIG. 2</figref> illustrates a block diagram of an apparatus that can be implemented on a wireless communication device in accordance with some example embodiments.
0017<figref idref="DRAWINGS">FIG. 3</figref> illustrates a system layer diagram of example system layers that can be implemented on a wireless communication device in accordance with some example embodiments.
0018<figref idref="DRAWINGS">FIG. 4</figref> illustrates a flow chart according to an example method for initiating a codec rate change during a voice over Internet Protocol VoIP call in accordance with some example embodiments.
0019<figref idref="DRAWINGS">FIG. 5</figref> illustrates a flow chart according to another example method for initiating a codec rate change during a voice over Internet Protocol VoIP call in accordance with some example embodiments.
0020<figref idref="DRAWINGS">FIG. 6</figref> illustrates a flow chart according to an example method for applying a hysteresis condition after switching codec rates during a call in accordance with some example embodiments.
0021<figref idref="DRAWINGS">FIG. 7</figref> illustrates a signaling diagram according to an example method for initiating a codec rate change during a voice over Internet Protocol VoIP call in accordance with some example embodiments.
0022<figref idref="DRAWINGS">FIG. 8</figref> illustrates a signaling diagram according to another example method for initiating a codec rate change during a voice over Internet Protocol VoIP call in accordance with some example embodiments.
DETAILED DESCRIPTION OF SELECTED EMBODIMENTS
0023Various example embodiments disclosed herein can enable a wireless communication device to more readily adapt to changing channel conditions during a VoIP call, such as a VoLTE call, thereby improving user experience. In this regard, some example embodiments provide a wireless communication device configured to request a codec rate change during a call in response to determining that a channel quality observed by the wireless communication device satisfies a defined threshold for requesting a codec rate change. As such, if channel conditions degrade during a call, the wireless communication device of some example embodiments can initiate a codec rate change to a lower codec rate to enable successful transmission of encoded voice data in the degraded channel conditions. Accordingly, user experience can be improved by reduced audio interruptions and call drops. Further, in some example embodiments, if channel conditions improve to a point that a higher codec rate can be accommodated, a codec rate change to a higher codec rate can be requested so that higher quality audio can be provided in the call, thereby improving user experience.
0024<figref idref="DRAWINGS">FIG. 1</figref> illustrates a wireless communication system <b>100</b> in accordance with some example embodiments. The wireless communication system <b>100</b> can include a plurality of communication devices, including the wireless communication device <b>102</b> and second communication device <b>104</b>.
0025The wireless communication device <b>102</b> can be any communication device configured to wirelessly access a network, such as the network <b>106</b>, via a radio access technology (RAT) and engage in a communication session with another device over the network. By way of non-limiting example, the wireless communication device <b>102</b> can be embodied as a cellular phone, such as a smart phone device, a tablet computing device, a laptop computing device, or other computing device that can be configured to wirelessly access a network.
0026As illustrated in <figref idref="DRAWINGS">FIG. 1</figref>, the wireless communication device <b>102</b> can wirelessly access network <b>106</b> via the wireless network access point <b>108</b>. The wireless network access point <b>108</b> can be embodied as any access point that can be configured to wirelessly provide network access to a wireless communication device, such as wireless communication device <b>102</b>. For example, in some embodiments, wireless network access point <b>108</b> can be embodied as a cellular base station, such as, by way of non-limiting example, a base transceiver station (BTS), node B, evolved node B (eNB), femtocell, and/or other type of cellular base station. As a further example, in some embodiments, wireless network access point <b>108</b> can be embodied as a wireless local area network (WLAN) access point, such as a wireless router, wireless bridge, and/or other type of access point that can be used to access a WLAN. It will be appreciated, however, that the foregoing example embodiments of the wireless network access point <b>108</b> are non-limiting, and that the embodiment of the wireless network access point <b>108</b> can vary depending on a type of RAT used for communication between the wireless communication device <b>102</b> and wireless network access point <b>108</b>.
0027Any present or future RAT capable of supporting a VoIP call can be used for communication between wireless communication device <b>102</b> and wireless network access point <b>108</b> within the scope of the disclosure. For example, in some embodiments, such as in some embodiments in which wireless network access point <b>108</b> is embodied as a cellular base station, a cellular RAT supporting VoIP communication can be used for communication between wireless communication device <b>102</b> and wireless network access point <b>108</b>. For example, in some embodiments in which a cellular RAT is used, a fourth generation (4G) RAT, such as an Long Term Evolution (LTE) RAT capable of supporting VoLTE calls, including LTE, LTE-Advanced (LTE-A), and/or the like can be used for communication between wireless communication device <b>102</b> and wireless network access point <b>108</b>. It will be appreciated, however, that LTE and other 4G cellular RATs are provided by way of example, and not by way of limitation. In this regard, other present or future developed cellular RATs, including various fifth generation (5G) RATs now in development, that can support VoIP calls can be used for communication between wireless communication device <b>102</b> and wireless network access point <b>108</b> within the scope of the disclosure.
0028In some example embodiments, a non-cellular RAT can be used for communication between wireless communication device <b>102</b> and wireless network access point <b>108</b>. For example, in some embodiments, such as some embodiments in which wireless network access point <b>108</b> is embodied as a WLAN access point, a WLAN RAT, such as an Institute of Electrical and Electronics Engineers (IEEE) standardized Wi-Fi RAT (e.g., IEEE 802.11 a/b/g/n/ac/ad/etc.), can be used for communication between wireless communication device <b>102</b> and wireless network access point <b>108</b>. In this regard, it will be appreciated that any RAT capable of supporting VoIP calls can be used for communication between the wireless communication device <b>102</b> and wireless network access point <b>108</b> within the scope of the disclosure.
0029The second communication device <b>104</b> can be any communication device that can be configured to participate in a voice call with one or more further communication devices, such as wireless communication device <b>102</b>. In some example embodiments, the second communication device <b>104</b> can also be a wireless communication device, and thus can be embodied similarly to wireless communication device <b>102</b> and can access the network <b>106</b> via a wireless connection to a wireless network access point, such as a wireless network access point <b>108</b>. In such embodiments, the second communication device <b>104</b> can use any present or future RAT, including, for example, one or more of the RATs described above with respect to the wireless communication device <b>102</b> to access the network <b>106</b> and engage in a voice call with the wireless communication device <b>102</b>. It will be appreciated, however, that in some embodiments, second communication device <b>104</b> can access the network <b>106</b> and participate in a communication session with wireless communication device <b>102</b> via a wireline connection to the network <b>106</b>.
0030In some example embodiments in which the second communication device <b>104</b> can wirelessly access the network <b>106</b> to engage in a voice call with wireless communication device <b>102</b>, the second communication device <b>104</b> can also use a VoIP connection to support the voice call, such that the voice call can be an end-to-end VoIP call. For example in some example embodiments in which both the wireless communication device <b>102</b> and second communication device <b>104</b> access a network (or networks) using an LTE RAT, the wireless communication device <b>102</b> and second communication device <b>104</b> can engage in an end-to-end VoLTE call.
0031The network <b>106</b> can be embodied as any network or combination of networks that can support a voice call and/or other communication between two or more communication devices, such as wireless communication device <b>102</b> and second communication device <b>104</b>. By way of non-limiting example, the network <b>106</b> can include one or more wireless networks (e.g., one or more cellular networks, one or WLANs, and/or the like), one or more wireline networks, or some combination thereof, and, in some example embodiments, can include the Internet. In some example embodiments, the network <b>106</b> can be configured to support end-to-end Internet Protocol (IP) communication such that a call between the wireless communication device <b>102</b> and second communication device <b>104</b> can be supported as an end-to-end VoIP call. For example, in some example embodiments, the network <b>106</b> can include an IP Multimedia Subsystem (IMS) configured to support a VoLTE and/or other VoIP call between the wireless communication device <b>102</b> and second communication device <b>104</b>.
0032The wireless communication device <b>102</b> and second communication device <b>104</b> can be configured to establish a voice call and/or other communication session with each other via any technique that can be used to initiate and establish a communication session. For example, in some embodiments, one of the wireless communication device <b>102</b> and second communication device <b>104</b> (e.g., the calling communication device) can place a call to the other of the wireless communication device <b>102</b> and second communication device <b>104</b> (e.g., the called communication device) to initiate a voice call.
0033<figref idref="DRAWINGS">FIG. 2</figref> illustrates a block diagram of another example apparatus that can be implemented on a communication device, such as wireless communication device <b>102</b> and/or second communication device <b>104</b>, in accordance with some embodiments. In this regard, <figref idref="DRAWINGS">FIG. 2</figref> illustrates an apparatus <b>200</b> that can, when implemented on a computing device, such as wireless communication device <b>102</b> and/or second communication device <b>104</b>, enable the computing device to operate within the system <b>100</b> in accordance with one or more example embodiments. It will be appreciated that the components, devices or elements illustrated in and described with respect to <figref idref="DRAWINGS">FIG. 2</figref> below may not be mandatory and thus some may be omitted in certain embodiments. Additionally, some embodiments can include further or different components, devices or elements beyond those illustrated in and described with respect to <figref idref="DRAWINGS">FIG. 2</figref>.
0034In some example embodiments, the apparatus <b>200</b> can include processing circuitry <b>210</b> that is configurable to perform actions in accordance with one or more example embodiments disclosed herein. In this regard, the processing circuitry <b>210</b> can be configured to perform and/or control performance of one or more functionalities of a communication device in accordance with various example embodiments, and thus can provide means for performing functionalities of a communication device, such as wireless communication device <b>102</b> and/or second communication device <b>104</b>, in accordance with various example embodiments. The processing circuitry <b>210</b> can be configured to perform data processing, application execution and/or other processing and management services according to one or more example embodiments.
0035In some embodiments, the apparatus <b>200</b> or a portion(s) or component(s) thereof, such as the processing circuitry <b>210</b>, can include one or more chipsets, which can each include one or more chips. The processing circuitry <b>210</b> and/or one or more further components of the apparatus <b>200</b> can therefore, in some instances, be configured to implement an embodiment on a single chip or chipset. In some example embodiments in which one or more components of the apparatus <b>200</b> are embodied as a chipset, the chipset can be capable of enabling a computing device to operate in the system <b>100</b> when implemented on or otherwise operably coupled to the computing device. For example, in some embodiments, one or more components of the apparatus <b>200</b> can provide a physical layer interface chipset, such as a cellular baseband chipset, that can be used to support communication with the wireless network access point <b>108</b>.
0036In some example embodiments, the processing circuitry <b>210</b> can include a processor <b>212</b> and, in some embodiments, such as that illustrated in <figref idref="DRAWINGS">FIG. 2</figref>, can further include memory <b>214</b>. The processing circuitry <b>210</b> can be in communication with or otherwise control a transceiver <b>216</b>, channel quality measurement module <b>218</b>, threshold evaluation module <b>220</b>, and/or codec change request module <b>222</b>.
0037The processor <b>212</b> can be embodied in a variety of forms. For example, the processor <b>212</b> can be embodied as various hardware-based processing means such as a microprocessor, a coprocessor, a controller or various other computing or processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), some combination thereof, or the like. Although illustrated as a single processor, it will be appreciated that the processor <b>212</b> can comprise a plurality of processors. The plurality of processors can be in operative communication with each other and can be collectively configured to perform one or more functionalities of a communication device as described herein. In some example embodiments, the processor <b>212</b> can be configured to execute instructions that can be stored in the memory <b>214</b> or that can be otherwise accessible to the processor <b>212</b>. As such, whether configured by hardware or by a combination of hardware and software, the processor <b>212</b> capable of performing operations according to various embodiments while configured accordingly.
0038In some example embodiments, the memory <b>214</b> can include one or more memory devices. Memory <b>214</b> can include fixed and/or removable memory devices. In some embodiments, the memory <b>214</b> can provide a non-transitory computer-readable storage medium that can store computer program instructions that can be executed by the processor <b>212</b>. In this regard, the memory <b>214</b> can be configured to store information, data, applications, instructions and/or the like for enabling the apparatus <b>200</b> to carry out various functions in accordance with one or more example embodiments. In some embodiments, the memory <b>214</b> can be in communication with one or more of the processor <b>212</b>, transceiver <b>216</b>, channel quality measurement module <b>218</b>, threshold evaluation module <b>220</b>, or codec change request module <b>222</b> via a bus (or buses) for passing information among components of the apparatus <b>200</b>.
0039The apparatus <b>200</b> can further include a transceiver <b>216</b>. The transceiver <b>216</b> can be configured to enable the apparatus <b>200</b> to send (e.g., transmit) wireless signals to and receive signals from a wireless network via a connection to a wireless network access point, such as the wireless network access point <b>108</b>. As such, the transceiver <b>216</b> can be configured to support any type of RAT that may be used to support communication over a wireless channel between a communication device and a network. Thus, for example, the transceiver <b>216</b> can be configured to support communication via any type of RAT that can be used for communication between a wireless communication device and a wireless network access point <b>108</b>.
0040The apparatus <b>200</b> can further include the channel quality measurement module <b>218</b>. The channel quality measurement module <b>218</b> can be embodied as various means, such as circuitry, hardware, a computer program product comprising a computer readable medium (for example, the memory <b>214</b>) storing computer readable program instructions that are executable by a processing device (for example, the processor <b>212</b>), or some combination thereof. In some example embodiments, the channel quality measurement module <b>218</b> can be at least partially implemented by a physical layer of a wireless communication device, such as wireless communication device <b>102</b>.
0041The channel quality measurement module <b>218</b> can be configured to measure and/or otherwise observe channel conditions during a VoIP call. In this regard, the channel quality measurement module <b>218</b> can be configured to measure and/or otherwise observe any metric that can be indicative of a channel condition (e.g., an RF condition) of a channel used to support a VoIP call.
0042For example, in some embodiments, the channel quality measurement module <b>218</b> can be configured to measure a signal quality of a channel. The measured signal quality can, for example, include measurement of a reference signal received power (RSRP), received signal strength indicator (RSSI), reference signal received quality (RSRQ), and/or the like for the channel.
0043As another example, the channel quality measurement module <b>218</b> of some example embodiments can be configured to determine an error rate encountered in a VoIP call on the uplink (UL) and/or on the downlink (DL). For example, the channel quality measurement module <b>218</b> of some example embodiments can be configured to determine an error rate based on Hybrid Automatic Repeat Request (HARD) processing for data received on the DL. Additionally or alternatively, the channel quality measurement module <b>218</b> of some example embodiments can be configured to determine an error rate for the UL based on a quantity of non-acknowledgements (NACKs) and/or acknowledgements (ACKs) received from the network.
0044As yet a further example, the channel quality measurement module <b>218</b> of some example embodiments can be configured to determine a resource grant and/or other allocation by a serving network that can be indicative of a channel quality. For example, in some embodiments, the channel quality measurement module <b>218</b> can be configured to determine a modulation and coding scheme (MCS) allocation (e.g., a past and/or present MCS allocation) allocated to a wireless communication device on which the apparatus <b>200</b> is implemented.
0045The apparatus <b>200</b> can also include threshold evaluation module <b>220</b>. The threshold evaluation module <b>220</b> can be embodied as various means, such as circuitry, hardware, a computer program product comprising a computer readable medium (for example, the memory <b>214</b>) storing computer readable program instructions that are executable by a processing device (for example, the processor <b>212</b>), or some combination thereof.
0046The threshold evaluation module <b>220</b> can be configured to apply channel quality thresholds for requesting a codec rate change in accordance with various example embodiments. In this regard, in some example embodiments, a given codec rate can have a defined association with one or more thresholds for requesting a codec rate change. In some example embodiments, each respective codec rate that can be used by a wireless communication device in a call can have an associated threshold(s) for requesting a codec rate change. In this regard, as the codec rate can affect the size of an encoded vocoder packet, each respective codec rate can have an associated channel quality threshold(s) that can be defined based on the size of a vocoder packet encoded at the codec rate. Thus, for example, a threshold channel quality can be defined such that if channel conditions degrade below the threshold channel quality, a lower codec rate can be requested to improve the likelihood of successful transmission of encoded audio data (e.g., encoded vocoder packets) at the given RF conditions.
0047In some example embodiments, a codec rate can have a defined association with both one or more good channel quality thresholds for requesting codec rate increase (e.g., in good, or improving channel conditions) and one or more poor channel quality thresholds for requesting a codec rate decrease (e.g., in poor, or degrading channel conditions) such that the good channel quality threshold(s) and poor channel quality threshold(s) can define a window of channel conditions in which the codec rate is used. If channel conditions improve to exceed a good channel quality threshold, a higher codec rate can be requested, as the channel can support larger vocoder packets, which can provide higher audio quality. Similarly, if channel conditions degrade below a poor channel quality threshold, a lower codec rate can be requested to improve the likelihood of successful transmission of encoded audio data.
0048The threshold evaluation module <b>220</b> can accordingly be configured to compare a channel quality measured by the channel quality measurement module <b>218</b> to a threshold associated with a codec rate being used to encode audio data for transmission in a VoIP call to determine if a codec rate change should be requested. For example, if the channel quality measurement module <b>218</b> measures a signal quality, such as RSRP, RSSI, RSRQ, and/or the like, the threshold evaluation module <b>220</b> can be configured to compare the measured signal quality to a threshold signal quality, such as a threshold RSRP, threshold RSSI, threshold RSRQ, and/or the like. In this regard, if a measured signal quality is less than a threshold signal quality indicative of a poor channel quality for the codec rate being used, a threshold for requesting a lower codec rate can be satisfied. Similarly, for example, if a measured signal quality is greater than a threshold signal quality indicative of good channel quality, then a threshold for requesting a higher codec rate can be satisfied.
0049As a further example, if the channel quality measurement module <b>218</b> determines an error rate encountered in a VoIP call, the threshold evaluation module <b>220</b> can be configured to compare the experienced error rate to a threshold error rate. Thus, for example, if the error rate exceeds a threshold error rate indicative of a poor channel quality for the codec rate being used, a threshold for requesting a lower codec rate can be satisfied. Similarly, for example, if the error rate is less than a threshold signal quality indicative of good channel quality, then a threshold for requesting a higher codec rate can be satisfied.
0050As yet another example, if the channel quality measurement module <b>218</b> determines a resource allocation, such as an MCS allocation, the threshold evaluation module <b>220</b> can be configured to evaluate whether the allocated resource satisfies a resource threshold sufficient to accommodate the size of a voice packet (e.g., a vocoder packet) encoded at the current codec rate. For example, in some embodiments, the threshold evaluation module <b>220</b> can be configured to determine whether a voice packet encoded at the current voice packet will fit into a single transmission time interval (TTI) given the MCS allocation. In this regard, the amount of data that a wireless communication device can transmit on an UL in a single TTI can be defined at least in part by an MCS allocation. Thus, for example, if the threshold evaluation module <b>220</b> determines that a voice packet encoded at the present codec rate is too large to transmit in a single TTI given the MCS allocation, the threshold evaluation module <b>220</b> can determine that a threshold for requesting a lower codec rate has been satisfied.
0051In some example embodiment, the threshold evaluation module <b>220</b> can be configured to determine that a threshold for requesting a codec rate change has been satisfied only if the channel quality has satisfied the threshold for more than a single channel quality measurement. For example, in some example embodiments, the threshold evaluation module <b>220</b> can be configured to determine that a threshold for requesting a codec rate change has been satisfied if the channel quality has satisfied the threshold for an amount of time exceeding some threshold period of time, such as can be measured with a timer. As a further example, in some example embodiments, the threshold evaluation module <b>220</b> can be configured to determine that a threshold for requesting a codec rate change has been satisfied if there have been a defined number, n, channel quality measurements that have satisfied the threshold. For example, in some embodiments, the threshold evaluation module <b>220</b> can be configured to determine that a codec rate change should be requested only if the last n consecutive channel quality measurements provided by the channel quality measurement module <b>218</b> have satisfied the threshold. As another example, in some embodiments, the threshold evaluation module <b>220</b> can be configured to determine that a codec rate change should be requested only if n of the last m, where m is an integer larger than n, channel quality measurements provided by the channel quality measurement module <b>218</b> have satisfied the threshold. In this regard, the threshold evaluation module <b>220</b> of some example embodiments can be configured to evaluate whether a threshold has been satisfied over a period of time to avoid ping ponging between codec rates in response to a transient channel condition.
0052The apparatus <b>200</b> can further include codec change request module <b>222</b>. The codec change request module <b>222</b> can be embodied as various means, such as circuitry, hardware, a computer program product comprising a computer readable medium (for example, the memory <b>214</b>) storing computer readable program instructions that are executable by a processing device (for example, the processor <b>212</b>), or some combination thereof. In some example embodiments, the codec change request module <b>222</b> can be at least partially implemented within an RTP layer of a wireless communication device, such as wireless communication device <b>102</b>.
0053In an instance in which a threshold for requesting a codec rate change is determined to be satisfied by the threshold evaluation module <b>220</b>, the threshold evaluation module <b>220</b> can be configured to provide an indication that the channel quality satisfies a threshold for requesting a codec rate change to the codec change request module <b>222</b>. In some example embodiments, the indication can include an indication of whether a good channel quality threshold has been satisfied such that an increased codec rate should be requested or whether a poor channel quality threshold has been satisfied such that a lower codec rate should be requested. In some example embodiments, the indication can specify a codec rate that should be requested. However, in some example embodiments, the exact codec rate to be requested can be understood based on predefined policy (e.g., one codec rate level higher than the present codec rate or one codec rate lower than the present codec rate) or, in some embodiments, can be left to the discretion of the codec change request module <b>222</b>.
0054The codec change request module <b>222</b> can be configured to request a codec rate change to another codec rate in response to the indication. For example, in some embodiments, the codec change request module <b>222</b> can be configured to format and send a codec mode request (CMR) message requesting a change in codec rate.
0055In some example embodiments, a request to change codec rate, such as a CMR message, can be sent to another device participating in the VoIP call. For example, in some embodiments, the wireless communication device <b>102</b> can be configured to send a request to change codec rate to the second communication device <b>104</b>.
0056Additionally or alternatively, in some example embodiments, a request to change codec rate, such as a CMR message, can be sent to a network entity that can be responsible for arbitrating codec rate change requests. For example, in some embodiments, a request to change the codec rate can be sent to wireless network access point <b>108</b>, a core network entity, or an IMS entity, such as a Multimedia Telephony Service for IMS (MTSI) media gateway (MGW).
0057<figref idref="DRAWINGS">FIG. 3</figref> illustrates a system layer diagram <b>300</b> of example system layers that can be implemented on a wireless communication device, such as wireless communication device <b>102</b>, in accordance with some example embodiments. The system layers can include an RTP layer <b>302</b>. The RTP layer <b>302</b> can be a transport layer (e.g., layer 4 in the Open Systems Interconnection model), which can be responsible for providing end-to-end communication services for a VoIP call. In some example embodiments, the codec change request module <b>222</b> can be implemented within and/or can be configured to control at least some functionality of the RTP layer <b>302</b> such that a request for a codec rate change can be performed at the RTP layer <b>302</b> in some example embodiments.
0058The system layers can further include physical layer <b>306</b>, which can be the physical (PHY) layer, or layer 1 in the Open Systems Interconnection model. The physical layer <b>306</b> can include the networking hardware, such as transceiver <b>216</b> to support communication with the wireless network access point <b>108</b> in support of a VoIP call. In some example embodiments, the channel quality measurement module <b>218</b> can be implemented within and/or can be configured to control at least some functionality of the physical layer <b>306</b> such that a channel quality can be determined at the physical layer <b>306</b> in some example embodiments.
0059A threshold evaluation module layer <b>304</b> can function as an intermediary between the RTP layer <b>302</b> and the physical layer <b>306</b>. The threshold evaluation module layer <b>304</b> can, for example, be an embodiment of threshold evaluation module <b>220</b>. The threshold evaluation module layer <b>304</b> can be configured to evaluate a channel quality determined at the physical layer <b>306</b> to determine if a threshold for requesting a codec rate change has been satisfied. If a threshold for requesting a codec rate change has been satisfied, the threshold evaluation module layer <b>304</b> can be configured to provide an indication to the RTP layer <b>302</b> to prompt the RTP layer <b>302</b> to request a codec rate change.
0060In some example embodiments, the threshold evaluation module layer <b>304</b> can be implemented within an intermediary layer disposed between the RTP layer <b>302</b> and physical layer <b>306</b> that is configured to interact with both the RTP layer <b>302</b> and the physical layer <b>306</b>, as illustrated in <figref idref="DRAWINGS">FIG. 3</figref>. However, in some example embodiments, the threshold evaluation module layer <b>304</b> can be implemented at least partially within the physical layer <b>306</b> such that evaluation of whether a threshold for requesting a codec change has been satisfied can be performed within the physical layer <b>306</b> of some example embodiments. Alternatively, in some example embodiments, the threshold evaluation module layer <b>304</b> can be implemented at least partially within the physical layer <b>306</b> such that evaluation of whether a threshold for requesting a codec change has been satisfied can be performed within the RTP layer <b>302</b> of some example embodiments.
0061It will be appreciated that the system layer diagram <b>300</b> is provided by way of example, and not by way of limitation. In this regard, the system layer diagram <b>300</b> is not to be taken as being comprehensive of all system layers that may be implemented on a wireless communication device, such as wireless communication device <b>102</b>. For example, one or more intermediate layers can be implemented between respective ones of the system layers <b>300</b> in accordance with some example embodiments. As a further example, one or more layers can be implemented above the RTP layer <b>302</b>. Further, as described above, alternative arrangements in which the threshold evaluation module layer <b>304</b> is integrated into the RTP layer <b>302</b> or into the physical layer <b>306</b> are contemplated within the scope of the disclosure.
0062<figref idref="DRAWINGS">FIG. 4</figref> illustrates a flow chart according to an example method for initiating a codec rate change during a VoIP call in accordance with some example embodiments. In this regard, <figref idref="DRAWINGS">FIG. 4</figref> illustrates operations that can be performed by a wireless communication device, such as wireless communication device <b>102</b>, in accordance with some example embodiments. One or more of processing circuitry <b>210</b>, processor <b>212</b>, memory <b>214</b>, transceiver <b>216</b>, channel quality measurement module <b>218</b>, threshold evaluation module <b>220</b>, or codec change request module <b>222</b> can, for example, provide means for performing the operations illustrated in and described with respect to <figref idref="DRAWINGS">FIG. 4</figref>.
0063At operation <b>400</b>, a VoIP call can be initiated. The VoIP call can be initiated by the wireless communication device <b>102</b>, or can be initiated by another party participating in the call, such as the second communication device <b>104</b>. In embodiments in which the wireless communication device <b>102</b> is accessing an LTE network, the VoIP call can be a VoLTE call. In some example embodiments in which the second communication device <b>104</b> is also participating in the call via an LTE connection, the VoIP call can be an end-to-end VoLTE call.
0064Operation <b>410</b> can include the wireless communication device <b>102</b> establishing a first codec rate for use in the VoIP call during call establishment. Establishment of the first codec rate can, for example, include negotiation between the wireless communication <b>102</b> and the second communication device <b>104</b> in accordance with a protocol that can be used by devices participating in a call to establish an initial codec rate. In some example embodiments, the first codec rate can be selected based at least in part on channel conditions observed at the time of establishment of the call.
0065In some example embodiments, the first codec rate can be a rate of an adaptive multi-rate (AMR) audio codec that can be used to encode audio data in a VoIP call. In this regard, some example embodiments can include switching between codec rates for an AMR audio codec during a call in response to a change in channel quality.
0066Operation <b>420</b> can include the wireless communication device <b>102</b> using the first codec rate to encode voice data for transmission during a first portion of the VoIP call.
0067Operation <b>430</b> can include the wireless communication device <b>102</b> determining a channel quality while using the first codec rate. Operation <b>430</b> can, for example, be performed by the channel quality measurement module <b>218</b>. As such, operation <b>430</b> can include determining one or more of the channel quality metrics discussed above, such as, by way of non-limiting example, a signal quality measurement (e.g., RSRP, RSSI, RSRQ, and/or the like), an error rate experienced by the wireless communication device <b>102</b>, a resource allocation (e.g., an MCS allocation) granted to the wireless communication device <b>102</b>, and/or the like.
0068Operation <b>440</b> can include the wireless communication device <b>102</b> determining that the channel quality determined in operation <b>430</b> satisfies a threshold for requesting a codec rate change. Operation <b>440</b> can, for example, be performed by the threshold evaluation module <b>220</b>.
0069Operation <b>450</b> can include the wireless communication device <b>102</b> requesting a codec rate change from the first codec rate to a second codec rate in response to the channel quality satisfying the threshold. Operation <b>450</b> can, for example, be performed by the codec change request module <b>222</b>. In some example embodiments, operation <b>450</b> can include the wireless communication device <b>102</b> sending a CMR message.
0070Operation <b>460</b> can include the wireless communication device <b>102</b> using the second codec rate to encode voice data for transmission during a second portion of the VoIP call. In some example embodiments, operation <b>460</b> can be performed after some defined delay period (e.g., to give the second communication device <b>104</b> time to receive notice of the codec rate change) following requesting the codec rate change.
0071In some example embodiments, such as those illustrated in and described with respect to the signaling diagrams of <figref idref="DRAWINGS">FIGS. 7 and 8</figref>, the wireless communication device <b>102</b> can wait for a response permitting the wireless communication device <b>102</b> to switch to the second codec rate prior to using the second codec rate. For example, the wireless communication device <b>102</b> can wait for a response from the second communication device <b>104</b> and/or a response from a network entity that can be responsible for arbitrating codec rate change requests. In such example embodiments, the wireless communication device <b>102</b> can continue to use the first codec rate, and operation <b>460</b> can be omitted, in an instance in which the wireless communication device <b>102</b> receives a message denying the request and/or otherwise does not receive a response permitting the wireless communication device <b>102</b> to switch to the second codec rate. In some example embodiments, the wireless communication device <b>102</b> can submit another request to switch to the second codec rate in an instance in which a response permitting the wireless communication device <b>102</b> to switch to the second codec rate is not received.
0072In some example embodiments, the second communication device <b>104</b> can also switch codec rates in response to the request such that audio data received by the wireless communication device <b>102</b> can also be encoded at the new codec rate.
0073In some example embodiments, the codec rate can be switched multiple times during a VoIP call in response to changing conditions. In this regard, the wireless communication device <b>102</b> can continue to determine channel quality and request to change codec rates as channel conditions evolve during the course of the call.
0074<figref idref="DRAWINGS">FIG. 5</figref> illustrates a flow chart according to another example method for initiating a codec rate change during a VoIP call in accordance with some example embodiments. More particularly, <figref idref="DRAWINGS">FIG. 5</figref> illustrates an embodiment of the method of <figref idref="DRAWINGS">FIG. 4</figref> in which initiation of a codec rate change can be facilitated by an intermediary between a physical layer and an RTP layer, such as in accordance with embodiments described with respect to the system layer diagram <b>300</b>. One or more of processing circuitry <b>210</b>, processor <b>212</b>, memory <b>214</b>, transceiver <b>216</b>, channel quality measurement module <b>218</b>, threshold evaluation module <b>220</b>, or codec change request module <b>222</b> can, for example, provide means for performing the operations illustrated in and described with respect to <figref idref="DRAWINGS">FIG. 5</figref>.
0075At operation <b>500</b>, a VoIP call can be initiated. The VoIP call can be initiated by the wireless communication device <b>102</b>, or can be initiated by another party participating in the call, such as the second communication device <b>104</b>. In embodiments in which the wireless communication device <b>102</b> is accessing an LTE network, the VoIP call can be a VoLTE call. In some example embodiments in which the second communication device <b>104</b> is also participating in the call via an LTE connection, the VoIP call can be an end-to-end VoLTE call.
0076Operation <b>510</b> can include the wireless communication device <b>102</b> establishing a first codec rate for use in the VoIP call during call establishment. In this regard, operation <b>510</b> can correspond to an embodiment of operation <b>410</b>. Operation <b>520</b> can include the wireless communication device <b>102</b> using the first codec rate to encode voice data for transmission during a first portion of the VoIP call. Operation <b>520</b> can, for example, correspond to an embodiment of operation <b>420</b>.
0077Operation <b>530</b> can include the wireless communication device <b>102</b> determining a channel quality at the physical layer (e.g., physical layer <b>302</b>) while using the first codec rate. Operation <b>530</b> can, for example, correspond to an embodiment of operation <b>430</b>.
0078Operation <b>540</b> can include the wireless communication device <b>102</b> determining that the channel quality satisfies a threshold for requesting a codec rate change. In this regard, operation <b>540</b> can, for example, correspond to an embodiment of operation <b>440</b>.
0079Operation <b>550</b> can include the wireless communication device <b>102</b> providing an indication that the channel quality satisfies the threshold to the RTP layer (e.g., the RTP layer <b>306</b>). For example, in some embodiments, a layer disposed between the physical layer and the RTP layer, such as the threshold evaluation module layer <b>304</b>, can provide the indication to the RTP layer.
0080Operation <b>560</b> can include the wireless communication device <b>102</b> requesting, at the RTP layer, a codec rate change from the first codec rate to a second codec rate in response to the indication provided to the RTP layer in operation <b>550</b>. In this regard, operation <b>560</b> can, for example, correspond to an embodiment of operation <b>450</b>.
0081Operation <b>570</b> can include the wireless communication device <b>102</b> using the second codec rate to encode voice data for transmission during a second portion of the VoIP call. Operation <b>570</b> can, for example, correspond to an embodiment of operation <b>460</b>.
0082As discussed above, in some example embodiments, a codec rate can be switched multiple times during a VoIP call in response to further changes in channel quality. In some such example embodiments, a hysteresis condition can be applied prior to switching codec rates a second time to avoid ping ponging between two codec rates. <figref idref="DRAWINGS">FIG. 6</figref> illustrates a flow chart according to an example method for applying a hysteresis condition after switching codec rates during a call in accordance with some such example embodiments. In this regard, <figref idref="DRAWINGS">FIG. 6</figref> illustrates operations that can be performed by a wireless communication device, such as wireless communication device <b>102</b>, after switching from a first codec rate to a second codec rate, such as in accordance with the method of <figref idref="DRAWINGS">FIG. 4</figref> and/or the method of <figref idref="DRAWINGS">FIG. 5</figref>. One or more of processing circuitry <b>210</b>, processor <b>212</b>, memory <b>214</b>, transceiver <b>216</b>, channel quality measurement module <b>218</b>, threshold evaluation module <b>220</b>, or codec change request module <b>222</b> can, for example, provide means for performing the operations illustrated in and described with respect to <figref idref="DRAWINGS">FIG. 6</figref>.
0083At operation <b>600</b>, the wireless communication device <b>102</b> can switch from a first codec rate to a second codec rate. For example, operation <b>600</b> can correspond to operation <b>460</b> and/or operation <b>570</b>.
0084Operation <b>610</b> can include the wireless communication device <b>102</b> determining a channel quality while using the second codec rate. Operation <b>610</b> can, for example, be performed by the channel quality measurement module <b>218</b>.
0085Operation <b>620</b> can include the wireless communication device <b>102</b> determining that the channel quality determined in operation <b>610</b> satisfies a threshold for requesting a codec rate change to return to the first codec rate. Operation <b>620</b> can, for example, be performed by the threshold evaluation module <b>220</b>.
0086Operation <b>630</b> can include the wireless communication device <b>102</b> applying a hysteresis condition before requesting a codec rate change to return to the first codec rate. The hysteresis condition can include determining whether the channel quality satisfying the threshold persists for some period. For example, operation <b>630</b> can include setting a timer to determine if the channel quality continues to persist at expiration of the timer. As another example, in some example embodiments, applying the hysteresis condition can include performing one or more further channel quality measurements to verify that the channel quality is not transient. For example, applying the hysteresis condition can include enforcing a policy that a defined number, n, channel quality measurements satisfy the threshold before requesting to return to the first codec rate. For example, in some embodiments, applying the hysteresis condition can include determining whether at least n consecutive channel quality measurements satisfy the threshold. As another example, in some embodiments, applying the hysteresis condition can include determining whether at least n of m sequential channel quality measurements, where m is an integer larger than n, satisfy the threshold.
0087Operation <b>640</b> can include the wireless communication device <b>102</b> determining whether the hysteresis condition applied in operation <b>630</b> is satisfied. In some example embodiments, the threshold evaluation module <b>220</b> can perform operations <b>630</b> and <b>640</b>.
0088In an instance in which it is determined at operation <b>640</b> that the hysteresis condition is not satisfied, the method can proceed to operation <b>650</b>, which can include the wireless communication device <b>102</b> continuing to use the second codec rate. If, however, it is determined at operation <b>640</b> that the hysteresis condition is satisfied, the method can instead proceed to operation <b>660</b>, which can include the wireless communication device <b>102</b> requesting a codec rate change from the second codec rate to the first codec rate.
0089<figref idref="DRAWINGS">FIG. 7</figref> illustrates a signaling diagram according to an example method for initiating a codec rate change during a voice over Internet Protocol VoIP call in accordance with some example embodiments. In this regard, <figref idref="DRAWINGS">FIG. 7</figref> illustrates operations that can be performed by and signals that can be exchanged between a wireless communication device <b>702</b>, network <b>704</b>, and second communication device <b>706</b> in accordance with some example embodiments. The wireless communication device <b>702</b> can be an embodiment of the wireless communication device <b>102</b>, and the second communication device <b>706</b> can be an embodiment of the second communication device <b>104</b>. As such, it will be appreciated that one or more of processing circuitry <b>210</b>, processor <b>212</b>, memory <b>214</b>, transceiver <b>216</b>, channel quality measurement module <b>218</b>, threshold evaluation module <b>220</b>, or codec change request module <b>222</b> can, for example, provide means for performing the operations of the wireless communication device <b>702</b> in accordance with some example embodiments.
0090The network <b>704</b> can include one or more networks and/or elements of one or more networks, which can be configured to support a VoIP call, such as a VoLTE call, between the wireless communication device <b>702</b> and second communication device <b>706</b>. For example, the network <b>704</b> can include one or more elements of a radio access network (RAN), such as the wireless network access point <b>108</b>, to which the wireless communication device <b>702</b> can be connected. In embodiments in which the second communication device <b>706</b> is connected to a cellular network, the network <b>704</b> can further include one or more elements of a RAN to which the second communication device <b>706</b> can be connected. The network <b>704</b> can additionally include one or more elements of a core network, which can be interfaced with one or more cellular RANs. In some example embodiments, the network <b>704</b> can include one or more entities, such as an MTSI MGW, of an IMS that can be configured to support a VoIP call.
0091Operation <b>710</b> can include the wireless communication device <b>702</b> and second communication device <b>706</b> performing a call establishment phase attendant to initiation of a VoIP call, such as a VoLTE call. The call establishment phase can include the wireless communication device <b>702</b> and second communication device <b>706</b> agreeing to a first codec rate to be used by the wireless communication device <b>702</b>.
0092Operation <b>720</b> can include the wireless communication device <b>702</b> determining that a channel quality satisfies a threshold for requesting a codec rate change. In this regard, operation <b>720</b> can, for example, correspond to an embodiment of operation <b>440</b> and/or operation <b>540</b>.
0093Operation <b>730</b> can include the wireless communication device <b>702</b> sending a codec rate change request to the second communication device <b>706</b>. The codec rate change request can, for example, be a CMR message. Operation <b>730</b> can, for example, correspond to an embodiment of operation <b>450</b> and/or operation <b>560</b>.
0094After sending the codec rage change request, the wireless communication device <b>702</b> can wait for a codec rate change response from the second communication device <b>702</b> before switching to the second codec rate. The wireless communication device <b>702</b> can receive the codec rate change response, at operation <b>740</b>. If the codec rate change response permits the wireless communication device <b>702</b> to switch to the second codec rate, the wireless communication device <b>702</b> can switch to the second codec rate, at operation <b>750</b>. If, however, the codec rate change response denies the request to switch codec rates, the wireless communication device <b>702</b> can continue to use the first codec rate. Operation <b>750</b> can, for example, correspond to an embodiment of operation <b>460</b> and/or operation <b>570</b>.
0095<figref idref="DRAWINGS">FIG. 8</figref> illustrates a signaling diagram according to another example method for initiating a codec rate change during a voice over Internet Protocol VoIP call in accordance with some example embodiments. More particularly, <figref idref="DRAWINGS">FIG. 8</figref> illustrates an example embodiment in which a network entity can arbitrate a codec rate change request and permit or deny the request. <figref idref="DRAWINGS">FIG. 8</figref> illustrates operations that can be performed by and signals that can be exchanged between a wireless communication device <b>802</b>, network <b>804</b>, and second communication device <b>806</b> in accordance with some example embodiments. The wireless communication device <b>802</b> can be an embodiment of the wireless communication device <b>102</b>, and the second communication device <b>806</b> can be an embodiment of the second communication device <b>104</b>. As such, it will be appreciated that one or more of processing circuitry <b>210</b>, processor <b>212</b>, memory <b>214</b>, transceiver <b>216</b>, channel quality measurement module <b>218</b>, threshold evaluation module <b>220</b>, or codec change request module <b>222</b> can, for example, provide means for performing the operations of the wireless communication device <b>802</b> in accordance with some example embodiments.
0096The network <b>804</b> can include one or more networks and/or elements of one or more networks, which can be configured to support a VoIP call, such as a VoLTE call, between the wireless communication device <b>802</b> and second communication device <b>806</b>. For example, the network <b>804</b> can include one or more elements of a radio access network (RAN), such as the wireless network access point <b>108</b>, to which the wireless communication device <b>802</b> can be connected. In embodiments in which the second communication device <b>806</b> is connected to a cellular network, the network <b>804</b> can further include one or more elements of a RAN to which the second communication device <b>806</b> can be connected. The network <b>804</b> can additionally include one or more elements of a core network, which can be interfaced with one or more cellular RANs. In some example embodiments, the network <b>804</b> can include one or more entities, such as an MTSI MGW, of an IMS that can be configured to support a VoIP call.
0097Operation <b>810</b> can include the wireless communication device <b>802</b> and second communication device <b>806</b> performing a call establishment phase attendant to initiation of a VoIP call, such as a VoLTE call. The call establishment phase can include the wireless communication device <b>802</b> and second communication device <b>806</b> agreeing to a first codec rate to be used by the wireless communication device <b>802</b>.
0098Operation <b>820</b> can include the wireless communication device <b>802</b> determining that a channel quality satisfies a threshold for requesting a codec rate change. In this regard, operation <b>820</b> can, for example, correspond to an embodiment of operation <b>440</b> and/or operation <b>540</b>.
0099Operation <b>830</b> can include the wireless communication device <b>802</b> sending a codec rate change request to the network <b>804</b> and/or to the second communication device <b>806</b>. The codec rate change request can, for example, be a CMR message. Operation <b>830</b> can, for example, correspond to an embodiment of operation <b>450</b> and/or operation <b>560</b>.
0100After sending the codec rage change request, the wireless communication device <b>802</b> can wait for a codec rate change response before switching to the second codec rate. In the embodiment of <figref idref="DRAWINGS">FIG. 8</figref>, a network entity of the network <b>804</b> can see the codec rate change and can arbitrate the codec change request. The wireless communication device <b>802</b> can receive a codec rate change response from the network entity, at operation <b>840</b>. If the codec rate change response permits the wireless communication device <b>802</b> to switch to the second codec rate, the wireless communication device <b>802</b> can switch to the second codec rate, at operation <b>850</b>. If, however, the codec rate change response denies the request to switch codec rates, the wireless communication device <b>802</b> can continue to use the first codec rate. Operation <b>850</b> can, for example, correspond to an embodiment of operation <b>460</b> and/or operation <b>570</b>.
0101The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. Various aspects of the described embodiments can be implemented by software, hardware or a combination of hardware and software. The described embodiments can also be embodied as a computer readable medium (or mediums) storing computer readable code including instructions that can be performed by one or more computing devices. The computer readable medium may be associated with any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium include read-only memory, random-access memory, CD-ROMs, HDDs, DVDs, magnetic tape, and optical data storage devices. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code may be stored and executed in a distributed fashion.
0102In the foregoing detailed description, reference was made to the accompanying drawings, which form a part of the description and in which are shown, by way of illustration, specific embodiments in accordance with the described embodiments. Although these embodiments are described in sufficient detail to enable one skilled in the art to practice the described embodiments, it is understood that these examples are not limiting; such that other embodiments may be used, and changes may be made without departing from the spirit and scope of the described embodiments. For example, it will be appreciated that the ordering of operations illustrated in the flowcharts is non-limiting, such that the ordering of two or more operations illustrated in and described with respect to a flowchart can be changed in accordance with some example embodiments. As another example, it will be appreciated that in some embodiments, one or more operations illustrated in and described with respect to a flowchart can be optional, and can be omitted.
0103Further, the foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the described embodiments. However, it will be apparent to one skilled in the art that the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of specific embodiments are presented for purposes of illustration and description. The description of and examples disclosed with respect to the embodiments presented in the foregoing description are provided solely to add context and aid in the understanding of the described embodiments. The description is not intended to be exhaustive or to limit the described embodiments to the precise forms disclosed. It will be apparent to one of ordinary skill in the art that many modifications, alternative applications, and variations are possible in view of the above teachings. In this regard, one of ordinary skill in the art will readily appreciate that the described embodiments may be practiced without some or all of these specific details. Further, in some instances, well known process steps have not been described in detail in order to avoid unnecessarily obscuring the described embodiments.
Contents5
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11936707B2 | Cited by | United States of America | Search report |
| US11102677B2 | Cited by | United States of America | Search report |
| US9787727B2 | Cited by | United States of America | Search report |
| US2019273770A1 | Cited by | United States of America | Search report |
| US2018262540A1 | Cited by | United States of America | Search report |
| US10638351B2 | Cited by | United States of America | Applicant |
| US9894614B2 | Cited by | United States of America | Applicant |
| JP2021061630A | Cited by | Japan | Search report |
| US11343302B2 | Cited by | United States of America | Search report |
| EP3934261A1 | Cited by | European Patent Office (EPO) | Search report |
| US10917452B2 | Cited by | United States of America | Applicant |
| US2017180430A1 | Cited by | United States of America | Pre-grant |
| US11916976B2 | Cited by | United States of America | Applicant |
| US2021409475A1 | Cited by | United States of America | Search report |
| US9559895B2 | Cited by | United States of America | Search report |
| US9860766B1 | Cited by | United States of America | Search report |
| US10412679B2 | Cited by | United States of America | Applicant |
| US11238884B2 | Cited by | United States of America | Search report |
| US11394753B2 | Cited by | United States of America | Search report |
| JP2022068304A | Cited by | Japan | Search report |
| US11252612B2 | Cited by | United States of America | Applicant |
| US11736983B2 | Cited by | United States of America | Applicant |
| US10615908B2 | Cited by | United States of America | Applicant |
| US10917852B2 | Cited by | United States of America | Applicant |
| EP3297195A4 | Cited by | European Patent Office (EPO) | Search report |
| US2018102871A1 | Cited by | United States of America | Search report |
| US2022263883A1 | Cited by | United States of America | Search report |
| WO2018031614A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US9806938B2 | Cited by | United States of America | Search report |
| US10834146B2 | Cited by | United States of America | Applicant |
| US11546705B2 | Cited by | United States of America | Applicant |
| CN111585695A | Cited by | China | Search report |
| JP2019525592A | Cited by | Japan | Search report |
| US11233669B2 | Cited by | United States of America | Search report |
| US10666383B2 | Cited by | United States of America | Search report |
| US10812552B2 | Cited by | United States of America | Search report |
| US2018262540A1 | Cited by | United States of America | Search report |
| US11706261B2 | Cited by | United States of America | Applicant |
| EP3930342A1 | Cited by | European Patent Office (EPO) | Search report |
| EP3697057A1 | Cited by | European Patent Office (EPO) | Search report |
| CN113965553A | Cited by | China | Search report |
| EP3306982A1 | Cited by | European Patent Office (EPO) | Search report |
| EP3461200A4 | Cited by | European Patent Office (EPO) | Search report |
| US11405432B2 | Cited by | United States of America | Applicant |
| US8467380B2 | Cites | United States of America | Pre-grant |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 201314042500 | United States of America | A | |
| US201314042500 | – | – | – |
53 transactions on the USPTO file
Allowed after 1 non-final rejection.
- Non-final rejections
- 1
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Email NotificationEML_NTR | EML_NTR | |
| Printer Rush- No mailingTCPB | TCPB | |
| Mail Response to 312 Amendment (PTO-271)MN271 | MN271 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Response to Amendment under Rule 312N271 | N271 | |
| Pubs Case Remand to TCPUBTC | PUBTC | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Amendment after Notice of Allowance (Rule 312)AllowedA.NA | A.NA | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Preliminary AmendmentA.PE | A.PE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Email NotificationEML_NTR | EML_NTR | |
| Email NotificationEML_NTR | EML_NTR | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| FITF set to YES - revise initial settingFTFS | FTFS | |
| Sent to Classification ContractorPGPC | PGPC | |
| Miscellaneous Incoming LetterLET. | LET. | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Entity status set to undiscounted (initial default setting or status change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
4 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| Maintenance fee paymentMAFP | MAFP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 20150092575
- Publication, DOCDB
- 2015092575
- Publication, EPODOC
- US2015092575
- Application
- 14042500
- Application, DOCDB
- 201314042500
- Application, EPODOC
- US201314042500
Titles
- English
- DEVICE-INITIATED CODEC RATE CHANGE DURING A VOICE CALL
Patent term adjustment
- A delay
- +164 daysthe office missed an examination deadline
- Applicant delay
- −15 days
- Net adjustment
- 149 days
Classification
- CPC, 9
- H04L65/602
- H04L47/38
- H04L65/80
- H04W24/08
- H04W28/0236
- H04L65/764
- H04L65/65
- H04L65/75
- H04L65/762
- IPC, 3
- H04L29 06
- H04W28 02
- H04W24 08
- USPC, 1
- 370252000