tieto / sipe

A third-party Pidgin plugin for Microsoft Lync/OCS - clone of upstream http://repo.or.cz/w/siplcs.git
GNU General Public License v2.0
129 stars 24 forks source link

pidgin-sipe doesn't consistently find sip: URIs in Office365 Skype URIs #138

Closed dlenski closed 6 years ago

dlenski commented 7 years ago

I frequently use the "Join scheduled conference…" option to join scheduled meetings. (pidgin-sipe 1.21.1+sipe-0+201612161027~ubuntu16.04.1)

I'm typically getting URLs like this from Skype meeting invites: https://meet.lync.com/mycompany/some.body/5DEADBEEF (URL structure for Office365 Skype For Business).

Sometimes Pidgin parses these fine and handles them without a hitch, but sometimes I get an error:

Can't find a conference URI on this page:

https://meet.lync.com/mycompany/some.body/5DEADBEEF

or

Can't find a conference URI on this page:

https://webpoolbl20a23.infra.lync.com/Meet/?origurl=[base64 encoded version of original URL]

This is somewhat puzzling, because when I run curl and inspect the HTML/XML response body of the URI in question, I find numerous instances of the meet:sip: or conf:sip: URIs, e.g. meet:sip:some.body@mycompany.com;gruu;opaque=app:conf:focus:id:5DEADBEEF.

Is there a particular XML structure or tag that pidgin-sipe is looking for to find the sip: URI?

simark commented 7 years ago

I got the same error. I was able to join the meeting using the bottom fields, where organizer email is some.body@organization.com and the meeting ID 5DEADBEEF (according to your example).

Zmegolaz commented 7 years ago

There is a compatibility part of the web page source which hints at adding "?UseCdn=false" to the end of the meeting URL, which seems to work.

dlenski commented 7 years ago

Very good find, @Zmegolaz.

My guess is that Microsoft's CDN doesn't recognize Pidgin as the browser trying to connect to it (probably a strange User-Agent?), and sends it a CAPTCHA or some other DDOS-prevention redirect.

Adding ?UseCdn=false does seem to allow Pidgin to retrieve the meeting details in more cases for me…

xhaakon commented 6 years ago

Should be fixed by upstream commit and already in PPA.