cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1201
Views
0
Helpful
8
Replies

Cisco SBC dspfarm profile - codec sequence

Netmart
Level 3
Level 3

Hello,

I was wondering, whether codec entries under dspfarm profile are treated as "top-down approach".

 

dspfarm profile 10 transcode 

 codec g729r8

 codec g711ulaw

 codec g711alaw

 maximum sessions 357

 associate application SBC

 

Please advise.

 

Thanks,

 

8 Replies 8

R0g22
Cisco Employee
Cisco Employee
I believe it is a collection of what all codecs, in this case the transcoder can support. Obviously this is not a universal transcoder so won't do a LBR-LBR transcoding and either exit or entry leg will need to be G711.

Ratheesh Kumar
VIP Alumni
VIP Alumni
I don't think there is any sort of order in dspfarm. This basically specifies the codecs supported by that DSP farm profile.


Hope this Helps
Cheers
Rath!

***Please rate helpful posts***


I thank you for your feedback.

Provided that there is no "sort order" approach, I was wondering why the SBC only offers g729r8  in the SIP Invite message - see attachment.

 

My expectation was that all three codecs are offered and then both sip adjacencies will agree on one codec.

I also noticed that this dspfarm is associated with realm "outside" [media flow]

 

 media-address ipv4 <IP>realm outside

  port-range 6000 50000 any

 associate dspfarm profile 10

 activate

 

 

dspfarm profile 10 transcode  
 codec g729r8
 codec g711ulaw
 codec g711alaw
 maximum sessions 357

 associate application SBC

 

 

 

 

 

 

R0g22
Cisco Employee
Cisco Employee
That should be based on the actual VoIP dial-peer being used for that call. If a codec is not explicitly defined, it defaults to G729. This has nothing to do with the transcoder dspfarm.

Do you have a codec mismatch and CUBE is invoking this locally ? If that is the case, then this is fine. Even if the transcoder is invoked, the native call leg is retained. What I mean by that is the leg that is supposed to have G729 will receive G729 packets and the leg that is supposed to have G711, will receive G711 packets. The packets on one leg will terminate on the xcoder and will be regenerated on the other leg. Transcoder will not make a g729 to g711 call to a g711 to g711 or g729 to g729. It is just interworking in b/w.

Nipun is right that, by default, VoIP calls on a Cisco router offer g729 only. If you want additional codecs offered, and/or if you want codecs offered in a specific order, you would need to configure a voice class codec and apply it to the dial peer(s):

 

voice class codec 1
 codec preference 1 g729r8
 codec preference 2 g711ulaw
 codec preference 3 g711alaw
!
dial-peer voice 1 voip
 voice-class codec 1

Is that what you are looking for?

 

Maren

 

Hello Maren,

Thank you for your input.

Since we do not use dial-peers in our SBC config, I assume that I have to assign a codec list to cac policy as described in: https://www.cisco.com/c/en/us/td/docs/routers/asr1000/configuration/guide/sbcu/2_xe/sbcu_2_xe_book/sbc_cod.pdf

The following example shows the commands required to configure codec restriction.
Figure 17-1 contains three adjacencies (A, B, and C). Any calls involving A need to be configured to use
only the G729 and PCMU (G.711) codecs with a minimal preferred packetization period of 10
milliseconds. However, calls between B and C can use any available codecs.
To create a codec list containing the specified codecs configured with a minimal preferred packetization period, use the following commands:

 

Router(config-sbc-sbe)# codec list allowable_codecs
Router(config-sbc-sbe-codec-list)# description The set of codecs allowed on adjacency AdjA
Router(config-sbc-sbe-codec-list)# codec g729 packetization-period 20
Router(config-sbc-sbe-codec-list)# codec pcmu packetization-period 10
Router(config-sbc-sbe-codec-list)# exit

 

 

Please advise.

 

Thanks.

 

Router# configure terminal
Router(config)# sbc mysbc
Router(config-sbc)# sbe
Router(config-sbc-sbe)# cac-policy-set 1
Router(config-sbc-sbe-cacpolicy)# first-cac-table table1
Router(config-sbc-sbe-cacpolicy)# first-cac-scope call
Router(config-sbc-sbe-cacpolicy)# cac-table table1
Router(config-sbc-sbe-cacpolicy-cactable)# match-type adjacency
Router(config-sbc-sbe-cacpolicy-cactable)# entry 1
Router(config-sbc-sbe-cacpolicy-cactable)# match AdjA
Router(config-sbc-sbe-cacpolicy-cactable)# codec-restrict-to-list allowable_codecs
Router(config-sbc-sbe-cacpolicy-cactable-entry)# action cac-complete
Router(config-sbc-sbe-cacpolicy-cactable-entry)# exit
Router(config-sbc-sbe-cacpolicy)# complete

The SP SBC is not something I've worked with, so I am not able to advise you with regards to configuration. However, the following two statements from Chapter 17, Page 3 imply that all supported codecs are passed in call setup. (Although I may be totally misreading the passages as I am not familiar with this system.) So is it possible that some other device is limiting the initial codec selection?

 

"If a codec whitelist is configured, Cisco Unified Border Element (SP Edition) removes any unlisted codecs from the call setup flow and media gate allocation."
"If a codec whitelist has not been configured, all recognized codecs (see Table 17-1 to Table 17-5) are allowed for all calls."

 

Hopefully another poster can help you from here. I look forward to reading the thread.

Maren

R0g22
Cisco Employee
Cisco Employee
You are right. For CUBE SP, you MUST add the codecs/list with a CAC policy. Like you have defined above, you can also configure permissible ptime for each codec. These would define if you need a codecA when calling from adjacency A to adjacency B vs using codecB when calling from adjacency A to C.
If you need to, you can re-order the codecs/priority. Remember, this is only for SIP SDP. Reordering is not supported with H.323. Also, if you are using media bypass, reordering won't be supported.