cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2264
Views
13
Helpful
11
Replies

CUBE Teams : Multiplexed media description does not specify an SSRC...

louisKl1
Level 1
Level 1

Hello,

Currently configuring a CUBe to work with Teams and an ISP, I struggle to set up the calls from Teams.

It talks about SSRC and Multiplexing media which I don't really understand not being very familiar with sdp...

I face a problem where Teams sends ACK and then a BYE that cancel the calls and show the following error messages :

 

Apr 25 17:30:11: //520/69DC97E68269/SIP/Msg/ccsipDisplayMsg:
Sent:
SIP/2.0 200 OK
Via: SIP/2.0/TLS 52.114.76.76:5061;branch=z9hG4bKa90c4817
From: "HQ692gw-teams1"<sip:+33296086769@sip.pstnhub.microsoft.com:5061;user=phone>;tag=508306c997064b6082727de183c1494c
To: <sip:+33296086772@hq692gw.msvisit6.one.equant.net:5064;user=phone>;tag=8B8225-1A87
Date: Mon, 25 Apr 2022 15:30:04 GMT
Call-ID: deb864c296ab5eb7868a3200c21f500e
CSeq: 1 INVITE
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
Allow-Events: telephone-event
Contact: <sip:+33296086772@hq692gw.msvisit6.one.equant.net:5064;transport=tls>
Record-Route: <sip:sip-du-a-eu.pstnhub.microsoft.com:5061;transport=tls;lr>
Supported: replaces
Supported: sdp-anat
Server: Cisco-SIPGateway/IOS-17.3.4a
X-MS-SBC: Cisco UBE/ISR4351/IOS-17.3.4a
Session-ID: 36799b41c4265822ba181507a561aff6;remote=0ea8c5ac71415daa81d2c17c65f4b331
Session-Expires: 3600;refresher=uac
Require: timer
Supported: timer
Content-Type: application/sdp
Content-Disposition: session;handling=required
Content-Length: 486

v=0
o=CiscoSystemsSIP-GW-UserAgent 9854 867 IN IP4 6.6.92.129
s=SIP Call
c=IN IP4 194.250.125.218
t=0 0
a=ice-lite
m=audio 8080 RTP/SAVP 8 101
c=IN IP4 194.250.125.218
a=mid:1
a=label:main-audio
a=label:main-audio
a=rtcp:8081 IN IP4 194.250.125.218
a=ice-ufrag:hP9m
a=ice-pwd:Jvuf5dr4dClrHZvzxZs8o3
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Apr 25 17:30:11: //521/69DC97E68269/SIP/Msg/ccsipDisplayMsg:

Apr 25 17:30:11: //520/69DC97E68269/SIP/Msg/ccsipDisplayMsg:
Received:
ACK sip:+33296086772@hq692gw.msvisit6.one.equant.net:5064;transport=tls SIP/2.0
FROM: "HQ692gw-teams1"<sip:+33296086769@sip.pstnhub.microsoft.com:5061;user=phone>;tag=508306c997064b6082727de183c1494c
TO: <sip:+33296086772@hq692gw.msvisit6.one.equant.net:5064>;user=phone;tag=8B8225-1A87
CSEQ: 1 ACK
CALL-ID: deb864c296ab5eb7868a3200c21f500e
MAX-FORWARDS: 70
VIA: SIP/2.0/TLS 52.114.76.76:5061;branch=z9hG4bK21c0b4c0
CONTACT: <sip:api-du-a-euno.pstnhub.microsoft.com:443;x-i=6ded8518-ae90-40c6-8edc-dec44004f24a;x-c=deb864c296ab5eb7868a3200c21f500e/d/8/557707f5de4f40f2bf3fb64e12ef886b>
CONTENT-LENGTH: 0
USER-AGENT: Microsoft.PSTNHub.SIPProxy v.2022.4.18.2 i.EUNO.10
ALLOW: INVITE,ACK,OPTIONS,CANCEL,BYE,NOTIFY

 

Apr 25 17:30:13: //520/69DC97E68269/SIP/Msg/ccsipDisplayMsg:
Received:
BYE sip:+33296086772@hq692gw.msvisit6.one.equant.net:5064;transport=tls SIP/2.0
FROM: "HQ692gw-teams1"<sip:+33296086769@sip.pstnhub.microsoft.com:5061;user=phone>;tag=508306c997064b6082727de183c1494c
TO: <sip:+33296086772@hq692gw.msvisit6.one.equant.net:5064>;user=phone;tag=8B8225-1A87
CSEQ: 2 BYE
CALL-ID: deb864c296ab5eb7868a3200c21f500e
MAX-FORWARDS: 70
VIA: SIP/2.0/TLS 52.114.76.76:5061;branch=z9hG4bK6ab33c8f
REASON: Q.850;cause=79;text="6ded8518-ae90-40c6-8edc-dec44004f24a;InternalDiagCode: MultiplexingMediaSsrcRangeMissing, InternalErrorPhrase: Multiplexed media description does not specify an SSRC range (x-ssrc-range or x-multi-stream)"
CONTACT: <sip:api-du-a-euno.pstnhub.microsoft.com:443;x-i=6ded8518-ae90-40c6-8edc-dec44004f24a;x-c=deb864c296ab5eb7868a3200c21f500e/d/8/557707f5de4f40f2bf3fb64e12ef886b>
CONTENT-LENGTH: 0
USER-AGENT: Microsoft.PSTNHub.SIPProxy v.2022.4.18.2 i.EUNO.10
ALLOW: INVITE,ACK,OPTIONS,CANCEL,BYE,NOTIFY
P-ASSERTED-IDENTITY: <tel:+33296086769>,<sip:hq692gw-teams1@msvisit6.one.equant.net>
PRIVACY: id

1 Accepted Solution

Accepted Solutions

louisKl1
Level 1
Level 1

As some put in light, I have configured media bypass as disabled.

However something weird was hapening with the sdp headers conaining "ice" which I had to modify to "tell" teams that I wasn't trying to use media bypass.

View solution in original post

11 Replies 11

b.winter
VIP
VIP

Hi,

  • How is your config looking like? Have you followed the configuration guide, which Cisco provided in form of a PDF? (very good one btw.)
  • How does your setup look like? Is the CUBE behind a NAT device, or does it have a public IP directly configured?
  • Is Media Bypass activated on the Trunk in the MS tenant or not? (I think, by default it's deactivated)

The last 2 points are important, cause there need to be config changes on the CUBE be done.

Scott Leport
Level 7
Level 7

Good point re the media bypass. If using media bypass, it needs to be enabled in the Teams tenant and the CUBE. If you have it enabled in one place and not the other, calls will fail. 

Otherwise, please provide your config and ensure your following this guide:
https://www.cisco.com/c/dam/en/us/solutions/collateral/enterprise/interoperability-portal/direct-routing-with-cube.pdf

 

louisKl1
Level 1
Level 1

As some put in light, I have configured media bypass as disabled.

However something weird was hapening with the sdp headers conaining "ice" which I had to modify to "tell" teams that I wasn't trying to use media bypass.

But those configuration variations are all listed in the PDF, that I was referring to and @Scott Leport posted the link to.

There are rules in the SIP-profiles, which you have to add, when media bypass is disabled.

E.g. referring to the voice-class sip-profiles 200 from the PDF:

 rule 100 request ANY sdp-header Audio-Attribute modify "a=candidate.*" "a=label:main-audio" --> Only when "Media Bypass" is de-activated in MS Phone System Trunk
 rule 110 response ANY sdp-header Audio-Attribute modify "a=candidate.*" "a=label:main-audio" --> Only when "Media Bypass" is de-activated in MS Phone System Trunk

I have followed precisely this document however, I had to add a rule to my voice class sip-profiles 200 which is not indicated in the Cisco configuration guideline :

 

rule 51 response ANY sdp-header Audio-Attribute modify "a=ice-.*" "a=label:main-audio"
rule 61 response ANY sdp-header Attribute modify "a=ice-.*" "a=label:main-audio"

These rules are present for the class sip-profiles 280 but not for the 200.

Thanks for you help

They are there for the profile 200 and 290, but not for 280:

 

voice class sip-profiles 200
rule 10 request ANY sip-header Contact modify "@.*:" "@sbc.example.com:"
rule 20 response ANY sip-header Contact modify "@.*:" "@sbc.example.com:"
rule 30 request ANY sip-header SIP-Req-URI modify "sip:(.*):5061 (.*)" "sip:\1:5061;user=phone \2"
rule 40 request ANY sip-header User-Agent modify "(IOS.*)" "\1\x0D\x0AX-MS-SBC: Cisco UBE/ISR4321/\1"
rule 50 response ANY sip-header Server modify "(IOS.*)" "\1\x0D\x0AX-MS-SBC: Cisco UBE/ISR4321/\1"
rule 60 request ANY sdp-header Audio-Attribute modify "a=sendonly" "a=inactive"
rule 70 response 200 sdp-header Audio-Connection-Info modify "0.0.0.0" "192.0.2.2"
rule 80 request ANY sdp-header Audio-Attribute modify "(a=crypto:.*inline:[A-Za-z0-9+/=]+)" "\1|2^31"
rule 90 response ANY sdp-header Audio-Attribute modify "(a=crypto:.*inline:[A-Za-z0-9+/=]+)" "\1|2^31"
rule 100 request ANY sdp-header Audio-Attribute modify "a=candidate.*" "a=label:main-audio"
rule 110 response ANY sdp-header Audio-Attribute modify "a=candidate.*" "a=label:main-audio"
rule 120 response 486 sip-header Reason modify "cause=34;" "cause=17;"
!
voice class sip-profiles 290
rule 10 request REFER sip-header From copy "@(.*com)" u05
rule 15 request REFER sip-header From copy "sip:(sip.*com)" u05
rule 20 request REFER sip-header Refer-To modify "sip:\+(.*)@.*:5061" "sip:+AAA\1@\u05:5061"
rule 30 request REFER sip-header Refer-To modify "<sip:sip.*:5061" "<sip:+AAA@\u05:5061"
rule 40 response ANY sip-header Server modify "(IOS.*)" "\1\x0D\x0AX-MS-SBC: Cisco UBE/ISR4321/\1"
rule 50 request ANY sdp-header Audio-Attribute modify "a=ice-.*" "a=label:main-audio"
rule 60 request ANY sdp-header Attribute modify "a=ice-.*" "a=label:main-audio"
!
voice class sip-profiles 280 --> No such rules
rule 10 request ANY sip-header User-Agent modify "(IOS.*)" "\1\x0D\x0AX-MS-SBC: Cisco UBE/ISR4321/\1"
rule 20 response ANY sip-header Server modify "(IOS.*)" "\1\x0D\x0AX-MS-SBC: Cisco UBE/ISR4321/\1"
rule 30 request INVITE sip-header SIP-Req-URI copy "@(.*:5061)" u01
rule 40 request INVITE sip-header From copy "@(.*)>" u02
rule 71 request INVITE sip-header SIP-Req-URI modify "sip:\+AAA@" "sip:"
rule 80 request INVITE sip-header SIP-Req-URI modify "sip:\+AAA" "sip:+"
rule 90 request INVITE sip-header History-Info modify "<sip:\+AAA@" "<sip:"
rule 100 request INVITE sip-header History-Info modify "<sip:\+AAA" "<sip:+"
rule 110 request INVITE sip-header To modify "<sip:\+AAA@(.*)>" "<sip:\u01>"
rule 120 request INVITE sip-header To modify "<sip:\+AAA(.*)@.*>" "<sip:+\1@\u01>"
rule 130 request ANY sip-header Contact modify "@.*:" "@\u02:"
rule 140 response ANY sip-header Contact modify "@.*:" "@\u02:"
rule 150 request ANY sdp-header Audio-Attribute modify "a=sendonly" "a=inactive"
rule 160 response 200 sdp-header Session-Owner copy "IN IP4 (.*)" u04
rule 170 response 200 sdp-header Audio-Connection-Info modify "0.0.0.0" "\u04"
rule 180 response 486 sip-header Reason modify "cause=34;" "cause=17;"

 

 

Randall White
Level 3
Level 3

Your solution works! I had the same problem. That document was updated in July 2023, and the correct info is still missing.

I just added these 2 lines:

voice class sip-profiles 200
rule 51 response ANY sdp-header Audio-Attribute modify "a=ice-.*" "a=label:main-audio"
rule 61 response ANY sdp-header Attribute modify "a=ice-.*" "a=label:main-audio"

What do you mean it’s missing in the document? From what I can tell it’s included in the document. What documentation are you using?



Response Signature


Same document that I looked in and it does have the information about what is needed for media bypass disabled. However it’s not exactly matching the SIP profile that you referenced. The document has this as part of SIP profile 290 and other lines for this in profile 200 for when media bypass is disabled. About a year and a half ago we setup a pilot for MS Teams calling and followed the document to the letter, without having any issues. Are you sure that you’re using the intended profiles for the various purposes as outlined in the document?



Response Signature


Yes, I had a TAC case open to doublecheck my config. Scenario is call from Teams to CUCM (calls from CUCM to Teams are not affected). When the Cisco phone answers, CUBE sends a 200 OK to Teams, Teams replies with an ACK then a BYE.  The BYE contains this message:

 

REASON: Q.850;cause=79;text="fbe42920-e7de-4412-9330-5fac038bb6d6;InternalDiagCode: MultiplexingMediaSsrcRangeMissing, InternalErrorPhrase: Multiplexed media description does not specify an SSRC range (x-ssrc-range or x-multi-stream)"

Adding those 2 lines to sip-profiles 200 fixed the issue.