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

Codec negotiation in cucm !

Jonn cos
Level 4
Level 4

Hi all.

I have registered 2 CIPC with cucm 7. Now when i make call and press "i" twice, the codec i see is G.729. In my region i have selected call to be made using G.711. I know thats the highest bit rate actually. So is this due to codec negotiation ? can some one give me any highlights as to how codec negotiation works in cucm ? also if there is any cisco doc ?

thanks

6 Replies 6

Aaron Harrison
VIP Alumni
VIP Alumni

Hi

Check first that the two phones are definately in the same region (i.e. device pool). Also that the region hasn't got g729 set for calls 'to itself'.

CIPC has an 'Optimize for Low Bandwidth' setting in the preferences menu, 'audio' tab. That sets  G729 permanently I think.

Regards

Aaron

Please rate helpful posts..

Aaron Please remember to rate helpful posts to identify useful responses, and mark 'Answered' if appropriate!

Dear Aaron,

But then how codec negotiation works ? i mean if i have set 2 phones to talk with 64kbps bit rate, how will they negotiate the codec ? what is the procedure ? i mean will they try to negotiate based on the lowest possible codec or highest ?

Hi John

When you set G711 in CUCM, this sets a max of bandwidth per call to g711 levels. If the device wants to use a different codec that is the same bandwidth (e.g. G722) that is fine, and if the device wants to use something that is less bandwidth, then that's OK too (e.g. G729). If a device wants to use something more (e.g. a wideband codec at xMb) then that would not be permitted by CUCM.

In terms of the negotiation, two devices will supply a list of codecs they support, and the 'best' codec supported by both ends will be chosen. This is typically the highest quality codec (unless that has been overriden, for example by setting the 'optimize for low bandwidth') setting in CIPC.

For example, if G722 is enabled, G722 is chosen over G711 if the two end points support it.

If the two endpoints both support G729, and G711 and G722, they would choose G722.

If one end was a  CIPC with low bandwidth enabled, then one end (CIPC) would claim to support only G729 so the phone would use this.

Regards

Aaron

Aaron Please remember to rate helpful posts to identify useful responses, and mark 'Answered' if appropriate!

Just 1 thing more

In CIPC i have the ? button. but lets say i have 6921 or some really basic cisco ip phone, is there any way in CUCM to see the actual statistics (like which codec is being used) between any two phones ?

Hi Everyone

Thanks for a wonderful explanation from Aaron and Jaimie ,though has a bit doubt of the same .

My scenario is hq and sb are 2 regions and

hq<--->hq -------->G711

hq<---->sb--------->g729

sb<---->sb---------->g711

and i put them in corresponding device pool .

i have a phone in hq and 1 phone in sb .My sip trunk is in hq device pool.

I have a pstn gateway simulated in which a dial peer is configued to accept incoming sip calls from the trunk.

dial-peer voice 1 voip

incoming-called-number .

codec g711ulaw

now when i call from hq phone call works and 2 ends negotiates g711 codec.

when calling from sb phone call is terminated as codec negotiation fails

then changed scenario of pstn gateway.

dial-peer voice 1 voip

incoming-called-number .

codec g729r8   //default codec

now calls from both hq and sb phone succeeds with negotiating  g729 codec.

Now my doubt is why call from hq to pstn phone succeds negotiating g729 codec because

hqphone to siptrunk_hq ---->g711 and pstn phone is specific to use of g729 codec ? why this call has not failed ?

and comapring the fact other call failed

ie sbphone to siptrunk_hq ----->g729 and pstn phone is specific to use g711 codec.

So who negotiates here ? is the source side or is the destination side ?

Any documents related to same will also help .

Thanks,

Harish

They'll try to use the "best" codec based on the BW and type of link you configured.

You really never select a codec to be used, you specify how much BW can be used and the endpoints based on the capabilities they exchange determine which one they can use.

ie a phone has G722 and the other doesn't, but both have G711. G722 is preferred over G711 but as it's not on both endpoints they use G711.

If you set this to 64kb and the endpoints only handle a codec which is below the 64kb limit they'll use it.

Usually you'll want to use the highest BW codec as it's less compressed and less info will be lost.

HTH

java

If this helps, please rate

www.cisco.com/go/pdihelpdesk

HTH

java

if this helps, please rate