02-12-2020 05:35 AM
Hi,
I have a problem with transcoding calls on CUBE HA box (ISR4331) without DSPs. I'm trying to use dedicated hardware (2911) with DSPs for transcoding calls from SIP provider (g711alaw) to internal CUCM/UCCE solution where we need g711ulaw or g729.
But this is not working as I expected. Dedicated transcoder is never invoked and I don't know why and how to troubleshoot.
Negotiating codec on both sides is allways same. If I allow only g711alaw on incoming and g729 or g711u on outgoing peer, call is not established.
Can someone help me with this?
Here is my setup (HS and CUBE related only):
CUBE box (ISR4331/K9):
voice service voip
ip address trusted list
ipv4 10.10.10.0 255.255.255.0
address-hiding
mode border-element license capacity 120
allow-connections sip to sip
redundancy-group 1
no supplementary-service sip handle-replaces
supplementary-service media-renegotiate
fax protocol t38 version 0 ls-redundancy 1 hs-redundancy 1 fallback pass-through g711alaw
sip
midcall-signaling passthru
!
voice class codec 10 (from/to CUCM/IVR/IPphones)
codec preference 1 g729r8
!
voice class codec 80 (from/to SIP provider)
codec preference 1 g711alaw
!
redundancy
mode none
application redundancy
group 1
name RedundancyGroup1
priority 100 failover threshold 75
timers delay 30 reload 60
control GigabitEthernet0/0/2 protocol 1
data GigabitEthernet0/0/2
track 1 shutdown
track 2 shutdown
!
!
!
track 1 interface GigabitEthernet0/0/0 line-protocol
!
track 2 interface GigabitEthernet0/0/1 line-protocol
interface GigabitEthernet0/0/0 (internal)
ip address 10.10.10.11 255.255.255.240
negotiation auto
redundancy rii 1
redundancy group 1 ip 10.10.10.10 exclusive
!
interface GigabitEthernet0/0/1 (to SIP provider)
ip address 192.168.1.3 255.255.255.248
negotiation auto
redundancy rii 2
redundancy group 1 ip 192.168.1.2 exclusive
!
interface GigabitEthernet0/0/2 (connection to 2nd CUBE box)
ip address 172.16.1.1 255.255.255.252
negotiation auto
telephony-service
sdspfarm units 2
sdspfarm transcode sessions 120
sdspfarm tag 1 XCODE
max-ephones 10
max-dn 10
ip source-address 10.10.10.11 port 2000 secondary 10.10.10.10
max-conferences 8 gain -6
transfer-system full-consult
Transcoder box (CISCO2911/K9):
voice-card 0
dsp services dspfarm
sccp local BVI1
sccp ccm 10.10.10.12 identifier 22 version 7.0 - CUBE#2
sccp ccm 10.10.10.11 identifier 21 version 7.0 - CUBE#1
sccp ccm 10.10.10.10 identifier 20 version 7.0 - CUBE virtual IP
sccp
sccp ccm group 20
bind interface BVI1
associate ccm 20 priority 1
associate ccm 21 priority 2
associate profile 20 register XCODE
keepalive retries 1
keepalive timeout 10
switchover method immediate
switchback method immediate
dspfarm profile 20 transcode
codec g729r8
codec g729br8
codec g711ulaw
codec g711alaw
codec g729ar8
codec g729abr8
maximum sessions 20
associate application SCCP
On CUBE with debug sccp I can see this:
need audio xcoding, but no resource, astr1=0, astr2=0, vstr1=0, vstr2=0
What I'm missing?
Thanks!
02-12-2020 06:13 AM
I am doing something similar where I am running a managed SIP service and directing traffic directly to our CUCM's and using 4331 for Transcoding when needed.
Looking at your config, under sccp ccm group 20, you are only associating 2 of the 3 CUCM's. I assume 10.10.10.12, 11, and 10 are your cucm's that you have defined under your local interface. Not saying that is your issue but that is one thing that stood out.
Is your XCODE registered in your CUCM's and allocated appropriately with in your Media Resource Group (MRG) and Media Resource Group List (MRGL)?
02-12-2020 07:00 AM
Hi,
10.10.10.11 and 10.10.10.12 are real IP adresses of ISR4331 CUBE boxes. 10.10.10.10 is a virtual IP (active) so as I only testing with first CUBE (second is offline) I put here only real and virtual IP.
I am reffering to documentation found here:
I think that this transcoding should be done without CUCM. If there is not local DSP resurses on CUBE, LTE cannot be used but as per documentation mentioned above, second box with DSPs should done job without CUCM.
02-12-2020 06:47 AM
I don't even think that's supposed to work. Your media resources, if you're not using LTI, need to register to CUCM, and then CUCM would invoke the xcoder, if you want to leave CUCM out of the picture for that, you need DSPs on your 4xxx ISR and do LTI
02-12-2020 07:01 AM
Hi Jaime,
but per documentation here, it should work without CUCM as well:
02-12-2020 07:05 AM
And when looking commands mentioned in that document, everything looks OK:
SIP_CUBE_RI1#show sdspfarm units
mtp-1 Device:XCODE TCP socket:[2] REGISTERED in SCCP ver 18/18
actual_stream:40 max_stream 40 IP:10.10.10.20 * 33355 MTP Dixieland keepalive 373
Supported codec:
G711Ulaw
G711Alaw
G729
G729a
G729b
G729ab
max-mtps:2, max-streams:240, alloc-streams:120, act-streams:0
XCODE#show dspfarm all
Dspfarm Profile Configuration
Profile ID = 20, Service = TRANSCODING, Resource ID = 3
Profile Description :
Profile Service Mode : Non Secure
Profile Admin State : UP
Profile Operation State : ACTIVE
Application : SCCP Status : ASSOCIATED
Resource Provider : FLEX_DSPRM Status : UP
Number of Resource Configured : 20
Number of Resources Out of Service : 0
Codec Configuration: num_of_codecs:6
Codec : g729r8, Maximum Packetization Period : 60
Codec : g729br8, Maximum Packetization Period : 60
Codec : g711ulaw, Maximum Packetization Period : 30
Codec : g711alaw, Maximum Packetization Period : 30
Codec : g729ar8, Maximum Packetization Period : 60
Codec : g729abr8, Maximum Packetization Period : 60
But when calls came to CUBE which needs to be transcoded, in debug I see:
*Feb 12 12:30:50.817: skinny_reserve_stream for callID 381096 & callID 381093, info=0x7FB294A03BA8
*Feb 12 12:30:50.817: audio-x=yes, video-x=no, flow-around=no, lip_syn=no
*Feb 12 12:30:50.817: : Get RTP stream1 0x7FB294A03C30:0x0 stream2 0x7FB294A03C28:0x0
*Feb 12 12:30:50.817: skinny_xcode_get_stream: last_pos=0
*Feb 12 12:30:50.817: after: last_pos=0, stream=0
*Feb 12 12:30:50.817: need audio xcoding, but no resource, astr1=0, astr2=0, vstr1=0, vstr2=0
*Feb 12 12:30:50.817: skinny_reserve_stream for callID 381096 & callID 381093, info=0x7FB294A03BA8
*Feb 12 12:30:50.817: audio-x=yes, video-x=no, flow-around=no, lip_syn=no
*Feb 12 12:30:50.817: : Get RTP stream1 0x7FB294A03C30:0x0 stream2 0x7FB294A03C28:0x0
*Feb 12 12:30:50.817: skinny_xcode_get_stream: last_pos=0
*Feb 12 12:30:50.817: after: last_pos=0, stream=0
*Feb 12 12:30:50.817: need audio xcoding, but no resource, astr1=0, astr2=0, vstr1=0, vstr2=0
02-12-2020 08:14 AM
Hi Sinisa,
I apologize, after reviewing the documentation this is not similar to what I am doing. Have you verified that RTP traffic is routing between you CUBE and XCODE Routers? Since the transcoding needs to occur on your XCODE router (2821) that traffic needs to get there.
02-12-2020 11:02 PM
Hi Yort,
I'm not sure that I understand what you mean with "Have you verified that RTP traffic is routing between you CUBE and XCODE Routers?"
CUBE never invokes XCODE so RTP is not started between CUBE and XCODE. If you mean on network connection between CUBE and XCODE, they can communicate, routing between them is OK (if not, XCODE will never register to CUBE)
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: