cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2074
Views
0
Helpful
6
Replies

Can't get G722 to work with 7975g on CME..

rbrocks
Level 1
Level 1

So, I have an interesting (and very frustrating) one for you guys.  I am using CME with Broadvox for a SIP trunk provider and have 7975g phones internally.  I would like to have them use G722 on any call where it's possible and G711 on all other calls.  Broadvox support claims they (the company, not the phones) only support G711, but various pieces of their documentation states they also support G722.  I haven't tracked that down yet, but I would like the phones to use G722 internally, at the very least.  I really see no draw back to it since it uses the same bandwidth but offers much improved clarity and the phones are supposed to be HD capable.  So, I am aware there are certain commands you have to enter in the router to enable G722 in CME, including:

 

telephony-service
 codec g722-64
 service phone g722CodecSupport 2
 service phone handsetWidebandEnable 1
 service phone headsetWidebandEnable 0
 service phone handsetWidebandUIControl 0
 service phone headsetWidebandUIControl 0
 service phone advertiseG722Codec 1

 

Setting these in telephony-service yields the following settings on the phone:
Wideband Headset
  Enabled
Enterprise Advertise G.722
  Disabled
Device Advertise G.722
  Enabled
As I understand it, simply setting the default codec should get the phones to use it at this point...  This is not the case...

 

Again, as I understand it, simply using "codec g722-64K" in the "voice register pool" for the phone should set the primary codec to G722, but if the other end doesn't support it, it will fall back to G711 automatically.  Doing this yields "<preferredCodec>g722-64</preferredCodec>" in the config file that CME generates and causes the phone to list G729a as it's primary codec.  The phone works as expected, just without ever using G722.

 

Setting "codec g711ulaw" in the "voice register pool" for the phone yields "<preferredCodec>g711ulaw</preferredCodec>" in the config file, and the phone lists it as the preferred codec with everything working as expected, just without G722.

 

Trying to force the issue, I set "voice-class codec 1" in the "voice register pool" for the phone and created the voice class codec list:
voice class codec 1
 codec preference 1 g722-64
 codec preference 2 g711ulaw
The configuration file then lists "<preferredCodec>g722-64</preferredCodec>" in the configuration file with no mention of G711, but the phone lists G729a as the preferred codec and like the first case I listed, negotiates G729a between phones with the same configuration, and G711 with my standard "codec g711ulaw" configuration as well as outbound through the SIP trunk, which is set to use G711.  Again, the phone never uses G722...

 

I've seen some configuration files around the web that people say came from CCM and they generally list "<preferredCodec>none</preferredCodec>" on phones that are using G722.  As CME puts "<preferredCodec>g729a</preferredCodec>" in the configuration file when you totally remove codec configuration from the "voice register pool", I manually edited the configuration file for a couple phones I'm using for testing to that configuration and the phones suddenly started using G722 (for absolutely everything, I might add, as per the call statistics on the phone).  The problems are that I can't get CME to place that in the configuration files itself, so any time I make a change to configuration and regenerate the files, I'm going to have to manually edit every single phone to get it to have that configuration and the phones randomly decided to stop using G722 after some time making test calls.  Even after a factory reset, I couldn't get them to use G722 again..  Also, with this configuration and while they were still using G722, all outbound calling scenarios from these phones worked (Exchange voicemail, internal phone to internal phone, outbound on the trunk) but inbound calls from the trunk failed as soon as the receiver is picked up.  I have confirmed that DSP resources in the router were transcoding internal calls that needed it as well as outbound calls through the trunk, but were for some reason failing to transcode incoming calls that needed it, since the phone didn't seem to want to fall back to G711 at any point at all..

I'm stumped here..  I'd really like to get this working 100% so I can get my system ready for the day when G722 is broadly available on the market as well as to yield the benefits of it internally and intraoffice (as well as for clients in the future).  I am currently running SIP75.9-3-1SR1-1S on the phones in question and c2900-universalk9-mz.SPA.153-3.M on the router I'm performing the testing on.  I'm guessing that I'm either missing something or there are bugs in the firmware..  Any assistance would be very much appreciated.

6 Replies 6

Sreekanth Narayanan
Cisco Employee
Cisco Employee

Have you tried to put 'codec g722-64k' under the voice register pool, instead of voice class codec? What happens in this case?

What if you use SCCP instead of SIP for the phone?

 

Brian Meade
Level 7
Level 7

Run "debug ccsip messages" for these various test calls so we can see if the IP Phone is indeed sending G.722 as the first codec in the Early Offer Invite.  From there, we should also be able to see if the Broadbox side of the call is offering G.722 support at all.

rbrocks
Level 1
Level 1

Brian

Below is from using a SIP build.  It does offer G722, but it's way down on the list so it's never used...


m=audio 32678 RTP/AVP 0 8 18 102 9 116 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:102 L16/16000
a=rtpmap:9 G722/8000
a=rtpmap:116 iLBC/8000
a=fmtp:116 mode=20
a=rtpmap:101 telephone-event/8000


Taking Sreekanth's suggestion to try a Skinny build, I get the following when I make a call.  It offers codecs in the order I SET THEM AND ONLY THE CODECS I SET!  YAY!


m=audio 19374 RTP/AVP 9 0 101
a=rtpmap:9 G722/8000
a=fmtp:9 bitrate=64
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000


Using a Skinny build on the phones also solved other issues.  The phones use G711 when the whole path supports G711 and G722 when the whole path supports G722.  It doesn't always use G722 and rely on transcoding for the call paths that can't use it.  It's fantastic..  The phones also receive the QoS tagging that I set and that seems to result in better audio quality than on the SIP builds, which never did get those settings.  Finally, it even solved a slow Exchange 2013 answer issue I have been experiencing for quite some time.  I practically fell out of my chair when I saw everything that was fixed just by switching...

Cisco, PLEASE FIX YOUR SIP BUILDS!  It's insane how the SCCP builds work perfectly and the SIP builds don't, especially with how much these phones cost..  I was thinking of possibly acquiring some 9951s, which are SIP only.  I'm a little leery about that at this point.  If they have the same kinds of issues as the SIP builds for the 7975g, there's no SCCP alternative to use..


Sreekanth

Thank you for suggesting a Skinny build..  That was about the only thing I didn't try.  I am happy beyond belief that this is working so well now, even though the SIP builds should be just as well developed as the SCCP ones.

That's great news! Glad you were able to work this out. I will check internally to see if there is a reason why the SIP firmware is behaving the way it is.

All the best!

You may want to open a TAC case so a new bug can be created for the SIP firmware.  They're getting pretty close to feature parity between the SIP/SCCP firmwares for the phones that can run both.  The SIP-only phones such as the 9951s/9971s have been pretty stable for a while now.

rbrocks
Level 1
Level 1

So, I decided to go ahead and buy quite a few 9951s and set them up for use, only to find that they're worse than the SIP builds for the 7975s.  In addition to the G722 issues I describe in my posts with the 7975s, they also have major problems with call transfer (both legs of the call sit on hold with hold music for 40+ seconds after hitting the transfer button a second time), clearing call history doesn't actually clear the call history, and having a call be forwarded from an Exchange 2013 Auto Attendant to one of them results in dead air for around 40 seconds before the phone starts to ring...  I've tried the latest 3 builds for the phones, with the same results.  The 7975s on the same system perform flawlessly while running a SCCP build.  This is not the kind of thing I expect when spending ~$800 on an office phone...  Anyone else have similar experiences that might be able to point me in the right direction to get this resolved so I can actually start using my insanely expensive desk phones?