Dela via


Element för telefonenheter

En telefonenhet är en enhet som stöder telefonenhetsklassen och som innehåller några eller alla av följande element:

  • Hookswitch/transducer: Detta är ett sätt för ljudinmatning och utdata. En telefonenhet kan ha flera givare, som kan aktiveras och inaktiveras (tas avhook eller placeras onhook) under program eller manuell användarkontroll.

    Telefoni identifierar tre typer av hookswitch-enheter som är gemensamma för många telefonuppsättningar:

    Handset: Den traditionella kombination av mun och öra som måste lyftas manuellt från en vagga och hållas mot användarens öra.
    Speakerphone: Gör det möjligt för användaren att utföra samtal handsfree. Högtalartelefonen kan vara intern eller extern till telefonenheten. Talardelen av en högtalartelefon tillåter flera lyssnare.
    Headset: Gör det möjligt för användaren att utföra samtal handsfree.

    En hookswitch måste vara offhook för att ljuddata ska kunna skickas till och/eller tas emot av motsvarande transduktor.

  • Volymkontroll/Gain Control/Mute: Varje hookswitch-enhet är parkoppling av en högtalare och en mikrofonkomponent. API:et tillhandahåller volymkontroll och ljudavstängning av talarkomponenter och för att få kontroll över eller stänga av mikrofonkomponenter.

  • Ringer: Ett sätt att varna användare, vanligtvis via en klocka. En telefonenhet kanske kan ringa i en mängd olika lägen eller mönster.

  • Visa: En mekanism för att visuellt presentera meddelanden för användaren. En telefonvisning kännetecknas av dess antal rader och kolumner.

  • Telefonknappar: En matris med knappar. När användaren trycker på en knapp på telefonuppsättningen rapporterar API:et att motsvarande knapp trycktes in. Knapplampans identifierare identifierar ett knapp- och lamppar. Naturligtvis är det möjligt att ha knapp-lamppar med antingen ingen knapp eller ingen lampa. Knapplampaidentifierare är heltalsvärden som sträcker sig från 0 till det maximala antalet knapplampor som är tillgängliga på telefonenheten, minus ett. Varje knapp tillhör en knappklass. Klasser inkluderar knappar för samtalsutseende, funktionsknappar, knappsatsknappar och lokala knappar.

  • Lampor: En matris med lampor (till exempel lysdioder) som kan styras individuellt från API:et. Lampor kan tändas i olika lägen genom att variera på- och av-frekvensen. Knapplampans identifierare identifierar lampan.

  • Dataområden: Minnesområden på telefonenheten där instruktionskod eller data kan laddas ned till och/eller laddas upp från. Den nedladdade informationen skulle påverka beteendet (eller med andra ord programmet) telefonenheten.

MED TAPI kan ett program övervaka och kontrollera delar av telefonenheten. De mest användbara elementen för ett program är hookswitch-enheterna. Telefonuppsättningen kan fungera som en ljud-I/O-enhet (till datorn) med volymkontroll, få kontroll och ljudavstängning, en ringsignal (för att varna användaren), dataområden (för att programmera telefonen) och kanske en skärm, även om datorns skärm är mer kapabel. Programskrivaren avråder från att direkt styra eller använda telefonlampor eller telefonknappar, eftersom lampa och knappfunktioner kan variera kraftigt mellan telefonuppsättningar, och program kan snabbt skräddarsys för specifika telefonuppsättningar.

Det finns ingen garanterad kärnuppsättning av tjänster som stöds av alla telefonenheter som det finns för linjeenheter (basic-telefonitjänster). Innan ett program kan använda en telefonenhet måste programmet därför först fastställa telefonenhetens exakta funktioner. Telefonifunktionen varierar med konfigurationen (klient kontra klient/server), telefonmaskinvaran och tjänstens leverantörsprogramvara. Program bör inte göra några antaganden om vilka telefonifunktioner som är tillgängliga. Ett program avgör enhetsfunktionerna för en telefonenhet genom att anropa funktionen phoneGetDevCaps. En telefons enhetsfunktioner anger vilka av dessa element som finns för varje telefonenhet som finns i systemet och vilka deras funktioner är. Även om den är starkt inriktad på verkliga telefonuppsättningar kan denna abstraktion ge en meningsfull implementering (eller delmängd av dem) även för andra enheter. Ta som exempel ett separat headset som är direkt anslutet och styrbart från datorn och som drivs som en telefonenhet. Hookswitch-ändringar kan utlösas genom identifiering av röstenergi (offhook) eller en period av tystnad (onhook); ringningen kan emuleras genom generering av en hörbar signal i headsetet; en visning kan emuleras genom text-till-tal-konvertering.

En telefonenhet behöver inte realiseras i maskinvara, utan kan i stället emuleras i programvara med hjälp av ett mus- eller tangentbordsdrivet grafiskt kommandogränssnitt och datorns högtalare eller ljudsystem. En sådan "mjuk telefon" kan vara ett program som använder TAPI. Det kan också vara en tjänstleverantör som kan visas som en telefonenhet som är tillgänglig för andra program via API:et och som sådan tilldelas en telefonenhetsidentifierare.

Beroende på miljö och konfiguration kan telefonuppsättningar delas enheter mellan programmet och växeln. Vissa mindre etableringar görs i API:et där växeln tillfälligt kan pausa API:ets kontroll över en telefonenhet.