Trouble joining a mtg from a SIP software client (agent)

I’m interested in having a SIP/RTP enabled agent join a meeting and tap into the audio streams and provide additional value to our meeting participants. I’m following instructions provided by Tim Slagle in this blog. So far I don’t have a working solution. Appreciate help diagnosing the following problems:

    1. Tried to join with audio only (disabled video and the SDP offer indicates that), but always get a 480/Temporarily Unavailable message. Contacted customer support and was told that the CRC endpoint (@zoomcrc.com) ALWAYS expects audio AND video. This is different from what was mentioned in the blog.
    1. To make progress, I included video in the offer. It’s not ideal for where I want to be, but wanted to get something end to end working. I was able to establish a connection and can see audio and video frames in my client. I recorded the audio and it is what was spoken in the meeting.
    • 2 a. However, the service consistently sends a BYE after exactly 30 seconds. Clearly it is timing out but I have no idea what I’m expected to provide to sustain the conversation beyond 30 seconds.

    • 2 b. There is no indication in the meeting, during that 30 seconds, that someone else has joined the meeting. This suggests that the CRC service was in the process of sizing up the client before letting it into the meeting (but as mentioned above, audio/video was sent to the client).

Some additional context:

  1. Using PJSIP library and tried with both the low level PJSIP+PJMEDIA api as well as the high-level PJSUA2 api. Ultimately they both do the same thing and I get the same response from zoomcrc.
  2. Here is the offer sent with audio only (set to recvonly), as prescribed in the blog:

v=0
o=- 3773504889 3773504889 IN IP4 10.40.15.46
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0
m=audio 4000 RTP/AVP 98 97 99 104 3 0 8 9 96
c=IN IP4 10.40.15.46
b=TIAS:64000
a=rtcp:4001 IN IP4 10.40.15.46
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:99 speex/32000
a=rtpmap:104 iLBC/8000
a=fmtp:104 mode=30
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:9 G722/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=ssrc:840714628 cname:7ee2e508622ab14c
a=recvonly
m=video 0 RTP/AVP 31
c=IN IP4 127.0.0.1

  1. Here’s the offer sent with audio/video (send and recv in both directions):

v=0
o=ZoomRC 185567 185567 IN IP4 8.5.129.229
s=ZoomRC
c=IN IP4 8.5.129.229
b=AS:352
t=0 0
m=audio 3340 RTP/AVP 9 0 8 101
b=TIAS:64000
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 3342 RTP/AVP 109 110 111
b=TIAS:352000
a=rtpmap:109 H264/90000
a=fmtp:109 profile-level-id=42801f; packetization-mode=0
a=rtpmap:110 H264/90000
a=fmtp:110 profile-level-id=42801f; packetization-mode=1
a=rtpmap:111 H264/90000
a=fmtp:111 profile-level-id=64801f; packetization-mode=1
a=sendrecv
a=rtcp-fb:* nack pli
a=rtcp-fb:* ccm fir
a=rtcp-fb:* ccm tmmbr
a=content:main
a=label:1

  1. As far as I can tell, there was only an additional INFO with a keyframe from the CRC service sent after the session was connected. Then it disconnects after 30 seconds.

I’ve tried many things but no idea what else to do. Customer Support said my best bet is the dev message board.

Thanks,
Krishna

Hey @krishna.nareddy,

Thanks for reaching out.

Have you seen these articles? They may help.

If this doesn’t help let me know!

Thanks,
Tommy

Thanks Tommy. We want to have an agent participate in zoom meetings and access all the other participants’ audio to provide contextual help and value on top of the conversation. This scenario is exactly as alluded to by Tim Slagle in his blog. Our product ships to thousands of customers and this zoom agent feature will be used if our customer uses Zoom (and subscribes to CRC) to communicate with their customers. Therefore, the best option is to use the CRC via SIP as it doesn’t involve installing anything in our customers’ meeting rooms.

  • The zcommands appears to send commands from a CLI and involves installing/configuring software on site. Not an option given the above constraints.

  • I read the “Getting started with h.323/sip room connector” several times. This is exactly how we want to access the Zoom meetings, but the info there is basic and doesn’t help me with the problem I am running into. I am already doing what the article asks me to.

  • The call-out option mentioned in “H.323/SIP Room Connector call-out” would essentially be the same as what I’m trying, except that instead of the agent attempting to join a meeting, it will accept an incoming invite. As described in my problem report, I already have a call established. The problem is the time out after 30 seconds. We can definitely use a call-out in addition to call-in, but at this point the simpler call-in isn’t working.

Appreciate taking a deeper look at my problem report. It describes the problem in detail. I have already spent more than a week trying to make progress and already went through Zoom Customer Support, who sent me here.

Hey @krishna.nareddy,

Thanks for your patience, we are working on getting this question into the right hands and solved. I will post back here with updates!

Thanks,
Tommy

2 Likes

Hey @krishna.nareddy,

This needs to be escalated to our engineering through our support since they need to look into our internal platform logs. If I have to guess: our CRC has sent the answer in 200 OK but somehow is not getting the ACK back from your client (or the ACK is dropped somewhere). The media will get established in this case but the session will time out. But this needs to be debugged more and the right place to start that is through our support.

I created a support ticket for you and CC’d myself so I can assist in getting this escalated.

Thanks,
Tommy

Thanks Tommy. Look forward to the resolution. I’ll also follow up on the ticket.

Thank you,
Krishna

1 Like

Please do! Happy to help!

Updating with engineering ticket reference: ZOOM-101221

Thanks,
Tommy