Skype USB Phone to Lync USB Phone? Why not …

Zakaj ne bi USB telefonček, kompatibilen s Skypom, uporabili tudi za komunikacijo preko Lynca?
Na trgu obstaja veliko poceni USB telefonov, ki so kompatibilni s Skypom. Na drugi strani pa imamo Lync, dokaj nov ekvivalent Skypu, namenjen predvsem poslovni uporabi. Njegova mladost je vzrok za manjšo množico USB telefonov, ki bi bili kompatibilni z njim, poleg tega pa imajo tej tudi občutno višjo ceno.

Tako je prišla na plan ideja, da bi lahko namesto najcenejšega Lync USB telefona za dobrih 100 €, kupili najmanj šest Skype USB telefonov (cena enega je dobrih 15€), na katerih bi lahko počeli popolnoma ekvivalentne stvari. Če pri tem upoštevamo, da bi dobil tak telefonček skoraj vsak zaposleni, pridemo do velikih prihrankov. Torej, za to bi bilo potrebno le sprogramirati “driver”, ki bi omogočal medsebojno komunikacijo Skype USB telefona z Lyncom.

Kot prvo sem Skype USB telefon priklopil na USB port sniffer (program, s katerim lahko spremljamo promet med računalnikom in napravo, ki je priklopljena na USB). Tako sem dobil zadostne informacije o tem, kaj telefon pošilja ob kliku na posamezno tipko telefona, kako pošiljati in prejemati zvok, kako osvetliti zaslon in kako prikazati neko informacijo na njemu.

Nadaljeval sem z delom, kako te ukaze naprej pošiljati na Lync/kako s temi ukazi upravljati Lync. Lync sicer nudi bližnjice (Hotkeys), katere bi lahko uporabil, vendar je njihov nabor majhen, poleg tega pa prinašajo slabosti (npr. Lync mora biti v ospredju/aktiven itd.). Namesto tega sem raje uporabil Lync SDK, ki omogoča z Lyncom početi skoraj vse.

Tako sem izdelal dodatek za Lync, ki se ob zagonu računalnika poveže z USB telefonom in Lync klientom. Ta na eni strani čaka, kdaj bo uporabnik pritisnil na neko tipko USB telefona in se mu bo tako odzval z ustrezno akcijo. Na drugi strani pa čaka zahtevo za sprejetje klica s strani Lync klienta, na katero se mora prav tako ustrezno odzvati.

Za branje podatkov iz USB naprave sem uporabil sistemske funkcije za delo z RAW napravami.

S parametroma Usage Page in Usage sem določil namembnost te naše HID naprave (USB telefona), s parametroma VID in PID pa jo tudi identificiral.

Lync SDK omogoča v custom programih uporabo funkcionalnosti Lync klienta. Nanj se enostavno povežemo.

Več ali manj je to vse. Nato mora program zgolj spremljati dogodke in se na njih ustrezno odzivati.
Naj omenim še to, da sem za nadzor jakosti zvoka slušalke uporabil sistemske funkcije za delo z zvočnimi napravami. Ob pritiskih na posamezno tipko številčnice, program odda tudi DTMF signal. S posebno tipko na tipkovnici USB telefona je mogoče izvršiti preklop, da lahko tipkovnico uporabljamo tako za vnos številk kot tudi za vnos črk (iskanje kontakta po imenu).

Vse skupaj je na zunaj videti zgolj v dveh oknih (eden za prikaz vnosa številke ali imena kontakta preko tipkovnice telefona in prikaz ter izbiro zadetkov na iskalni niz, drug pa za prikaz in nastavljanje glasnosti delovanja slušalke) in nekaj ostalih obvestilnih oken, ki so prikazana na spodnjih slikah.

Lep pozdrav!
Gašper Rupnik

{End.}

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Powered by WordPress.com.

Up ↑

%d bloggers like this: