cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1352
Views
15
Helpful
7
Replies

Cannot get video from calls.webex.com

mostafa.farzane
Level 1
Level 1

Hello everyone.

 

I am using Linphone for Android and trying to call Webex through SIP. I noticed that there are two SIP endpoints for each account: 1- <username>@<siteName>.webex.com 2- <username>@<sitName>.calls.webex.com. Calling either one will land on the same Webex account.

 

I can call from Linphone to Webex through "<username>@<siteName>.webex.com" and everything is fine. I have both video and audio.

But when calling from Linphone to Webex through "<username>@<sitName>.calls.webex.com", I just have audio. The video is missing. Digging more, I found out that Webex replies with an SDP with an empty video.

 

I would like to know what is difference between webex.com and calls.webex.com. Why I can just use the first one.

7 Replies 7

Igor Lukic
Spotlight
Spotlight

Hello @mostafa.farzane,

 

there is a difference between the two call types. If you dial <username>@<Webex-Site-ID>.webex.com, then you are calling the personal room of a user on the Webex Meetings platform.

However, when you dial <username>@<Webex-SIP-Subdomain>.calls.webex.com, then you are calling the user in the Webex App (used to be Webex Teams), which in the backend is not the same platform (yet).

 

Since I do not know the exact infrastructure in the backend (only Cisco does that), I cannot tell why it behaves differently, but I could imagine that a different gateway service is used.

 

You could confirm that in your logs. If you compare the logs for both call attemts and take a look a the user agent header in the SIP signaling, you might be able to spot a difference.

If you are willing to share the logs, I can also have a look into.

 

Best regards,

Igor

Hi @Igor Lukic 

 

Thanks for the quick reply.

 

Here are the two log files. One for meeting and one for call.

I turned on the Linphone debug so it put out some other stuff as well. Hope it is not confusing. Just look for INVITE messages and you can see the SDP after that.

 

Thanks

Hi @mostafa.farzane,

 

thanks for providing the logs.

As expected, in the SDP of your client is the same for both type of calls (except for different source port numbers). As I can see, you are offering OPUS, G.711 u-law / a-law for audio and VP8, H.264 for video.

 

Linphone SDP for the call to the Webex Meeting platform (<username>@meet93.webex.com):

v=0
o=linphone 146 2423 IN IP4 192.168.42.130
s=Talk
c=IN IP4 192.168.42.130
t=0 0
a=rtcp-xr:rcvr-rtt=all:10000 stat-summary=loss,dup,jitt,TTL voip-metrics
m=audio 7078 RTP/AVPF 96 0 8 97 101
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1
a=rtpmap:97 telephone-event/48000
a=rtpmap:101 telephone-event/8000

 


a=rtcp-fb:* trr-int 5000
a=rtcp-fb:* ccm tmmbr
m=video 52187 RTP/AVPF 96 97
a=rtpmap:96 VP8/90000
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42801F
a=rtcp:46113
a=rtcp-fb:* trr-int 5000
a=rtcp-fb:* ccm tmmbr
a=rtcp-fb:96 nack pli
a=rtcp-fb:96 nack sli
a=rtcp-fb:96 ack rpsi
a=rtcp-fb:96 ccm fir
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir

 

The Webex Meetings platform replies with audio and video capability as well:

SIP/2.0 200 OK
Via: SIP/2.0/TLS 192.168.42.130:33520;branch=z9hG4bK.Qb6W8H0zU;rport=4592
Record-Route: <sip:l2sip-aore-03.wbx2.com:5062;transport=tls;lr>
Record-Route: <sip:rr$n=net_me_tls_l2sip@209.197.207.52:5061;transport=tls;lr;bypassvcs=true>
To: <sip:pr1825787096@meet93.webex.com>;tag=2134184770
From: <sip:linphone@192.168.42.130>;tag=gx5b~hUz7
Contact: <sip:l2sip-UA@l2sip-aore-03.wbx2.com:5062;transport=tls>;isfocus
Call-ID: mgkh~BFlK5
CSeq: 20 INVITE
Content-Length: 615
Session-ID: 80c24874382b3dbec7e606025617c0b6;remote=d63d16b0f3c836d3becdf2f78ea1c6a4
Locus: 184d96d5-757a-3279-b289-16d139e9e35c
Locus-SessionId: 80c24874-382b-3dbe-c7e6-06025617c0b6
Locus-Type: MEETING
WebexMeetingNumber: 1825787096
User-Agent: Cisco-L2SIP
Accept: application/sdp
Allow: INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,NOTIFY,SUBSCRIBE
Allow-Events: kpml
Supported: replaces
Content-Type: application/sdp

v=0
o=Calliope 120461589 0 IN IP4 170.72.100.63
s=-
i=MediaEngine
c=IN IP4 170.72.100.63
b=TIAS:8256000
t=0 0
m=audio 49644 RTP/AVPF 96 0 8 101
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1
a=rtpmap:0 PCMU/8000/1
a=rtpmap:8 PCMA/8000/1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=content:main
a=label:0
m=video 57604 RTP/AVPF 97
b=TIAS:4000000
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42e016;max-mbps=244800;max-fs=8160;max-fps=3000;max-dpb=12240;max-rcmd-nalu-size=196608
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=sendrecv
a=label:1

 

And here is the relevant output for the second call to your Webex App (<username>@meet93.calls.webex.com):

v=0
o=linphone 412 2957 IN IP4 192.168.42.130
s=Talk
c=IN IP4 192.168.42.130
t=0 0
a=rtcp-xr:rcvr-rtt=all:10000 stat-summary=loss,dup,jitt,TTL voip-metrics
m=audio 7078 RTP/AVPF 96 0 8 97 101
a=rtpmap:96 opus/48000/2
a=fmtp:96 useinbandfec=1
a=rtpmap:97 telephone-event/48000
a=rtpmap:101 telephone-event/8000
a=rtcp-fb:* trr-int 5000
a=rtcp-fb:* ccm tmmbr
m=video 34375 RTP/AVPF 96 97
a=rtpmap:96 VP8/90000
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=42801F
a=rtcp:47536
a=rtcp-fb:* trr-int 5000
a=rtcp-fb:* ccm tmmbr

 

Reply from the Webex (Teams) environment:

SIP/2.0 200 OK
CSeq: 20 INVITE
Call-ID: aHcegJH60a
From: <sip:linphone@192.168.42.130>;tag=2NGR2uapS
Via: SIP/2.0/TLS 192.168.42.130:54208;branch=z9hG4bK.4~W0E7pGp;rport=44704;received=10.254.40.48
To: <sip:farzanemostafa@meet93.calls.webex.com>;tag=1403110283
Session-ID: 954566c85176c6bb961dcd3e97925bd2;remote=00000000000000000000000000000000
Locus: 4267118a-8f87-11ec-bb68-02425a019dd4
Locus-SessionId: 954566c8-5176-c6bb-961d-cd3e97925bd2
Locus-Type: CALL
User-Agent: Cisco-L2SIP
Accept: application/sdp
Allow: INVITE,ACK,CANCEL,BYE,REFER,INFO,OPTIONS,NOTIFY,SUBSCRIBE
Allow-Events: kpml
Supported: replaces
Content-Type: application/sdp
Contact: <sip:l2sip-UA@l2sip-aore-03.wbx2.com:5061;transport=tls>
Content-Length: 385

v=0
o=linus 0 1 IN IP4 23.89.10.67
s=-
c=IN IP4 23.89.10.67
b=TIAS:64000
t=0 0
m=audio 52456 RTP/AVP 98 101
c=IN IP4 23.89.10.67
b=TIAS:64000
a=content:main
a=sendrecv
a=rtpmap:98 opus/48000/2
a=fmtp:98 maxplaybackrate=48000;maxaveragebitrate=64000;stereo=1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=rtcp-fb:* ccm cisco-asn
a=label:100
m=video 0 RTP/AVPF *

 

As you have pointed out, in the latter scenario the Webex (Teams) plattform only accepts audio, but not video (m=video 0 RTP/AVPF *). If we compare the messages to the first call, we can see that the user agent is basically the same (Cisco-L2SIP), but the media "gateway" is different:

 

Webex Meetings environment: o=Calliope 120461589 0 IN IP4 170.72.100.63

Webex (Teams) environment: o=linus 0 1 IN IP4 23.89.10.67

 

So this at least confirms the assumption, that depending on the type of call, different media gateways are used. There is a slight chance that 23.89.10.67 has an issue, but we cannot confirm this, as only Cisco can look into the logging.

 

Three more questions:

  1. When you have dialed farzanemostafa@meet93.calls.webex.com (i.e. your Webex App), did you accept the call on the Webex App (at least the 200 OK message to the INVITE would imply this)?
  2. If so, did you use both applications (Linphone and Webex App) on the same device? If so, maybe Linphone was using your camera, preventing webex from using it and thus maybe causing the issue.
  3. Have you tried calling farzanemostafa@meet93.calls.webex.com from another SIP device / client?

Best regards,

Igor

Thanks, @Igor Lukic  for taking the time.

 

After your explanation, it became more clear to me.

 

As for your questions:

1- Yes, I accepted the call on Webex App. Actually once I forgott to do so and the SDP negocition did not procceed.

2- No they are on different devices.

3- If the two parties are Webex, It is fine. I called one Webex profile from another Webex profile. Everything was fine. I received audio and video. But the problem is when I call Webex with a third party app/library like Linphone. I suspect that the Webex(call) does not support my H264 profile or something similar.

Hi @mostafa.farzane,

 

thanks for answering the questions. I agree with you, most probably it is an issue with the H.264 profile.

 

a=fmtp:97 profile-level-id=42801F -> 0x42 = Baseline Profile (66) / 0x80 = Constrained / 0x1F (31) -> 31 means Level 3.1, which supports 720p30, so it should be fine

image.png

 

Source: https://en.wikipedia.org/wiki/Advanced_Video_Coding

 

Basically this should be supported by the Webex (Teams) infrastructure (as it is the case for Webex Meetings), but maybe Webex (Teams) infrastructure is expecting some more parameters.

 

For example, if we take a look at the SDP that comes from the Webex Meetings media node, then we can see a different H.264 profile, but also some additional information:

a=fmtp:97 profile-level-id=42e016;max-mbps=244800;max-fs=8160;max-fps=3000;max-dpb=12240;max-rcmd-nalu-size=196608

 

However, without involving Cisco TAC here, there will be no chance for further troubleshooting. Since it is a free account that you are using, you will not get support from Cisco TAC.

 

Best regards,

Igor

Thnaks @Igor Lukic for the time.

 

I agree with you. Both Cisco and Linphone uses the Baseline profile. I even tried other things like AVPF, but no luck.

 

Best wishes,

Mostafa 

 

Hi @mostafa.farzane,

 

you are more than welcome! Thanks a lot for sharing your own experience.

If you have a customer with a paid account, you could talk to them, try to recreate the issue  and ask them to open a TAC case (if they are willing to).

 

Best regards,

Igor