cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1771
Views
10
Helpful
4
Replies

Cannot join from MS Teams meeting using xCommand Dial.

markhankey
Level 1
Level 1

Hi,

I'm writing Crestron code to control a Webex Room Kit Plus. The client has set up MS Teams integration, such that I get meetings booked and I need to dial them. I've done this before, and it worked well (not with MS Teams though, pretty sure it was standard Webex Teams).

 

This is what I get when I query the room booking list (some output anonymised where you see 'xxx'):

 


xCommand Bookings List

OK
*r BookingsListResult (status=OK):
*r BookingsListResult ResultInfo TotalRows: 1
*r BookingsListResult LastUpdated: "2022-02-15T23:24:59Z"
*r BookingsListResult Booking 1 Id: "webex-8"
*r BookingsListResult Booking 1 MeetingId: "066c0c09-2035-6b76-86db-c1fdbxxxc64e"
*r BookingsListResult Booking 1 Title: "test1"
*r BookingsListResult Booking 1 Agenda: ""
*r BookingsListResult Booking 1 Privacy: Private
*r BookingsListResult Booking 1 Organizer FirstName: "Mr Jones"
*r BookingsListResult Booking 1 Organizer LastName: ""
*r BookingsListResult Booking 1 Organizer Email: ""
*r BookingsListResult Booking 1 Organizer Id: "38481d6f-abd2-446f-8785-ccadxxx9b703"
*r BookingsListResult Booking 1 Time StartTime: "2022-02-15T23:30:00Z"
*r BookingsListResult Booking 1 Time StartTimeBuffer: 300
*r BookingsListResult Booking 1 Time EndTime: "2022-02-16T00:00:00Z"
*r BookingsListResult Booking 1 Time EndTimeBuffer: 0
*r BookingsListResult Booking 1 MaximumMeetingExtension: 30
*r BookingsListResult Booking 1 MeetingExtensionAvailability: Guaranteed
*r BookingsListResult Booking 1 BookingStatus: OK
*r BookingsListResult Booking 1 BookingStatusMessage: ""
*r BookingsListResult Booking 1 MeetingPlatform: "MicrosoftTeams"
*r BookingsListResult Booking 1 Cancellable: False
*r BookingsListResult Booking 1 Webex Enabled: False
*r BookingsListResult Booking 1 Webex Url: ""
*r BookingsListResult Booking 1 Webex MeetingNumber: ""
*r BookingsListResult Booking 1 Webex Password: ""
*r BookingsListResult Booking 1 Webex HostKey: ""
*r BookingsListResult Booking 1 Encryption: BestEffort
*r BookingsListResult Booking 1 Recording: Disabled
*r BookingsListResult Booking 1 DialInfo Calls Call 1 Number: "https://teams.microsoft.com/l/meetup-join/19%3ameeting_YxxxxxxxxjAtYTBlZC00MGYyLThhODItNzdhYTg3MWQ4NGVk%40thread.v2/0?context=%7b%22Tid%22%3a%22d96cb337-1a87-44cf-b69b-3cec334a4c1f%22%2c%22Oid%22%3a%22ce015e50-e425-4b62-a4ac-9fcd09c7e658%22%7d"
*r BookingsListResult Booking 1 DialInfo Calls Call 1 Protocol: WebRTC
*r BookingsListResult Booking 1 DialInfo ConnectMode: OBTP
*r BookingsListResult Booking 1 Spark MeetingType: Scheduled
*r BookingsListResult Booking 1 Spark Alert: True
*r BookingsListResult Booking 1 Spark LocusActive: False
*r BookingsListResult Booking 1 Spark Pending: False
** end

 

When I try to join the meeting, previously I have used the MeetingId and Call 1 Number like so:

 

xCommand Dial Number: <<call-number>> BookingId: <<meeting-id>>

 

However the codec responds with an error and I get this on screen.

str-too-long.jpg

This kind of makes sense as the Teams URL is huge. Does anyone have any experience with this? I'm going to approach my client who did the MS Teams integration and find out if they have any control over what numbers appear in the meeting information, perhaps they have selected the wrong format or field?

 

Additionally, if you use the microphone to follow the prompts, or connect a Touch 10 to the system, the codec has no problem connecting to the meeting. I just need to be able to do it from my Crestron touch panel.

 

Thanks in advance!

Mark

 

1 Accepted Solution

Accepted Solutions

markhankey
Level 1
Level 1

Ok, so I found the solution. Thanks @azte for the reminder to post it here!

Firstly, @Wayne DeNardi is correct that the protocol needs to be listed as WebRTC for this to work. Otherwise it might be "Protocol: Spark" in which case answering/joining the meeting is a different xCommand. In my case the end-point was definitely enabled in their Webex environment. The text to check is

*r BookingsListResult Booking 1 DialInfo Calls Call 1 Protocol: WebRTC

To answer/join, use:

xCommand WebRTC Join BookingId: <booking-id> Url: <call-number>

Where the booking Id comes in as

*r BookingsListResult Booking 1 Id: "this-is-the-booking-id"

And the call-number comes in as

*r BookingsListResult Booking 1 DialInfo Calls Call 1 Number: <this-is-the-call-number>

As I said Spark protocol answer/join is more the standard Dial syntax:

xCommand Dial Number: <call-number> BookingId: <booking-id>

Of course I found the solution in the manual in the end I hope that this helps someone out.

 

View solution in original post

4 Replies 4

Can you really use the xcommand dial command with a WebRTC address? I would think that it only works with directory numbers or SIP uris.

AFAIK WebRTC can only be joined with OBTP or by using proximity in the Webex application from a client.



Response Signature


Wayne DeNardi
VIP Alumni
VIP Alumni

As @Roger Kallberg mentioned, however you are getting your meeting invite, it is sending a WebRTC link and call type to the endpoint, as can be seen by these two lines in your output:

*r BookingsListResult Booking 1 DialInfo Calls Call 1 Number: "https://teams.microsoft.com/l/meetup-join/19%3ameeting_YxxxxxxxxjAtYTBlZC00MGYyLThhODItNzdhYTg3MWQ4NGVk%40thread.v2/0?context=%7b%22Tid%22%3a%22d96cb337-1a87-44cf-b69b-3cec334a4c1f%22%2c%22Oid%22%3a%22ce015e50-e425-4b62-a4ac-9fcd09c7e658%22%7d"
*r BookingsListResult Booking 1 DialInfo Calls Call 1 Protocol: WebRTC

Depending on your call control platform, your device may not be configured to allow a WebRTC call, and would more likely be expecting a SIP URI for the "Number".

Wayne

Please remember to mark helpful responses and to set your question as answered if appropriate.

azte
Level 1
Level 1

Plz have you got the solution for your issue?

markhankey
Level 1
Level 1

Ok, so I found the solution. Thanks @azte for the reminder to post it here!

Firstly, @Wayne DeNardi is correct that the protocol needs to be listed as WebRTC for this to work. Otherwise it might be "Protocol: Spark" in which case answering/joining the meeting is a different xCommand. In my case the end-point was definitely enabled in their Webex environment. The text to check is

*r BookingsListResult Booking 1 DialInfo Calls Call 1 Protocol: WebRTC

To answer/join, use:

xCommand WebRTC Join BookingId: <booking-id> Url: <call-number>

Where the booking Id comes in as

*r BookingsListResult Booking 1 Id: "this-is-the-booking-id"

And the call-number comes in as

*r BookingsListResult Booking 1 DialInfo Calls Call 1 Number: <this-is-the-call-number>

As I said Spark protocol answer/join is more the standard Dial syntax:

xCommand Dial Number: <call-number> BookingId: <booking-id>

Of course I found the solution in the manual in the end I hope that this helps someone out.