Â Â We have a JTAPI application that uses the JMF library to send audio. The streaming audio stream can be heard on the desktop phones (e. g. 7941, 7961), wireless 7920 phones, and the Cisco IP Communicator but cannot be heard on the wireless 7921G or 7925G phones. There are no errors encountered in the programming logs when the audio is streamed with JMF to these phones.Â
Â Â To try to pinpoint the problem, we have gathered a number of traces and logs using the Cisco Real-Time Monitoring Tool and Wireshark. Â The only suspicious thing that we saw was in the Call Statics on the 7921G itself. Â The received packets showed 38 and the discarded packets also showed 38. Â But, we have no idea what the discarded packets are or why the 7921G would discard packets to begin with. Â We don't see discarded packets during a normal phone call.
Â Â People that we have talked to about this problem have indicated that they think it's a codec problem, but when we look at the codec in the traces, the phone status log and the events that we get back at the programmatic level, everything indicates that we are sending and receiving with the G.711 u-law with a 30msec packets size, and this matches the codec of the streaming application. Â We have even turned off the CUCM Service parameter "G722 Codec Enabled" to make sure that this setting was not overriding the G.711 negotiation. Â Changing the parameter had no effect on the problem.
Â Â We have checked the more obvious problems such as the volume on the 7921G phone and the volume of the original recording. Â In addition, we tried to rule out a WAP problem by using the CIPC on a wireless laptop connected to the same WAP as the 7921G phone. Â The announcement played just fine on the CIPC on the wireless laptop. Â
Â Â At the programming level,Â the audio is being streamed over a CTI port by the application when the call is connected to the destination phone. So, essentially, once the JTAPI application receives theÂ CiscoRTPOutputStartedEvÂ event, we set up the remote connection and start the stream.Â
The CTI port is set with:â¨Â Â Â CiscoMediaCapability caps = newÂ CiscoMediaCapability;â¨Â Â Â caps[Â 0] = CiscoMediaCapability.G711_64K_30_MILLISECONDS;
â¨ The audio stream is set for format ULAW_RAW (codec G.711 u-law):Â â¨Â Â FormatÂ audioFormatÂ = newÂ AudioFormat(Â AudioFormat.ULAW_RTP, 8000, 8, 1 );
â¨ I've adjusted the packet size to 20ms for the CUCM defaults as well as for theÂ CiscoMediaCapabiltiesÂ thinking that something might not be in sync. While making those adjustments effected the quality of the audio for the phones that were working, it did not effect being able to hear the audio on the 7921G. Â This problem occurs on the CCM 4.X, CUCM 6.0 and CUCM 7.0.1 platforms
Â Â Hopefully, there is a setting that we've overlooked, and there is a simple solution to the problem.