cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1283
Views
0
Helpful
3
Replies

Understanding codec negotiation

griffijo
Level 1
Level 1

I am using G.711 with UCM 6.1, we also have a SIP trunk where telco requires us to use G.729r8. I was doing some packet captures and I noticed all inbound/outbound pstn calls are G.711. The voice class codec on the router only contains the 729 codec. I understand these calls are being transcoded on the gateway, but i don't understand how G.711 is negotiated instead of G.729

!

!

sccp local Loopback0

sccp ccm 10.1.1.1 identifier 2 priority 1 version 4.1

sccp ccm 10.1.1.2 identifier 1 priority 2 version 4.1

sccp ip precedence 3

sccp

!

sccp ccm group 10

bind interface Loopback0

associate ccm 1 priority 2

associate ccm 2 priority 1

associate profile 10 register MTP002155e68541

associate profile 20 register CON002155e68541

associate profile 30 register XCO002155e68541

keepalive retries 2

keepalive timeout 2

switchover method immediate

switchback method graceful

switchback interval 5

!

dspfarm profile 30 transcode

codec g711ulaw

codec g711alaw

codec g729ar8

codec g729abr8

codec g729r8

maximum sessions 24

associate application SCCP

!

voice class codec 1

codec preference 1 g729r8

!

dial-peer voice 100 voip

preference 1

destination-pattern .T

voice-class codec 1

session protocol sipv2

session target sip-server

incoming called-number 90855512..

dtmf-relay rtp-nte digit-drop

fax protocol pass-through g711ulaw

no vad

!

dial-peer voice 200 voip

preference 1

destination-pattern 90855512..

progress_ind setup enable 3

voice-class codec 1

session target ipv4:10.1.1.1

incoming called-number .

dtmf-relay h245-alphanumeric

fax protocol pass-through g711ulaw

no vad

!

3 Replies 3

Those dial peers will not use anything except g729r8. (You could have accomplished the same thing by not putting anything on the dial peer at all.)

My best guess is one of two things:

1) You have a transcoder in CUCM somewhere else that's transcoding. This is less likely because a phone in a g711 region talking to a g729 region will just use g729 since it's a native codec.

2) You're not hitting the dial peers you're expecting to. 'debug voip dialpeer' may clarify. If you see dial peer 0, it means that dial peer is advertising every codec.

-nick

I tried doing some debugs on the dial peers and I am getting predictable results with hitting the dial peers, but I am still seeing G711 on PSTN calls from the VoIP phones. I setup a test where I made 10 calls from the PSTN to one of my internal extensions. On 8 of the calls the codec was G711 and twice it was G729, even though the dial peers matched were the same each time. I can see that when G711 is the codec the UBE router is transcoding; I can see that with the "show dspfarm dsp active" command. I am just not understanding the arbitrary nature of the codec selection.

Cdbakken1
Level 1
Level 1

Try changing your dspfarm profile 30 to:

dspfarm profile 30 transcode

codec g729r8

codec g729ar8

codec g729abr8

codec g711ulaw

codec g711alaw

maximum sessions 24

associate application SCCP

I believe this is what I did to correct the same issue at our sites.

Hope it helps!