无语音通道时本地呼叫提示音的产生一般分为两种情况:一是主叫使用OACSU(OffAirCallSet Up)建立呼叫,若网络指示由于被叫忙等原因无法建立呼叫,就需要在主叫终端产生呼叫提示音;二是主叫方使用非OACSU,并已经与网络建立语音信道,但网络通过信令指示主叫终端无法建立呼叫(不含带内音信息),这时主叫终端会先释放已建立的语音通道,再产生本地呼叫提示音。与带内音相比,这种本地呼叫提示音节省了无线接口的业务信道资源。无语音通道时本地提示音的控制流程如下。
(1)数字基带处理单元收到特定的非接入层网络消息(如Disconnect),通过控制信令将该消息通知应用处理单元。
(2)应用处理单元分析后得知需要本地产生提示音,则通过控制信令通知外围电源/音频设备控制器建立Tone发生器与外设(如听筒)之间的通道。如果此时语音通道已经建立,应用处理单元会先释放语音通道,再建立Tone发生器与外设的通道。
当呼叫提示音通道建立成功后,应用处理单元指示Tone发生器产生特定要求(频率和时长)的提示音。提示音再转换为模拟声音信号,发送到外设,这样用户就能听到提示音。
呼叫提示音的停止过程也需要进行有效的控制。根据3GPP的建议,提示音的持续时间可由终端厂商自行设定,一般来讲,提示音不应该影响用户的正常通话功能。当用户重新拨打电话或者接收一个新的来电时,上一次的呼叫提示音应立即停止,对应的音声通道也需要释放。另外,即使用户不进行任何操作,呼叫提示音也应该持续一段时间后停止。呼叫提示音的停止和相应的音声通道释放是由应用处理单元控制的。
2.2.3通话中本地呼叫提示音
呼叫等待音是通话过程中本地产生提示音的例子。在通话过程中本地提示音的控制流程如下。
(1)数字基带处理单元在通话过程中收到特定的非接入层网络消息(如Setup),通过控制信令将该消息通知应用处理单元,由应用处理单元进行分析。
(2)若需要本地产生提示音,并且通过多通道竞争算法的处理后得知,此时呼叫提示音通道和语音通道可以进行声音重叠,则应用处理单元通知外围电源/音频设备控制器的Tone发生器采用与普通语音流相同的外设通道。
(3)Tone发生器根据特定要求(频率和时长)产生提示音流,经过音源合成器与语音流合并在一起,然后转换为模拟语音,发送到外设。这样用户就能在通话过程中听到提示音了。
在通话过程中,提示音与普通语音需采用相同的外设通道,以便及时提醒用户。例如,用户正在使用听筒接听来话,则提示音应该通过听筒通知用户;如果用户使用耳机接听来话,则提示音也应该通过耳机通知用户。此外,通话过程中的提示音不应对正在进行的通话产生较大的影响,即只能起到提醒用户的作用,因此有必要对提示音的音量增益进行合理控制。