BitVoice-käyttöopas

Avoin puhelinjärjestelmä yhdessä ohjelmassa, joka voidaan määritellä kokonaan verkkokäyttöliittymässä: laajennukset, jonot, konferenssisalit, henkilöstöportaali, isännöidyt organisaatiot ja julkisen turvallisuuden laboratoriotie.
79 lukuja · 63 kuvia · 39 tuhatta sanaa · BioDream LLC

Sisältö

  1. Osa 1. Käynnistäminen
    1. 1. Käynnistäminen
    2. 2. Kuinka kypsä kunkin osan on
    3. 3. Laajennukset
    4. 4. Puhelinten yhdistäminen
    5. 5. Skinny-puhelimet ja MGCP-portit
    6. 6. Puhelinlaitteet
    7. 7. Trunkit
    8. 8. Puheluiden reititys
    9. 9. PIN-ryhmät
    10. 10. Soittajan tunnistus
    11. 11. Hälytyspuhelut
    12. 12. Toimipisteet ja virka-apu 911
    13. 13. Terveys
    14. 14. Asetukset
    15. 15. Näytöt kielelläsi
  2. Osa 2. Mihin puhelut menevät
    1. 16. Puheluvirta
    2. 17. Soittoyhmät
    3. 18. Jonot
    4. 19. Ulossoittaja
    5. 20. Äänet: ääniklipit, kielet ja musiikki
    6. 21. Valikot (ääniavustaja)
    7. 22. Nimihakemisto
    8. 23. Sisäänsoitto (DISA)
    9. 24. Äänibotit (AudioSocket)
    10. 25. Päivä/yö-viput
    11. 26. Aikataulut
    12. 27. Skriptit (JavaScript ja Lua)
    13. 28. Älykkään vastaanottajan, ääniviestien ja kysymisen luokittelu
    14. 29. Viestilaatikko
    15. 30. Puheluiden palautus
    16. 31. Puhelulinkit ja verkkopuhelut
  3. Osa 3. Arkinen puhelinsoitto
    1. 32. Ominaisuuskoodit, eteenpäinohjaus ja nopeusnäppäimet
    2. 33. Henkilöstöportaali
    3. 34. Konferenssisalit
    4. 35. Sisäkuulutus ja kaiuttimet
    5. 36. Hot desking
    6. 37. Hotellin ja herätyspuhelut
    7. 38. Yhteystiedot jokaisessa puhelimessa
    8. 39. Kalenterit ja älä häiritse
    9. 40. Mobiiliset sovellukset
    10. 41. Videopuhelut
    11. 42. Faksi: lähetys ja vastaanotto, faksilaitteet ja analogiset puhelimet
    12. 43. Vastaanotin: web-keskustelu, WhatsApp ja Messenger
    13. 44. Liiketoimintatekstaus (SMS)
    14. 45. Siirtokertomukset
  4. Osa 4. Asiakkaat ja oivallukset
    1. 46. Aktiiviset puhelut
    2. 47. Puheluhistoria
    3. 48. Asiakkaan aikajana
    4. 49. CRM: soittajakortit ja puheluloki
    5. 50. Puhelun analyysi esimiehille
    6. 51. Soittotallennus ja korttimaksut
    7. 52. Tallennuksen hyväksyntä
    8. 53. Puhelun laatu
    9. 54. Kustannukset ja budjetit
    10. 55. Soittajan tunnisteen maine ja brändättyjä puheluita
    11. 56. Roskapuheluiden suojaus ja STIR/SHAKEN
  5. Osa 5. BitVoicen suorittaminen
    1. 57. Järjestelmänvalvojat
    2. 58. Yksinkertainen kirjautuminen
    3. 59. Yrityshanakirja (Active Directory ja LDAP)
    4. 60. Turvallisuus
    5. 61. Muutokset, varmuuskopiot ja tuonti
    6. 62. Päivitykset
    7. 63. Useita palvelimia yhtenä puhelinjärjestelmänä
    8. 64. Missä dataa säilytetään (SQLite tai PostgreSQL)
    9. 65. Muiden organisaatioiden isäntä
    10. 66. Koodaukset ja ääni
    11. 67. Microsoft Teams (Direct Routing)
    12. 68. Tuo
    13. 69. Konfiguraatio koodina
    14. 70. Asterisk-yhteensopivuus (AMI, ARI ja AGI)
    15. 71. Älyavustajat (MCP)
    16. 72. Arkisto
    17. 73. Oikeudelliset pidätykset
    18. 74. Mitattavat arvot: Prometheus, OpenTelemetry, Grafana, SNMP ja puhelutiedot
    19. 75. Puhelugeneraattori
    20. 76. SIP-jälki
  6. Osa 6. Julkisen turvallisuuden laboratoriotie
    1. 77. 911-puhelut (911-profiili)
    2. 78. Radiopuhelinkeskus
    3. 79. NG911-ydinpalvelut (ECRF, ESRP, LVF, BCF, LIS, lokitus)
Osa 1

Käynnistäminen

Uudesta asennuksesta toimivaan puhelinjärjestelmään: laajennukset, puhelimet, puhelinoperaattori, mihin puhelut menevät, hätäpuhelut toimistosta ja miten voidaan tietää, että kaikki on valmis.

Luku 1

Käynnistäminen

Verkkokäyttöliittymässä: /

BitVoice on täydellinen puhelinjärjestelmä yhdessä ohjelmassa: puhelinvaihto, johon puhelimet kirjaantuvat, valikot ja jonot, joiden läpi soittajat siirtyvät, ääniviestit, tallennus, konferenssisalit, faksit ja yhteydet puhelinoperaattoreihin. Kaikki asetukset tehdään selaimessa, tämän käyttöohjeen kuvaamilla näytöillä. Konfiguraatiotiedostoa ei tarvitse muokata, eikä mitään muuta asennusta tarvita.

WHO CONNECTSWHERE CALLS GODesk phonesYealink, Poly, Grandstream, SnomBrowsers and appsWebRTC, iOS, AndroidPhone companiesSIP and IAX2 trunksESInet and radio911 calls, P25, RoIPBitVoiceRoutes and menusQueues and roomsRecords and logsConverts codecsKeeps 911 workingPeople who answerextensions, ring groupsVoicemail and AItranscripts, receptionistCAD, CRM, Teamsevents, caller cardsRecordshistory, recordings, faxes
Kuva 1. Where BitVoice sits: phones and carriers on one side, people and systems on the other

Mitä tarvitset

Ensimmäinen käynnistys

Käynnistä BitVoice ja avaa osoite, jonka se tulostaa (työpöytä avaa selaimen itse). Web-liittymä on vain HTTPS, myös tämän tietokoneen kanssa. Ennen kuin asennat oman varmenne (Asetukset, Varmente), BitVoice käyttää itse luomaansa varmennetta, joten selain varoittaa kerran: valitse jatkaa sivustolle. Asetusvelho kysyy neljä asiaa: organisaation nimen ja maan, ensimmäisen ylläpitäjän salasanan, ensimmäiset laajennukset ja puhelinoperaattorin, jos sellainen on. Maa asettaa hätänumerot, soittajien kuulemat äänet ja puhelinnumeroiden kirjoitustavan.

Ensimmäinen tunti

Extensionsone per person1Phonesconnect each one2Trunkyour carrier3Call routingwhere calls go4Healthwhat is missing5Every step has a page in the menu; Health lists anything still missing, emergency calling first.
Kuva 2. The first hour: five steps from a new install to a working phone system
  1. Laajennukset: yksi henkilöä tai pöytää kohden. Jokaisella on numero ja SIP-salasana. Avaa laajennukset (luku 3)
  2. Puhelimet: yhdistä pöytäpuhelin, pehmeä puhelin tai selainpuhelin kuhunkin laajennukseen. Avaa puhelimet (luku 4)
  3. Trunkki: puhelinoperaattorin tili, jotta voit soittaa ulkopuolisiin numeroihin ja vastaanottaa puheluita. Avaa trunkit (luku 7)
  4. Soittorouting: mihin ulkopuoliset puhelut menevät (henkilö, ryhmä, valikko) ja mikä trunkki ulkopuoliset puhelut käyttävät. Avaa soittorouting (luku 8)
  5. Terveys kertoo, mitä puuttuu, hätäpuhelut ensin. Avaa terveys (luku 13)

Tee sitten testipuhelu: miltä tahansa puhelimesta soita *43, echo-testi. Kuulet itsesi takaisin, mikä osoittaa, että ääni toimii molempiin suuntiin.

Asentaminen yhdellä käskyllä

Linux-palvelimella (Ubuntu, Debian, RHEL, Fedora, Alpine systemd):llä tai Mac:llä:

curl -fsSL https://raw.githubusercontent.com/BioDream-LLC/bitvoice/main/deploy/install.sh | sh

Windowsissa, PowerShellissä:

irm https://raw.githubusercontent.com/BioDream-LLC/bitvoice/main/deploy/install.ps1 | iex

It downloads the latest release for the computer, checks it against the release's SHA-256 sums and BioDream's release signature (with OpenSSL 3, or else with OpenSSH's ssh-keygen, which Windows 10 and 11, macOS and Ubuntu 20.04 have; ssh-keygen checks releases from v0.1.14 on), and installs it as a service that starts by itself:

Suorita sama komento uudelleen päivittääksesi (tai käytä Päivitykset (luku 62)). sh -s -- --version v0.1.5 (putken jälkeen) valitsee julkaisun; --uninstall poistaa ohjelman ja palvelun ja säilyttää tiedot, --purge poistaa tiedot myös. Windowsissa tallenna skripti ja suorita .\install.ps1 -Version v0.1.5, -Uninstall tai -Purge, tai poista se Asennetut sovellukset -valinnasta. Palvelimelle, jota ei pidetä internetissä, kopioi julkaisun arkisto ja SHA256SUMS kansioon ja aseta BITVOICE_FROM siihen.

Missä se toimii

BitVoice toimii Linuxilla, macOS:llä ja Windowsilla.

JärjestelmäKuinka se käynnistetäänMissä sen tiedot ovat
Linux./bitvoice (tai systemd-palvelu julkaisussa)~/.config/BitVoice
macOS./bitvoice~/Library/Application Support/BitVoice
Windowskaksoisnapsauta bitvoice.exe:a%APPDATA%\BitVoice

Windowsilla pidä auki ikkuna, jonka se avaa, kunnes käytät BitVoicea (sulkemalla se lopettaa BitVoice-palvelun), ja kun Windows kysyy, saako se käyttää verkkoyhteyttä, salli yksityiset verkkoyhteydet, jotta puhelimet voivat muodostaa yhteyden. -data asettaa tiedot muualle; -https ja -sip valitsevat osoitteet ja portit; -log FILE kirjoittaa myös kaiken, mitä se tulostaa, tiedostoon, tietokoneelle, jolla kukaan ei ole katselemassa sen ikkunaa.

Portit, joita se käyttää

PorttiMihin se käytetään
5060 UDP ja TCPSIP: puhelimet ja trunkit
5061 TCPSIP yli TLS (salattu signaali)
4569 UDPIAX2-trunkit, vain kun yksi on määritetty
1720 TCPH.323-trunkit, vain kun yksi on määritetty
2000 TCPSkinny (SCCP) puhelimet, vain kun se on käynnissä
2727 UDPMGCP-portit, vain kun se on käynnissä
10000–20000 UDPpuheluiden ääni (RTP), asetetaan Asetuksissa
8443 TCPtämä web-liittymä, vain HTTPS (selkeä HTTP siirretään tänne)

Jos toinen puhelinjärjestelmä jo käyttää porttia 5060, BitVoice ottaa seuraavan vapaan portin ja Terveys ilmoittaa siitä.

Everything in the web interface

Every setting has a screen, and every screen has a chapter here. Nothing needs a configuration file, a command line or a second tool. For automation, the same screens are a REST API, and the configuration can follow a file in Git (Configuration as code (luku 69)), but neither is ever required.

Mikä BitVoice on

BitVoice on ensisijaisesti puhelinjärjestelmä toimistoille ja asiakaspalvelukeskuksille, ja isännöity puhelinpalvelu tarjoajille: kaikki ensimmäisen viiden osan tässä käsikirjassa. 911-vastaanottoprofiili, radiolähetyskonsoli ja NG911 Core Services ovat erillinen lab- ja suunnittelukumppaniraita (Julkinen turvallisuus (luku 77)): ne ovat poissa valikosta, kunnes ne on käynnistetty Asetuksissa, eivätkä ne ole sertifioituja livenä käytettäväksi. Hälytyspuhelut omista puhelimista eivät kuulu tähän raitaan; ne toimivat jokaisella puhelinjärjestelmällä ensimmäisestä käynnistyksestä lähtien.

Tienviittoja

Luku 2

Kuinka kypsä kunkin osan on

Kuinka pitkälle kunkin osan on todistettu yksinkertaisesti. Kenttätestattu: suoritettu todellisia järjestelmiä vastaan todellisessa verkossa (Amazon EC2, internet, todellisten tarjoajien palvelut). Tarkistettu viiteen: testattu riippumattoman toteutuksen tai standardin omien tietojen vastaisesti. Ohjelmistotestattu: BitVoice omat testit ja selain testit vain, ei vielä todellista laitteistoa tai tilitä. Lab: julkinen turvallisuus -osat, eivät sertifioituja.

AlueKypsyysasteMitä se perustuu
SIP-reitit: rekisteröinti, soitot sisään ja ulos, soittajan tunniste, kiire, näppäimet (RFC 4733)Kenttätestattukaupallinen operaattori, SIP.US (demo-tili, EC2:stä): rekisteröinti ja soitot ulos julkiseen puhelinverkkoon UDP:n ja TLS:n yli operaattorin varmenne tarkistettuna; MOS 4.39, ei pakettihävikkiä. Soitot julkisesta puhelinverkosta: T38Fax (faksisoitot sen numeroon, rekisteröinti UDP:n yli). Asterisk operaattorina internetin yli EC2:llä; MOS 4.4. Kamailio 5.7 (rekisteröinti digest-allekirjoituksella TLS:n yli, soitot molempiin suuntiin, näppäimet) ja FreeSWITCH 1.11 (TLS ja SRTP, soitot molempiin suuntiin, G.722:sta G.711:een) etäpäässä; MOS 4.39
Pöytäpuhelimet SIP:n yliKenttätestattuAsterisk pöytäpuhelimena internetin yli. Ei vielä kokeiltu oikeilla Yealink-, Poly- tai Grandstream-käsipuhelimilla
Selainpuhelin (WebRTC)Kenttätestattuulkoa EC2:lle; Chromium-selain testit äänellä molempiin suuntiin
Kaksi palvelinta, yksi PostgreSQL, palvelun jatkuvuusKenttätestattuprosessi tapettu ja suunniteltu pysäytys EC2:llä: puhelu jatkuu, operaattorin linja siirtyy
Yhden käskyn asennusKenttätestattuUbuntu 24.04 (x86, Arm), Debian 12, Amazon Linux 2023, Windows Server 2022, Windows 11 (järjestelmänvalvojana ja ilman, PowerShell 5.1 ja 7), Ubuntu 20.04 ja Fedora 42 konteinereissa, macOS 26 Apple-siliconilla (yhdelle henkilölle ja koko Macille CI:ssä); palautuu käynnistyksestä
KapasiteettiKenttätestattu2 000 puhelua kerran, ei pakettihävikkiä, MOS 4.41, 16-vCPU c7i.4xlarge:lla (noin 10 vCPU:ta käytössä); 200 kerran c7g.large, c7i.large, t4g.small, M4 ja Lightsail nano:lla. 2 000:lla: jitter 4,0 ms 95 %:lla puheluista, pisin aukko paketeiden välillä 74 ms, pisin roskapostin keräyspysähdys 4,2 ms
FreePBX-siirto (Tuonti)Kenttätestattuoikea FreePBX 17.0.33 varmuuskopio (70 Mt) tuotu kokonaan; muut FreePBX:n omista muodoista
Tekoälytranskriptit, yhteenvedot, vastaanottajaKenttätestattuoikea malli OpenRouterin kautta
Tiedot ja yhteenvedot ilman kielimalliaOhjelmistotestattukeksittyjä 911-puheluita vain: 23/43 tietoa (53 %) sinetöidyllä joukolla, 3 tietoa kukaan ei odottanut; 41/41 koulutus, pidäkkeenä 27/40 kylmä. Ei koskaan mitattu oikeilla puheluilla.
Puheteksti tällä palvelimella (whisper)Kenttätestattu macOS:llä ja Linux:llawhisper-palvelin 1.9.5 suoritettu BitVoicella: Mac:lla ja Ubuntulla EC2:llä (x86-64), jossa se kirjoitti live-puhelun ja vastaajan transkriptit puhelinsovelluksen kenttätestissä; lataukset jokaiselle alustalle rakennettu ja kokeiltu CI:ssä
Arkistointi S3:lle, salaisuudet AWS SalaisuusjohtajaltaKenttätestattuoikea AWS, oma SigV4
SNMP-valvonta ja ansaitsetKenttätestattunet-snmp:n snmpwalk ja snmptrapd
Let's EncryptKenttätestattumyöntää ja uusii julkisen demon sertifikaatin
Konekuvat (AWS) ja konfiguraatio koodinaKenttätestattuEC2-kuva rakennettu deploy/cloud/build-images.sh:lla Ubuntu 24.04:stä: jokainen palvelin siitä aloittaa uudelleen; deploy/terraform OpenTofu 1.13:lla (luo, muuta, ei pyyhkäystä, tuhoa). Azure-kuvia ei kokeiltu
IAX2-reititTarkistettu viiteenAsterisk 23
Täysi ICE NATin takana (STUN- ja TURN-asiakas)Tarkistettu viiteenChromiumin ICE-väylä (isäntäehdokkaat ja välitys), JsSIP-pehmoalueet BitVoicen tarjoamalla, coturn 4.18 ja BitVoicen oma TURN-palvelin välittäjinä, mDNS-isäntänimet Chromiumin ratkaistu. Ei vielä kokeiltu palvelimesta, joka on oikean NAT-reitittimen takana
ICE-uudelleenkäynnistys (puhelin vaihtaa verkkoa puhelun aikana)Tarkistettu viiteenChromium uudelleenkäynnistää ICE:än selainpuhelussa (BitVoice ICE-litenä ja täydellisenä agenttina) ja SIP.js 0.21 uudelleenkäynnistää re-INVITE:n kautta SIP:llä WebSocketin yli: uudet tunnistetiedot molempiin suuntiin, uusi ehdokaspari, ääni joka toinen sekunti uudelleenkäynnistyksen aikana. Ei vielä kokeiltu puhelimella, joka liikkuu oikeasti Wi-Fistä mobiiliverkkoon
SIP History-Info ja Diversion (ohjatut puhelut)Tarkistettu viiteenAsterisk 20:n PJSIP molempiin suuntiin: sen ohjatut puhelut luettu BitVoicella, ja BitVoicen ohjaukset luettu Asteriskin REDIRECTING():lla History-Infosta ja Diversionista; RFC 7044 -merkinnät säilytetty ja laajennettu eteenpäin. Ei vielä kokeiltu operaattorin tai Teamsin lähettämillä
Yrityshanakirja (LDAP, Active Directory)Tarkistettu viiteenOpenLDAP 2.4 (StartTLS ja LDAPS, 1 203 henkilöä luettu sivutuksella yli 1 000 rajoituksen; ryhmät, kirjautuminen) ja Samban 4 Active Directory (LDAPS, sivutus yli 1 000, poistetut tilejä jätetty pois, sisäkkäiset ryhmät ryhmille ja rooleille). Ei vielä kokeiltu Microsoftin omia Windows Server -toimialuekontrollereita
ARI (Asterisk REST Interface)Tarkistettu viiteenjokainen Asteriskin julkaiseman ARI:n toiminto kutsuttu ja vastaus tarkistettu mallin vaadittujen kenttien kanssa; ari-client 2.2.0, Asteriskin JavaScript-kirjasto, /ari/api-docs-luettu ja sovellus suoritettu
Jokaisen videoneuvotteluhuone (SFU, simulcast) ja näytön jakaminenTarkistettu viiteenKolme Chromium-selainta yhdessä huoneessa, jokainen lähettää kolmea kokoa (VP8-simulcast) ja vastaanottaa kaksi muuta; koot vaihdettu avainkehyskohtien mukaan, kun ruutu kasvaa ja pienenee. Kamerat ja jaettu näyttö (Chromiumin oma näytön kaappaus) H.264-huoneessa. Ei vielä kokeiltu Firefoxilla tai Safarilla, internetin yli tai useamman kuin kolmen kameran kanssa; H.264-simulcast valitsee kerrokset selaimen järjestyksen mukaan vain.
AGI ja FastAGI (Asterisk Gateway Interface)Tarkistettu viiteenjokaisen käskyn vastaus verrattu Asterisk 20.6:n kanssa FastAGI:llä; FastAGI-palvelin kirjoitettu pyst2:lla, joka suorittaa puhelun; EAGI-ääni ohjelmalle. Ei vielä kokeiltu tuotantotason IVR:llä
Tekoälyavustajat MCP:n yliTarkistettu viiteenvirallinen MCP TypeScript SDK (1.32.2) asiakkaana: työkalut lueteltu ja kutsuttu API-tunnisteella Streamable HTTP:n (protokolla 2025-11-25) kautta, ja sen OAuth-kirjautuminen loppuun asti (havainnointi, rekisteröinti, PKCE, tunniste, virkistä); suostumussivu Chromiumissa; stdio-silta testipalvelimella. Ei vielä kokeiltu Claudea, ChatGPT:ä tai muuta avustajaa, joka tarvitsee internetiin saatavilla olevan palvelimen luotettavin varmentein.
Microsoft 365 ja Google Workspace (yhteystiedot ja kalenterit)OhjelmistotestattuMicrosoft Graphin (käyttäjät, organisaatiot, kalenterin haeAikataulu, asiakastunniste) ja Google People API:n, Calendar freeBusy:n ja JWT-kantajatunnisteen stand-inna vastaan, jotka on kirjoitettu niiden julkaisemista viitteistä; stand-innit tarkistavat, mitä BitVoice lähettää (JWT:n allekirjoitus ja vaatimukset, sivutus, pyyntörunko). Ei vielä kokeiltu oikeaa Microsoft 365-vuokrausta tai Google Workspace -toimialuetta.
Näytöt 14 kielelläOhjelmistotestattujokainen näytön näyttämä teksti (noin 5 000, koodista: JSX-teksti, merkkijonot ja palvelimen viestit) konekäännöksellä Llama 3.3 70B:llä 13 kielelle, 99 % säilytetty tarkastuksissa (samat paikkamerkit, osoitteet ja koodit koskemattomina); saksa piirretty selain testeissä (kirjautuminen, valikko, haku, lomake, takaisin englantiin). Ei vielä tarkastettu ihmisen toimesta missään kielellä.
H.323-reititTarkistettu viiteenH323Plus 1.28 (sen simph323 toistamassa ja tallentamassa WAV-tiedostoja) EC2:llä: puhelut molempiin suuntiin nopealla yhteydellä ja G.711:llä, kummallakin puolella toisen ääni, MOS 4.39; puhelun alku myös Asteriskin chan_ooh323:llä (jonka oma ääni on viallinen Asterisk 22:ssa)
SIP WebSocketin yliTarkistettu viiteenJsSIP ja SIP.js
Kooderit: GSM, G.726, iLBC, MP3-huomioTarkistettu viiteenffmpeg, RFC 3951 -viiteohjelma ja minimp3, näyte kohtaan
Kooderit: G.711, G.722, G.729, Opus, SpeexTarkistettu viiteenG.711 ja G.722 tavu tavulta ja näyte näytteeltä spandsp:llä; G.729:n purkaja näyte näytteeltä ITU:n omilla seitsemällä Annex A -testivektoreilla (bcg729 ei ole), sen kooderi toimii yhteensopivasti bcg729:n kanssa samassa laadussa (G.729 ei vaadi kooderien täsmäävän); Opus-paketit purettu libopus 1.6.1:llä ja libopus-paketit purettu libopusin tavoin; Speex-paketit ja ääni identtisiä libspeex 1.2.1:lle; Opus-puhelut Android-sovelluksella
Kooderit: AMR-NB, AMR-WBTarkistettu viiteen, tunnetulla aukollaAMR-WB dekoodaa opencore-amr:n tavoin näyte näytteeltä, ja 3GPP:n omilla TS 26.174 -testijonoilla vastaa 3GPP:n dekoodaria täsmälleen 167:llä 198:sta ja ei koskaan ole mitattavasti sen alapuolella; AMR-NB-kooderi kehys kehyksestä opencore-amr:llä, mutta sen purkaja on lähellä, ei täsmälleen (noin 31 dB:ä opencore:sta). Molemmat tulevat kiinnitetyistä goamr-kirjastoista
Kooderit, jotka kuljetetaan koskemattomina: G.722.1 (Siren 7), G.722.1C (Siren 14), G.719, Codec2Ohjelmistotestattuomat testit: tarjottu bittinopeudella tai tilalla, vastattu, paketit molempiin suuntiin tavu tavulta; ei muunnettu (ei vapaata viitekoodia, jonka BitVoice voi toimittaa G.722.1:lle ja G.719:lle). Ei vielä kokeiltu oikealla Polycom- tai huonejärjestelmällä.
ISDN PRI ja BRI, T1/E1Tarkistettu viiteenlibpri (Asteriskin), molemmat puolet; ja EC2:llä oikean DAHDI 3.4 -ydinajurin kautta (kaksi E1-kaapelia kytketty yhteen ydinohjelmassa, Asterisk 20:n chan_dahdi puhelinverkkona): puhelut molempiin suuntiin numeroilla ja nimillä, kaikki 23 kanavaa kerran, MOS 4.39. Ei vielä fyysistä korttia tai linjaa
MFC-R2, E&MTarkistettu viiteenOpenR2; MF-äänet omilla testeillä. Ei vielä kokeiltu oikeaa korttia tai linjaa
SS7 (ISUP, MTP, linkkijoukko useista linkeistä vaihtuvalla)Tarkistettu viiteenlibss7 (Asteriskin chan_dahdi-kirjasto), ITU ja ANSI. Ei vielä kokeiltu oikeaa operaattorin linkkiä
Faksi (T.30, T.38)Kenttätestattufaksioperaattori, T38Fax (ilmainen kokeilu, EC2:stä): BitVoice lähettää faksin julkiseen puhelinverkkoon omalle numerolleen ja vastaanottaa sen, molemmat T.38:lla (2 sivua, 14 400 b/s, sivut saapuivat ehjinä; rekisteröinti käyttäjänimellä ja salasanalla); ja välittää faksin faksikoneen ja T38Faxin välillä, ulos ja takaisin, 2 sivua kerran 14 400 b/s molempiin suuntiin: kerran kaikki G.711:llä (portti kieltäytyi T.38:sta) ja kerran vaihdettu T.38:ään molemmin puolin. spandsp (Asterisk 20:llä) EC2:llä: vastaanottaa ja lähettää T.38:lla virheenkorjauskykyisine, ja välittää faksit kahden muun koneen välillä T.38:lla ja G.711:llä. Ei vielä kokeiltu laitteistofaksiporttia, ja T38Fax ei koskaan pyytänyt T.38:aa itse, joten operaattorin vaihto kieltäytyi portilta
Määritys: Yealink, Poly, Grandstream, Snom, Fanvil, Cisco, Mitel, Sangoma, Algo, CyberDataOhjelmistotestattuvalmistajien dokumentoidut muodot; ei oikeilla käsipuhelimilla
Skinny (SCCP) -puhelimet, MGCP-portitTarkistettu viiteenSkinny: puhelimet avoimen mwicat/sccp-kirjaston kautta, jokainen viesti luettu Wiresharkin purkajalla, koot Asteriskin chan_skinny:llä; MGCP: Yaten MGCP-portti (uudelleenkäynnistys, väliaikaiset vastaukset, vahvistukset; sillä ei ole analogiaportteja, joten ei puhelua). Ei vielä kokeiltu Cisco-puhelinta tai -porttia
Microsoft Teams Direct RoutingOhjelmistotestattusimuloitu Microsoft-välitys Microsoftin julkaisemien Direct Routing SIP -sääntöjen mukaan (OPTIONS, Contact, user=phone, asiakastunniste, siirrot, jotka Teams pyytää REFER:llä x-m:llä ja x-t:llä); ei vielä kokeiltu Teams-vuokrausta: Microsoft ei tarjoa sitä ilmaiseksi (Teams Phone -lisenssit)
Hotelli (FIAS)Tarkistettu viiteenjokainen BitVoicen lähettämä tietue tarkistettu Oraclen julkaiseman FIAS 2.20.23 -määrityksen kanssa (linkin alku, linkkirekordit, laskut, herätysvastaukset); omat testit. Ei vielä Operaa vastaan
Tekstiviestit, WhatsApp, Messenger, web-chatTarkistettu viiteen (Twilio, Telnyx, Bandwidth, Vonage, TextMagic, WhatsApp)tekstiviestit Twilion, Telnyxin, Bandwidthin, Vonagen ja TextMagicin kautta, ja WhatsAppin tekstiviestit, mallit ja malliluettelot, mockeja, jotka on rakennettu palvelujen julkaisemista OpenAPI-määrityksistä (Stoplight Prism, kieltäen kaiken, mitä määritys ei salli; TextMagicin on se, mistä sen asiakasohjelma on generoitu). Vonagen näytti, että avain kuuluu HTTP Basic -tietoihin, ei enää lomakkeeseen. SignalWire puhuu Twilion API:ä; Plivo, Flowroute, VoIP.ms ja Messenger julkaisevat ei määritystä ja tarkistetaan stand-inneja, jotka on kirjoitettu niiden dokumentaatiosta. Ei vielä kokeiltu live-tiliä
CRM-soittokortit, Azure Blob, Azure Key VaultTarkistettu viiteenEspoCRM (oikea avoimen lähdekoodin CRM, Dockerissa) soittokorteille; Microsoftin Azurite-emulaattori Blob-latauksille (SAS-säiliö, kieltäminen); Lowkey Vault Key Vaultille hallitun identiteetin kanssa. Ei vielä kokeiltu itse Azurea tai isännöityä CRM:ää
Roskapostin esto: robotti, tuntemattomat soittajat, roska-postitietokanta, *32, ehdotuksetOhjelmistotestattuBitVoicen omat testit: operaattori soittaa SIP:llä ja painaa näppäimiä (RFC 4733) robotin testissä, sen läpäisevä ja epäonnistuva; tunnetut, aina sallitut ja hätäpuhelut soittavat samaan aikaan; roska-postitietokanta stand-inia vastaan, joka vastaa Twilion Lookupin tavoin Nomorobo-lisäosalla (ei Twilio-tiliä kokeiltu); *32 pöytäpuhelimesta; ehdotukset puhelutiedoista; asetukset selain testeissä. Ei vielä kokeiltu oikeita robokutsuja tai maksullista tietokantaa
iPhone- ja Android-sovelluksetKenttätestattu (Android)Android: Google Pixel 8 (Android 16, Wi-Fi) allekirjoitettu julkaisuversio BitVoicella EC2:llä Let's Encrypt -sertifikaatilla: pareina linkin kautta, soi Androidin puhelun ilmoituksella, vastattu siitä, ääni molempiin suuntiin, yhteys säilyi näytön sammuttua ja taustalla (jatkuva puhelun ilmoitus, Hang up); ilman pushia se ei soi taustalla. Google Pixel 11 (Android 17) AWS Device Farmissa: pareina, soi, vastattu, soittanut; Opus, MOS 4.1. iPhone: sovellus (SwiftUI, CallKit, PushKit VoIP) rakennettu nykyiselle SDK:lle (Xcode 27) ja palvelin allekirjoittaa Apple VoIP -pushin (APNs, ES256); samat oikeat laitteiston korjaukset kuin Androidilla ja App Store -listaus (ios/AppStore) on. Molemmat sovellukset ovat täysi laajennus: siirto (sokea, REFER:llä), pidä, toinen puhelu, näppäimistö ja mykistys, Viimeisimmät, visuaalinen vastaanotto (transkriptit mukana), tiimin kiiremerkki, Yhteystiedot, henkilökunnan Chat (kollegat läsnäolo mukana, suorat viestit ja huoneet ilmoituksella taustalla ja push, kun sovellus on suljettu) ja live-tekolylytranskripti puhelussa (AI.LiveCallTranscripts); siirto, pidä, live-transkripti, chat tavoittaa kollegan, huoneen lista, huone liittyy puhelimeen ja chat-push muoto ovat jokainen moottorin, API:n tai selain testin peitossa. Pixel 8:lla (2026-10-30, debug-kokoelma, EC2 Let's Encrypt -sertifikaatilla): soi ja vastattu ilmoituksesta, pidätetty ja jatkettu (Androidin puhelutila seuraa), soittanut Androidin puhelujärjestelmällä, Opus molempiin suuntiin MOS 4.38:lla ja ilman pakettihävikkiä; liittynyt videoneuvotteluhuoneeseen kameralla (pyydettynä ensimmäisellä käyttökerralla) ja nähnyt desktop-kameran, molemmat livenä; chat-viesti taustalla ilmoittanut ja avannut Chatin. Pidä ja siirto tavoittavat alkuperäisen puhelunäytön (CallKit, Telecom). Ei vielä ajettu iPhone:lla eikä lähetetty: push, järjestelmän puhelunäyttö ja allekirjoitus vaativat oman Apple-kehittäjätilin
911-profiili, radiokonsoli, NG911 Core -palvelut, soittajan videoLaboratorioNenan skeemat ja esimerkkitiedot, Wireshark, spandsp, OpenSSL, ExifTool, ffmpeg, NIST P25 -kaappaus (sen IMBE-ääni kehykset purettu mbelib:llä: sama sävelkorkeus, harmonia, äänenlaatu ja amplitudit); ei koskaan oikealla ESInetillä, P25-järjestelmällä tai PSAP CAD:llä, eikä sertifioitu
P25-vaihe 2 puolenopea ääni (AMBE+2)Ei tarjotapatentti voimassa vuoteen 2028
Ed448-allekirjoitukset (NENA)Ei tarjotaei Go:n standardikirjastossa, ja BitVoice ei kirjoita itse salakirjoitusta; Ed25519 käytössä
SS7-signaalin siirto (STP), SCCP ja TCAPTarkistettu viiteenOsmoSTP 2.3.0 yli M3UA/TCP:llä libosmo-sigtranin SCCP-echo-käyttäjällä sen takana: UDT ja XUDT molempiin suuntiin, UDTS palautettu, globaali otsikko käännös STP:n kautta, kytkin linkkijoukossa ylettyy echoon IP:n yli; TCAP libosmo-asn1-tcap:ia vastaan molempiin suuntiin. Vain ITU; ei SCTP:ä, yhteydenvaraista SCCP:ä eikä SCCP-hallintaa; ei kokeiltu oikeaa operaattorin yhteyttä
MFC-R2 Kiinan variantti (Kiina nro 1)Ohjelmistotestattujokainen soittokutsun signaali tarkistettu Cisco Kiinan taulujen ja soittokutsujen kanssa (KA, KD, ryhmä B KD:n lähettämisen mukaan, C- ja D-bittien 11). OpenR2:n Kiinan variantti ei ole samaa mieltä itse kanssaan, joten ei ohjelmaa testaamiseen; ei kokeiltu oikeaa linjaa
ALI PAM:in tai E2:n yliEi tarjotaPAM on Intrado omien protokolla, jolla ei ole julkaisematon määritys; E2 (J-STD-036, NENA 05-001) toimii matkapuhelinpaikannuskeskuksen ja ALI-tietokannan välillä, ei PSAP:hen. BitVoice puhuu pyynnön ja tekstin ALI-linkkejä ja HELD:ä sen sijaan
Luku 3

Laajennukset

Verkkokäyttöliittymässä: /extensions

Laajennus on numero henkilölle tai työpisteelle. Puhelimet kirjaudutaan laajennuksen numerolla ja sen SIP-salasanalla; soitto numeroon soi kaikissa puhelimissa, jotka ovat kirjauduttuina siihen, yhtä aikaa.

100 dials 101Forwarding?all, busy, no answerDo not disturb?then voicemailRings 101every phone, appsFollow-memobile, other deskNo-answervoicemail or other
Kuva 3. A call between two extensions

Laajennuksen lisääminen

  1. Avaa Laajennukset (luku 3) ja paina Lisää laajennus. Seuraava vapaana oleva numero ja voimakas SIP-salasana täytetään automaattisesti.
  2. Kirjoita henkilön nimi (näytetään muissa puhelimissa, kun he soittavat) ja sähköposti (viestien vastaanottamiseen sähköpostitse).
  3. Täytä 113-sijainti: sivusto, kerros ja huone. Se lähetetään hätäsoittojen yhteydessä.
  4. Valitse, mitä tapahtuu Jos kukaan ei vastaa: oletuksena viestien vastaanottaminen, tai toinen laajennus, ryhmä tai valikko.
  5. Tallenna. Laajennus voidaan kirjautua välittömästi.

Kentät

KenttäMitä se tekee
Numero2-8 numeroa; ei muuta laajennusta, ryhmää, jonotusjonoa, huonetta tai ominaisuuskoodia saa olla
SIP-salasanamitä puhelin kirjautuu; vähintään 12 merkkiä; Luo uusi luo uuden
Soisekunteja ennen kuin Jos kukaan ei vastaa tapahtuu (25 sekuntia oletuksena)
Ulkoinen näyttönumero, joka näytetään ulospäin soittaville; tyhjä käyttää trunkin
Saa soittaa ulkopuolisia numeroitapois pitää puhelimen sisäisiin puheluihin ja hätänumeroihin
Talleta puhelutkun Asetukset tallettaa vain valitut laajennukset
Hot deskjaettu puhelin, josta tulee kuka tahansa, joka kirjautuu siihen
Salaa puhelut tähän puhelimeenmedian salaaminen (SRTP); käytä sitä TLS: n kanssa, jotta avaimet säilytetään yksityisinä
Osastoryhmittelee tämän laajennuksen puhelukustannukset

Seuraa minua, nouda ja sisäpuhelin

Jokaisen henkilön oma puheluiden käsittely on omassa laatikossaan laajennuksessa:

Uudelleenohjaus tällä hetkellä

Asetusten alapuolella Uudelleenohjaus tällä hetkellä näyttää ja muuttaa, mitä henkilö on asettanut puhelimesta tai henkilöstöportaalista: älä häiritse, ja kaikkien puheluiden, puheluiden ollessa kiireisiä ja puheluiden vastaamattomien uudelleenohjaus. Nämä ovat live-tilaa, ei konfiguraatiota: muuttaminen ei tee muistiinpanoa.

Mitä on kytketty

Kytketyt laitteet

Avoin laajennus näyttää jokaisen laitteiston, joka on kirjautunut siihen: puhelimen valmistaja ja malli, miten se yhdistää (UDP, TCP, TLS tai selain) ja koska. Osoite ja portti, jonka antaa puhelimelle, näytetään siellä myös.

Luku 4

Puhelinten yhdistäminen

Verkkokäyttöliittymässä: /phones

Mikä tahansa SIP-puhelin tai sovellus toimii: osoita se tähän palvelimen osoitteeseen ja porttiin 5060, laajennuksen numeron kanssa käyttäjänä ja sen SIP-salasanana. Pöytäpuhelimet neljältä suurelta valmistajalta määritetään automaattisesti sen sijaan, että kukaan kirjoittaisi salasanan puhelimen näppäimistöön.

Yealink, Poly,Grandstream, Snom1. where is my file? (DHCP 66)2. HTTPS: extension, password, keysBitVoice3. registersSigned in as its extensionBLF keys, time zone, codecs, all set
Kuva 4. Provisioning: a desk phone fetches its settings by itself

Automaattinen asetukset (määritys)

  1. Puhelimet (luku 4) -sivulla paina Lisää puhelin ja anna puhelimen MAC-osoite (tarra alla) ja laajennus, johon se kuuluu.
  2. Valitse valmistaja: Yealink, Poly, Grandstream (mukaan lukien HT-analogiatkaimet), Snom, Fanvil, Cisco, Mitel, Sangoma, Algo tai CyberData.
  3. Kerro puhelimelle, missä BitVoice on: DHCP-palvelimessasi aseta vaihtoehto 66 näytön näyttämään määritysosoitteeseen, jotta jokainen puhelin verkkoon löytää sen itse; tai kirjoita sama osoite puhelimen omalla verkkosivulla, automaattisen määrityksen alla.
  4. Käynnistä puhelin uudelleen. Se hakee tiedostonsa HTTPS: n yli, kirjautuu sisään, ja sen linjanäppäimet näyttävät, kuka on puhelimessa.

HTTPS tai selkeä HTTP. Puhelimet hakevat tiedostonsa HTTPS: n yli, kun he voivat. Jotkut vanhemmat puhelimet eivät voi käyttää HTTPS: ää ollenkaan, ja monet eivät luota BitVoicen itse luomaan varmenteeseen; niille näytön näyttää myös selkeän http://-osoitteen samalla portilla. Selkeä HTTP on vain näille tiedostoille: jokainen muu sivu menee edelleen HTTPS: ään. Selkeän HTTP: n yli puhelimen SIP-salasana siirtyy verkon yli salaamattomana, joten pidä se luotettavassa toimistoverkossa tai asenna varmenne viranomaiselta ja käytä Vain HTTPS puhelimille.

Tiedosto sisältää laajennuksen, sen salasanan, aikavyöhykkeen, koodekit, kiireen valot ja tämän palvelimen osoitteen. Määritys on suojattu käyttäjänimellä ja salasanalla, jotka puhelimille annetaan kerran.

ValmistajaTestatut mallitMitä se saa
YealinkT3x, T4x, T5xtili, BLF-näppäimet, aika, koodekit
PolyVVX, Edge Esama, Poly: n omassa muodossa
GrandstreamGRP, GXP, HT802/814tili portin mukaan sovittimissa
SnomD7xxtili, näppäimet, aika

Nämä valmistajat määritetään myös, tiedostot kirjoitetaan kunkin valmistajan dokumentoidusta muodosta, mutta ei vielä kokeiltu heidän laitteillaan (Puhelimet-näyttö merkitsee ne testaamattomiksi):

ValmistajaMallitLaite pyytää tiedostoa
FanvilX ja V -sarjatsen MAC-osoitteen .cfg
Cisco6800, 7800, 8800 monialusta (3PCC), SPA-sovittimetsen MAC-osoitteen .xml (yritysfirmware tarvitsee ensin monialustafirmware)
Mitel (Aastra)6800, 6900 SIPsen MAC-osoitteen .cfg, isoilla kirjaimilla
SangomaS-sarjaFanvil-muotoinen tiedosto
Algokuuluttimet, hälytysmerkit, sovittimetalgop ja sen MAC-osoitteen .conf
CyberDatakaiuttimet, vuorovaikutuslaite, kuulutussovitinsen MAC-osoitteen .xml

Jokaiselle laitteelle annetaan oma tili, palvelin (ja varapalvelin, useita palvelimia), kuljetus ja salaaminen, sekä vastaajanumero, jos sellainen on. Aseta Algo- ja CyberData-kuuluttimien laajennukset Kaikki kuuluttimet, jotta puhelut niiden luokse vastataan heti.

Phones without provisioning

Softphones and other makes take the same three things: server (this computer's address, port 5060, or 5061 with TLS), user (the extension number) and password (its SIP password). Health lists phones that tried a wrong password; after a few tries the address is banned for a while (see Security (luku 60)).

Selainpuhelin

Puhelinkuvake jokaisen näytön alareunassa tekee tästä selaimesta puhelimen laajennukselle, mikrofonilla ja kaiuttimilla. Se käyttää WebRTC:ää: ääni on salattu päästä päähän, ja se toimii useimmissa palomuureissa ilman asetuksia.

Other WebRTC softphones (SIP over WebSocket)

Softphones and web apps built on JsSIP, SIP.js and similar libraries speak SIP over WebSocket (RFC 7118). Switch on SIP over WebSocket in Settings (luku 14) and point them at wss://<this server's name>:<web port>/ws, with the extension number as the user and its SIP password. BitVoice ends their WebRTC sound itself (ICE, DTLS-SRTP, Opus or G.711), so they reach every phone, trunk and feature as desk phones do: calls both ways, keys pressed, hold, transfers by the other party, busy lamps and message-waiting. Settings shows how many are connected.

WebSockets ei tarvitse omaa kirjautumista: pehmeä puhelin kirjautuu SIP:llä, ja epäonnistuneet kirjautumiset ja liian monta pyyntöä lasketaan sen osoitteelle, kuten minkä tahansa puhelimen kohdalla. Sivu, jota palvelee toinen sivusto, on luotettava tälle palvelimelle (käytä Let's Encrypt), ja nykyinen Chrome kysyy käyttäjältä, ennen kuin julkinen verkkosivu voi tavoittaa paikallisen verkon palvelimen.

Testattu kahden itsenäisen kirjaston, JsSIP 3.13 ja SIP.js 0.21, kanssa: kaksi pehmeää puhelinta kummastakin rekisteröityy, soittaa toisilleen ja kuulee toisiaan BitVoicen kautta. Muiden pehmeiden puhelimien (Linphonen web-asiakas, Zoiperin) kanssa puhutaan samaa protokollaa, mutta niitä ei ole kokeiltu.

TURN, verkkoihin, jotka estävät UDP:n

Jotkin verkkoyhteydet (hotellit, vieras Wi-Fi, tiukat yrityksien palomuurit) eivät päästä UDP-liikennettä läpi, tai piilottavat tietokoneet NATin taakse, jonka WebRTC ei voi kiertää. Näille verkoille, käytä TURN-palvelinta Asetuksissa (luku 14): BitVoice käynnistää silloin oman TURN-palvelimen (RFC 8656) portissa 3478 (UDP ja TCP) ja tämän palvelimen varmenne, portissa 5349 yli TLS:in. Selaimeen perustuvat puhelimet, henkilöstön puhelin ja puhelulinkit saavat lyhytaikaiset tunnistetiedot siihen, ja käyttävät sitä, kun ne eivät pääse suoraan media-portteihin; ääni on edelleen salattu päiden välillä, ja BitVoice välittää sitä vain omiin osoitteisiinsa, joten kukaan ei voi käyttää sitä muiden asioiden saavuttamiseen.

Avaa TURN-portti, TLS-portti ja välitysportit (49152-49407, ellet muuta niitä) palomuurissa. TURN TLS:än tarvitsee selaimille luotettavan varmenteen käyttämälleen nimelle, kuten esimerkiksi Let's Encrypt (luku 14): kunnes varmenne on saatavilla, BitVoice ei tarjoa sitä selaimille (ne yrittävät, epäonnistuvat ja odottavat), ja tarjoaa sitä heti varmenteen saavuttua; aseta sen portiksi 443 palvelimella, jolla on vapaana osoite, jotta pääset palomuureiden läpi, jotka sallivat vain HTTPS-liikenteen.

Verkon vaihtaminen puhelun aikana

Puhelin, joka siirtyy toiseen verkkoon puhelun aikana (esim. toimiston Wi-Fi:stä matkaverkkoon tai kannettavan tietokoneen Wi-Fi:stä toiseen), saa uuden osoitteen, ja vanha reitti lopettaa äänen kuljettamisen. Selainpuhelimet ja BitVoice-sovellukset huomaavat tämän itsestään: kun selain ilmoittaa verkon muutoksesta tai puhelun reitti lopettaa vastaamisen kahden sekunnin ajaksi, puhelin käynnistää uudelleen ICE:n (RFC 8445 9). Se tarjoaa uudet ICE-tunnisteet käynnissä olevalle puhelulle, BitVoice vastaa uusilla omillaan ja tarkistaa uuden reitin, ja puhelu siirtyy siihen ilman uudelleenvalintaa. Salaus jatkuu samojen avaimien kanssa. Tämä tapahtuu, kun puhelu näkyy Yhdistetään...; toimivalla reitillä ei ole katkoa, koska vanha reitti kuljettaa puhelua, kunnes ääni tulee uudelle reitille. SIP-softpuhelimet WebSocketin (JsSIP, SIP.js) yli tekevät samoin uudelleen-kutsulla uusilla ICE-tunnisteilla. Mitään ei tarvitse kytkeä päälle, kun BitVoice toimii ICE-lite-na tai NATin takana.

BitVoice NATin takana

Yllä oleva TURN-palvelin auttaa selaimia tiukkojen verkkorajoitusten takana tavoittamaan BitVoice-palvelimen, jolla on julkinen osoite. Kun BitVoice-palvelimella itsellään ei ole julkinen osoite (esim. toimistoverkossa reitittimellä, jolla ei ole porttien uudelleenohjausta, tai pilvipalvelussa, jossa palvelimella ei ole julkinen osoite), käytä Tämä palvelin on NATin takana -vaihtoehtoa BitVoice NATin takana -osiossa Asetukset (luku 14). BitVoice osallistuu täysimääräisesti ICE:hen (RFC 8445) eikä vastaa ainoastaan yhdellä osoitteella (ICE-lite):

Henkilöstön puhelin

Avaa #/phone millä tahansa tietokoneella tai mobiiliselaimella: henkilöstö kirjautuu sisään omalla laajennuksellaan ja SIP-salasanallaan, ilman ylläpitäjän tilia. Se on täysi puhelin: näppäimistö, vastaa, pidä ja siirrä. Omien uudelleenohjausten ja ääniviestien hallintaan he käyttävät henkilöstöportaalia osoitteessa #/me (ks. Henkilöstöportaali (luku 33)).

Mobiilisovellukset

BitVoice-sovellukset iPhoneen ja Androidiin voidaan kytkeä laajennuksen sivulta QR-koodin avulla. Puhelut herättävät sovelluksen Apple:n ja Google:n push-palvelujen kautta, joten se soi, vaikka se on suljettu (kun push on asetettu päälle; ks. alla).

Luku 5

Skinny-puhelimet ja MGCP-portit

Verkkokäyttöliittymässä: /desk-phones

Puhelimet ja portit, jotka eivät puhu SIP: iä, voidaan silti käyttää. Skinny-puhelimet ja MGCP-portit (Puheluiden alla) ottaa kaksi vanhempaa protokollaa:

Jokainen Skinny-puhelin tai MGCP-linja on yksi laajennuksen laitteisto: se soi laajennuksen muiden puhelimien kanssa, soittaa ulospäin laajennuksena ja näytetään laajennuksen laitteistossa. Sivu näyttää kunkin tilan.

Mitä toimii

Pidä, siirrä ja konferenssi tehdään toistaiseksi laajennuksen muiden puhelimien kautta, ja Skinny-puhelimen toinen linja ei ole käytössä.

Turvallisuus

Kummassakaan protokollassa ei ole salasanoja. Skinny-puhelimet hyväksytään vain paikallisverkosta ja vain, kun ne on lueteltu; MGCP-komennot noudatetaan vain portin osoitteesta (tai ilman sitä, paikallisverkosta). Pitäkää molemmat portit pois internetistä.

Yhdistelmä, joka vielä käsittelee käskyä, voi vastata ensin "100 Trying": BitVoice odottaa sitten kauemmin ennen kuin se lähettää käskyn uudelleen ja vahvistaa lopullisen vastauksen (000), kuten RFC 3435 pyytää. Portti, jota yhdistelmä ei tarkkaile, näyttää yhdistelmän oman kieltäytymisen sivulla, kuten yhdistelmä kieltäytyi tarkkailemasta porttia: 507 Unsupported Functionality media-yhdistelmältä, jolla ei ole analogisia portteja.

Kuinka ne testataan

Luku 6

Puhelinlaitteet

Verkkokäyttöliittymässä: /cards

Puhelinlaitteet BitVoicen tietokoneessa (Digium, Sangoma, OpenVox ja muut laitteet, joissa on Linux DAHDI-ajurit) voivat käsitellä analogisia puhelimia ja puhelinverkkoyhteyksiä. Erillinen ohjelma, bitvoice-dahdi, ohjaa laitteita ja liittää niiden portit BitVoiceen tietokoneen omassa verkkoyhteydessä, joten BitVoice itse ei koske koskaan ydinajuria, eikä laitteiston ongelma voi estää puhelinjärjestelmää.

Asetukset

  1. Asenna DAHDI-ajurit ja määritä portit /etc/dahdi/system.conf-tiedostossa (fxoks=1-4 porteille, joissa on puhelimia, fxsks=5-8 porteille, joissa on puhelinverkkoyhteyksiä, ja maan äänet loadzone- ja defaultzone-kohtaan), ja suorita dahdi_cfg.
  2. Puhelinlaitteet (Puhelut-välilehdessä) käyttöön Käytä puhelinlaitteita. Luodaan tunniste; kopioi se tiedostoon, jota vain root voi lukea, kuten /etc/bitvoice/cards.token.
  3. Lisää jokainen portti DAHDI-kanavanumeronsa mukaan: puhelin-portti (FXS, puhelin, faksi tai ovipuhelin, joka on liitetty) sen laajennuksella, tai linja-portti (FXO, puhelinverkkoyhteys) linjan numerolla. Valitse A-law Euroopan ja suurimman osan maailmasta, µ-law Pohjois-Amerikkaa ja Japania varten.
  4. Linjoille, lisää trunkki Puhelinlaitteiden linjat-protokollalla Trunkkeja-välilehdessä, ja reititä numerot siihen kuten mihin tahansa trunkkiin; saapuvat reitit vastaavat kunkin linjan numeroa.
  5. Käynnistä bitvoice-dahdi -server https://127.0.0.1:8443 -token-file /etc/bitvoice/cards.token palvelukäyttäjänä, joka voi avata /dev/dahdi. Se on Linux-latauksessa bitvoicen vieressä. Sivu näyttää, onko se käynnissä ja kunkin portin tilan; muutokset tavoittavat sen kymmenen sekunnin kuluessa. Kanava, jota toinen ohjelma vielä pitää (tai jonka dahdi_cfg ei ole vielä määritellyt), yritetään uudelleen joka kaksi sekuntia, joten asioiden käynnistysjärjestys ei ole väliä.

Mitä toimii

Digitaaliset linjat: T1 ja E1 PRI

T1 (23 puhelua kerran) tai E1 (30) -linja toimii pääasiallisena ISDN-yhteytenä digitaalikortissa (Digium/Sangoma TE-sarja, OpenVox D-sarja ja vastaavat). BitVoice puhuu PRI:ä itse (Q.921 D-kanavalla ja Q.931-puhelunhallintana), joten jokainen puhelu tulee numeron ja puhujan tunnistuksella, menee ulos laajennuksen puhujan tunnistuksella, ja puhelinverkko kertoo, kun kaukainen pää vastaa, soi tai on kiireinen.

  1. Määritä span /etc/dahdi/system.conf-tiedostossa PRI:lle (esim. span=1,1,0,esf,b8zs, bchan=1-23, hardhdlc=24 T1:lle; span=1,1,0,ccs,hdb3,crc4, bchan=1-15,17-31, hardhdlc=16 E1:lle), ja suorita dahdi_cfg.
  2. Digitaaliset linjat Puhelinlaitteet (luku 6)-välilehdessä, lisää span: T1 tai E1, sen ensimmäinen DAHDI-kanava, onko BitVoice puhelinverkon PBX (yleensä) vai verkko (toinen PBX yhdistää BitVoiceen kuin puhelinverkkoon), ja puhelinverkon antama kytkentätyyppi.
  3. Lisää kortin trunkki Trunkkeja-välilehdessä, jos sitä ei ole vielä, ja saapuvat reitit numeroille (DID), jotka puhelinverkko lähettää.

Puhelut ulos ottavat PRI:n ensin, analogiset linjat sen jälkeen; kiireinen numero, väärä numero tai ei vapaa kanava tulee takaisin kiireisenä, ei löydy tai ei saatavilla, kuten verkko sanoo. Sivu näyttää, onko kunkin spanin D-kanava ylös ja kuinka monta kanavaa on puheluissa. T1-kanavat, jotka on määritelty robbed-bit-signaaleilla (fxsks, fxoks), toimivat kuten yllä mainitut analogiset portit.

Nimet, siirtäminen ja välittäminen. Soittajan nimi tulee mukana puhelussa (Display-elementistä tai kansallisen ISDN-2:n kautta, jossa verkko lähettää nimen ominaisuutena) ja puhelimet näyttävät sen; lähtevät puhelut lähettävät laajennuksen nimen samalla tavalla. Numero, josta puhelu on siirtynyt, tulee redirecting-numerona (BitVoice välittää sen SIP:n Diversionina, jonka syy on: kiireinen, ei vastaa, ehdoton), ja kun laajennuksen siirto lähettää puhelun takaisin PRI:lle, laajennuksen numero menee mukana redirecting-numerona, jotta kaukaisella puolella ja puhelinverkkoyhtiöllä on tieto, kenen puhelu on kyseessä. Kun ulkopuolinen puhelu vastaanotetaan, BitVoice kertoo verkolle vastaanottaneen numeron (yhteyden numero).

Käytä Puhelinverkon kautta tapahtuvat siirrot valintaa spanilla (käyttäjän puolella, kansallinen ISDN-2, 5ESS, DMS-100 tai EuroISDN) ja kun joku siirtää puhelun samalla linjalla olevaan toiseen numeroon, BitVoice pyytää verkkoa yhdistämään kaksi puhelua itse: National ISDN-2- ja 5ESS-linjoilla tapahtuu Two B-Channel Transfer, Nortel DMS-100:llä Release Link Trunk -siirto ja EuroISDN:llä eksplisiittinen puhelusiirto (puhelu pidetään jonkin aikaa ja sitten yhdistetään). DMS-100 antaa siirtotunnisteen vain BitVoicen asettamille puheluille, joten siellä yksi kahdesta puhelusta on ulospäin menevä puhelu (yleinen tapaus: eteenpäin siirtynyt tai siirretty puhelu ulkopuolelle). Molemmat kanavat vapautuvat, kun verkko on yhdistänyt ne. Linjalla on oltava palvelu (pyydä puhelinverkolta "kaksi B-kanavan siirtoa" tai "ECT"); jos verkko kieltäytyy, siirto toimii silti, BitVoicen kautta, käyttäen molempia kanavia kuten ennen. Spanilla, jossa BitVoice on verkon puolella, toinen PBX voi pyytää BitVoicea yhdistämään kaksi puhelua; BitVoice kieltäytyy (se ei ole vaihteen), ja PBX pitää puhelut itse.

Kokeile ilman korttia

DAHDI:n omat dynaamiset spanit voivat korvata kortin: kaksi spania yhdistetään sisäpuolella, BitVoice toisella ja toinen PBX (Asteriskin chan_dahdi, esim.) puhelinverkkona toisella. Lataa dahdi, dahdi_dynamic ja dahdi_dynamic_loc, ja /etc/dahdi/system.conf-tiedostossa:

dynamic=loc,1:0,24,0
dynamic=loc,1:1,24,0
bchan=1-23
dchan=24
bchan=25-47
dchan=48

Jätä viimeinen numero (aikakatkaisu) 0:ksi molemmilla: DAHDI:n oma ajastin ohjaa niitä sitten. Spanit, jotka ovat toistensa aikakatkaisulähteitä, tikittävät vain, kun toinen lähettää, ja D-kanava tulee ja menee. Lisää span 1 tähän T1:ksi (ensimmäinen kanava 1), ja aseta toinen PBX verkon puolelle kanaville 25-48.

Basic rate ISDN (BRI)

BRI kuljettaa kaksi puhelua kerrallaan (B1 ja B2) ja on yleinen Euroopassa pienille toimistoille; se myös yhdistää ISDN-pöytäpuhelimet. BRI-kortit (Digium B410P, OpenVoxin, Junghannsin ja muiden HFC-pohjaiset kortit) toimivat DAHDI:n kautta kuten PRI-kortit: /etc/dahdi/system.conf-tiedostossa span on span=1,1,0,ccs,ami bchan=1-2 ja hardhdlc=3 kanssa. Lisää se Digitaaliset linjat alle BRI-linjatyypillä; sen kanavat ovat B1, B2 ja sitten D-kanava.

Nimet, siirtäminen ja välittäminen EuroISDN:llä (eksplisiittinen puhelusiirto) ja maksun neuvonta toimivat BRI:llä kuten PRI:llä.

E&M-trunkit T1:llä

T1, jonka kanavat on asetettu E&M:ksi (robbed-bit-signaali: e&m=1-24 /etc/dahdi/system.conf-tiedostossa) antaa 24 trunkkia, joista kunkin signaali on oma: yhteys toiseen PBX:ään, kanavapankit ja etäisyysoperaattorien Feature Group D -trunkit. Digitaaliset linjat alle lisätään T1 ja asetetaan Signaali E&M:ksi, sitten:

Puhelun ulosmenoon valitaan vapaa trunk, joka varataan, odotetaan käynnistysmerkkiä (jos wink-merkkiä ei tule viiden sekunnin kuluessa, puhelu epäonnistuu), lähetetään numero ja puhelu vastaanotetaan, kun kaukoäänen pääty laskee luurin (vastausvalvonta). Sisääntulevaan puheluun vastataan nostamalla luuri, kun laajakaista vastaa.

CAMA-trunkit (911, laboratoriotesti). PSAP, joka on edelleen CAMA-trunkin kautta 911-valitsimen kautta, asettaa Käynnistysmerkin CAMA (911-trunkkiin). Reititin varaa, BitVoice winkkaa ja reititin lähettää soittajan numeron (ANI) MF-muodossa: laajennettu CAMA KP, kaksi tietoa ja kymmenen numeroa, ST; perinteinen CAMA KP, yksi numerointisuunnitelman numero ja seitsemän numeroa, ST. Perinteisessä CAMA-tapauksessa luetteloi Puhelinalueet NPD 0-3 puhelinaluekoodi, joka kunkin numerointisuunnitelman numeron edustaa (reitittimen asetussivulla on ne); numero, joka on suurempi kuin 3, tarkoittaa, että reititin ei voinut tunnistaa linjaa. Kunkin puhelun menee 911-sisääntuloreittiin 911-puheluna, jonka paluunumero on ANI, ja BitVoice etsii sijaintinsa tämän numeron avulla (ks. 911-puhelut (luku 77), Sijaintitarkistus (ALI)). Tietonumerot näkyvät puhelussa CAMA (II 00).

MFC-R2 E1:llä

Latinalaisessa Amerikassa, Aasian ja Afrikan osissa E1-linjoja käytetään usein MFC-R2:na eikä ISDN:änä: 30 piiriä, joista jokaisella on omat linjamerkkinsä A- ja B-biteissä aikaraossa 16 (ITU-T Q.421) ja numeronsa, soittajan kategoria ja soittajan numero vaihdetaan pakotulla monotaajuisilla sävelillä (Q.441), eteen- ja taaksepäin. Määritä jakso CAS:na /etc/dahdi/system.conf-tiedostossa (span=1,1,0,cas,hdb3, cas=1-15:1101, cas=17-31:1101, dchan poistettu), sitten Digitaaliset linjat -osiossa lisää E1, aseta Merkinanto MFC-R2:ksi ja valitse Maa-variantti: ITU-T, Argentiina, Brasilia, Kiina, Kolumbia, Tšekki, Ecuador, Meksiko, Filippiinit tai Venezuela. Jokainen maa määrittää joitakin merkkejä eri tavoin (mitä tarkoittaa varattu, miten numeron loppu ilmoitetaan, Meksikon ryhmä C); variantti sisältää ne. Kiinan No. 1 pyytää soittajan luokkaa (KA) ja numeroa valittuna numerona, lähettää puhelutyypin (KD: 3, paikallinen puhelu) viimeiseksi, lukee varatun ja vapaan tilan lähettämästä KD:stä ja asettaa C- ja D-bidit molemmat 1:ksi: siellä kirjoita cas=1-15:1111 ja cas=17-31:1111.

Jokainen piiri välittää puheluita molempiin suuntiin. Sisääntulossa oleva puhelu saapuu sisääntuloreiteille valittuna numerona ja soittajan numerona (salatut numerot tulevat anonyymina); varattu laajennus tai väärä numero ilmoitetaan takaisin varattuna tai epäkäytössä, kuten variantti sanoo. Ulospäin menevä puhelu lähettää numeron ja laajennuksen soittajan tunnisteen tai "numero salattu" -signaalin, kun soittaja piilottaa sen.

MFC-R2-merkinantotesti tehdään OpenR2:ta (R2-kirjastoa, jonka chan_dahdi Asteriskissa käyttää) vastaan jokaisessa tarjotussa variantissa ja molempiin suuntiin, myös puhelun kieltäminen varattuna; E&M BitVoicen omia simuloituja kanavia vastaan.

SS7

Toimittaja voi luovuttaa T1- tai E1-kaistoja, jotka ohjataan SS7:llä eikä ISDN:llä: äänipiirit välittävät puheluita, ja kunkin piirin nimi on piirin tunniste (CIC), ja yksi aikaosuus välittää merkinantoliittymän toimittajan signaalisirontapisteeseen tai kytkimeen ISUP:n kautta. BitVoice on silloin itsenäinen merkinantopiste, jolla on toimittajan määrittämä pisteiden koodi. Määritä jakso /etc/dahdi/system.conf-tiedostossa puhdas kanava merkinantoliittymän aikaosuutena mtp2 tai hardhdlc (aikaosuus 16 E1:llä, 24 T1:llä). Digitaaliset linjat -kohdassa lisää jakso, aseta Merkinanto SS7 (ISUP):ksi ja anna:

Useiden linkkien linkkisarjat. Jakso, joilla on sama variantti, pisteiden koodit ja verkko, muodostavat yhden linkkisarjan (jopa 16 linkkiä): kunkin jakson merkinantoliittymä on yksi sen linkkejä, ja tarvitsee oman Linkin koodin, ja kunkin jakson piirit kuuluvat siihen (niiden CIC:t eivät saa olla päällekkäin). Liikenne jaetaan linkkien välillä palvelussa viestien SLS:n mukaan, joten yhden puhelun viestit pysyvät yhdellä linkillä. Kun linkki epäonnistuu (linkin testi ei saa vastausta, tai viestit eivät saa vahvistusta), sen liikenne siirtyy muihin (Q.704: COO ja COA, viestit, joita kaukoääni ei ole lähettänyt toiselle linkille; tai, ilman vastausta ajalla, ajan mukaan), puhelut jokaisella jaksolla jatkuvat, ja Puhelinlaitteet kertoo, kuinka monta linkkiä on palvelussa ja miten tämän jakson linkki on. Kun linkki on takaisin ja testattu, sen liikenne siirtyy takaisin (CBD ja CBA). Vain silloin, kun kaikki linkit ovat poissa, linkkisarja on poissa. Testattu libss7:ää vastaan kahdella linkillä, joista toinen katkaistiin puhelun keskellä: libss7 ottaa verkkojohtamisviestit vain linkiltä, jonka SLS mainitsee, joten linkin vaihtoviesti (lähetetty toisella linkillä, kuten Q.704:ssä on) hylätään siellä, ja molemmat päät siirtyvät ajan mukaan, mikä toimii; kahden BitVoice-pään välillä se tapahtuu COO:n ja COA:n kautta.

Kun linkki tulee käyttöön, BitVoice kohdistaa sen (MTP-taso 2, hätätilanteen osoittamisjakson kanssa yksittäisen linkin linkkiryhmänä), testaa sitä linkkitestillä (SLTM/SLTA), vaihtaa liikenteen uudelleen sallimisen ja nollaa jokaisen piirin (GRS). Saapuvat puhelut saapuvat sisääntuloreiteille numeron, soittajan numeron (piilotetut numerot nimettöminä), numeron, josta puhelu on ohjattu, ja ANSI: n mukaan soittajan nimen kanssa; lähtevät puhelut sisältävät laajennuksen soittajan ID: n ja nimen. Toimittajan esto- tai nollauspiirit noudatetaan. Kaksinkertaisessa takavarikossa pää, jolla on korkeampi pisteellinen koodi, pitää parilliset piirit, kuten Q.764 sanoo, ja BitVoice ottaa ensin piirit, jotka se pitää.

SS7 testataan libss7: ää (SS7-kirjasto, jonka Asteriskin chan_dahdi käyttää), ITU ja ANSI: kohdistus, linkkitesti, liikenteen uudelleen käynnistäminen, piirin nollaus, puhelut molempiin suuntiin numeroilla ja nimillä, vapauttaminen, kiire ja esto; ja BitVoice itsensä vastaan kadonneilla kehyksillä (uudelleen lähetetty MTP2: n virheenkorjaus) ja kaksinkertaisella takavarikolla. Signaalin siirto (toimien muiden STP: nä) ja SCCP/TCAP (numeroiden siirtoluettelo, maksuttoman käännöksen) eivät ole tarjolla: PBX on päätepiste, ja ne ovat toimittajan.

Signaali-ohjauspiste (STP). bitvoice-dahdi voi myös toimia STP:na ITU SS7-yhdistelmänsä kanssa: käytä Signaali-ohjauspiste (SS7) Digitaaliset linjat -osion alapuolella. Sen STP-pistekoodi on jaksojen oma. Välitä viestit muiden pistekoodien puolesta -valinnalla viesti toisesta yhdistelmästä toisen yhdistelmän vieressä olevaan pisteeseen menee sinne, ja muuhun pistekoodiin menevä viesti menee IP STP:hen (M3UA): IP STP:hen tai merkinantoliittymään, joka on isäntänimi:portti, ja johon pääsee M3UA:n (RFC 4666) kautta TCP:n yli, jonka viestit yhdistelmien pisteille tulevat saman tien (BitVoice rekisteröi oman pistekoodinsa ja sen takana olevat, ellei Reitityskonteksti ole annettu). Globaali otsikko lähettää SCCP-viestit, jotka on osoitettu STP:lle globaaliotsakkeella, pistekoodiin ja aljärjestelmään, joka on pisimmän vastaavan etuliitteen mukainen, kuten SCCP-välitys tekee. Viesti, jota ei voida toimittaa, palautuu lähettäjälle UDTS- tai XUDTS-viestinä, kun se pyysi sitä: ei käännöstä, ei reittiä (MTP-epäonnistuminen), ei alijärjestelmää täällä tai sen hyppylaskuri on loppunut. STP:n tila näyttää M3UA-yhteyden ja montako viestiä se on välittänyt, kääntänyt ja palauttanut. Sen SCCP (UDT, XUDT, UDTS, XUDTS) ja TCAP (Aloita, Jatka, Lopeta, Keskeytä, dialogit ja komponentit) on tarkistettu Osmocomia vastaan: OsmoSTP M3UA:n yli, libosmo-sigtranin SCCP-echo-käyttäjä sen takana ja libosmo-asn1-tcapin oma TCAP-koodaus molempiin suuntiin. SCTP:ä ei tarjota (Go:lla ei ole): M3UA menee TCP:n yli, jota OsmoSTP ja monet IP STP:t hyväksyvät. Yhteydenvaraista SCCP:ä, ANSI-yhdistelmäjä ja SCCP-hallintaa (SST, SSA) ei tarjota.

Maksun neuvonta. EuroISDN-linjalla käytä Maksun neuvontaa ja BitVoice pyytää puhelinverkkoyhtiötä kertomaan kunkin puhelun hinnan: puhelun aikana (AOC-D) ja puhelun päätyttyä (AOC-E), rahassa tai laskuyksiköissä. Viimeinen luku siirretään puhelun tiedoston laskettu EUR 1,50 Historiaan ja kustannuksiin; kun se on omassa valuuttassasi (asennettu Kustannuksiin), se on puhelun kustannus, sen sijaan, että käytettäisiin käyttöliittymän hintoja. Puhelinverkkoyhtiön on tarjottava palvelu linjalla. SIP-liittymät voivat lähettää saman neuvonnan 3GPP AOC XML: nä INFO- tai BYE-viestinä, ja BitVoice tallentaa sen samalla tavalla.

PRI-koodi testataan libpri: ää (ISDN-kirjasto, jonka Asterisk käyttää) vastaan, sekä käyttäjän puolella että verkon puolella, kansallisten ISDN-2- ja EuroISDN-puheluiden, nimien, uudelleenohjattujen ja yhdistettyjen numeroiden, eksplisiittisen puhelun siirron, kahden B-kanavan siirron ja DMS-100 Release Link Trunk -pyynnön bittien mukaan (libprin PBX: n kanssa, johon BitVoice liittyy DMS-100: na), sekä maksun neuvontaa molempiin suuntiin; ja BRI: llä, pisteestä pisteeseen ja monipisteeseen, sekä terminaali- että verkkopuolella (TEI-osoitteen määrittäminen, puheluiden lähettäminen linjalle, numeroiden näppäily yksitellen).

Ei vielä: soittajan ID-näyttö analogisissa puhelimissa tai lukeminen analogisilta linjoilta, hook flash ja kaikuhyvitys siitä, mitä kortti itse tekee.

Luku 7

Trunkit

Verkkokäyttöliittymässä: /trunks

Trunkki on tilisi puhelinpalveluntarjoajalla. Se välittää puheluita ulkopuolisten numeroiden kanssa. Useimmat ovat SIP-trunkkeja; Asterisk- tai FreePBX-palvelin tai IAX2-palveluntarjoaja voidaan tavoittaa IAX2:n kautta.

BitVoiceREGISTER every few minutescalls out: number, caller IDcalls in: the number dialledCarrierUsername and passwordAllowed addressesCodecs, channels, rates
Kuva 5. A trunk: your account with a phone company

SIP-trunkin lisääminen

  1. Trunkit (luku 7) -sivulla paina Lisää trunkki.
  2. Anna Palveluntarjoajan palvelin, jonka puhelinpalveluntarjoaja on antanut (sip.provider.com), ja portti, jos se ei ole 5060.
  3. Anna Käyttäjänimi ja Salasana, ja käytä Rekisteröi -vaihtoehtoa, jos tarjoaja sanoo tehdä niin (useimmat tekevät).
  4. Tallenna. Muutaman sekunnin kuluttua trunkki näkyy rekisteröitynä; jos ei, syy näkyy sen vieressä.

Reitinten terveyden arviointi

Kun lähtöreitillä on kaksi tai useampi reitti, BitVoice arvioi joka 15 sekunti, onko kunkin reitin käyttö kohdallaan vai yritetäänkö sitä toisten reittien jälkeen. Reitti siirtyy muiden reittien taakse, kun sen tarjoaja lopettaa vastaamasta ylläpitotarkastuksiin tai kun sen viimeiset ulospäin suuntautuneet puhelut epäonnistuivat peräkkäin tarjoajan puolella (Peräkkäiset epäonnistuneet puhelut Minuutteina, Asetukset, Reitinten terveyden arviointi), ja toinen reitti toimii. Se ei siirry epäonnistuneen ylläpitotarkastuksen vuoksi, jos puhelut sen kautta edelleen pääsevät läpi; ja kun kaikki reitit epäonnistuvat kerran, todennäköisin syy on tämän järjestelmän oma internet-yhteys, joten mitään ei siirretä. Muutokseen vaaditaan kaksi peräkkäistä arviointia (30 sekuntia), jotta reitti ei vaihdu liian nopeasti. Reittiä ei poisteta kokonaan: sitä yritetään edelleen, kun muut reitit epäonnistuvat, joten hälytyspuheluilla on aina kaikki mahdolliset tiet. Reitin sivu näyttää arvioinnin ja sen syyt; puhelu, joka meni toista reittiä, sanoo sen myös sen merkinnässä.

  1. Lisää saapuvan reitin numerollesi ja lähtevän reitin, joka käyttää tätä reittiä (Puhelujen reititys (luku 8))
FieldWhat it does
TransportUDP (usual), TCP, or TLS for encrypted signalling
Registersign in every few minutes, so the provider knows where to send calls
Authentication usernameonly when the provider gives a separate one
From domainthe domain in the caller's address, when the provider asks for one
Caller IDthe number shown on calls out; an extension's own caller ID wins
Also accept calls fromthe provider's other addresses or networks that send calls in. Calls from this computer by phones registered here, and the built-in call generator's, are never taken as the trunk's, even when it allows 127.0.0.1
Calls at oncethe limit your plan allows; calls beyond it go to the next trunk in the route
Encrypt mediaSRTP, for providers that support it. A provider that answers without it still gets the call, unencrypted, and Call history marks the call Not encrypted
Require encryption(with Encrypt media) refuse what the provider will not encrypt: a call out it answers without SRTP is hung up, and a call in it sends without SRTP is refused; Call history says why
Codecsleave it on *same as Settings*, or choose what this provider supports, best first
Rateswhat calls cost by number prefix, for Costs (luku 54)

Pilvitietokoneiden tarjoajat

Aloita täyttää Microsoft Teams Direct Routing, Amazon Chime SDK Voice Connector tai Azure Communication Services, ja huomautuksella siitä, mitä on asetettava heidän puolellaan. Teams on kuvattu omassa luvussaan (Microsoft Teams (luku 67)).

IAX2-reitit Asteriskiin ja FreePBX:ään

Valitse IAX2 protokollaksi liittyäksesi toiseen Asterisk-palvelimeen tai FreePBX-palvelimeen tai IAX2-tarjoajaan. IAX2 kuljettaa merkinnan ja äänen yhdellä UDP-portilla, 4569, mikä tekee siitä helpon palomuurien läpi.

BitVoiceone UDP port, 4569: signalling and audio togetherMD5 challenge with the shared password; call tokensAsterisk or FreePBXiax.conf: type=friend, secret=…
Kuva 6. An IAX2 trunk to an Asterisk or FreePBX server

Asterisk-puolella riittää tällainen vertainen:

[bitvoice]
type=friend
host=dynamic
secret=the shared password
context=from-bitvoice

IAX2-portti 4569 avautuu vasta, kun ensimmäinen IAX2-reitti lisätään, joten Asterisk, joka ajaa samassa tietokoneessa, pitää sen auki siihen asti.

H.323-reitit

Valitse H.323 protokollaksi vanhemmille portille, PBX-järjestelmille ja videoneuvotteluille, jotka puhuvat H.323:aa, mutta eivät SIP:ää. Anna portin osoite (portti 1720); puheluita hyväksytään ainoastaan siitä. Puhelut määritellään Pika-yhteys ja G.711 (µ-laki tai A-laki; reitin koodekkilista voi rajoittaa yhteen). Ääni menee suoraan portin ja BitVoicein media-porttien välillä. BitVoice muuttaa sen mihin tahansa toisella osapuolella käytetään.

H.323 tässä on tarkoituksella pieni: ei porttia (RAS), ei H.245:ää (joten portti, joka ei voi käyttää Pika-yhteyttä, ei saa puhelua, ja se kerrotaan sille), ei videota, ei H.235-turvalaitetta. Soittajan tunniste tulee Q.931-soittajan numerosta tai soittajan numeron aliasista, ja nimi tulee näytöstä tai sen H.323-tunnisteesta. BitVoicein H.225.0- ja H.245-koodaus on tarkistettu itsenäisen ASN.1-kooderin kanssa, mutta ei vielä portin laitteiston kanssa.

Ohjatut puhelut

Kun puhelu tulee sinulle jo ohjattuna (joku on ohjannut numeronsa sinulle tai Teams-käyttäjä), tarjoaja ilmoittaa siitä History-Info (RFC 7044) tai Diversion (RFC 5806) -tietona. BitVoice lukee kumpaan: Puheluhistoria (luku 47) näyttää ohjattu numeron, joka lähetti sen eteenpäin, alkuperäisen numeron ja syyn sen vihjeessä, puhelun syy polku kertoo sen sanoin ja puhelun tallenne säilyttää sen (forwardedFrom, original, forwardReason). Kun tarjoaja pyytää historian olevan yksityinen, numeroita ei säilytetä.

Kun laajennus ohjaa puhelun ulospäin trunkin kautta (ohjaa kaikki, kun kiireinen, kun kukaan ei vastaa), tarjoajalle ilmoitetaan, kuka laajennus ohjasi sen ja miksi, jotta se voi näyttää numerosi ja laskuttaa oikean tilin: oletusarvoisesti molemmilla otsikoilla, ja säilyttää puhelun historian, joka tuli sisään ja lisää ohjauksen. Tarjoaja, joka on hämmästynyt yhdestä niistä, voidaan asettaa toiseen trunkin Lisäasetukset -välilehdessä Ohjatut puhelut sanovat, keiden ne ovat. T1/E1-telefonipuhelinluettaessa jompikumpi otsikko tulee verkon uudelleenohjausnumeroksi.

Mitä tila tarkoittaa

TilaMerkitys
rekisteröitykirjautunut sisään; puhelut voivat tulla sisään
valmisei rekisteröi, tai IAX2 odottaa puheluita
ei saatavillapalvelimen nimi ei ole DNS:ssä, tai mitään ei vastaa
epäonnistunuttarjoaja hylkäsi kirjautumisen; syy näytetään
valmiustilassapalvelimet jakavat tämän trunkin vuorotellen ja toinen pitää sitä
Luku 8

Puheluiden reititys

Verkkokäyttöliittymässä: /routes

Puheluiden reititys päättää kaksi asiaa: minne ulkopuolelta tulevat puhelut menevät, soitetun numeron mukaan, ja minkä trunkin ulkopuolelle menevät puhelut käyttävät.

CarrierIncoming routeby number dialledScheduleopen or closed?openclosedMenu1 sales, 2 supportRing grouprings everyone for 25 sVoicemailafter hoursif nobody answers
Kuva 7. How a call from outside finds its way

Saapuvat reitit

Jokainen saapuva reitti vastaa numeroa, jota soitettiin (tai mitä tahansa numeroa), ja lähettää puhelun määränpäähän: laajennukseen, soittoryhmään, jonoon, valikkoon, aikatauluun, skriptiin, konferenssisaliin, tekoälyvirkailijaan tai vastaajaan. Numerot vastaavat missä tahansa muodossa: +1 212 555 0100, 2125550100 ja 12125550100 ovat samat.

Lähtevät reitit

Lähtevät reitit vastaavat mitä ihmiset soittavat, kaavalla, ja lähettävät sen trunkkeihin järjestyksessä: jos ensimmäinen on alas tai täynnä, seuraavaa yritetään.

Dialled2125550199Emergency 911Long distance 1NXXNXXXXXXLocal NXXNXXXXXXInternational 011.matchTrunk AfirstTrunk Bif A failsN is 2–9, X is any digit, . is anything more; emergency numbers never fail for want of a pattern.
Kuva 8. Outgoing routes: the first pattern that matches, its trunks in order
KaavaVastaa
Xmikä tahansa numero
Z1-9
N2-9
[1-5]yksi joukosta
. lopussayksi tai useampi lisänumero
NXXNXXXXXXkymmenen numeron Pohjois-Amerikan numero
1NXXNXXXXXXsama yhden eteen
011.kansainvälinen puhelu Yhdysvalloista

Hälytysnumerot

Hälytysnumerot toimivat aina. Reitti, joka mainitsee numeron tarkasti, käytetään ensin; ilman reittiä, jokainen toimiva trunkki yritetään vuorotellen. Hälytysnumeroa ei koskaan hylätä laajennuksen rajoitusten, isännöidyn organisaation rajoitusten tai puuttuvan reitin vuoksi. Terveydenhuolto varoittaa, kun mikään trunkki ei voi käsitellä niitä.

Luku 9

PIN-ryhmät

Verkkokäyttöliittymässä: /pin-sets

PIN-kokoonpano (PIN-kokoonpanot (luku 9)) on luettelo PIN-koodista, jota ulospäin menevän reitin tulee pyytää ennen kuin se tekee puhelun: kansainvälisten tai paikallispuheluiden rajoittamiseksi niille, joilla on PIN-koodi, tai laskuttamiseksi asiakkaille ja projekteille heidän koodinsa perusteella.

  1. Lisää PIN-ryhmä ja luo luettelo PIN-koodeista (4-10 numeroa kussakin).
  2. Käytä Säilytä PIN puhelun tiedoissa kirjoittaaksesi käytetyn PIN-koodin kunkin puhelun tietoihin sen tilinumerona (tilinumerosarake CSV-, syslog- ja PostgreSQL-puhelutietojen tulosteissa ja account-kenttä API:ssa).
  3. Valitse Puhelureititys (luku 8), avaa ulospäin menevä reitti ja valitse ryhmä Kysy PIN -kohdasta.

Soittajat, jotka soittavat numeroa, jota reitti ottaa, kuulevat "Anna PIN-koodi, sitten paina risuaita", syöttävät sen ja puhelu menee ulos. Kolme väärää PIN-koodia lopettavat puhelun, ja yritys kirjataan turvallisuustapahtumaksi. Hälytysnumerot eivät koskaan kysy PIN-koodia, riippumatta siitä, minkä reitin ne ottavat, eivätkä eteenpäin siirretyt puhelut ja seuraa-minulle-numerot kysy sitä: vain henkilöt, jotka soittavat puhelimesta.

Luku 10

Soittajan tunnistus

Verkkokäyttöliittymässä: /lookups

Monet puhelinoperaattorit lähettävät soittajan numeron, mutta ei nimeä. BitVoice etsii ensin yrityksen osoitteista (luku 38); sen jälkeen saapuvan reitin voi kysyä soittajan tunnistus (luku 10):

Valitse tunnistus saapuvan reitin Puhelureititys (luku 8) (Soittajan tunnistus). Puhelimet näyttävät nimen, kun ne ovat soittona, ja se menee puhelutietoihin.

Tunnistus ei koskaan pidä puhelua pois: BitVoice odottaa enintään odotusaikaa (1,5 sekuntia, ellei sitä muuteta, 5 sekuntia enintään) ja sitten soittaa ilman nimeä. Vastaukset säilytetään päivän ajan (tai niin kauan kuin asetetaan, tai ei koskaan -1:llä), joten säännöllinen soittaja ei haeta joka kerta; numerot, joita palvelu ei tunne, kysytään uudelleen tunnin kuluttua. Kokeile tunnistuksen sivulla kysyy numeroa kerran, asetuksilla, jotka on tallennettu.

Luku 11

Hälytyspuhelut

Hälytysnumerot menevät aina ulos, jokaisesta laajennuksesta, jopa niistä, jotka eivät voi soittaa ulkopuolisia numeroita. Tämä luku kertoo hälytyspuheluista, jotka tehdään BitVoice-puhelimilla: toimisto soittaa 911. Vastaus 911-puheluihin on 911-profiili (luku 77).

dials 911Emergency routenever fails for want of oneCarrierThe PSAPanswersSite, floor, roomsent as PIDF-LOAlerts on site: security desk, email listKari's Law
Kuva 9. Office 911: location goes with the call, people on site are told

Mitä BitVoice tekee jokaisessa hälytyspuhelussa

  1. Reitittää sen, aina: reitti, joka mainitsee numeron ensin; ilman sitä, jokainen toimiva trunki vuorotellen. Rajoitukset eivät koskaan estä sitä: laajennus, joka ei ole sallittu ulkopuolisiin puheluihin, isäntäorganisaatio, joka on kutsuvierasrajoituksessa tai keskeytetty, trunki, joka on kanavarajoituksessa.
  2. Lähettää, missä soittaja on: Lähetä soittajan osoite -asetuksella (Asetukset), puhelu sisältää kohteen siviiliosoitteen, kerroksen ja huoneen operaattorille PIDF-LO -muodossa.
  3. Kertoo ihmisille paikalla (Karin laki Yhdysvalloissa): laajennukset Ilmoita -kohtaan saavat viestin puhelimilleen, jokainen avoin BitVoice-näyttö näyttää hälytyksen, ja osoitteet Lähetä myös sähköpostiin -kohtaan saavat sähköpostin soittajan nimen, laajennuksen, kohteen, kerroksen ja huoneen, jotta joku voi tavata vastaajat ovella.
  4. Antaa puhelun tulla takaisin: tunnin ajan hälytyspuhelun jälkeen, saapuvat puhelut eivät koskaan hylätä, jotta vastauspiste voi aina soittaa takaisin.

Asetusten määrittäminen

  1. Tarkista hälytysnumerot Asetukset (luku 14) (maakohtaiset: 911 ja 933 Yhdysvalloissa).
  2. Lisää jokainen rakennus Kohteet (luku 12) -kohtaan, jossa on katuosoite ja verkkot, joita puhelimet käyttävät.
  3. Anna jokaiselle laajennukselle kohteen, kerroksen ja huoneen.
  4. Varmista, että ulospäin menevä reitti ja trunki vievät hälytyspuhelut; Terveys (luku 13) varoittaa, jos mikään ei voi.
  5. Täytä Ilmoita ja Lähetä myös sähköpostiin.
  6. Soita 933 (Yhdysvalloissa) kuullaksesi osoitteen, jonka operaattori on.

Etätyöntekijät

Puhelin, joka rekisteröityy ulkopuolelta kohteen verkkoa, on etätyöntekijä: heidän puhelin sivu kysyy, missä he ovat, ja se osoite käytetään sen sijaan. Hälytykset kertovat, kun sitä ei vahvistettu.

Hälytysmode

Erilainen asia: yksi kytkin, joka lähettää kaikki saapuvat puhelut yhteen paikkaan (evakuointi, sulkeminen, tapahtuma). Määritä, mihin puhelut menevät, valinnainen koodi, kuten *55 ja siihen pääsevät laajennukset Asetukset (luku 14) -valikossa; kytke se päälle Pääsivu-valikossa (Dashboard (luku 1)), tai näppäile koodi (nousevat sävelet päälle, matala sävel pois päältä). Punainen palkki näkyy jokaisella sivulla, kun se on päällä.

Luku 12

Toimipisteet ja virka-apu 911

Verkkokäyttöliittymässä: /sites

Toimipiste on rakennus: sen katuosoite ja verkkot, joita sen puhelimet käyttävät. Toimipisteet ovat tapa, jolla hätäpuhelu kertoo, missä soittaja on, aina kerrokseen ja huoneeseen asti. Yhdysvalloissa Kari's Law ja RAY BAUM'S Act vaativat täsmälleen tätä yritysten puhelinjärjestelmiltä.

Head office · 1 Main St · 10.0.0.0/16floor and room from each extensionat homeAsked onceconfirms the address
Kuva 10. Sites and remote workers: where a phone is, for 911

Sivuston lisääminen

Sivustot (luku 12) -sivulla paina Lisää:

KenttäMitä se on
Nimimitä ihmiset sitä kutsuvat: Pääkonttori
Katu, Kaupunki, Osavaltio tai maakunta, Postinumero, Maasiviili-osoite, johon vastaanottajat lähetetään
Verkkotosoitealueet, joita sen puhelimet käyttävät, kuten 10.1.0.0/16; yksi per rivi

Sitten kunkin laajennuksen antaa sivustonsa, kerroksen ja huoneen. Terveydentila (luku 13) listaa laajennukset, joilla ei ole sijaintia.

Miten puhelimen sijainti löydetään

  1. Puhelin, joka rekisteröityy yhden toimipisteen verkkoon, on kyseisessä toimipisteessä, sen laajennuksen kerroksella ja huoneessa.
  2. Hot desk -työasema kantaa työaseman oman toimipisteen, kerroksen ja huoneen, ei kirjautuneen henkilön (Hot desking (luku 36)).
  3. Puhelin, joka rekisteröityy ulkopuolelle jokaisen toimipisteen verkkoon, on etätyöntekijä. Sen ensimmäisellä hätäpuheluun kykenevällä rekisteröinnillä uudesta paikasta pyydetään vahvistamaan osoitetta puhelimen sivulla; hätäpuhelut siirtävät sitten kyseisen osoitteen.
  4. Jos etätyöntekijä ei koskaan vahvistanut, puhelu siirtyy silti, laajennuksen tavallisen toimipisteen kanssa, ja hälytykset ilmoittavat, että osoite ei ollut vahvistettu.

Paikan varoitus

Jos Sähköposti kun joku soittaa 911 on asetettu Asetuksiin, mainituille henkilöille lähetetään soittajan nimi, laajennus, sijainti, kerros ja huone, kun hätäpuhelu alkaa, jotta joku voi vastaanottaa vastaanottajat ovella. Ilmoita -laajennukset saavat viestin puhelimilleen, ja jokainen avoin BitVoice-ruutu näyttää hälytyksen. Katso Hätäpuhelut (luku 11).

Luku 13

Terveys

Verkkokäyttöliittymässä: /health

Terveys kertoo, onko järjestelmä valmis puheluihin, ja jos ei, mitä tehdä. Jokainen rivi kertoo, mikä on vikana yksinkertaisin sanoin ja linkittää sivulle, jossa se korjataan. Tarkista se jokaisen muutoksen jälkeen.

Mitä se tarkistaa

TarkistusMiksi se on tärkeää
Hälytyspuhelut pääsevät ulosreitti ja toimiva trunkin kantavat hälytysnumerot
Laajennukset ilman hälytyskohdettaheidän 911-puhelunsa eivät kantaisi kerrosta tai huonetta
PuhelinpalveluSIP kuuntelee, ja millä portilla
Puhelimet eivät ole kytkettylaajennukset, joille kukaan ei ole kirjautunut
Trunkitrekisteröity, tai syy miksi ne eivät ole
Valikot ilman tallennettua ohjattuasoittajat kuulisivat hiljaisuutta
Aikavyöhykeaikataulut seuraavat sitä
Tallenteet ja niiden säilytyslevytila, ja kuinka kauan tallenteita säilytetään
Varmenteetkun TLS-varmenne vanhenee
Avainholvitsalaisuudet, joita holvi ei voi lukea
Muut palvelimetkun useat jakavat tietokannan, onko kunkin käynnissä

Ongelmat on värjätty: punainen estää puhelut (ei hälytysreittiä), keltainen tulee tarkastaa (puhelin ei ole kytketty), ja harmaa on tietoa varten.

Luku 14

Asetukset

Verkkokäyttöliittymässä: /settings

Asetukset sisältää kaiken järjestelmästä kokonaisuutena. Jokainen osio tallennetaan erikseen, ja jokainen tallennus on muutos Muutoksissa (luku 61).

OsaMitä siinä on
Järjestelmänimi, maa, aikavyöhyke, kieli, julkisen osoitteen puhelimet ja tarjoajat näkevät
Numerotheijastustesti, ääniviesti- ja pysäköintinumerot sekä hätänumerot
Kooderitpuhelimissa käytettävät kooderit, parhaat ensin (Kooderit (luku 66))
Puheluiden tallennuspois, jokainen puhelu tai valitut laajennukset; suostumussäännöt; kuinka kauan tallennukset säilytetään
Äänipuhdistus ääniviesteille ja puhelujen aikana
Suojausestot epäonnistuneiden kirjautumisten jälkeen, luotetut verkkot, puhelut laajennusta kohden, premium-numerot
Hätätilannelähettää soittajan osoitteen, kuka ilmoittaa, kuka saa sähköpostin, hätätila
Tekoälytekoälypalvelu, mallit ja mitkä tekoälyominaisuudet ovat käytössä (Tekoäly (luku 28))
Yksittäinen kirjautuminentunnistepalvelu (Yksittäinen kirjautuminen (luku 58))
Asterisk-yhteensopivuusAMI ja ARI ohjelmille, jotka on kirjoitettu Asteriskille (Asterisk-yhteensopivuus (luku 70))
Tekoälyavustajat (MCP)voivatko tekoälyavustajat, kuten Claude tai ChatGPT, muodostaa yhteyden ja voivatko ne toimia (Tekoälyavustajat (luku 71))
Microsoft 365 ja Google Workspacehenkilöt ja jaetut osoitteet Osoitteisiin, ja kalenterit, jotka kertovat, kuka on poissa (Osoitteet (luku 38), Kalenterit (luku 39))
Mobiililiittymätherätyspalvelu, joka herättää liittymät
Sähköpostipostipalvelin, josta ääniviestit, faksit ja ilmoitukset lähetetään
Avainholvitsalaisuudet, jotka säilytetään AWS Salaisuudet-hallinnassa tai Azure Avainholvissa
Konfiguraatio Gitistäpidä konfiguraatio yhtenäisenä tiedoston kanssa repositoriossa
TietokantaSQLite tai PostgreSQL (Tietokanta (luku 64))
Varmenteetvarmenne tälle käyttöliittymälle ja SIP yli TLS: Let's Encrypt, asennettu käsin, tai BitVoicen oma

Salasanoja ja avaimia ei koskaan näytetä uudelleen, kun ne on tallennettu; jätä ne tyhjäksi, jos haluat säilyttää ne. Katselijat näkevät Asetukset, joista kaikki salaisuudet on poistettu.

Varmenteen ja Let's Encryptin käyttäminen

BitVoice alkaa itse luomallaan varmenteella, josta selaimet ja puhelimet varoittavat. Julkisesti nimetylle palvelimelle vaihda Let's Encrypt -varmenteeseen: anna nimet (pbx.example.com), valinnaisesti sähköpostiosoite, ja sovellu. BitVoice hakee ilmaisen varmenteen Let's Encryptista, käyttää sitä välittömästi web-käyttöliittymässä, SIP yli TLS:än ja Teamsin kanssa, ja uusii sen noin 30 päivää ennen sen vanhentumista (Let's Encrypt -varmenteet kestävät 90 päivää tai vähemmän). Tilausrivillä näkyy, milloin se on myönnetty, milloin se uusitaan ja, jos se epäonnistuu, miksi; se yrittää uudelleen tunnin kuluttua, sitten harvemmin, Let's Encryptin rajoitusten puitteissa. Tarkista nyt yrittää heti.

Let's Encryptin on pitää pystyä tavoittamaan palvelin jokaisella nimellä internetistä, jotta se voi todistaa, että se on sinun:

Muut ACME-viranomaiset, jotka eivät vaadi tiliin sitoutumista (oman step-ca, Let's Encryptin testauspalvelu), valitaan Authority -kohtaa käyttämällä. Wildcard-nimet vaativat DNS-todisteita, joita BitVoice ei tee: asenna nämä sertifikaatit käsin. Kunkin klusterin palvelin saa oman sertifikaatin.

Luku 15

Näytöt kielelläsi

BitVoicen näytöt ovat saatavilla englanniksi ja kolmetoista muulla kielellä: Deutsch, Français, Español, Italiano, Português, Nederlands, Polski, Svenska, Dansk, Norsk bokmål, Suomi, 日本語 ja 简体中文.

Valinta

Kunkin selaimen kieli on oma: valitse se valikosta (kielen luettelossa teemojen vieressä), kirjautumissivulla tai asennusvelhoen ensimmäisellä sivulla. Ennen kuin valitset, BitVoice käyttää selaimen kieltä, jos se on yksi näistä, muuten englantia. Valinta säilyy vain tässä selaimessa: kaksi henkilöä samalla palvelimella voivat työskennellä kummallakin kielellä.

Kaikki näytöillä oleva teksti on käännetty: valikko, otsikot, painikkeet, vihjeet, palvelimen viestit ja nimet, joita näytön lukijat ilmoittavat. Haku (⌘K) löytää sivun sen nimen perusteella kielelläsi tai englanniksi. Jätetään sellaisenaan: mitä ihmiset kirjoittavat (nimet, numerot, muistiinpanot), osoitteet, koodit, editoreissa olevat skriptit ja tuotteiden ja protokollien nimet. Päivämäärät ja numerot noudattavat selaimen asetuksia.

Käännöksen laatu

Käännökset on tehty koneella (suurella kielimallilla), jokaiselle näytöillä näkyvälle tekstilehdelle, noin 5 000 kappaletta; mikään niistä ei ole tarkistettu ihmisen toimesta. Jotkut lauseet, joita näytöt rakentavat osista (numero ja sana), voivat olla epätyydyttäviä, ja termi voi olla käännetty kahtena eri tavoin kahdessa eri kohdassa. Mitään ilman käännöstä, kuten uusi näyttö, joka on uudempi kuin käännökset, pysyy englanniksi.

Ohje pitää tämän käsikirjan englanniksi, sellaisena kuin se on kirjoitettu, ylänavigaatiopalkin yläreunassa olevalla linkillä kunkin luvun käännökseen (myös koneella käännetyksi) bitvoice.org-sivustolla.

Puhelinpuoli on erillinen: mitä soittajat kuulevat (ohjeistukset, ääniviestin valikko) on oletusäänenkielellä (Äänet (luku 20)), ellei laajennus tai jonotusjonossa ole omaa kieltä.

Osa 2

Mihin puhelut menevät

Perusrakenteet, joissa soittajat liikkuvat: ryhmät ja jonot, valikot ja aikataulut, skriptit ja tekoälyvirkailija, vastaaja ja kaiken näyttävä diagrammi.

Luku 16

Puheluvirta

Verkkokäyttöliittymässä: /flow
CarrierIncoming routeby number dialledScheduleopen or closed?openclosedMenu1 sales, 2 supportRing grouprings everyone for 25 sVoicemailafter hoursif nobody answers
Kuva 11. How a call from outside finds its way

Tarkista jokainen tilanne

Tarkista jokainen tilanne, Puheluvirran (luku 16) yläosassa, kokee koko puhelusuunnitelman jokaisessa tilanteessa, jossa se voi olla, ei otos:

It lists what it finds, the worst first: a call goes nowhere (a group with nobody to ring and nowhere to go next), a loop, works, but look at it (a queue with no agents), nothing routes to it (a menu or schedule no call reaches), a branch no situation takes (a schedule that is never closed, so its closed side is never used), and emergency calls rest on one trunk (if it fails, they cannot get out). Each finding names the situations that show it: the time and which schedules were open, the toggles switched over, and the path (a call to +12125550100 → Press 2 (Billing) → No answer). Try this call fills Try a call below with that exact situation and traces it.

Sama tarkistus suoritetaan muutoksilla ennen kuin ne tehdään: ehdotus Kysy yksinkertaisilla sanoilla - ja Palauta tämä -katse vanhaan revision näyttää, mitä muutos rikkoisi, mitä toimii tänään.

Kokeile puhelua

Syötä, kuka soittaa (laajennus tai ulkoinen numero), mitä he valitsevat ja koska, ja paina Kokeile. BitVoice seuraa puhelua täsmälleen samalla tavalla kuin se olisi oikea puhelu, ilman soittamista: saapuvan reitin, aikataulut kyseisellä ajalla, reititysskriptit (ne suoritetaan niiden omassa sandbox- ympäristössä), valikot, ryhmät ja jonot, ja mitä tapahtuu, jos kukaan ei vastaa. Puhelun polku on merkitty; muut tiet (valikon näppäimet, aikataulun toinen puoli) voidaan avata. Vihreä tarkoittaa, että se toimii, keltainen tarkoittaa, että sitä tulee tarkastella (puhelimen ei ole kytketty, skripti epäonnistuu), punainen tarkoittaa, että puhelu epäonnistuu siinä. Valitse Oletetaan, että jokainen puhelin on kytketty nähdäksesi suunnitelman suunnitellussa muodossa sen sijaan, että se on nykyinen; Saapuu valitsee reitin, joka ottaa vain yhden.

Kaavio

Kaavio näyttää, minne ulkopuolelta tulevat puhelut menevät, laatikko laatikolta: jokainen saapuvan reitti, sitten valikot, ryhmät, jonot, aikataulut, skriptit ja henkilöt, joille ne johtavat.

Klikkaa laatikkoa (tai siirry siihen Tab-näppäimellä ja paina Enter) muuttaaksesi, minne puhelut menevät siitä: reitin kohde, laajennuksen tai ryhmän Jos kukaan ei vastaa, aikataulun avoimet ja suljetut kohteet, valikon näppäimet (lisää tai poista näppäimiä siellä), skriptin fallback tai vastaanottajan henkilö. Tallentaminen tarkistaa muutoksen kuten muutkin ja luo revision. Avaa täysi muokkain siirtyy kohteen omalle sivulle. Lisää saapuva reitti lisää reitin ilman poistumista kaaviosta.

Luku 17

Soittoyhmät

Verkkokäyttöliittymässä: /ring-groups

Soittoyhmä on yksi numero, joka soittaa useita laajennuksia: myyntitiimi, eteenpäin ja sen varalle, jokainen työpajassa.

ALL AT ONCEONE AFTER ANOTHERRing group 600the first to answer takes itRing group 6010–25 s25–50 s50–75 s
Kuva 12. Ring groups: all at once, or one after another

Soittorajat

Jäsenet, jotka ovat poissa (kokouksessa kalenterissaan tai äänetön tilassa), hypätään yli; ryhmä soittaa muille. Jäsenet, joilla on mobiili sovellus, herätetään push-ilmoituksella ja soitetaan myös.

Jos kukaan ei vastaa

Kun kukaan ei vastaa soittoajan kuluessa, puhelu menee Jos kukaan ei vastaa: jäsenen vastaajaan, jonoon, valikkoon, toiseen ryhmään. Ilman asetusta se soi, kunnes soittaja antaa periksi.

Ryhmät, jonot tai poiminta?

KäytäKun
Soittoyhmämuutama henkilö, joista kuka tahansa voi ottaa puhelun, ja puhelu pitäisi soittaa nyt
Jonosoittajat saattavat joutua odottamaan vapautuvaa henkilöä, ja heidän pitäisi kuulla heidän paikkansa
Poimintaryhmäkunkin henkilön on omat puhelunsa, mutta kollegat saattavat vastata heidän puolestaan
Luku 18

Jonot

Verkkokäyttöliittymässä: /queues

Jono pitää soittajia järjestyksessä, musiikin kanssa, ja soittaa seuraavaa vapaata agenttia. Se on asiakaspalvelukeskuksen sydän, ja se on hyödyllinen missä tahansa toimistossa, jossa puhelut tulevat nopeammin kuin ihmiset voivat ottaa niitä vastaan.

CALLERS WAITINGAGENTSVIP234Queue 700longest-idle agentAgent 1availableAgent 2on a callAgent 3wrap-upAgent 4pausedthey hear music and their place in linea VIP joins at the front
Kuva 13. A queue: callers wait in order, agents take the next one

Kuinka puhelut tarjotaan

StrategiaKuka soittaa
Pitkä aika tyhjilläänvapaa edustaja, joka on odottanut pisimpään edellisen puhelun jälkeen
Kiertäväjokainen vapaa edustaja vuorotellen, jatkaen edellisestä
Soita kaikkijokainen vapaa edustaja kerran
Vähiten puheluitaedustaja, joka on vastaanottanut vähiten puheluita tänään
Järjestyksessä (lineaarisesti)aina listan alusta: ensimmäinen vapaa edustaja
Satunnainenmikä tahansa vapaa edustaja, sattumalta
Painotettu satunnainensattumalta, edustajat alempaan rangaistukseen useammin

Näytössä Jonot on live-seinä: kuka odottaa, kuinka kauan, ja kunkin edustajan tila.

Edustajat

Edustajat valitsevat *45 kirjautuakseen kaikkiin jonoihin tai *46 tauolle ja jatkamaan; tauolla olevat ja kirjautuneet edustajat eivät saa puheluita. Seinällä on samat napit, ja se näyttää, miksi edustaja taukosilla.

TilaMerkitys
saatavillavapaa; otetaan seuraava soittaja
soisoitetaan puhelua
kiireinenpuhelussa
lopetusvastaanottanut äskettäin; lopetusaika on käynnissä
tauollatauolla, syy annettu
poissakokouksessa tai lomalla, kalenterista
kirjautunut ulosei ota jonoja puheluita lainkaan

Valvojat

Livetapahtumissa (luku 46), Valvo soittaa valvojan puhelimeen; kun he vastaavat, he kuuntelevat (kukaan ei kuule), kuiskivat (vain asiakaspalvelija kuulee) tai ryhmittävät (molemmat kuulevat), ja he voivat vaihdella näiden välillä puhelun aikana.

Liimautuvat jonot ja VIP:t

Käytä Liimautuvaa jonossa ja palauttava soittaja (joka on vastaanotettu viimeksi 30 päivänä, tai niin monta kuin olet asettanut) tarjotaan ensin edustajalle, joka vastaanotti heidät viimeksi, jos se edustaja on vapaa; jos he eivät vastaa, jono jatkuu normaalisti. VIP-soittajat, jonon alaosassa, menevät jonon eteen, jonka he soittavat, jonka jälkeen VIP, joka odottaa, ja ne on merkitty VIP:ksi näytöllä.

Luku 19

Ulossoittaja

Verkkokäyttöliittymässä: /dialer

Ulossoittaja (luku 19) soittaa yhteydenottoja jonon (luku 18) asiamiesten luetteloille: uusimiset, tapaamisen muistutukset, keräämiset, kyselyt. Kussakin kampanjassa on oma jono, oma luettelo ja oma tapa soittaa:

TilaMiten se soittaa
Esikatseluasiamies pyytää seuraavaa yhteydenottoa, näkee sen tiedot, sitten soittaa sen (heidän puhelimensa soi ensin) tai ohittaa sen
Edistynytyksi puhelu kullekin vapaalle asiamiehelle
Tehokaskiinteä määrä puheluita kullekin vapaalle asiamiehelle (1-3)
EnnustavaBitVoice säätää puheluita asiamiehelle, kallistuen, kun harvoja puheluita hylätään, ja perustuen, kun hylkäysprosentti lähestyy rajaa
  1. Lisää kampanja: sen jono, soittajan tunniste (numero, jonka kontaktit näkevät), soittopäivät aikavyöhykkeessä, kuinka kauan kontaktin puhelin soi, montako kertaa ja kuinka pitkän välin päästä.
  2. Avaa Yhteystiedot ja Lisää luettelo: CSV-tiedosto, jossa on otsarivi ja sarake nimeltä number (tai phone); name ja muut sarakkeet näytetään esikatselussa agentille. Monistetut ja vialliset numerot ohitetaan.
  3. Talleta viesti (kampanjassa): kuka soittaa ja miksi, ja "paina 9, jos et halua näitä puheluita". Se toistetaan, kun henkilö vastaa ja ei ole vapaa agentti, ja valinnaisesti vastaajan jälkeen.
  4. Käynnistä se. Se soittaa vain sen aikana, ja lopettaa soittamisen, kun se on keskeytetty tai ei ole mitään tehtävissä.

Ihmiset ja koneet. BitVoice kuuntelee ensimmäiset sekunnit vastauksen jälkeen: pitkä, keskeytymätön tervehdys on vastaaja; lyhyt "haloo?" ja tauko on ihminen. Konetta voidaan lopettaa (ja yrittää uudelleen), jättää viesti tai siirtää edelleen agentille kuten kuka tahansa. Epävarmuuden sattuessa se ottaa vastauksen ihmiseksi.

Hylätyt puhelut. Henkilö, joka vastaa, kun ei ole vapaa agentti kahdessa sekunnissa, kuulee viestin ja luetaan hylätyksi. Voimalla ja ennustavalla näppäilyllä, jos hylättyjen puheluiden osuus viime sadasta vastauksesta ylittää kampanjan rajan (3%, ellet muuta sitä, Yhdysvaltain sääntö), kampanja soittaa yhden puhelun jokaista vapaa agenttia kohden, kunnes se on jälleen alle. Kampanja näyttää hylkäysprosenttinsa, soittavat puhelut ja vapaat agentit livenä.

Älä-soita-luettelot. Mikään kampanja ei soita numeroa älä-soita-luettelossa, mikä tahansa luettelo siitä tuli; kuka tahansa, joka painaa 9 viestin aikana, lisätään heti. Lisää numeroita käsin tai API:n kautta (POST /api/dnc). Kansallisen rekisterin (Yhdysvalloissa FTC:n National Do Not Call Registry: lataa aluekoodit, joita soitat, tasaisena tiedostona), valitse tiedosto Kansallinen rekisteri ja Tuo: jokainen rivi, jossa on numero, lasketaan (212,5550100 kuten FTC kirjoittaa ne, tai yksi numero rivi), otsikot ja rikkinäiset rivit ohitetaan ja lasketaan. Korvaa edellinen tuonti käytössä, edellisen latauksen numerot poistetaan ensin, joten numero, joka poistui rekisteristä, on soittaa uudelleen; numerot, jotka on lisätty käsin tai painamalla 9, pysyvät aina. Rekisteriä on päivitettävä vähintään joka 31 päivänä (Yhdysvaltain säännöt); sivu laskee luettelon ja sen, kuinka paljon siitä tuli rekisteristä. API on POST /api/dnc/import?replace=1 tiedostolla ruumiina.

Luku 20

Äänet: ääniklipit, kielet ja musiikki

Verkkokäyttöliittymässä: /sounds

Äänet (luku 20) sisältää kaiken, mitä BitVoice sanoo tai toistaa soittajille, poislukien tervehdykset ja valikkokutsut, jotka tallennetaan siellä, missä niitä käytetään.

Ääniklipit, jokaisessa kielellä

Ääniklippi on yksi asia, jonka BitVoice sanoo: "Anna PIN-koodi", "Paikkasi jonossa on", numerot, jotka se lukee ääneen. Nimi-hakemisto, sisäänsoittaminen (DISA), herätyskutsut ja jonon ilmoitukset puhuvat niiden kanssa. BitVoice sisältää jokaisen ääniklipin sanat englanniksi, espanjaksi, ranskaksi, saksaksi, italiaksi, portugaliksi, hollanniksi ja puolaksi; numerot luetaan yksitellen, mikä kuulostaa samalta jokaisessa kielellä.

Taustamusiikki

Taustamusiikki on ryhmitelty luokkiin (Rauhallinen, Jazz, Myyntitarjoukset…), joista kunkin luokan kappaleet toistetaan toistensa jälkeen, joko alusta tai sekoitettuna. Voit ladata kappaleita, joita kestää enintään 15 minuuttia, millä tahansa formaatilla, jonka selain osaa lukea; MP3- ja WAV-tiedostot voidaan myös lähettää suoraan API:lle (PUT /api/music/{class}/{name}), ja BitVoice dekoodaa MP3-tiedostot itse (MPEG-1, 2 ja 2.5 Layer III, joka antaa samat näytteet kuin minimp3).

Internet-radiotoisto. Luokka voi toistaa virran sijaan omia kappaleitaan: kirjoita MP3-virran osoite (Icecast, Shoutcast, useimmat internet-radiot) Internet-radiotoiston alle. BitVoice yhdistää, kun ensimmäinen soittaja asetetaan odottamaan kyseisessä luokassa, toistaa saman virran kaikille odottaville ja katkaisee yhteyden puoli minuuttia viimeisen lähdön jälkeen. Virran ollessa esteettä, luokan omat kappaleet toistetaan (tai odotusääni ilman kappaleita), ja luokka näyttää syyn.

Kuka kuulee senMikä musiikki
joku, joka on asetettu odottamaanmusiikki, joka on valittu henkilön puhelimeen, joka pitää soittajaa odottamassa, muutoin oletus
pysäköity soittajamusiikki henkilöltä, joka pysäköi heidät, muutoin oletus
soittaja, joka odottaa jonossajonon musiikki, muutoin oletus
soittaja, joka odottaa konferenssin johtajaaoletus

Jokaisen oletus voi olla odotusääni, jolloin mitään ei muutu, kunnes valitset musiikin. Valitseminen odotusääni jonossa tai puhelimessa pitää äänen siellä.

Luku 22

Nimihakemisto

Verkkokäyttöliittymässä: /directories

Nimihakemisto (luku 22) sallii soittajien tavoittaa jonkun ilman hänen numeronsa: he kirjoittavat ensimmäiset kirjaimet nimeä näppäimistöllä (2 ABC:lle, 3 DEF:lle, jne. 9 WXYZ:lle) ja ohjataan läpi.

  1. Lisää hakemisto, anna sille nimi ja anna sille numero (411, esim.) tai jätä numero tyhjäksi ja käytä sitä valikkovaihtoehtona.
  2. Valitse, mitä soittajat kirjoittavat: sukunimi (yleensä), etunimi tai molemmat.
  3. Valitse, kuka on lueteltu, tai ei kukaan, jolloin kaikki puhelimella varustetut henkilöt luetellaan.

Soittajat kuulevat "Anna henkilön nimen ensimmäiset kolme kirjainta". Yksi vastaavuus ohjataan välittömästi. Useita vastaavuuksia luetaan, kahdeksan kerrallaan: kunkin henkilön nimi, sitten "soita tähän henkilöön, paina 1", 2 jne., 9 enemmän nimiä. Ei vastaavuutta: "Kukaan ei vastaa", ja he yrittävät uudelleen (kolme yrittmistä).

Äänitetty nimi: äänitä kunkin henkilön nimi heidän puhelimellaan (Äänitetty nimi: äänitä selaimessa tai lataa tiedosto), ja hakemisto sanoo sen; kunnes silloin se lukee puhelinnumeron. Hakemiston omat sanat tulevat Äänet (luku 20) -hakemistosta, sen kielellä.

Luku 23

Sisäänsoitto (DISA)

Verkkokäyttöliittymässä: /dial-in

Sisäänsoitto (luku 23) (DISA, "suora sisäänmenoyhteys") sallii jonkun soittaa sisään ulkoa, todistaa kuka he ovat, ja soittaa ulos uudelleen toimiston kautta: puhelu menee ulos toimiston soittajan numerolla, sen reiteillä ja sen hinnoilla, niin kuin he olisivat pöytänsä ääressä.

  1. Lisää sisäänsoitto, ja aseta PIN (4-10 numeroa), sallitut numerot, joista käsin sitä voidaan käyttää (Vain näistä numeroista), tai molemmat. Yksi näistä kahdesta on vaadittu.
  2. Valitse puhelin, jolta puhelut tehdään: sen ulospuhelulupa, soittajan numero ja ulosmenoreitit ovat voimassa. Se on oltava sallittu ulospuheluihin.
  3. Anna sille numero, jota soitetaan sisällä, ja lähetä puhelinnumero sille Puhelureititys (luku 8) -sivulla (valitse sisäänsoitto kohde).

Soittajat kuulevat "Anna PIN-koodisi, sitten paina risuaita", sitten "Anna numero, jota soitat, sitten paina risuaita", ja heidät ohjataan läpi. Sanottavat sanat tulevat sisäänsoiton ohjeista Äänet (luku 20) -hakemistosta.

Luku 24

Äänibotit (AudioSocket)

Verkkokäyttöliittymässä: /voice-bots

Äänirobotti (voice bot) (luku 24) on omatekojainen ohjelma (AI-välikappale, puheentunnistin-IVR, nauhoittaja), joka vastaanottaa puheluita AudioSocket:n kautta, Asteriskin käyttämän yksinkertaisen protokollan. BitVoice vastaanottaa puhelun, avaa TCP-yhteyden robottiin ja lähettää puhelun UUID:n, sitten soittajan äänen 20 ms kestoisina kehyksinä 8 kHz 16-bittisenä lineaarisena äänenä ja jokaisen painetun näppäimen; mikä tahansa ääni, jonka robotti lähettää takaisin, toistetaan soittajalle. Asteriskin AudioSocketille kirjoitetut robotit ja puhepalvelun liitännäiset toimivat BitVoicen kanssa muuttumattomina.

  1. Lisää äänibotti: sen nimi, botin osoite (10.0.0.9:9092) ja valinnaisesti numero, jota soitetaan siihen.
  2. Valitse, mihin soittaja menee jos botti ei voi ottaa puhelua tai katkaista (ihminen, jonka luokka, vastaa): vaadittu, jotta kukaan soittaja ei koskaan jää pois, koska botti on alhaalla.
  3. Lähetä puhelut siihen Puhelureititys (luku 8) -vaihtoehdon, valikon vaihtoehdon, aikataulun tai vipuvaihtoehdon kautta.

Kun botti lähettää AudioSocketin lopettamisen, puhelu päättyy; kun soittaja lopettaa, botti saa yhden. Botti, jota ei voida tavoittaa kolmessa sekunnissa tai jonka yhteys katkeaa ilman lopettamista, antaa soittajan vaihtoehdon, ja epäonnistuminen kirjataan.

Tuo ohjelma mukaan puheluun, joka on jo meneillään (kuunteleva transkriboija, avustaja, joka kuiskaa kenellekään), käytä ARI:n ulkoista mediaa: katso Asterisk-yhteensopivuus (luku 70).

Luku 25

Päivä/yö-viput

Verkkokäyttöliittymässä: /toggles

Päivä/yö-vaihtoehto (day/night toggle (luku 25)) on kytkin soittoliikenteen hallintaan (FreePBX kutsuu tätä soittoliikenteen hallinnaksi). Sille ohjatut puhelut menevät sen normaaliin kohteeseen tai toiseen, kun joku on kytkinyt sen ylitys: toimisto sulkeutuu aikaisin myrskyn takia, joku soittaa *281 poistuessaan, ja puhelut menevät vastaajaan, kunnes se kytketään takaisin aamulla. Se säilyy sellaisena, kuin se on jätetty, jopa käynnistyksen yli.

  1. Lisää vipu, anna sille koodi (1-3 numeroa: soitetaan *28 jälkeen) ja valitse, mihin puhelut menevät normaalisti ja kun ne vaihdetaan yli. Kumpi tahansa puoli voi olla aikataulu, joten vipu voi istua aukioloaikojen edessä ja ohittaa ne.
  2. Valitse, kuka voi vaihtaa sitä puhelimesta (kukaan valittu sallii minkä tahansa laajennuksen).
  3. Lähetä puhelut siihen Puhelureititys (luku 8) -vaihtoehdon, valikon vaihtoehdon tai aikataulun kautta, kuten mihin tahansa muuhun määränpäähän.

Vaihda se soittamalla *28 ja sen koodi (nouseva sävel: vaihdettu yli; laskeva sävel: takaisin normaaliin), sen vieressä oleva vipu Viput-sivulla tai API:n kautta (POST /api/toggles/{id}/state). Busy-lamp-näppäin, joka valvoo *281:aa, on syttynyt, kun tuo vipu on vaihdettu yli, joten se, joka sulkee toimiston, voi nähdä sen työpöydältään. Itse vipukoodi on Toimintokoodit (luku 32) -sivulla.

Luku 26

Aikataulut

Verkkokäyttöliittymässä: /schedules

Aikataulu ohjaa puhelut toiseen reittiin, kun olet auki, ja toiseen, kun olet suljettu. Osoita saapuva reitti aikatauluun, ja aikataulu valikkoon (avoin) ja vastaajaan (suljettu).

Mon9–17Tue9–17Wed9–17ThuholidayFri9–17SatSunOpen: receptionClosed: voicemailTimes are in the system time zone; a holiday closes the whole day.
Kuva 15. A schedule: open hours, holidays, and where calls go in each

Aukioloajat

Jokainen aikataulun rivi on joukko päiviä ja aika alkaen ja loppuen. Useita rivejä on sallittu: maanantai-perjantai 9:00-17:00 ja lauantai 10:00-13:00. Aukioloajat voivat ylittää keskiyön (22:00-06:00) yövuoroon.

Pyhäpäivät

Pyhäpäivät lasketaan suljettuina koko päivänä, riippumatta aukioloajoista. Lisää kunkin päivämäärän nimi; nimi näytetään Puheluvirran (luku 16) -sivulla, kun yrität puhelua kyseisenä päivänä.

Aikavyöhyke

Aikavyöhyke on Asetuksissa määritetty. Kun kellot muuttuvat, aikataulut seuraavat paikallista aikaa.

Luku 27

Skriptit (JavaScript ja Lua)

Verkkokäyttöliittymässä: /scripts

Skripti päättää, mihin puhelu menee, kun valikot, aikataulut ja ryhmät eivät riitä: soittajat tietyltä alueelta tietylle toimistolle, tärkeät numerot suoraan henkilölle, päätös tehdään omista tietojen perusteella. Tai, asetettuna Suorittaa koko puhelu, se vastaa puheluun ja suorittaa sen, kuten Asteriskin dialplan tai AGI-skripti: äänet, puhe, näppäimet, tallenteet, soittaminen, siirtäminen (alla). Skriptit kirjoitetaan JavaScriptillä tai Lualla Skriptit (luku 27)-sivulla.

A callfrom, to, timefunction route(call) { if (vip(call.from)) return queue('700') }Its answerFallbackon error or after 200 msScripts can never place calls, reach the network or the disk: they only choose.
Kuva 16. A routing script: code decides, a fallback is always there

Turvallinen suunnittelulla

Mitä skripti näkee

call sisältää:

KenttäMitä se on
from, fromNamesoittajan numero ja nimi
tonumeron, jota soitetaan
directioninbound tai internal
trunktrunk, josta se tuli sisään
weekday, hour, minutenykyinen aika (0 on sunnuntai)
dateYYYY-MM-DD

What it returns

A destination, {type, target}: type is extension, ringgroup, queue, menu, schedule, voicemail or hangup, and target is its number. Returning nothing uses the fallback. log("text") writes to the script's run list.

JavaScript

if (call.from.startsWith("212")) {
  log("New York caller")
  return { type: "ringgroup", target: "600" }
}
if (call.weekday === 0 || call.weekday === 6) return { type: "voicemail", target: "100" }

Lua

if string.sub(call.from, 1, 3) == "212" then
  log("New York caller")
  return { type = "ringgroup", target = "600" }
end
if call.weekday == 0 or call.weekday == 6 then
  return { type = "voicemail", target = "100" }
end

Skriptin käyttäminen

Osoita saapuva reitti, valikkonäppäin tai aikataulu skriptiin, kuten mihin tahansa kohteeseen. Testi suorittaa sen soittopyynnöllä, jota kuvaat, ilman soiton tekoa; suoritusluettelo näyttää jokaisen todellisen suorituksen päätöksen, käytetyn ajan ja mahdollisen virheen. Soittoyhteys (luku 16) suorittaa skriptejä myös, kun yrität soittaa.

Skriptit, jotka suorittavat koko soiton

Valitse Suorittaa koko soiton. Skripti vastaa sitten soittoon ja suorittaa jokaisen vaiheen ylhäältä alaspäin, odottaen, kunnes se on valmis:

StepWhat it does
play(name)plays a prompt from Sounds (luku 20) in the caller's language (goodbye, digit-5...), digits:1234, or a tone: beep, confirm, error, off, hold. A prompt not recorded yet is a beep.
say(text)speaks the words with the speech service in Settings, AI (a beep without one)
collect({max, timeout, interDigit, end, say, prompt})gathers keys: at most max (32), waiting timeout seconds for the first (5) and interDigit for each next (3), until end (#). say or prompt asks first. Returns the keys, "" when none.
record({box, seconds, beep})records a message into an extension's mailbox, until # or the time; returns its seconds
wait(seconds)waits, returning a key pressed
dial(destination, ringSeconds)rings it with the caller hearing ringback. Answered: they talk and the script is done (true). Not answered: false, and the script carries on.
transfer(destination)hands the call on; the script is done
hangup()ends the call
log(text)writes to the run list

Kohde on numero (laajennus, ringiryhmä tai jono täällä, muuten ulkoinen numero ulosmenoteiden kautta; ei koskaan hätänumero) tai {type, target} edellä. Näppäin, jota painetaan äänen aikana, lopettaa sen; play ja say palauttavat sen ja seuraava collect alkaa siitä. Palauttaminen lähettää soiton sinne.

const k = collect({ max: 1, timeout: 5, say: "Press 1 for sales, 2 for support." })
if (k === "1") return { type: "ringgroup", target: "600" }
if (k === "2") {
  if (dial("101", 20)) return
  say("Nobody is free. Leave a message after the tone.")
  record({ box: "101" })
  hangup()
}

Lualla on samat vaiheet (collect{max = 1}). Anna skriptille Numero, jolla se voidaan soittaa, jotta se voidaan soittaa laajennuksesta.

Rajoitukset pitävät soiton turvallisena: skriptin oma koodi saa suorittaa enintään neljännes sekuntia kahden vaiheen välillä; soitto saa kestää enintään 1 000 vaihetta; ja koko skripti loppuu Pisin suoritus (10 minuuttia, ellet sano toisin, 60 enintään). Kun se epäonnistuu, se pysäytetään tai loppuu ilman, että soitto lopetetaan tai siirretään, soitto menee sen Oletusarvoon; soittaja, joka lopettaa soiton, lopettaa sen välittömästi. Kokeile suorittaa skriptin näppäimillä, jotka sanot soittajan painavan, ja listaa jokaisen vaiheen ilman soiton tekoa.

Luku 28

Älykkään vastaanottajan, ääniviestien ja kysymisen luokittelu

Verkkokäyttöliittymässä: /receptionists

AI-ominaisuudet käyttävät AI-palvelua, joka on asetettu Asetukset (luku 14) -valikossa: OpenAI-yhteensopiva palvelu (OpenRouter oletuksena) tai yksi, jonka itse ajat. Mitä niille tarvitaan, lähetetään sinne, joten valitse palvelu, johon luotatte puheluiden kanssa; 911-keskukselle sen oma hallituksen pilvi lasketaan paikalliseksi.

a callerAI receptionist"I’m the automated assistant"Answers a questionfrom approved factsTakes a messageor books a callbackHands over0, "a person", or a faultA personIt never stands between a caller and a person: any failure goes to the person destination.
Kuva 17. The AI receptionist: answers, helps, and always hands over to a person

Älypuhelin vastaanottaja

Valitse vastaanottaja, johon puhelut menevät: reitti, valikkovaihtoehto tai laajennuksen Jos kukaan ei vastaa. Se sanoo, että se on automaattinen, vastaa vain Hyväksytystä tiedosta ja ottaa viestin, varaa palautepuhelun (ks. Palautepuhelut (luku 30)) tai siirtää Ihminen on. Painamalla 0 tai pyytämällä ihmistä aina tavoittaa jonkun, ja sama koskee AI-palvelun tai puhemallin ongelmaa: soittajat eivät koskaan jää kiinni siinä.

Mallit

Malli tekee tekstityön: yhteenvedot, vastaanottajan vastaukset ja kysymiset yksinkertaisilla sanoilla. Puheen muuttaminen tekstiksi vaatii mallin, joka ottaa äänen; aseta se Puhe-teksti-mallina (esim. google/gemini-2.5-flash OpenRouterilla) käyttääksesi tekstiä vain mallia, kuten meta-llama/llama-3.3-70b-instruct.

Speech to text in the building

Speech can be written down without any language model: a speech recogniser (whisper) hears the audio and writes what was said, nothing more. Who writes speech down, in the AI settings, has three choices:

Whichever writes it down, every transcript goes there: voicemail, recorded calls, live 911 calls and receptionists hearing callers. Without the model, the Model may be left empty: transcripts are written, summaries are written from the facts the call said (below), and what needs a language model (action items, voicemail triage, call insight, receptionists' replies, asking in plain words) is left out. Notes a recogniser makes about what it heard, such as [BLANK_AUDIO] or (silence), are dropped, so a quiet stretch never reads as though something was said.

Tosiasioiden puhelu (ei kielimallia)

Jokainen käännös luetaan myös säännöillä, ilman kielimallia, tosiasioiden puolesta, mitä puhelunottaja huomioi: mitä tapahtui, missä, kuinka moni on loukkaantunut (tai että kukaan ei ole), olosuhteet (hengitys, hereillä, verenvuoto...), vaarat (tuli, savu, kaasu, aseet, kemikaalit, polttoaine), ajoneuvot, kuka soittaja on henkilölle, joka tarvitsee apua, ja paluuosoite. Jokainen tosiasia näytetään lauseen kanssa, josta se tuli, ja puolen, joka sanoi sen, käännöksen Tosiasioiden puhelu. Ilman mallia yhteenvedon kirjoittaminen perustuu näihin tosiasioihin yksin, ja sanoo sen.

JoukkoLöydettyjä tosiasioitaLöydettyjä tosiasioita, joita kukaan ei odottanut
Koulutus (säännöt kirjoitettiin siitä)41 / 410
Hold-out, pisteytettiin kylmästi, ennen kuin yksikin sääntö kirjoitettiin siitä27 / 40 (67%)2
Hold-out, toisen kierroksen sääntöjen jälkeen, jotka kirjoitettiin sen virheistä40 / 400
Sinetöity, pisteytettiin kylmästi (yhtään sääntöä ei koskaan kirjoiteta siitä)23 / 43 (53%)3

Sinetöity pisteytys on se, mitä voidaan odottaa puheluista, joita se ei ole nähnyt, ja kolme joukkoa kirjoitettiin samojen ihmisten toimesta kuin säännöt, joten todelliset puhelut todennäköisesti tekevät huonommin. Lue tosiasioiden vieressä käännöstä, älä sen sijaan.

Suuremmat mallit tarvitsevat enemmän prosessoria: palvelin, joka kirjoittaa useita puheluita kerran, tulisi aloittaa base:lla tai käyttää yhtä konetta GPU:na puheen-teksti-palveluna rakennukselle. Apple-tietokoneissa whisper käyttää GPU:ta.

Vastaajan triage

Käännä ja yhteenvedä vastaaja käytössä, jokainen viesti on myös merkitty kiireelliseksi, normaaliksi tai matalaksi prioriteetiksi, sen tyypin mukaan (myynti, tuki, laskutus...). Kiireelliset viestit nostavat hälytyksen jokaisen ylläpitäjän näytöllä.

Kysy yksinkertaisilla sanoilla

Muutoksissa (luku 61) kuvaa muutosta ("lähetä myyntipuhelut vastapuheluun kello 17 jälkeen"). AI ehdottaa sitä, BitVoice tarkistaa sen kuten minkä tahansa muun muutoksen ja näyttää tarkalleen, mitä muuttuisi. Mitään ei muuteta, kunnes painat Tallenna, ja se tulee revisiona, jonka voit palauttaa. Salasanoja ei koskaan lähetetä AI:lle.

Luku 29

Viestilaatikko

Verkkokäyttöliittymässä: /voicemail

Jokaisella laajennuksella voi olla postilaatikko. Soittajat, joita ei vastata, kuulevat sen tervehdyksen ja jättävät viestin; henkilö kuulee sen puhelimessaan, lukee sen näytöltä tai saa sen sähköpostiin.

not answeredGreetingyours, or a beepMessageup to 3 minutesMessage light on the phoneEmail with the sound fileTranscript, summary, urgencyDial *97 to listen from any phone, or use the Voicemail page or the staff portal.
Kuva 18. Voicemail: from a missed call to a message you can read

Sen käyttäminen

Laajennuksessa käytä Viestilaatikkoa. Jos kukaan ei vastaa asetetaan sitten postilaatikkoon. Anna sille PIN (4-10 numeroa): se avaa postilaatikon toisesta puhelimesta ja kirjaa henkilön sisään henkilökunnan portaalissa ja kuumaan pöytään.

AsetusMitä se tekee
Pisin viesti10-900 sekuntia (180 oletuksena)
Sähköposti uudet viestitlaajennuksen sähköpostiosoitteeseen, viestin liitteenä
Tervehdystallennettu selaimessa, ladattu tai tallennettu puhelimesta; ilman sitä soittajat kuulevat beebin

Kuunteleminen

Älykkäiden laitteiden kanssa

Älykkäiden laitteiden kanssa Transkriboi ja tiivistä viestit (Asetukset, AI), jokainen viesti kirjoitetaan, tiivistetään yhteen riviin ja merkitty kiireelliseksi, normaaliksi tai matalaksi prioriteetiksi sen tyypin mukaan (myynti, tuki, laskutus). Kiireelliset viestit nostavat hälytyksen jokaisen järjestelmänvalvojan näytöllä. Katso AI (luku 28).

Äänen puhdistus

Äänen puhdistus (Asetukset) poistaa tasaisen taustamelinan ja tasoittaa tasot, kun viestit tallennetaan, jotta viesti autosta tai kiireiseltä kadulta on helpompi kuulla.

Luku 30

Puheluiden palautus

Verkkokäyttöliittymässä: /callbacks

Ihmiset, jotka ovat pyytäneet puhelun palautusta. Tekoälyvastaanottaja varaa yhden, kun soittaja pyytää: se kerää heidän nimensä, puhelinnumeron (tarjoten numeron, josta he soittavat), hyvän ajan ja mitä se on, lukee ne heille ja varaa sen vasta, kun soittaja hyväksyy. Se ei koskaan luvaa tarkkaa aikaa. Ylläpitäjät voivat myös lisätä puheluiden palautuksia käsin.

AI receptionistor by handCallbackname, number, time, whyRing backyour phone firstIt never promises an exact time.
Kuva 19. Callbacks: booked by the receptionist, rung back by a person

Uusi puhelun palautus näyttää ilmoituksen jokaisella avoimella näytöllä ja lähetetään sähköpostitse receptionistin Vastaanota viestit -postilaatikon omistajalle, kun laajennus on sähköpostiosoite ja sähköposti on määritetty asetuksissa.

Soittaa takaisin, valitse laajennuksesi ja paina Soita takaisin: puhelimesi soi ensin, ja kun vastaat, BitVoice soittaa numeron puolestasi normaaleilla reiteillä ja soittajan tunnistuksella. Lisää huomautus, jos haluat, ja paina Valmis (tai Peruuta). Valmiit puheluiden palautukset säilytetään avoimien alla ja voidaan avata uudelleen.

Osa 3

Arkinen puhelinsoitto

Mitä ihmiset tekevät puhelimillaan jokapäiväisesti ja mitä he asettavat itselleen: siirtäminen, seuraaminen, nostaminen, konferenssisalit, kuulutus, kuuma työpöytä, faksit ja tekstiviestit.

Luku 32

Ominaisuuskoodit, eteenpäinohjaus ja nopeusnäppäimet

Verkkokäyttöliittymässä: /codes

Ominaisuuskoodit ovat ne, mitä ihmiset valitsevat puhelimillaan muuttaakseen omia asetuksiaan ja päästäkseen ominaisuuksiin. Ne toimivat jokaisessa puhelimessa, pöytäpuhelimessa tai pehmeässä puhelimessa, ilman mitään asetuksia puhelimessa itsessään. Nouseva säveli merkitsee valmiin; laskeva säveli merkitsee evätyn.

Koodit yhdellä silmäyksellä

KoodiMitä se tekee
*72ohjaa kaikki puhelut (sitten numero ja #, tai numero suoraan perässä: *722125550199)
*73lopeta kaikkien puhelujen ohjaus
*90 / *91ohjaa kun puhelussa / lopeta
*52 / *53ohjaa kun ei vastata / lopeta
*78 / *79älä häiritse päällä / pois
*76vaihda älä häiritse (nouseva sävel: nyt päällä)
*21vaihda seuraaminen päällä ja pois
*8vastaa puhelu, joka soi ryhmässäsi
** ja laajennusvastaa puhelu, joka soi kyseisellä laajennuksella
*80 ja laajennussisäpuhelin: puhelin vastaa kaiuttimellaan
*0 ja koodinopean valinnan koodi
*62herätyssoitto: kuule se, varaa yksi (neljä numeroa, kuten 0630) tai peruuta se (tähti)
*68 ja numerohuoneen tila, hotellien huoneen siivoukseen
*28 ja vaihteen koodivaihda päivä/yö-vaihteen (luku 25) yli, tai takaisin
*32estä viimeisin soittaja: viimeisin ulkopuolinen numero, joka soi tähän puhelimeen, menee estolistaan (Roskapostin suojaus (luku 56))
*43kaikukoe
*97oma viestilaatikko
70pysäytä puhelu (siirrä se tänne); 71-79 noutaa sen
*45 / *46jonon agentit: kirjaudu sisään tai ulos / keskeytä tai jatka
*33 / *34kirjaudu sisään / ulos kuumaan työpöytään
*7 / *8 puhelun aikanakeskeytä ja jatka tallennusta (korttimaksut)

Eteenpäinohjaus

a call to 101Every call*72 · cancel *73When on a call*90 · cancel *91When not answered*52 · cancel *53Another extensionits own settings applyAn outside numberthrough outgoing routesA group, queue or room
Kuva 21. Forwarding: every call, when busy, when not answered

Eteenpäinohjaus toiseen laajennukseen käyttää kyseisen laajennuksen omia asetuksia (sen viestilaatikkoa, sen seuraamista), jopa neljä hyppää, joten kaksi henkilöä, jotka ohjaavat toisiaan, eivät voi muodostaa silmukkaa. Eteenpäinohjaus ulkopuolelle menee ulosmenorakenteiden kautta, aivan kuin henkilö olisi itse soittanut, ja tarvitsee laajennuksen, joka on sallittu ulospäin soittamaan.

Forwarding is live state, not configuration: setting it makes no revision, and it is kept across restarts. Extensions (luku 3) and the staff portal show and change it too.

Älä häiritse

*78 päälle, *79 pois, *76 vaihtaa. Älä häiritse -toiminnon ollessa päällä, puhelut ohjataan vastaajaan tai laajennuksen ei-vastauskohde. Käsinkäyttöisesti asetettu älä häiritse -tila voittaa kalenterin (Kalenterit (luku 39)). Hätäpuhelujen paluusoittimet soivat silti.

Seuraaminen

desk, 25 smobile, 20 sPress 1 to take the callso the mobile's voicemail never doespressed 1Connectedno 1 in 15 sVoicemail
Kuva 22. Follow-me: the desk first, then the mobile, then voicemail

*21 vaihtaa seuraamisen päälle ja pois, laajennuksille, joilla on määritetty seuraamisnumerot (laajennuksessa tai henkilöstöportaalissa). Pöytä soi ensin sen sointiajansa, sitten seuraamisnumerot yksi kerrallaan tai kaikki yhtä aikaa. Ulkoisella numerolla, jolla painamalla 1 on päällä, henkilö kuulee äänen ja painaa 1 vastaanottamaan puhelun; vastaaja tai hiljaisuus ei tee sitä, ja 15 sekunnin jälkeen puhelu siirtyy eteenpäin.

Vastaa joku toisen puhelu

101 rings102 dials *8takes the callpickup group "Front office"** then the extensionanswers that one extension's call*8answers the oldest in your group
Kuva 23. Call pickup: answer a colleague's ringing phone

Sisäpuhelin

100 dials *80101auto-answer101 answers itselfAn extension can refuse intercomthen the call rings as usual
Kuva 24. Intercom: the called phone answers on its speaker

*80 ja laajennus kutsuu sitä automaattisella vastauksella: puhelin vastaa kaiuttimella, ja molemmat osapuolet puhuvat. Yealink, Grandstream ja Snom lukevat BitVoicen Call-Info-otsikkeen, Poly lukee Alert-Info-otsikkeen; joillakin puhelimilla intercom on sallittava omassa asetuksessa. Laajennus voi kieltäytyä intercomista; silloin puhelu soi normaalisti. Ovistot eivät koskaan vastaanota intercomia.

Nopeusnäppäimet

*0 ja koodi soittaa tallennetun numeron: *05. Yrityksen nopeusnäppäimet ovat täällä; kunkin henkilön omat näppäimet ovat laajennuksessa tai henkilöstöportaalissa, ja ne voittavat yrityksen näppäimet samalla koodilla. Koodit ovat 1-3 numeroa.

Koodien muuttaminen

Jokainen koodi voidaan muuttaa Toimintokoodit (luku 32)-sivulla tai poistaa sanalla off. Kaksi toimintoa ei voi jakaa koodia, eikä koodi voi olla laajennuksen tai ryhmän numero: BitVoice kertoo, mikä niistä on ristiriidassa. Kaiku-, viestin- ja pysäköintinumerot ovat Asetukset (luku 14)-sivulla.

Luku 33

Henkilöstöportaali

Henkilöstöportaali sallii jokaisen huolehtia omista puheluistaan ilman ylläpitäjää: älä häiritse, uudelleenohjaus, seuraa minua, nopeanumerot, vastaajan viestit ja tervehdys, heidän PIN-koodinsa ja luettelo heidän omista puheluistaan. Se on osoitteessa #/me tämän palvelimen osoitteessa ja linkitetty kirjautumissivulta.

Your phoneExtension101Voicemail PIN••••Sign inDo not disturbForwardingFollow-meSpeed dialsVoicemail and greetingYour calls
Kuva 25. The staff portal: everyone looks after their own calls

Kirjautuminen

Ihmiset kirjaavat sisään laajennusnumeron ja vastaajan viestin PIN-koodin: sama PIN-koodi, joka avaa heidän vastaajan viestinsä puhelimesta ja kirjaa heidät sisään hot-pöydissä. Laajennus ilman PIN-koodia ei voi kirjautua sisään; ylläpitäjä asettaa sen laajennukselle.

Toistuvat väärät yritykset yhdestä osoitteesta estävät sen kymmenen minuutin ajaksi. Portaalisessio ulottuu ainoastaan henkilön omiin asetuksiin: ei toiseen laajennukseen, määrityksiin tai kenenkään tallenteisiin.

Mitä ihmiset voivat tehdä

VälilehtiMitä siinä on
Mihin puhelut menevätälä häiritse; uudelleenohjaus jokaiselle puhelulle, kun kiireinen ja kun ei vastata; seuraa minua -numerot; omat nopeanumerot
Vastaajan viestiviestit, jotka voidaan toistaa ja poistaa, yhdessä transkriptioilla ja yhteenvetoilla, kun tekoäly on käytössä; tallenna tai lataa tervehdys
Omat puheluthenkilön omat puhelut, uusimmat ensin, ilman tallenteita
PINvaihda PIN, antaen nykyisen

Uudelleenohjaus ja äänetön tila, jotka asetetaan täällä, ovat samat kuin ne, jotka asetetaan puhelimesta *toimintokoodien* (Toimintokoodit (luku 32)) avulla: kumpi tahansa myöhemmin asetettu on voimassa. Seuraa-minä-laitteet ja nopeusnäppäimet ovat osa laajennuksen määritystä, joten niiden muuttaminen tekee revision Muutokset (luku 61):ksi, joka on kirjattu henkilön omaksi.

Uudelleenohjaus ulkopuolelle toimii vain laajennuksille, joille on sallittu soittaa ulkopuolisiin numeroihin. Portaali kertoo sen sijaan, että se tallentaa uudelleenohjauksen, joka ei voi soittaa.

Chat ja läsnäolo

Portaalissa Chat -välilehti listaa kollegat ja heidän tilansa: saatavilla, puhelussa, soi, poissa (älä häiritse, kokous tai poissa kalenterista, syyn kanssa) tai poissa (ei puhelinta), sekä tila, jonka he ovat kirjoittaneet ("Lounaalla, takaisin klo 14"). Valitse joku viestittääksesi heille; viestit saapuvat heti, ja luvun vieressä oleva numero laskee lukemattomat viestit. Tiimihuoneet (Asetukset, Henkilökunnan chat) ovat ryhmäkeskusteluja tai kaikille, kun huoneessa ei ole jäseniä.

Viestit nähdään aina vain keskustelussa mukana olevilla ihmisillä: ylläpitäjät hallinnoivat huoneita, mutta eivät koskaan lue niitä. Asetukset, Henkilökunnan chat -välilehti sammuttaa chatin ja asettaa, kuinka kauan viestejä säilytetään (0 säilyttää tuhannen uusimman kunkin keskustelun).

Luku 34

Konferenssisalit

Verkkokäyttöliittymässä: /conferences

Konferenssisali on numero, jota ihmiset soittavat puhuakseen kaikki yhdessä. Henkilökunta soittaa siihen työpöydistään; ulkopuoliset soittajat pääsevät siihen tuloradan tai valikon kautta, joka osoittaa huoneeseen.

Room500violet: leader · grey: mutedDial 500, enter the PIN and #three wrong PINs and the call endsLeader PINjoins as a leader; 2 locks the roomWait for the leaderothers hear hold music until then
Kuva 26. A conference room: PIN, leaders, and who is talking

Huoneen asettaminen

  1. Avaa Konferenssisalit (luku 34) ja paina Lisää konferenssisali.
  2. Anna sille numero (mikä tahansa vapaa numero, oletuksena 500) ja nimi.
  3. Vapaaehtoisesti aseta PIN. Soittajat kuulevat äänen, syöttävät PIN-koodin ja painavat #. Kolme väärää PIN-koodia ja puhelu loppuu.
  4. Vapaaehtoisesti aseta johtajan PIN, joka on erilainen kuin PIN. Kuka tahansa, joka syöttää sen, liittyy johtajana.
  5. Ulkopuolisten soittajien sallimiseksi osoita tulorata (tai valikkonäppäin) huoneeseen.

Valinnat

ValintaMitä se tekee
Odota johtajaakaikki muut kuulevat odotusääntä, kunnes johtaja liittyy; kun viimeinen johtaja poistuu, huone sulkeutuu ja kaikki häädetään. Tarvitsee johtajan PIN-koodin.
Jäsenet liittyvät mykistettyinäesitysten ja luennoitten vuoksi: johtajat puhuvat, jäsenet kuuntelevat. Jäsen painaa 1 pyytääkseen puhua, ja johtaja poistaa mykistystilan.
Talleta huonekoko huone tallennetaan yhtenä tallenteena Puheluhistoriassa (luku 47), ellei tallennus ole pois käytöstä koko järjestelmässä
Äänet, kun ihmiset liittyvät ja poistuvatoletuksena päällä
Enimmäismäärä ihmisiä50 oletuksena, jopa 200

Näppäimet puhelun aikana

Huoneen käytön aikana

Sivu näyttää kunkin käytössä olevan huoneen: kuka on sisällä, kuka puhuu (vihreä valo), kuka on mykistetty, kuka on pyytänyt puhua ja kuka odottaa johtajaa. Ylläpitäjä voi mykistää tai poistaa mykistystilan keltä tahansa, poistaa jonkun ja lukita tai avata huoneen.

Jokainen huoneessa kuulee kaikki muut, jotka eivät ole mykistettyinä, BitVoicen sekoittamana; kunkin puhelimen voi käyttää omaa koodekiaan. Puhelun tallenne pidetään kunkin puhelun ja huoneen itsensä osalta sen kestolla ja tallenteella.

HD-ääni

Käytä HD-ääntä huoneessa (uudet huoneet ovat oletuksena päällä) ja se sekoitetaan 16 kHz:lla sen sijaan 8 kHz:lla: ihmiset laajakaistapuhelimissa (G.722, Opus, selainpuhelin) kuulevat toisensa HD-laadulla, modernin puhelun terävyydellä, kun taas ihmiset tavallisissa puhelimissa (G.711, matkapuhelimet operaattorin kautta) kuulevat saman huoneen tavallisella laadulla. Live-näkymä merkitsee huoneen ja kunkin jäsenen, joka on HD-laadussa. HD vaatii G.722:n koodekin puhelimien käyttämien koodekien joukossa (se on järjestelmän koodekkilistassa, Asetukset, Koodekit). Huoneen tallenteet pysyvät puhelimen laadussa.

Videohuoneet

Aseta Video huoneeseen ja videopuhelimet (ja pehmeät puhelimet) lähettävät kamerakuvan ja näkevät yhden kuvan, joka vaihtuu, kun ihmiset puhuvat, kuten Asteriskin ConfBridge:ssä:

BitVoice vaihtaa kuvat ilman niiden purkamista, joten se maksaa lähes mitään, ja se pyytää jokaiselta uudelta puhelimen täydellistä kehystä (RTCP PLI ja FIR, ja SIP INFO picture-fast-update, johon useimmat työpöydän puhelimet vastaavat) joten vaihto näkyy heti. Kunkin jäsenen video käyttää huoneen video-koodekia (H.264, ellei toisin valita VP8); puhelin ilman sitä liittyy äänellä. Kunkin katsojan saa yhden vakaan virran (yksi lähde, oma payload-tyyppi), kuka tahansa näytöllä.

Ruudukko tehdään eri tavoin: BitVoice antaa jokaisen kuvan ffmpeg:lle palvelimella, joka purkaa ne, asettaa ne 1280 x 720 kuvaksi 15 kehyksellä sekunnissa ja koodaa sen kerran kaikille. Asenna ffmpeg (Asetukset, Videomuunnos, kertoo, löytyykö se); ilman sitä ruudukko seuraa puhujaa, ja huoneen näyttö kertoo siitä. Jokainen kuva maksaa prosessoriaikaa: pienellä palvelimella pidä ruudukot muutamassa huoneessa kerrallaan. Vain ne jäsenet, joiden kamera lähettää kuvaa, näkyvät: joku, joka liittyy ilman videota tai jonka kamera loppuu, poistuu ruudukosta (se ei jäädy koskaan paikalleen kameran ollessa samalla), ja ruudukko muodostetaan uudelleen muutamassa sekunnissa, kun tilanne muuttuu, lyhyen tauon kera kuvassa. Kymmenes jäsen ja myöhemmät kuullaan, mutta heitä ei näytetä. Live-näkymä merkitsee ruudukon koon ja sen, kuka on ruudukossa.

Jokaisen videokuva (selaimet)

Valitse Jokaisen videokuva ja huone saa oman sivun (Konferenssisalit, Avaa videahuone, tai #/video-room/NUMBER). Jokainen siellä painaa Liity kamerani kanssa: selain lähettää kameransa kerran, kolmessa koossa (simulcast), ja vastaanottaa jokaisen muun kameran omana kuvanaan. BitVoice välittää kuvat sellaisenaan, ilman purkamista (valikoivasti eteenpäin välittävä yksikkö, SFU), joten se maksaa vain vähän prosessoriaikaa; jokaisen selaimen lataus ja jokaisen katsojan lataus rajoittavat huonetta, joten se voi ottaa jopa 16 kameraa.

Näytä ruutu: paina Jaa ruutuni ja valitse ruutu, ikkuna tai selaimen välilehti selaimen omassa valitsimessa. Kaikki huoneessa näkevät sen suurena kuvana nimenne alapuolella, ja teksti säilyy terävänä (kuvan nopeus hidastuu sen sijaan, kun verkko on lyhyt). Et tarvitse liittyä kameran kanssa ensin. Lopeta jakaminen tai selaimen oma Lopeta jakaminen -palkki lopettaa sen.

Luku 35

Sisäkuulutus ja kaiuttimet

Verkkokäyttöliittymässä: /paging

Sisäkuulutus puhuu useiden puhelinten kautta yhtä aikaa: soita sisäkuulutusnumero, ja jokainen puhelin ryhmässä vastaa itse kaiuttimellaan. Käytä sitä ilmoituksiin varastoon, kouluun, myyntilattiaan.

Ryhmän äänestysasetusten määrittäminen

  1. Valitse Äänestys (luku 35) ja paina Lisää äänestysryhmä ja anna sille numero (800 oletuksena) ja nimi.
  2. Valitse puhelimet. Overhead-kaiuttimet, jotka on määritetty laajennuksiksi (tyyppi Overhead-kaiutin), voivat olla myös jäseniä.
  3. Vaihtoehtoisesti, monisäätö -osoite ja portti.

Monisäätö

Monisäätö lähettää myös äänen monisäätöosoitteeseen ja porttiin (239.0.1.10:5000), G.711 µ-law -muodossa, jota overhead-kaiuttimet ja monet pöytäpuhelimet voivat kuunnella ilman yhteyttä. Ryhmällä voi olla vain monisäätöosoite. Se toimii vain yhdellä verkkolla: reitittimet eivät välitä monisäätöä, ellei niitä ole määritetty siihen.

Äänestys ja vuoropuhelu

ÄänestysVuoropuhelu
Kuka kuuleekaikki ryhmässäyksi laajennus
Puhuu takaisinei, yksisuuntainenkyllä, kaksisuuntainen
Mitenvalitse ryhmän numero*80 ja laajennus

Puhelimet, jotka eivät vastaa äänestykseen itse muutamassa sekunnissa, jätetään pois, joten yksi puhelin ilman automaattista vastaamista ei koskaan pidä äänestystä pois. Jotkut puhelimet tarvitsevat automaattisen vastaamisen (vuoropuhelu) sallimisen omassa asetuksissaan.

Luku 36

Hot desking

Verkkokäyttöliittymässä: /phones

Hot desk on jaettu puhelin, josta tulee kuka tahansa, joka kirjautuu siihen: toimistoille, joissa ihmiset eivät ole kiinni tiettyyn työpöytään. Tee yksi ottamalla käyttöön Hot desk -laajennuksen puhelimessa (pöydän oma laajennus, kuten 900 Pöytä 3).

Kirjautuminen ja uloskirjautuminen

  1. Puhelimessa, valitse *33 ja odota sävelääntä.
  2. Syötä laajennuksesi ja #, ja odota sävelääntä.
  3. Syötä viestirajapinnan PIN-koodi ja #. Nouseva sävelääni tarkoittaa, että olet kirjautunut sisään; laskeva sävelääni tarkoittaa, että se evättiin.

Siitä lähtien, puhelut laajennukseesi soittavat tätä pöytää sekä muita puhelimiisi, ja puhelut, jotka teet siitä, näyttävät numerosi ja nimesi ja lasketaan kuuluvaksi Kustannuksiisi. Kirjautuminen toiseen pöytään siirtää sinut sinne. *34 kirjaa sinut ulos. Viisi väärää yritystä lukitsee pöydän kymmeneksi minuutiksi.

Hot-pöytien hallinta

Puhelimissa (luku 4), Hot pöydät näyttää, kuka on kirjautunut missä; ylläpitäjät voivat kirjautua joku sisään (ilman heidän PIN-koodiaan) tai ulos. Koodit ja aika, jolloin kaikki kirjautuvat ulos, ovat Asetuksissa. Kirjautumiset säilytetään käynnistysten yli.

Luku 37

Hotellin ja herätyspuhelut

Verkkokäyttöliittymässä: /hotel

Herätyspuhelut

Kuka tahansa voi varata herätyspuhelun: hotellivieraat, yövuorot, päivystäjät. Omasta puhelimesta he soittavat *62: BitVoice sanoo asetetun (jos sellainen on), sitten he syöttävät ajan neljällä numerolla (0630) tai painavat tähden peruuttamaan sen. Hotellin (luku 37) hallinnollisella sivulla hallinnoija varaa herätyspuhelun mille tahansa laajennukselle, kerran tai joka päivä.

Puhelin soi järjestelmän nimen kanssa; vastattuna kuullaan "Hyvää huomenta. Tämä on herätyskutsu." (herätysääni Äänet (luku 20) -sivulla, vierailijan tai laajennuksen kielellä). Vastamattomana yritetään uudelleen (3 yritettä, 5 minuutin välein, molemmat asetettuina Asetukset-sivulla), ja viimeisen jälkeen vastaanotto-laajennus voidaan soittaa. Useiden palvelinten kanssa vain yksi tekee herätyskutsuja.

Hotellihuoneet

Käytä Hotellihuone-vaihtoehtoa kunkin huoneen puhelimen laajennuksella. Hotel-sivulla jokainen huone näyttää vieraan, herätyskutsun ja huoneen tilan, Kirjaudu sisään- ja Kirjaudu ulos-painikkeineen.

Hotellijärjestelmä (PMS)

Luku 38

Yhteystiedot jokaisessa puhelimessa

Verkkokäyttöliittymässä: /contacts

Yhteystiedot on yrityksen hakemisto: toimittajat, asiakkaat ja muut toimistot, joita ihmiset soittavat. Jokainen puhelin listaa sen laajennusten vieressä, ja kun yksi näistä numeroista soi sisään, puhelimet ja soittohenkilön kortti näyttävät yhteystiedon nimen (kun tarjoaja ei lähettänyt mitään). Numero vastaa riippumatta siitä, miten se on kirjoitettu: +1 212 555 0100 ja 2125550100 ovat samaa linjaa.

Add contactImport CSVContactsnames and numbersthe phone directory+1 212 555 0100 and 2125550100 are the same line.
Kuva 27. Contacts: one directory on every phone

Yhteystietojen lisääminen

Lisää yhteystieto yhdelle kerrallaan, niin monta numeroa (työ, matkapuhelin, koti, muu), kuin heillä on. Tuo ottaa taulukon, joka on tallennettu CSV-muodossa, jonka ensimmäinen rivi nimeää sarakkeet: nimi, yritys, työ (tai puhelin), matkapuhelin, koti, muu, sähköposti, muistiinpanot. BitVoice tarkistaa koko tiedoston ensin ja kertoo, mitkä rivit ovat väärin; yhteystieto, jolla on sama nimi kuin jo olemassa olevalla, päivitetään sen sijaan, että se lisätään uudelleen, ja Korvaa jokainen yhteystieto aloittaa listan alusta. Vie lataa listan CSV-muodossa.

Pöytäpuhelimissa

Puhelimet, jotka on määritelty Puhelimissa (luku 4) (määritys), saavat hakemiston ilman lisäasetuksia:

Selaimen puhelimessa

Yhteystiedot näppäimistön alla löytää nimen tai numeron ja asettaa sen valmiiksi soitettavaksi.

Microsoft 365:sta tai Google Workspacesta

BitVoice voi pitää yhteyden organisaatiosi kanssa: jokainen, jolla on puhelinnumero, ja jaettu yhteystiedot (Exchange-organisaatiotiedot tai Google-jaetut domain-yhteystiedot). Asetuksissa (luku 14), Microsoft 365 ja Google Workspace, valitse palvelu, anna tarvittavat tiedot ja paina Tarkista nyt: se kirjautuu sisään, laskee henkilöt ja sanoo, mitkä laajakaistat vastaavat henkilöä sähköpostin perusteella. Tallenna, ja yhteystiedot täytetään puolen minuutin kuluessa; sitten joka puoli tunti, tai heti Synkronoi yhteystiedot nyt.

Microsoft 365 (sovellusrekisteröinti; sinun on oltava hallinnollinen hyväksyntä):

  1. Entra-hallintakeskuksessa, Sovellusrekisteröinnit, Uusi rekisteröinti: nimeä se BitVoice, yksittäinen vuokraaja, ei uudelleenohjauksen osoitetta.
  2. API-luvat, Lisää lupa, Microsoft Graph, Sovelluksen luvat: User.Read.All, OrgContact.Read.All ja Calendars.ReadBasic. Sitten Myönnä hallinnollinen hyväksyntä.
  3. Varmenne ja salaisuudet, Uusi asiakkaan salaisuus: kopioi sen arvo (näytetään kerran).
  4. BitVoicessa: hakemiston (vuokraajan) tunnus, sovelluksen (asiakkaan) tunnus ja salaisuus. Salaisuus vanhenee (Microsoft tarjoaa jopa kaksi vuotta): kun se vanhenee, kortti sanoo, että salaisuus hylättiin; tee uusi ja liitä se.

Google Workspace (palvelutili; sinun on oltava yleinen järjestelmänvalvoja):

  1. Google-pilvessä, yhdessä projekteista: käytä People API- ja Google Calendar API-palveluja, luo palvelutili ja lisää avain (JSON) siihen.
  2. Google-hallintakonsolissa, Turvallisuus, Pääsy- ja tietojen hallinta, API-ohjaus, Toimialuekohtainen valtuutus, Lisää uusi: palvelutilin asiakkaan tunnus, jossa on laajuudet https://www.googleapis.com/auth/directory.readonly,https://www.googleapis.com/auth/calendar.freebusy.
  3. BitVoicessa: avaintiedosto ja yleisen järjestelmänvalvojan sähköpostiosoite palvelutilille toimia.

Mitä tulee:

Luku 39

Kalenterit ja älä häiritse

Verkkokäyttöliittymässä: /extensions

Laajennus voi seurata henkilön kalenteria: kokousten ja lomien aikana sen soittoja ohjataan vastaajaan, tai ne ohjataan eteenpäin (toiseen laajennukseen tai matkapuhelimeen), sen sijaan, että ne soittavat puhelimeen, jota kukaan ei vastaa. Soittoryhmät soittavat muille sillä aikaa, ja jonossa edustaja näkyy Poissa-tilassa.

9:00 Team meeting12:00 FreeFriday: out of officeevery 5 minA call to 101during the meetingVoicemailor forwardedDo not disturb now wins over the calendar.
Kuva 28. Following a calendar: no ringing in meetings

Laajennuksessa Kalenteri ja älä häiritse, liitä kalenterin yksityinen osoite:

Tarkista lukee sen heti ja listaa seuraavat kiireiset ajat. BitVoice lukee jokaisen kalenterin joka viisi minuuttia. Loma (kaikki päivän tapahtumat ja Outlookin "poissa toimistosta") lasketaan aina; kokoukset lasketaan, kun Kokoukset lasketaan kiireisiksi on käytössä; tapahtumat, jotka on merkitty vapaiksi, eivät koskaan lasketa, eivätkä peruutetut tapahtumat. Toistuvat kokoukset, joissa on hypättyjä ja siirrettyjä ilmoittautumisia, ymmärretään. Jos kalenteria ei voida lukea, Health ilmoittaa siitä.

Älä häiritse nyt estää laajennuksen soittamisen, kunnes se käännetään pois, riippumatta kalenterista. Laajennuslistassa näkyy, kuka on poissa ja milloin.

Yksityinen osoite toimii salasanana: kuka tahansa, jolla on se, voi lukea kyseistä kalenteria, joten se säilytetään muiden salaisuuksien kanssa.

Jokainen kalenteri kerran: Microsoft 365 ja Google Workspace

BitVoice voi lukea jokaisen henkilön kalenterin Microsoft 365:stä tai Google Workspacesta, sen sijaan, että olisi yksityinen osoite kullekin laajennukselle: määritä se kerran Asetukset (luku 14) -osiossa, Microsoft 365 ja Google Workspace (ks. Yhteystiedot (luku 38) vaiheista), Kalenterit kertovat, kuka on poissa -valintaruudin ollessa käytössä. Kunkin laajennuksen sähköpostiosoite vastaa henkilöä; laajennus, jolla on oma yksityinen osoite, käyttää sitä sen sijaan. Laajennuksen asetukset täällä (Kokoukset ovat kiireisiä, Kiireisenä, puhelut) ovat voimassa kuten yksityisellä osoitteella.

Luku 40

Mobiiliset sovellukset

BitVoice-sovellukset iPhoneen ja Androidiin tekevät matkapuhelimesta yhden laajennuksen puhelimista. Se soi, kuten pöytäpuhelin, puhelimen omalla puhelunäytöllä, vaikka sovellus on suljettu.

A call to 101BitVoicePush relayApple and Googlerings like a callthe app connects backPaired once by QR code; the code works once, for ten minutes.
Kuva 29. The mobile apps: woken by a push, rung like a desk phone

Push-asetusten määrittäminen

Suljettu sovellus herätetään puheluiden aikana push-viestillä. Asetukset (luku 14) -osiossa Mobiiliset sovellukset, valitse yksi:

PushMitä tarvitset
Push-välityspalvelinBioDreamin välityspalvelin (isännöinti- tai tukipalvelun kautta) tai oma bvpush: sen Välityspalvelimen osoite, Avain-ID ja Salaisuus
Omat sovelluksetomat käännökset: Applelle Tiimin ID, Paketti-ID, Avain-ID ja Avain (.p8); Googlelle Firebase-palvelutili (JSON)

Aseta Osoite, jota sovellukset käyttävät tähän palvelimen https-osoitteeseen, joka on saatavilla kaikkialta, ei ainoastaan toimistosta.

Puhelimen parittaminen

  1. Avaa laajennus ja paina Lisää puhelin.
  2. Skannaa QR-koodi sovelluksessa. Koodi toimii kerran, kymmenen minuutin ajan.

Kun puhelu tulee

BitVoice herättää sovelluksen; se yhdistää, soi puhelimen omalla puhelunäytöllä ja vastataan kuin mikä tahansa muu laajennuksen puhelin: ryhmä- ja jonopuhelut soittavat sitä laajennuksen muiden puhelimien kanssa. Laajennuksen sivu listaa sen paritut puhelimet, voivatko ne Herättää puheluiden aikana, milloin ne on viimeksi nähty ja milloin ne on viimeksi herätetty, ja mahdolliset push-ongelmat. Poista pari lopettaa puhelimen soiton välittömästi, kadonneelle puhelimelle.

Puhelun aikana

Sovellus on täysi laajennus, ei vain numeronvalitsin:

The other tabs

Live-transkripti puhelun aikana

Kirjoita puhelut live -valinnan ollessa päällä (Asetukset (luku 14), tekoäly), kummankin puolen puhelua kirjoitetaan ylös, kun se puhutaan, ja se näytetään puhelimella puhelun aikana. Ääni menee puhujan kirjoittamispalveluun (omalla tietokoneellasi, missä se on asetettu) tai tekoälypalveluun puhelun kestoaikana. Se on sama kirjoittaminen kuin 911 live-transkriptit (luku 13) tavallisille puheluille.

Luku 41

Videopuhelut

Verkkokäyttöliittymässä: /settings

Kun molemmat puhelimen puhelussa lähettävät videota (videopuhelimet, ohjelmistopuhelimet, videopuhelinsoittimet), kuva kulkee heidän välillään BitVoice:n kautta. Ei mitään asetettavaa: se on käytössä, ellei Asetukset → Videopuhelut ole pois kytketty.

Video phoneH.264SRTPBitVoice relaysrenumbered if neededSoftphoneH.264The phones never learn each other’s addresses.
Kuva 30. Video calls: relayed as they are

Videon muuntaminen

Puhelimet ja sovellukset, jotka jakavat videokoodekin (useimmat käyttävät H.264), saavat toisensa videon sellaisenaan. Kun kaksi osapuolta eivät ole yhteisiä videokoodekkeja (pöytäpuhelin, jolla on vain H.264, ja selain, jolla on vain VP8), käytä Muunna video H.264:ksi ja VP8:ksi Asetuksissa: BitVoice tarjoaa molemmat koodekit, vastaa kullekin osapuolelle omalla koodekillään ja muuntaa kummallakin tavoin ffmpeg:n avulla, joka on asennettava palvelimelle (apt install ffmpeg, brew install ffmpeg; tai anna polku). Muuntaminen maksaa noin prosessoriydin puhelua kohden ja lisää hieman viivettä, joten se on pois oletuksena ja käytetään vain, kun se on tarpeen. Asetukset kertoo, löytyykö ffmpeg.

Luku 42

Faksi: lähetys ja vastaanotto, faksilaitteet ja analogiset puhelimet

Verkkokäyttöliittymässä: /faxes

Faksi, analogiset puhelimet, ovipuhelimet ja vanhat linjat liittyvät SIP-yhdyskäytävän (tai puhelinluettelon kortin BitVoice-tietokoneessa: ks. Puhelinluettelon kortit (luku 6)) kautta: ATA (Grandstream HT -sarja, yhdelle tai kahdelle analogiselle puhelimelle tai faksille), tai isompi yhdyskäytävä (Patton SmartNode, AudioCodes MediaPack ja Mediant) useille analogisille porteille, ISDN-linjalle (BRI/PRI) tai vanhoille analogisille linjoille (FXO). Jokainen portti rekisteröityy BitVoice-järjestelmään laajennuksena, kuten puhelin.

Fax machineon an adapter portCarrierT.38 or G.711Fax numberreceives and sendsPDF on the Faxes pageEmailed to a listEmail to fax: send by emailPages, size (letter or A4) and the far station’s ID are kept with each fax.
Kuva 31. Fax: machines, email and PDFs

Vastaanottaminen ilman faksilaitetta. Faksit-sivulla lisää faksinumero (esim. 300), ja määritä sähköpostiosoitteet, joihin faksit lähetetään. Sitten Puheluiden reititys (luku 8) -sivulla lähetä puhelinnumeron puhelut faksinumeroon. BitVoice vastaanottaa puhelun faksilaitteena, vaihtaa puhelun T.38-tilaan ja vastaanottaa faksin; kunkin faksin muuttuu PDF-muotoon, joka säilytetään Faksit-sivulla (Näytä, PDF) ja lähetetään sähköpostitse. Faksi, joka katkeaa osittain, säilyttää saapuneet sivut ja ilmoittaa siitä. Kunkin faksin luettelossa näkyy lähettävän tai vastaanottavan laitteen oma tunniste, jos se eroaa numerosta, sekä sivujen siirtotaajuus (14 400 bittiä sekunnissa on nopein; laitteet, joiden faksit usein epäonnistuvat alhaisella nopeudella, ovat yleensä heikkolaatuisia). Tämä vaatii T.38-tukea (useimmat tarjoajat tukevat sitä); äänenä lähetetty faksi ei voida vastaanottaa tällä tavoin. Kokeiltu T38Fax-palvelun kanssa: rekisteröi käyttäjätunnus ja salasana sip.t38fax.com:5080 (UDP) -osoitteeseen; salli UDP-liikenne sen verkoista (8.34.182.0/24 ja 8.20.91.0/24) BitVoicen eteen.

Faksin lähettäminen. Faksit-sivulla Lähetä faksi: valitse faksinumero, josta faksi lähetetään, kirjoita numero, johon faksi lähetetään, kirjoita viesti, jos haluat (se tulee ensimmäiseksi sivuksi) ja lisää asiakirjoja. Tekstitiedostot ja kuvat (PNG, JPEG, GIF) toimivat kaikkialla. PDF tarvitsee poppler-palvelimen (apt install poppler-utils, apk add poppler-utils, brew install poppler); Word, Excel, OpenDocument ja RTF tarvitsevat myös LibreOfficea. Sivu kertoo, mitä palvelin voi tehdä. Jokaiselle sivulle tulee otsikkorivi, kuten faksilaitteet tulostavat sen: aika, faksinumeron nimi, sen tunniste ja sivulaskuri. Puhelu lähtee faksinumerosta, jonka numerot (+1 212 555 0300 soittaa +12125550300), tai itse faksinumerosta, kun tunniste ei ole numero. Sivut ovat US-kirjekoko Pohjois-Amerikassa ja A4 muualla, maan mukaan, jonka Asetukset määrittää.

BitVoice soittaa numeron ulospäin menevien reittien kautta, kuten laajennus tekisi, ja lähettää nopeuden, jonka linja mahdollistaa (14 400 bittiä sekunnissa, hitaammin, jos linja on huono). Faksit yhdestä faksinumerosta lähetetään yksi kerrallaan. Varattu numero tai numero, joka ei vastaa, yritetään uudelleen viiden minuutin kuluttua, kaikkiaan kolme kertaa. Lähetetyt faksit ovat luettelossa vastaanotettujen faksien kanssa: Lähetetty, Odottaa lähettämistä, Epäonnistui (jonka kanssa on Yritä uudelleen), tai Osittain lähetetty, kun linja katkeaa jonkin sivun jälkeen.

Email to fax. Below the list, set up a mailbox for BitVoice to read (IMAP over TLS, port 993; for Google and Microsoft mailboxes use an app password), then Test and Save. Anyone allowed to send writes to that mailbox with the fax number in the subject (Fax 212 555 0199), or to a plus address (fax+2125550199@example.com) if the mail server takes them. Attachments become the pages and the email's own words the cover note (the signature and quoted mail are left out). It goes from the fax number that lists the sender: its Email each fax to addresses may always send, and May also send faxes by email adds others (whole addresses, or @example.com for a domain). The sender gets an email when the fax has gone through, or why it could not.

Sähköpostia on helppo väärentää, joten BitVoice lähettää faksin vain, kun sähköpostipalvelimesi on todennut, että se tuli todella lähettäjän domainista (DKIM, SPF tai DMARC, todennus-tuloksessa, jonka se lisää). Muut viestit hylätään ilman vastausta. Kytke Hyväksy sähköposti, jonka lähettäjän domain ei ole vakuuttanut vain, jos postilaatikko on sellainen, johon ulkopuolinen sähköposti ei voi tulla.

Faksi-laitteet porteilla. BitVoice välittää faksin T.38-standardeilla, internetin faksi-standardeilla: kun portti kuulee faksi-äänen, se vaihtaa puhelun T.38-tilaan, BitVoice pyytää toista puolta (palveluntarjoajaa tai toista porttia) vaihtamaan myös, ja välittää faksin heidän välillään. Jos toinen puoli ei voi tehdä T.38:aa, puhelu pysyy G.711-tilassa ja faksi menee äänenä, mikä toimii hyvällä verkolla. Aktiiviset puhelut näyttävät faksi (T.38), kun faksi on meneillään.

Luotettavien faksien toimittamiseksi:

Luku 43

Vastaanotin: web-keskustelu, WhatsApp ja Messenger

Verkkokäyttöliittymässä: /inbox

Postilaatikko Inbox (luku 43) sisältää kaikki kirjoitetut keskustelut yhdessä listassa: chat-ikkuna verkkosivustollasi, WhatsApp, Facebook Messenger ja tekstit (luku 44). Kuka tahansa, joka on kirjautunut verkkorajapintaan, voi vastata; ensimmäinen, joka vastaa, ottaa keskustelun (kuka tahansa voi luovuttaa sen Vastattu -kohdalla), ja Sulje poistaa sen, kunnes henkilö kirjoittaa uudelleen. Lukemattomat keskustelut lasketaan, ja lista päivittyy itsestään.

Verkkosivun chat-ruutu

Kanavat-valikossa, käytä Web-keskustelua, valitse sen otsikko, väri ja ensimmäinen rivi, ja laita se sivustosi sivuille:

<script src="https://pbx.example.com:8443/webchat.js" async></script>

Se piirtää chat-painiken kulmaan jokaiselle sivulle; vierailijat kirjoittavat (nimellään, jos he haluavat) ja näkevät vastauksesi, kun ne tulevat. Keskustelu säilyy heidän selaimessaan, joten se jatkuu, kun he siirtävät sivuja. Luettele sivut Vain näillä sivuilla, jotta ruutu ei suorita muualla. Vierailijoiden on oltava kyseisessä palvelimen osoitteessa internetistä, sertifikaatilla, jota selaimet luottavat (Let's Encrypt (luku 14)). Kymmenen uutta chat-keskustelua yhdestä osoitteesta kymmenessä minuutissa on enimmillään, mitä BitVoice hyväksyy.

WhatsApp

WhatsApp Business -numerot Metan Cloud API:lla. Metan kehittäjäsivustolla, luo sovellus WhatsAppilla, lisää numerosi ja luo järjestelmän käyttäjä, jolla on pysyvä pääsytokeni. Kanavat-valikossa, käytä WhatsAppia ja anna puhelinnumeron tunniste ja liiketoimintatunniste (molemmat API-asetuksista), pääsytoken ja sovelluksen sovelluksen salaisuus, säästä. Sovelluksen WhatsApp-konfiguraatiossa, määritä webhook: BitVoice näyttää callback-osoitteen ja vahvistusmerkin, johon on tilattu *viestit*.

WhatsApp sallii vastaamisen vapaasti 24 tuntia asiakkaan viimeisen viestin jälkeen; sen jälkeen se hyväksyy vain viestimallit, jotka on hyväksytty WhatsApp Managerissa. Vastausruutu muuttuu sitten mallivaliksi: valitse malli (se listaa tilin mallit, kielillä ja tyypeillä), täytä arvot ({{1}}, {{2}} ...), tarkista esikatselu, joka on se, mitä asiakas lukee, ja Lähetä malli. Mallit, joita vastaanotin ei voi täyttää, on listattu harmaalla taustalla ja syynä: yksi, jossa on kuva-, video- tai asiakirjatunniste, muuttuja otsikossa tai painikkeen linkki, nimetyt parametri ja koodipainike; ja ne, jotka eivät ole vielä hyväksytty. Luo mallit WhatsApp Managerissa; Meta tarkistaa kunkin mallin yleensä muutamassa minuutissa.

Facebook Messenger

Facebook-sivulle: Metan sovelluksessa, lisää Messenger, yhdistä sivu ja luo sivun pääsytoken. Kanavat-valikossa, anna sivun tunniste, sivun pääsytoken ja sovelluksen salaisuus; säästä. Määritä webhook (osoite ja vahvistusmerkki, jonka BitVoice näyttää), johon on tilattu *viestit* ja *messaging_postbacks*. Vastaukset sallitaan 24 tuntia henkilön viimeisen viestin jälkeen. Sen jälkeen, kunnes 7 päivää, Messenger ottaa vastaukset, jotka on kirjoitettu henkilöllä (lähetetty Metan *ihmisen agentti* -tunnisteella: sovelluksen on pyydettävä Metan Human Agent -lupaa, joka pyydetään sovelluksen tarkastelussa); automaattinen tervehdys ei lähetä silloin. 7 päivän jälkeen vastaanotin ei ota vastausta, kunnes he kirjoittavat uudelleen.

Jokainen webhook tarkistetaan sovelluksen salaisuudella (Metan allekirjoituksella) ennen kuin BitVoice uskoo siihen, ja viesti, jonka Meta lähettää kahdesti, säilytetään kerran. Kuvat, äänimuistiinpanot ja muut liitteet näkyvät sellaisinaan ("[kuva]"); avaa ne Metan omilla sovelluksilla.

Automaattinen tervehdys, kun se on asetettu, vastaa uuden keskustelun ensimmäiseen viestiin heti.

Luku 44

Liiketoimintatekstaus (SMS)

Verkkokäyttöliittymässä: /texts

Lähetä ja vastaanota tekstiviestejä liiketoimintanumeroillasi Tekstien kautta. Tekstit kulkevat tekstauspalvelun kautta. Valmiina: TextMagic, Twilio, SignalWire, Telnyx, Bandwidth, Vonage, Plivo, Flowroute ja VoIP.ms, sekä Oma webhook minkä tahansa muun palvelun tai oman portin käyttöön. Useita palveluntarjoajien tilejä voidaan käyttää samanaikaisesti: kunkin numeron kohdalla ilmoitetaan, kuka niitä välittää.

a customerTexting providerTextMagic, Twilio, …Texts pageone thread per numberTimelineDesk phonesUS numbers need 10DLC registration, guided on the Texts page.
Kuva 32. Business texting: the same numbers, one conversation view

Asetukset

  1. Palveluntarjoajan portaalissa, etsi tilin API-tiedot. Lomake kysyy tarkalleen sitä, mitä palveluntarjoaja niille antaa (Twilio: Account SID ja auth token; Telnyx: API-avain; Bandwidth: API-käyttäjä, salasana, tilinumero ja viestisovelluksen tunniste; SignalWire: myös tilan osoite) ja kertoo, mistä ne löytyvät.
  2. Tekstien kohdalla, Tekstausasetukset, lisää palveluntarjoaja niillä ja säästä. BitVoice näyttää osoitteen, johon saapuneet tekstit lähetetään: aseta se palveluntarjoajassa, jonne saapuneet viestit lähetetään (sen callback, webhook tai viestin URL). VoIP.ms:lle lisää ?from={FROM}&to={TO}&message={MESSAGE}&id={ID} loppuun. Toimitusvahvistukset, jotka lähetetään samaan osoitteeseen, hylätään. BitVoice on oltava saatavilla internetistä siellä.
  3. Lisää kunkin numeron, josta tekstaat (maakoodilla), palveluntarjoaja, joka välittää sitä, ja laajennukset, joille ilmoitetaan, kun teksti saapuu sähköpostitse.

US 10DLC

Yhdysvaltain operaattorit estävät tekstiviestit tavallisilta liiketoimintanumeroilta, jotka eivät ole rekisteröity. Rekisteröi brändisi ja sitten kampanja tekstiviestintipalveluntarjoajasi kautta; luettelo Texts-seurannassa kertoo, missä ne ovat, ja varoittaa, kun näyteviestisi puuttuu operaattorin odottamista opt-out-sanoista.

Keskustelut

Kunkin keskustelun näkyvissä on, kuka se on (Otsikosta), lukemattomat tekstiviestit ja viestiketju. Syötä lähettää; laskuri näyttää, montako tekstiviestiä pitkä viesti vaatii. Kun joku vastaa STOP, mitään enempää ei voida lähettää heille tästä numerosta, kunnes he vastaavat START. Saapuneet tekstiviestit näkyvät myös ilmoituksena BitVoicessa.

Luku 45

Siirtokertomukset

Verkkokäyttöliittymässä: /settings

Jotta soittaja ei koskaan tarvitse toistaa itseään: Tiivista kukaan, jolle puhelu siirretään (Asetukset, AI), kun puhelu siirretään, BitVoice kirjoittaa kaksijäsenisen yhteenvedon puhelusta tähän asti (kuka soittaa, mitä he haluavat, mitä on jo luvattu) henkilölle, jolle se menee. Se näkyy heidän selaimen puhelimessa soivan puhelun kanssa, Live-puhelut (luku 46) -sivulla ja tekstiviestinä heidän työpöytäpuhelimen näytöllä (puhelimille, jotka näyttävät SIP-viestejä).

agent 101transfersTwo sentenceswho, what, what was promised102 ringsShown with the callbrowser, Live calls, deskThe caller never has to say it all again.
Kuva 33. Transfer briefings: the next person knows already

Se toimii samalla tavalla, kun AI-vastaanottaja antaa soittajan henkilölle: kertomus tulee siitä, mitä soittaja kertoi avustajalle.

Sille tarvitaan AI-palvelu ja puhe-teksti-malli (Asetukset, AI), ja puhelun ääni tähän asti (enintään viisi minuuttia) lähetetään siihen palveluun kirjoitettavaksi. Yhteenveto kestää muutaman sekunnin, joten se voi ilmestyä vasta, kun puhelin alkaa soida.

Osa 4

Asiakkaat ja oivallukset

Tietäminen, kuka soitti ja miten se sujui: reaaliaikaiset puhelut ja historia, asiakkaan aikajana, CRM-järjestelmät, tallenteet ja suostumus, laatu, kustannukset ja soittajan tunnistusmaine.

Luku 46

Aktiiviset puhelut

Verkkokäyttöliittymässä: /calls

Aktiiviset puhelut näyttää jokaisen meneillään olevan puhelun, joka päivitetään, kun se tapahtuu: kuka soittaa kenelle, kuinka kauan se on kestänyt, sen koodaukset ja sen laatu.

Live call100 Front desk → +1 212 555 0199G.722 / G.711 · MOS 4.3 · 02:14endsCall recordwho and when, how long, answered byrecording and transcriptcost, quality per leg, why it ended
Kuva 34. Live calls and history: every call, while it happens and after

What administrators can do

ActionWhat it does
Hang upends the call for both sides
Open the doorfor a call from a door station
Pause recordingfor a card number: the paused stretch is silent in the recording and marked in the history (Call recording (luku 51))
Listenhear the call silently
Whispertalk to the agent only; the caller does not hear
Bargejoin the call; everyone hears you

Kuunnellaksesi, kuiskaamalla tai bargeamalla, paina Valvo, valitse puhelin, josta haluat soittaa Puhelimesta ja paina Soita minulle: puhelimesi soi, ja kun vastaat, liityt puheluun. Voit vaihdella kuuntelemisen, kuiskaamisen ja bargeamisen, kun olet siinä.

Mitä muuta näytetään

Kun puhelu päättyy, se siirtyy Puheluhistoriaan (luku 47).

Luku 47

Puheluhistoria

Verkkokäyttöliittymässä: /history

Jokainen valmis puhelu: kuka soitti kenelle, milloin, kuinka kauan ja miten se päättyi. Voit järjestää sarakkeita, toistaa tallenteita (katko korttinumeroille on merkitty) ja ladata luettelon CSV-muodossa. Tallenteiden säilytysaika määritetään Asetuksissa, *Puheluiden tallennus* -kohdassa; oikeudellinen pidäke (luku 73) pitää niitä pidempään.

Live call100 Front desk → +1 212 555 0199G.722 / G.711 · MOS 4.3 · 02:14endsCall recordwho and when, how long, answered byrecording and transcriptcost, quality per leg, why it ended
Kuva 35. Live calls and history: every call, while it happens and after

Reititys

Jokaisen puhelun tuloksen alla Reititys listaa yksinkertaisin sanoin ja järjestyksessä, mitä päätti, mihin puhelu meni: saapuvan reitin, joka otti sen, onko aikataulu avoinna tai suljettu ja aika, toggle-valitsimen puoli, mitä reititysskripti valitsi (tai että sen fallback otti puhelun), näppäimistä painetut näppäimet valikossa, kuka oli poissa, kuka ei ollut puhelimella, kuka ei vastannut, lähtevän reitin ja käytetyn trunkin (ja trunkin, jonka terveysarvio siirsi muiden taakse), huijausvartijan tuomion, ja tallennetun puhelun kohdalla, jonka osapuolet ovat eri suostumussääntöjen alaisia, mikä sääntö soveltuu.

Laatu, ääni ja salaaminen

Laatu-sarakkeessa näkyy kunkin vastatun puhelun pisteytys (MOS, maksimissaan 5) ja kaksi merkintää, kun ne ovat sovellettavissa:

Tekstitykset ja haku

Kun AI on päällä ja Tekstitys tallennetuille puheluille on käytössä (Asetukset, AI), jokainen tallennettu puhelu kirjoitetaan ylös, lyhyen yhteenvedon ja sen toimintakohteiden kanssa: mitä joku sopi tai pyydettiin tekemään. Jokainen puhelun puoli kirjoitetaan erikseen tallenteesta, joten tekstitys näyttää, kuka sanoi mitä ja milloin. Tekstitysnappi tallenteen vieressä avaa sen; ylläpitäjät voivat myös tekstitys yhden puhelun tai tekstitys uudelleen.

Hae mitä sanottiin löytää puhelut sanoista niiden tekstityksistä, yhteenvedoista ja toimintakohteista. Vain tallennetut puhelut tekstitys. Tekstitys poistetaan tallenteen kanssa, ja tekstitysten lukeminen tai hakeminen merkitään tapahtumalokiin, kuten tallenteen toistaminen.

Luku 48

Asiakkaan aikajana

Verkkokäyttöliittymässä: /timeline

Asiakkaan aikajana näyttää kaiken yhden puhelinnumeron kanssa viimeisen vuoden ajan, uusimmat ensin, jotta kuka tahansa, joka vastaa, tietää koko tarinan.

Call answered by Front deskVoicemail: "please call back"Text: "after 3 is fine"Callback booked by the AI receptionistNote: prefers mornings+1 212 555 0199Lee, Acme Corp
Kuva 36. One customer timeline: everything about a number in one place

Mitä se näyttää

KohtaMitä
Puhelutkehen ne otettiin, kuinka kauan kestivät, ja niiden transkripti, yhteenveto, tallenne ja transkripti
Ääniviestitniiden yhteenvedot
Tekstitmolemmat suunnat
Palautepyynnötpyydettiin ja tehtiinkö
Muistiinpanottiimin omat muistiinpanot

Numero vastaa riippumatta siitä, miten se on kirjoitettu: +1 212 555 0100 ja 2125550100 ovat sama.

Opening it

From a caller card (Timeline), from Contacts, from an incoming call in Call history, from a text conversation, or type a number at the top of Timeline (luku 48).

Muistiinpanot

Ylläpitäjät voivat Lisätä muistiinpanon tiimille: se näkyy aikajanalla kaikille, kuka sen kirjoitti ja milloin, ja sitä voidaan poistaa.

Luku 49

CRM: soittajakortit ja puheluloki

Verkkokäyttöliittymässä: /settings

Yhdistä asiakasjärjestelmä Asetuksissa (luku 14), CRM. Se toimii kaikkien järjestelmien kanssa, joilla on verkkotunnus, ilman koodin kirjoittamista kullekin tuotteelle.

+1 212 555 0100Caller cardLee · Acme CorpGET {number}Your CRMany web addressafter the call: who, how long, summaryAnswers are kept for five minutes.
Kuva 37. CRM: a card while it rings, a log after it ends

Soittajakortit

Kun ulkopuolinen puhelu soi, Reaaliajassa näkyy kortti: kuka se on (CRM:stä tai laajakaistan nimestä), kuinka usein he ovat soittaneet 90 päivän aikana, odottavat paluupuhelut (luku 30) ja edellisen transkriboituneen puhelun yhteenveto. Selainpuhelimessa näkyy lyhyempi kortti vastaajalle: kuka se on, aiemmat puhelut ja odottavat paluupuhelut, mutta ei muiden puheluiden yhteenvetoja.

Nimen asettamiseksi määritä Hae osoite: BitVoice kysyy sitä (GET) soittajan numerolla {number} tilalla, lähettäen Hae-otsikko arvonsa kanssa (holvitunniste toimii), ja odottaa JSON-vastauksen nimestä, yrityksestä, url:sta ja muistiinpanoista; 404 tarkoittaa tuntematonta. Vastaukset säilytetään viisi minuuttia. Avaa CRM-linkki asettaa linkin soittajaan kortille. Käytä Etsi kokeilemaan numeroa ennen tallentamista.

A CRM's own answer

Most CRMs answer a search in their own shape, usually a list of matches, not BitVoice's {"name": ...}. Open Answer fields and say where each part is, as a dotted path: a name steps into an object and a number into a list, so list.0.name is the first match's name. Link to the contact may be a path to a link the CRM gives, or a web address with paths in braces, such as https://crm.example.com/#Contact/view/{list.0.id}. An empty field reads BitVoice's own name for it. A search that finds nobody is the same as 404: the card says the caller is not known. Try a number with Look it up before saving.

Esimerkiksi EspoCRM (testattu oikeaa EspoCRM:ää vastaan): luo API-käyttäjä (Hallinta, API-käyttäjät, todennus API-avaimella) roolilla, joka voi lukea yhteyshenkilöitä ja tilejä, ja aseta sitten:

EspoCRM tallentaa numerot kansainvälisessä muodossa (+15405550117), kuten BitVoice ne välittää. Muut CRM-järjestelmät toimivat samalla tavalla omilla hakuoosoitteillaan ja kenttinimillään; tarkista vastauksen muoto heidän API-dokumentaatiostaan tai Etsi-toiminnolla, jonka viesti kertoo, mitä se löysi.

Puheluiden lokitus

Määritä Puhelulokin osoite ja Allekirjoitus salaisuus, ja jokainen puhelu lähetetään sinne, kun se päättyy (tapahtuma call.ended), uudelleen yhteenvetonsa, toimenpidet ja käännös, kun se on transkriboitu (call.summarized), ja jokainen varattu palaute (callback.new). Jokainen POST-lähetys sisältää X-BitVoice-Event, X-BitVoice-Timestamp ja X-BitVoice-Signature: sha256= seuraa HMAC-SHA256: n salaisuuden, aikaleiman, pisteen ja pyynnön ruumin. Epäonnistunut toimitus yritetään neljä kertaa noin minuutin ajan; jos se edelleen epäonnistuu, Health ilmoittaa siitä. Lähetä testitapahtuma tarkistaa osoitteen ja salaisuuden.

Luku 50

Puhelun analyysi esimiehille

Verkkokäyttöliittymässä: /quality

Ota yhteyttä-keskuksille: näyttö siitä, miten puhelut menivät, esimiehelle kuunneltavaksi, ei koskaan automaattinen arvosana.

How it wentagent 62%caller 38%talked over: 3 · longest: 48 s · quiet: 22 s02:14 Went well05:40 Look at: a long hold07:02 Not answered09:15 Promised: a refund by FridayTo choose calls to listen to, not to rank people.
Kuva 38. Call insight: evidence for a supervisor, never a score

Puhelun Transkriptissa, Miten se meni näytetään, mitattuna tallenteen äänen perusteella: miten paljon kumpikin osapuoli puhui, kummankin puheen pituus, kuinka usein kumpikin aloitti puhumisen toista osapuolta, kuinka kauan molemmat puhuivat samaan aikaan, ja hiljaisuus (pitkä hiljaisuus on usein pidäke tai kuollut ilma)

Kun Tallenna, miten käännetyt puhelut menivät on käytössä (Asetukset, Tekoäly), tekoäly myös lukee transkriptin ja kertoo, miten soittaja vaikutti alussa ja lopussa, ja listaa jopa kuusi hetkeä: Menti hyvin, Tarkastele (puhumista soittajan yli, pitkä pidäke, epäselvä vastaus), Ei vastattu (kysymys, jota soittaja ei saanut vastausta) ja Lupailtu (jotain, mitä joku lupasi tehdä), kunkin kohdalla on aika ja sanat, joten voit mennä suoraan siihen. Hallinnoija voi pyytää sitä miltä tahansa käännetyltä puhelulta Tarkastele tätä puhelua.

Puhelun laadussa (Call quality (luku 50)), Keskustelut, joka otti ne lasketaan transkriboitujen puheluiden määrä ajanjaksolla henkilökohtaisesti: heidän puhumisensa osuus, heidän pisin puhumisensa, kuinka usein he puhuivat puhujan yli, hiljaisuuden aika, puhelut jotka päättyivät puhujan ollessa loukkaantunut, ja merkityt hetket. Käytä sitä valitsemaan puheluita kuunneltaviksi, älä käytä sitä ihmisten rankkaukseen.

Valmennusmuistiinpanot ovat omat sanat puhelusta, hetkellä, josta ne ovat: Miten se meni - alla, kirjoita Hetki (1:05, tai jätä se tyhjäksi alusta varten) ja Valmennusmuistiinpano, ja paina Lisää muistiinpano. Muistiinpanot on lueteltu puhelun mukaisessa järjestyksessä, joka on kirjoittanut ne ja milloin; hallinnoijat kirjoittavat ja poistavat ne, katselijat lukevat ne transkriptin kanssa, ja muistiinpanon lisääminen tai poistaminen on merkitty tapahtumalokiin. Ne menevät tallenteen mukana, joten sen säilytys ja oikeudelliset pidäkkeet koskevat niitä myös. Valmennusmuistiinpanot Puhelun laatu laskee ne henkilökohtaisesti.

Luku 51

Soittotallennus ja korttimaksut

Tallennus on asetettu Asetuksiin (luku 14), Soittotallennus: pois, jokainen soitto tai vain laajennusten soittotallennukset, jotka on merkitty Tallenna soittotallennukset. Tallenteet toistetaan Soittohistoriasta (luku 47), ja älykkäiden laitteiden kanssa ne kirjoitetaan ja tiivistetään.

A call is answeredrecording is onConsent ruleby the other party’s regionAnnounce, then recordtwo-party consent regionsRecord with a beep every 15 sDo not record*7 pauses and *8 resumes the recording while a card number is read out
Kuva 39. Recording with consent: announce, beep, or not at all

Ilmoittaminen

Jotkut paikat vaativat, että kaikki puhelussa olevat henkilöt ilmoitetaan siitä, että puhelu tallennetaan: Ilmoitus, Äänimerkki ja aluekohtaiset säännöt löytyvät Tallennuksen hyväksyntä (luku 52) -osiossa.

Korttimaksut (PCI DSS)

Korttinumeroita ei saa tallentaa nauhoituksiin. Ennen kuin soittaja lukee numeron, laajakaistan päässä oleva henkilö painaa *7; *8 jatkaa tallennusta. Tallennuksen keskeytys Reaaliajassa (luku 46) tekee saman. Keskeytys on hiljainen nauhoituksessa ja luetellaan puheluhistoriassa, jotta tarkastaja voi nähdä, missä ja kuinka kauan.

Konferenssisalit

Huone, jossa Tallenna huone on käytössä, tallennetaan yhtenä tallenteena koko huoneesta (Konferenssisalit (luku 34)).

Kuinka kauan asiat säilytetään

Asetukset määrittävät, kuinka monta päivää nauhoitukset, puheluhistoria ja ääniviestit säilytetään; vanhemmat poistetaan tunnin kuluessa. Mitään oikeudellista pidäkemistä (luku 73) alaista ei poisteta sen ikästä riippumatta. Arkisto (luku 72) voi säilyttää kopiot muualla.

Ylläpitäjät ja katselijat voivat toistaa nauhoituksia ja lukea transkriptioita; vain ylläpitäjät voivat transkriptioida puhelun tai transkriptioida sen uudelleen. Nauhoituksen toistaminen tai sen transkriptin lukeminen merkitään tapahtumalokiin.

Luku 53

Puhelun laatu

Verkkokäyttöliittymässä: /quality

Kuinka puhelut kuulostivat viimeisen päivän, viikon, kuukauden tai 90 päivän aikana, äänen mukaan, jonka BitVoice itse vastaanotti kummallakin puolella jokaisessa puhelussa. Puhelimet on ryhmitelty niiden sijainnin (luku 12) (tai "ei sijaintia") mukaan, ja puhelut ulkoa tarjoajan linjan mukaan, jolta ne tulivat.

Each calljitter, loss, delayMOS score1 bad · 4.4 bestBy site, carrierand hour of dayDiagnosis"loss on the office link 2–3 pm"
Kuva 41. Call quality: from packets to a plain diagnosis

Jokainen paikka näyttää omat puhelunsa, keskiarvon sijainti (MOS, 5: yli 4 on hyvä, alle 3.6 kuulostaa huonolta), äänipakettien osuuden, joka ei koskaan saapunut, ja jitterin (epätasaisen viiveen). Sen alapuolella BitVoice kertoo, mitä on vialla yksinkertaisilla sanoilla, esimerkiksi "Pakettihävikki pääkonttorin verkkoon: 3,2 % äänestä ei saapunut, pääosin klo 14:00 ja 16:00 välisenä aikana", ja mitä tarkastaa. Palkkikaavio näyttää hävikin äänen tunnin mukaan.

The diagnosis compares the two halves of the same calls: the sound from the site's phones and the sound from the provider the same calls went through. When the other half arrived clean, the loss is on this place's side, and it says so; when both halves lost sound, the place is not to blame alone and it points at what the calls share, this system's own internet link. If every place loses sound at once, the cause is likewise what they share. How this was worked out lists the reasons, step by step (the call-quality rulebook, see Security (luku 60), "How BitVoice decides"). Places with fewer than three calls are not judged. Per-call quality is also in Call history (luku 47) (the Quality column) and, while calls are live, on Live calls (luku 46).

Puhelu, joka yhdistyi, mutta ei saanut mitään ääntä toisesta puolesta, lasketaan erikseen ilman ääntä ja asetetaan ensin: se ei ole huono ääni, vaan ääni, joka ei koskaan saapunut, lähes aina palomuuri tai NAT-reititin, joka päästää SIP:n läpi ja pitää median ulkopuolella. Paikan neuvonta kertoo, mitä tarkastaa (tarjoajan media-osoitealueet).

Luku 54

Kustannukset ja budjetit

Verkkokäyttöliittymässä: /costs

BitVoice hinnoittelee jokaisen puhelun sen mukaan, mitä tarjoajasi veloittaa, ja näyttää kuun kulut toimialoittain, henkilökohtaisesti ja trunkoittain, kalleimmat puhelut mukaan lukien.

A call out+44 20 …, 7 minTrunk rate+44: 0.02 a minuteCost0.14By personBy departmentBy trunkAlerts: a budget passed, or far more calls to one place than usual (toll fraud).
Kuva 42. Costs: every call priced, budgets watched

Hinnat

Puhelureitit (luku 7), avaa puhelureitti ja sen Puheluhinnat. Jokainen hinta kattaa numeroita, jotka alkavat tiettyjen numeroiden kanssa, kuten numero lähetetään tarjoajalle (vain numeroita, joten 44 Iso-Britanniaa varten, 1900 US:n premium-hintaa varten); pisimmän vastineen voittaa, ja hinta ilman numeroita kattaa jokaisen muun numeron. Anna hinta minuutille, mahdollinen vastattu puhelumaksu, laskutusaskel (60 sekuntia kokonaisille minuuteille, 6 tai 1 hienommalle) ja mahdollinen vähimmäismäärä. Saapuvat puhelut, minuutti on toll-free-numeroille, joita maksat vastaanottaa. Mikä olisi kustannus tarkistaa numeron ennen kuin kukaan soittaa sitä. Valuutta asetetaan Kustannuksissa.

Puhelun kustannus on kiinteä, kun se päättyy, ajan hintojen mukaan; hinnan muuttaminen ei muuta aiempia puheluita. Kustannukset kertoo, kuinka monta vastattua puhelua ulospäin ei ollut hinnalla.

Toimialat ja budjetit

Anna laajennuksille Toimiala (laajennuksessa). Kustannuksissa, lisää budjetti jokaiselle puhelulle tai yhdelle toimialalle: hälytys ilmestyy BitVoiceen ja lähetetään budjetin osoitteeseen ja hälytysosoitteeseen 80 %:ssa ja uudelleen 100 %:ssa kuukauden aikana.

Hälytys

Puheluiden ulospäin kustannus ylittää tämän tunnissa aiheuttaa hälytyksen, kun puhelut ulospäin ylittävät kyseisen määrän tunnissa. Äkillinen kallisten puheluiden sarja on tyypillisesti merkki huijauspuheluista (varastetusta puhelin salasanasta): tarkista Puheluhistoria, sitten poista laajennus tai puhelureitti.

Luku 55

Soittajan tunnisteen maine ja brändättyjä puheluita

Verkkokäyttöliittymässä: /reputation

Puhelinoperaattorit pyörittävät roskapostisuodattimia, jotka voivat merkitä yrityksen numeron "Roskaposti todennäköisesti", tai estää sen, ja silloin harva vastaa. Soittajan tunnisteen maine seuraa jokaista numeroa, josta soitat ulospäin, omista puheluistasi, ja kertoo yksinkertaisilla sanoilla, miten se sujuu:

Numerot, joilla on vähemmän kuin 20 puhelua, näytetään liian vähäisiksi arvioitaviksi.

Lähtevien numeroiden asetukset antaa jokaiselle numerolle nimen (joka lähetetään soittajan nimenä), syy soittamiselle ja logon (https://-kuva). Trunkissa, jossa on Lähetä brändätty soittajan ID käytössä, logo ja syy lähetetään rikkaana soittotietona (RFC 9796 Call-Info); operaattorit, jotka tukevat brändättyä soittamista, näyttävät ne vastaanotetussa puhelimessa. Useimmat puhelimet näyttävät nimen caller-name (CNAM) -tietokannasta, jonka tarjoajasi asettaa: pyydä heiltä. Valvonta asettaa varoituksen Health-terveyteen, kun valvottu numero alkaa näyttää olevan merkitty.

Sivu kertoo myös, mitä tehdä, kun numero on merkitty.

Luku 56

Roskapuheluiden suojaus ja STIR/SHAKEN

Verkkokäyttöliittymässä: /settings

Yhdysvalloissa ja Kanadassa puhelun aloittava operaattori allekirjoittaa soittajan numeron (STIR/SHAKEN): A, kun se tietää, että soittaja voi käyttää numeroa, B, kun se tietää soittajan, mutta ei numeroa, C, kun se vain välitti puhelun. Puhelinoperaattorisi kertoo joko BitVoicelle sen tuloksen (verstat) tai välittää allekirjoitetun Identity-otsikkoa, jonka BitVoice tarkistaa itse: allekirjoituksen, sen, että se on alle minuutin vanha, ja sen, että se mainitsee tämän puhelun numerot. Tuloksen näkyy Varmistettu, Osittain varmistettu, Varmistamaton tai Ei varmistettu Live-puhelut-sivulla ja Puheluhistoriassa.

A call inIdentity, verstatCheckedsignature, age, numbersVerified: ringsNot verified: rings as "Spam?"Failed or blocked: refusedwhat happens to each is set in Settings
Kuva 43. Spam protection: the caller ID is checked before it rings

Asetuksissa, Roskapuheluiden suojaus, valitse, mitä tapahtuu, kun soittajan numero epäonnistuu verifioinnissa (soida, soida merkitty, tai hylätä), kun se ei ole verifioitu lainkaan, ja kun numero on salattu. Merkitty puhelu soi Roskapuhelu? (tai omalla merkinnälläsi) ennen soittajan nimeä. Estetyt numerot hylätään; merkintä, joka päättyy *, estää numeroluokan (+1900* on jokainen Yhdysvaltain premium-maksullinen numero). Aina sallitut numerot eivät koskaan hylätä tai merkitä. Puheluhistoriassa estopainike soittajan vieressä lisää heidät luetteloon; hylätyt puhelut on listattu Estetty-merkillä.

Tunnin kuluessa hätäpuhelun saapumisesta miltä tahansa laajennuksesta, ei yhtään puhelua hylätä (hylätyt puhelut soittavat merkittyinä), sillä se voi olla hätäpalvelun puhelu takaisin.

Callers BitVoice does not know

A caller is known when the number is always allowed, in the contacts (luku 38), was called from here in the last year, or passed the robot test in the last 90 days. Numbers are matched however they are written (with or without the country code, 1, 0 or +). Under Callers BitVoice does not know, choose what happens to everyone else:

ValintaMitä soittaja saa
Soita normaalistipuhelu soi kuten mikä tahansa muu (oletus)
Robotestin kauttaBitVoice vastaa ja sanoo "Yhdistääksesi, paina" ja numero, joka vaihtelee jokaisessa puhelussa. Oikea näppäin vie heidät sinne, mihin puhelu oli tarkoitettu; mikä tahansa muu, tai ei mitään (kahdesti), ja he menevät Soittajat, jotka epäonnistuvat testissä, menevät-kohtaan, tai kuulevat heihei
Lähetä toisaalleei mitään soittoa: he menevät suoraan valittuun paikkaan, esimerkiksi vastaajaan

Robottitestin tarvitsee äänet: Äänet (luku 20) -valikossa, äänitä tai tee (puhepalvelun avulla) suodatus -ohjeet ja numerot 1-9 soittajien kielellä. Niitä ei ole äänitetty, ne tulevat normaalisti (soittaja ei voi läpäistä testiä, jota hän ei kuule), ja Terveys ilmoittaa siitä. Soittaja, joka läpäisee testin, luetaan tunnetuksi 90 päiväksi. Testi vastaa puheluun, joten soittajan operaattori alkaa laskuttaa heiltä siitä hetkestä lähtien, kuten mihin tahansa vastattuun puheluun. Puheluhistoria näyttää kunkin puhelun tuloksen (läpäissyt, epäonnistunut, lähetetty) ja miksi -polku kertoo, mitä tapahtui.

Roskapuheluiden tietokanta

BitVoice voi kysyä mainetietopalvelulta arvio unknown-soittajasta ennen kuin puhelu kuuluu. Käytä Nomorobo Twilion kautta täyttää Twilio Lookupin Nomorobo-rospakuorauksella (asenna Nomorobo-liitännäinen Twilio-tiliisi, sitten syötä sen tilinumero ja vahvistusmerkki); mikä tahansa muu palvelu, joka vastaa JSON-muodossa, toimii myös: anna sen osoite muodossa {e164} (+12125550142) tai {number} (kuten palveluntarjoaja on lähettänyt), jossa on sen arvio (Arvio-kenttä, pisteen erottama polku), ja kun se tarkoittaa roskapuhelua (arvosana Roskapuhelu arvosanalla, tosi, tai teksti Tai roskapuhelu, kun teksti on, kuten BLOCK). Valitse, mitä tapahtuu soittajalle, jonka se pitää roskapuheluna: soita merkitty, robotti-testi tai hylätty.

Estä viimeisin soittaja

Vastaa halutun puhelun jälkeen näppäile *32* (Toimintokoodit (luku 32)) puhelimesta, jota se soitti: viimeisin ulkopuolinen numero, joka soitti kyseiselle laajakaistalle viimeisen vuorokauden aikana, menee estolistaan, ja puhelin lukee numeron uudelleen. Aina sallittu numero ei estetä, ja puhelin sanoo sen. Kukin on Audit-lokissa, jossa on mainittu, kuka esti sen.

Ehdotettu soittajista

BitVoice lukee viimeksi 30 päivän ulkopuolisia puheluita, joissa numerot soittavat usein ja hylätään heti: kolme puhelua tai enemmän, lähes kaikki niistä kestävät 10 sekuntia tai vähemmän, tai kaksi robotti-testiä epäonnistui, ja koskaan ei ollut oikeaa keskustelua (joku puhuu 30 sekuntia tai kauemmin). Tunnetut numerot jätetään pois. Kukin tulee syyn kanssa; Estä asettaa sen estolistaan, ja Ei roskaa tarkoittaa, että sitä ei koskaan ehdoteta uudelleen. Mitään ei estetä, ennen kuin henkilö sanoo niin.

Todistusten tarkistamiseksi STI-viranomaisia vastaan, liitä heidän todistuksensa STI-viranomaisen todistukset alle; ilman niitä BitVoice tarkistaa, että puhelu allekirjoitettiin todistuksella, jonka se mainitsee, mutta ei sitä, kuka antoi kyseisen todistuksen.

Allekirjoita omat puhelut

Useimmat tarjoajat allekirjoittavat asiakkaidensa puhelut itse. Jos tarjoajasi sallii allekirjoittamisen (tai olet tarjoaja, joka käyttää BitVoicea), käytä Allekirjoita soittajan tunnus -välilehteä trunkissa (Trunkit (luku 7)) ja anna sille STI-varmenne (STI-sertifioinnin myöntäjältä, jossa on palveluntarjoajan kooditunniste) ja sen yksityinen avain (P-256). Jokainen puhelu, joka menee trunkin kautta, sisältää allekirjoitetun Identity-otsikkeen (ES256, kuten SHAKEN vaatii).

Osa 5

BitVoicen suorittaminen

Pitää turvallisuus yllä ja järjestelmä käynnissä: ylläpitäjät ja kirjautuminen, turvallisuus, muutokset ja päivitykset, useat palvelimet, isännöidyt organisaatiot, kooderit, Tiimit, tuonti, automaatio ja virheiden etsintätyökalut.

Luku 57

Järjestelmänvalvojat

Verkkokäyttöliittymässä: /users

Järjestelmänvalvojat ovat henkilöt, jotka kirjaavat sisään tähän web-käyttöliittymään. Henkilöstö, joka vain huolehtii omista puheluistaan, käyttää henkilöstöportaalia sen sijaan ja tarvitsee siten ei tiliä täällä (Henkilöstöportaali (luku 33)).

Roolit

RooliVoivat
Järjestelmänvalvojamuuttaa mitä tahansa, toistaa tallenteita, nähdä jokaisen salaisen kentän olemassaolon (ei koskaan arvoa)
Katselijanähdä kaiken, muuttaa mitään; salaisuudet piilotetaan

Roolin tai salasanan muutos kirjaa henkilön ulos kaikkialta kerran.

Kaksivaiheinen kirjautuminen

Jokainen henkilö ottaa kaksivaiheisen kirjautumisen käyttöön itse: Määritä näyttää avaimen autentikaattoriosoittimeen; avaimen syöttäminen ottaa sen käyttöön. Sen jälkeen kirjautuminen pyytää koodia salasanan lisäksi. Sen poistaminen vaatii salasanan.

Yksinkertainen kirjautuminen

Yksinkertaisella kirjautumisella (Asetukset) henkilöt kirjaavat sisään organisaation tilillä (Microsoft Entra, Google, Okta, mikä tahansa OpenID Connect -palveluntarjoaja), ja tilin luominen tapahtuu ensimmäisellä kerralla. Katso Yksinkertainen kirjautuminen (luku 58).

API-tunnisteet

Ohjelmat (Terraform, skriptit) käyttävät API-tunnisteita salasanan sijaan: ne luodaan täällä, neuvotaan kerran, ja ne voidaan peruuttaa milloin tahansa. Jokainen tunniste on joko järjestelmänvalvoja tai katselija. Tunniste, joka on tehty Nimeää henkilö, jonka puolesta se toimii (CAD:lle), voi lähettää X-BitVoice-On-Behalf-Of -henkilön nimen, ja tallenteet mainitsevat sen henkilön nimen tunnisteen vieressä (112-puhelut (luku 77)).

Luku 58

Yksinkertainen kirjautuminen

Yksinkertainen kirjautuminen sallii henkilöiden kirjautua BitVoiceen heidän työtilillään kautta minkä tahansa OpenID Connect -tarjoajan kautta: Microsoft Entra ID, Google, Okta, Keycloak ja muut. Organisaatiosta poistuminen poistaa heidän pääsynsä myös täältä.

browserIdentity providerEntra, Google, Okta, KeycloakBitVoicereads the groupsAdministratorViewerNot in an allowed group: refused, and noted in the audit log.
Kuva 44. Single sign-on: the work account decides who gets in

Asetukset

Settings (luku 14) -valikossa Yksinkertainen kirjautuminen:

  1. Rekisteröi sovellus tarjoajalle ja anna Ohjaa osoite, joka näkyy täällä.
  2. Täytä tarjoajan tiedot asettaa Myöntäjän yleisimmille; kopioi Asiakas-tunnus ja Asiakas-salaus tarjoajalta.
  3. Nimeä tarjoajan Ylläpitäjäryhmät ja Katsojaryhmät. Ryhmävaatimus on, mihin tarjoaja asettaa ne (groups, ellet muuta).
  4. Vaihtoehtoisesti muuta Painikkeen teksti kirjautumissivulla.
  5. Käytä Yksinkertaista kirjautumista.

Toimintaperiaate

Luku 59

Yrityshanakirja (Active Directory ja LDAP)

BitVoice voi lukea yrityksesi hakemistoa, Active Directorya tai toista LDAP-palvelinta (OpenLDAP, Samba, 389 Directory Server, FreeIPA): ihmiset, joilla on puhelinnumero, muuttuvat laajennuksiksi, hakemiston ryhmät täyttävät soittoalueet, ja ihmiset kirjauduvaat verkkorajapinnan kanssa hakemistosalasanalla. BitVoice vain lukee hakemistoa; se ei koskaan kirjoita siihen.

Yhdistäminen

Settings (luku 14) -valikossa Yrityshanakirja:

  1. Valitse Active Directory tai OpenLDAP tai toinen LDAP-palvelin: se asettaa, mitä attribuutteja luetaan (sAMAccountName tai uid kirjautumisnimeksi, displayName tai cn, mail, telephoneNumber). Muuta niitä tarpeen mukaan.
  2. Palvelin: ldaps://dc1.example.com (portti 636) tai ldap://... Käynnistä TLS -valinnalla. Selkeä LDAP kieltäytyy, ellei palvelin ole tämä tietokone, koska salasana siirtyy verkon yli salaamattomana. Kun palvelimen varmenne tulee omasta varmennevirastosta, liitä virasto Yrityksen varmennevirasto -kohtaan.
  3. Lukutili ja Sen salasana: tili, joka saa lukea henkilöitä ja ryhmiä (reader@example.com Active Directoryssa). Salasana voi olla viittaus salausavainhuoneeseen (Asetukset, Salauseet).
  4. Perus-DN: missä henkilöt ja ryhmät ovat (dc=example,dc=com). Mikä henkilöt rajoittaa niitä LDAP-suodattimella; Active Directoryssa poistetut tilit jätetään aina pois.
  5. Testi kirjautuu lukutilillä ja lukee kaikki ilman muutoksia: se näyttää, montako henkilöä se löysi, montako niistä on numero ja minkä numeron kunkin saisi.

Puhelinnumerot ja soittoryhmät

Kirjautuminen

Ihmiset kirjautuvat täällä hakemistollaan ja salasanalla -valinnalla kirjautumissivu hyväksyy hakemiston nimet ja salasanat sekä BitVoicen omat tilit:

Luku 60

Turvallisuus

Verkkokäyttöliittymässä: /security

Internet-puhelinjärjestelmä hyökätään tunneissa: skannausyrittää salasanoja jokaisella SIP-portilla, ja murtunut järjestelmä aiheuttaa maksullisia puheluita. BitVoice on suunniteltu kestämään tätä oletuksena, kerroksittain.

Trusted networks, bans after failed sign-insStrong SIP passwords, one per extensionTLS for SIP, SRTP for callsTwo-step sign-in, single sign-on, rolesAudit of every change, legal holdsLimits: outside calls, premium numbers, spend
Kuva 45. Layers of protection

Arvaamisen estäminen

Petosten estäminen

Maksupetosvartija

Kytke se päälle Asetukset-valikossa, Maksupetosvartija. Jokainen maanulkopuolinen puhelu (merkinnällä +, 00 tai 011, ja paikat, jotka jakavat +1 Pohjois-Amerikan kanssa, mutta ovat eri maissa, kuten Jamaika, klassinen maksupetoskohde) arvioidaan sitten ennen sen tekoa:

TilanneMitä se tekee
Puhelu ulkomaille maahan, johon tämä laajennus on soittanut viimeisen 90 päivän aikanaantaa sen läpi
Ensimmäinen puhelu maahan 90 päivän aikanaantaa sen läpi ja ilmoittaa siitä
Ensimmäinen puhelu sinne Työaikojen ulkopuolella tai tehty ulkoapäin (dial-in, forward)pyytää PIN-koodia (ilman valintaa, hylkää sen)
Useampi kuin Puhelut ulkomaille 10 minuutissa yhdestä laajennuksestahylkää sen
Ensimmäinen puhelu ulkomaille, kun joku arvailee salasanoja (kolme peräkkäistä epäonnistumista yhdestä osoitteesta tai estoa edellisen tunnin aikana)hylkää sen
Hätänumeroantaa sen aina läpi

Aina sallitut maat (esim. 44) ja Poikkeukset (laajennus, joka on vapautettu päiväksi, matkalle) poistavat "ensimmäisen puhelun" ja "ulkopuolisen"; ne eivät koskaan vapauta useita puheluita lyhyessä ajassa tai hyökkäystä, koska varastettu salasana näyttää hyväksytyltä. Jos puheluhistoriaa ei voida lukea, vartija ei tiedä, onko puhelu ensimmäinen, ja mitä ei mitata, ei koskaan pidetä turvallisena: se pyytää PIN-koodia. Jokainen arviointi on lueteltu Turvallisuus (luku 60) -valikossa syillään, ja se on puhelun tiedoissa Puheluhistoria (luku 47) -valikossa.

Miten BitVoice päättää

BitVoicen tuomarit (maksupetosvartija, trunkin terveyden tuomari, puhelulaadun diagnosointi ja 911-soittajan sijainnin tarkistus) noudattavat jokaista sääntökirjaa: mitattavia tosiasioita, niiden tukemia johtopäätöksiä, poikkeuksia, jotka kumoavat johtopäätöksen, ja valintoja. Miten BitVoice päättää, Turvallisuus (luku 60) -valikossa, näyttää jokaisen sääntökirjan. Säännöt, joita tuomarit noudattavat:

Salaus

Kuka voi tehdä mitä

Luku 61

Muutokset, varmuuskopiot ja tuonti

Verkkokäyttöliittymässä: /changes

Jokainen tallennettu muutos on versio: numeroiden, kuka teki sen, milloin, ja yhden rivin yhteenveto. Mitään konfiguraatiosta ei koskaan menetetä.

1setup2extensions3trunk4menu5restored 2restore revision 2: a new revision 5Compare any two side by side before restoring; nothing is lost.
Kuva 46. Every change is a revision you can compare and undo

Vertailu ja palauttaminen

Vie ja tuo

Samanaikaiset muutokset

Kaksi ylläpitäjää ei voi yhtaikaa muokata samaa asiaa: toinen tallennus evätään viestillä, joka kehottaa lataamaan uudelleen, ja mitään ei menetetä.

Luku 62

Päivitykset

Verkkokäyttöliittymässä: /updates

BitVoice'n päivittäminen on yksi napsautus, ja se on turvallista: se tarkistaa uuden version, asentaa sen vanhan vieressä ja palaa itse vanhaan, jos uusi ei jää käynnissä.

Upload or fetchsigned releaseCheck signaturerefuse a bad oneStart new versioncalls hand overUp for a minute?then it is confirmedit crashed: back to the version before, automatically
Kuva 47. Updates: install, check, and fall back on their own

Päivityksen asentaminen

  1. Lataa uusi julkaisu ja pura se. Ohjelman vieressä on BioDreamin allekirjoitus: bitvoice.sig tai bitvoice.exe.sig Windowsilla.
  2. Päivityksissä (luku 62) lataa ohjelma ja sen .sig -tiedosto.
  3. Paina Asenna. Oletusarvoisesti BitVoice odottaa, kunnes ei ole puheluita käynnissä; voit myös asentaa heti.
  4. BitVoice käynnistyy uudelleen uudella versiolla. Useiden palvelimien kanssa puhelut, jotka ovat käynnissä, siirretään toiselle palvelimelle ja jatkavat.

Paluu

Edellinen versio säilytetään: Palaa palauttaa siihen yhdellä napsautuksella. Uusi versio, joka ei käynnisty kahdesti tai ei jää käynnissä minuutin ajan, korvataan edellisellä itsestään.

Allekirjoitukset

Jokainen julkaisu v0.1.3:sta lähtien kantaa BioDreamin julkaisuavaimen. Tällainen kokoelma asentaa vain ohjelmia, jotka on allekirjoitettu sillä avaimella: allekirjoittamaton tiedosto, toisen allekirjoittama tai yhdellä byyllä muutettu tiedosto hylätään allekirjoitus ei vastaa -virheellä. Sivu kertoo, onko tämä kokoelma tarkistettu (Vaadittu) tai ei.

SuoritatPäivitykset hyväksyy
julkaisun, v0.1.3 tai myöhemmänvain ohjelmia, jotka on allekirjoitettu BioDreamilla
v0.1.2 tai aiemman, tai oman kokoelmanminkä tahansa ohjelman: ilman avainta .sig -tiedostoa ei voida tarkistaa ja se hylätään
Luku 63

Useita palvelimia yhtenä puhelinjärjestelmänä

Verkkokäyttöliittymässä: /servers

Kaksi tai useampi BitVoice-palvelin, jotka jakavat yhden PostgreSQL-tietokannan, toimivat yhtenä puhelinjärjestelmänä:

Server AServer BPostgreSQLcalls crossA shared addressmoves to a running serverPhones register anywherecalls find themA server stopsits calls carry on elsewhere
Kuva 48. Several servers as one phone system

Asetusten määrittäminen

  1. Siirrä ensimmäisen palvelimen tiedot PostgreSQL: n tietokantaan: Asetukset, Tietokanta.
  2. Käynnistä jokainen muu palvelin samalla tietokannalla: bitvoice -database postgres://… (tai BITVOICE_DATABASE-ympäristömuuttuja). Se liittyy heti; Palvelimet -luettelossa näkyy se.
  3. Palvelimet -sivulla tarkista, miten kussakin palvelimessa tavoitetaan (sen osoite ja SIP-portti jaettavassa verkossa), ja anna kullekin palvelimelle nimi. Palvelimet, joilla on jokaisella oma julkisen verkon osoite (pilvipalvelimet, joilla on julkinen IP-osoite, ei jaettu osoite), saavat myös Oman julkisen osoitteen: tarjoajat ja puhelimet ulkopuolella kerrotaan siitä, jotta kun palvelin ottaa puhelun haltuun, tarjoajan ääni seuraa sitä. Jos jätetään tyhjäksi, palvelin käyttää julkista osoitetta Asetuksissa.
  4. Kerro puhelimille, miten ne löytävät palvelimet (alla).
  5. Tarjoajan linjat (alla).

Miten puhelimet löytävät palvelimet. Puhelimet, jotka BitVoice asettaa (Yealink, Polycom, Grandstream), saavat toimivan palvelimen varalle itsenään. Muille, kuten Snomille ja käsin määritetyille puhelimille, käytetään yhtä seuraavista Palvelimet -sivulla:

Tarjoajan linjat. Jokaisessa trunkissa Jaettu palvelimien välillä kertoo, miten:

Kun palvelin loppuu

Palvelimien välillä. Palvelimet tavoittavat toisensa SIP-portin kautta TCP:llä tai TLS:llä, jos niillä on varmenne (kumpikin hyväksyy vain toisen julkaiseman varmenne, ja ääni niiden välillä salataan SRTP:llä), ja lähettävät äänen toistensa media-portteihin (UDP, asetukset). Palvelimien väliset puhelut allekirjoitetaan jaettavalla salasanalla, ja ne hyväksytään vain käynnissä olevilta jäseniltä omilla osoitteillaan. Palomuurin on sallittava näiden porttien läpikulkeminen.

Kokeile ensin: laboratorio. BitVoice sisältää laboratorion, jossa kaksi palvelinta, tietokanta ja testipuhelimet toimivat yhdellä tietokoneella Dockerin avulla, kunkin omalla osoitteellaan: deploy/lab/run.sh up kokoaa ja käynnistää sen ja asettaa jaetun osoitteen; run.sh call soittaa puhelimien välillä eri palvelimilla; run.sh failover tappaa palvelimen, joka välittää puhelun jaetun osoitteen kautta, ja tarkistaa, jatkuuko puhelu (ääni palaa noin viiden sekunnin kuluttua); run.sh impaired soittaa puhelimen huonosta yhteydestä (viive, jitter ja 5% tappio) ja tarkistaa puhelun laadun, jonka BitVoice raportoi; run.sh down poistaa sen. Palvelinten sivut ovat osoitteessa https://127.0.0.1:18501 ja :18502 (käyttäjä admin).

Luku 64

Missä dataa säilytetään (SQLite tai PostgreSQL)

Verkkokäyttöliittymässä: /settings

BitVoice tallentaa asetuksensa ja niiden tallennetut versiot, käyttäjät, yhteystiedot, puheluennätykset, audit-lokin, tekstit, muistiinpanot ja transkriptiot tietokantaan. Tallenteet ja ääniviestit säilytetään äänitiedostoina data-kansiossa.

one serverbitvoice.dbSQLite, the defaultmove, all or nonePostgreSQLone databaseRecordings and voicemail stay as sound files in the data folder.
Kuva 49. Where the data is: one file, or PostgreSQL

Tämän palvelimen oma tiedosto (SQLite, oletus): yksittäinen tiedosto, bitvoice.db data-kansiossa, johon ei tarvitse asentaa mitään. Varmuuskopioi data-kansion ja sinulla on kaikki.

PostgreSQL: useille BitVoice-palvelimille, jotka jakavat yhden tietojoukon, tai raportteja varten työkaluissa kuten Power BI, Grafana tai Metabase. Asetuksissa, Tietokanta, Siirrä data PostgreSQL:hen: luo tyhjä tietokanta ja käyttäjä, joka omistaa sen, syötä osoite (postgres://käyttäjä:salasana@isäntä:5432/tietokanta), paina Testi, sitten Kopioi data ja käynnistä uudelleen PostgreSQL:llä. Kaikki data siirretään kerran (kaikki tai ei mitään) ja BitVoice käynnistyy uudelleen siitä; vanha tiedosto säilyy, missä se oli. Siirtäminen takaisin palvelimen omaan tiedostoon toimii samalla tavalla. Siirrot evätään, kun puheluita on kesken.

Palvelimet, jotka jakavat PostgreSQL-tietokannan, näkevät toistensa asetusten muutokset viiden sekunnin kuluessa. Kunkin palvelimen puhelimet ja puhelut toimivat edelleen; toisen palvelimen ottaminen ensimmäisen palvelimen puhelimien haltuun vaatii, että puhelimet tuntevat kummankin osoitteen (tai yhden osoitteen, joka siirtyy).

Tietokanta voidaan myös nimeää, kun BitVoice käynnistyy, -database postgres://… tai BITVOICE_DATABASE-ympäristömuuttuja; se muutetaan siellä, ei Asetuksissa.

Vanhat asennukset: ensimmäisellä käynnistyskerralla BitVoice kopioi vanhat JSON-tiedostonsa tietokantaan ja siirtää ne pre-database-kansioon data-kansiossa.

Luku 65

Muiden organisaatioiden isäntä

Verkkokäyttöliittymässä: /tenants

Yksi BitVoice voi isännöidä useita organisaatioita. Kunkin organisaation puhelinjärjestelmä on itsenäinen: omat laajennukset, numerot, trunkit, reitit, ylläpitäjät, viestinjärjestelmä, tallenteet ja puheluhistoria. Mikään organisaatio ei voi nähdä toista.

ONE BITVOICE SERVERMain system/own dataAcme Dental/t/acme/own usersRiverside Clinicpbx.riverside.exampleown numbersshared: SIP 5060, IAX2 4569, media portsBy domainpbx.riverside.exampleBy user nameacme.100By trunk and numbera shared provider
Kuva 50. Hosted organisations: one server, separate phone systems

Milloin sitä käytetään

Pääjärjestelmä on myös organisaatio: se, jona tämä palvelin asennettiin.

Organisaation lisääminen

  1. Avaa Organisaatiot (luku 65) ja paina Lisää organisaatio.
  2. Anna sen nimi ja lyhyt nimi (vain pienet kirjaimet, numerot ja viivat). Lyhyt nimi on osa sen verkkotunnusta, /t/acme/, ja sen puhelinten kirjautumistunnusta, acme.100. Sitä ei voi muuttaa myöhemmin.
  3. Anna valinnaisesti sen oma verkkotunnus, kuten pbx.acme.example, joka osoittaa tähän palvelimeen. Puhelimet rekisteröityvät siihen verkkotunnukseen, ja sen ylläpitäjät avaa sen selaimessa.
  4. Määritä sen ensimmäinen ylläpitäjä: käyttäjänimi ja salasana, joka on vähintään 12 merkkiä, ja sen maa.
  5. Määritä valinnaisesti rajoitukset.

Organisaatio alkaa heti tyhjällä puhelinjärjestelmällä, valmiina sen ylläpitäjän asettamaan käyttöön, kuten kuvattu Käynnistäminen (luku 1).

Miten puhelut löytävät oikean organisaation

Pyynnön tyyppimenee
------
puhelimen rekisteröintiin pbx.acme.exampleorganisaatio, jolla on se verkkotunnus
puhelimen kirjautumiseen acme.100Acme, laajennus 100
tarjoajalta, numerolleorganisaatio, jonka trunkista se tulee ja jonka saapuvan reitin numerolla
muupääjärjestelmä

Joten kaksi organisaatiota voi molemmat käyttää laajennusta 100, ja useat voivat jakaa yhden tarjoajan tilin eri numeroin.

Missä sen tiedot ovat

SQLite-tietokannassa kunkin organisaation tiedot ovat omassa kansiossa tenants/-kansiosta, omalla tietokantatiedostollaan. PostgreSQL-tietokannassa kunkin organisaation tiedot ovat omassa skeemassa samassa tietokannassa (tenant_acme). Varakopiot, arkistot ja viennit ovat kunkin organisaation mukaan.

Rajoitukset

RajoitusMitä tapahtuu, kun rajoitus täyttyy
------
Laajennuksetyhden laajennuksen lisääminen epäonnistuu viestillä
Puhelut kerranuudet puhelut epäonnistuvat (503), kunnes yksi loppuu
Tallennustilauudet tallenteet ja viestit eivät säily
Päivittäiset keinoäänetkäännökset, yhteenvetot ja keinoääni vastaanotto loppuvat keskiyön jälkeen UTC-aikaa

Rajoituksen arvo 0 tarkoittaa, että rajoitusta ei ole. Hälytyspuhelut eivät koskaan epäonnistu: organisaatio, joka on puhelurajoituksensa täyttänyt tai joka on keskeytetty, voi silti soittaa 911 ja vastaanottaa puhelun.

Organisaation avaaminen

Avaa kirjaa sinut sisään sen verkkorajapintaan tarjoajana, ilman omaa tiliä; se näkyy sen audit-lokissa tarjoajana. Sen ylläpitäjät kirjaavat sisään sen osoitteeseen omilla tileillään. Kunkin organisaation kirjautumistunniste on oma, joten kirjautuminen yhteen organisaatioon ei kirjaa ketään toiseen.

Organisaatiot eivät koskaan näe tätä palvelimen omia näkymiä: päivityksiä, tietokantaa, muiden palvelimien näkymää, varmenne, SIP-jäljitystä (joka näyttää jokaisen organisaation viestit), puhelugeneraattoria tai tätä luetteloa.

Keskittäminen ja poistaminen

Keskittäminen estää kirjautumiset ja kaikki puhelut paitsi hätäpuhelut; mitään ei poisteta. Poista lopettaa organisaation ja siirtää sen kansion sivuun (tenants/.removed-<name>-<time>), joten virhe voidaan korjata käsin.

Luku 66

Koodaukset ja ääni

Koodaus on tapa, jolla ääni muunnetaan tietokoneen tiedoksi puhelussa. Puhelimet, selaimet ja operaattorit tukkivat kunkin koodauksista; BitVoice muuntaa koodauksia, kun kaksi osapuolta eroaa, joten jokainen voi puhua toisilleen. Kun molemmat osapuolet käyttävät samaa koodausta, ääni kulkee muuttumattomana.

BrowserOpusDesk phoneG.722 HDDECT baseG.726ConvertsG.711 µ-law and A-law · G.722Opus · G.729 · G.726 · GSMonly when the two sides differ:same codec, passed untouchedCarrierG.711Thin linkG.729Old softphoneGSM
Kuva 51. Codecs: each side speaks its own, BitVoice converts in between

Koodaukset

KoodausÄäniKaistanleveysKäytetään
G.722HD (laajakaistainen)64 kbit/suseimmat pöytäpuhelimet: paras valinta niiden välillä
G.711 µ-lawpuhelin64 kbit/sPohjois-Amerikka ja Japani; jokainen operaattori
G.711 A-lawpuhelin64 kbit/smuu maailma
OpusHD, selviää hävikistä24 kbit/sselaimet ja mobiilisovellukset
G.729puhelin, hieman karheampi8 kbit/sohuet yhteydet, jotkut operaattorit
G.726 (40 kbit/s)puhelin; parhaiten välittää modeemitoneja G.726-nopeuksista40 kbit/sportit, jotkut DECT-järjestelmät
G.726 (32 kbit/s)lähes puhelin32 kbit/sDECT-pohjat, vanhemmat portit
G.726 (24 kbit/s)välillä 32 ja 1624 kbit/sjotkut DECT-järjestelmät
G.726 (16 kbit/s)karkea16 kbit/shyvin ohuet yhteydet
AMR-WB (G.722.2)HD6,6–23,85 kbit/smatkapuhelinverkkojen HD-ääni, VoLTE-väliyhteydet
AMRpuhelin, matkapuhelin4,75–12,2 kbit/smatkapuhelinverkot, jotkut operaattorit ja portit
iLBCpuhelin, selviää hävikistä13,3 tai 15,2 kbit/svanhemmat pehmeät puhelimet ja sovellukset
Speexpuhelin15 kbit/s (2,15–24,6)vanhemmat pehmeät puhelimet, yhteydet muihin Asterisk-järjestelmiin
GSMkarkeampi13 kbit/svanhemmat pehmeät puhelimet ja portit
G.723.1karkea; muunnettu vain ffmpeg:llä5,3 tai 6,3 kbit/shyvin vanhat videopuhelimet ja portit
G.722.1 (Siren 7)laajakaistainen, välitetään muuttumattomana24 tai 32 kbit/sPolycom-puhelimet, videopuhelimet ja konferenssipuhelimet
G.722.1C (Siren 14)superlaajakaistainen, välitetään muuttumattomana24–48 kbit/skonferenssipuhelimet, kokousjärjestelmät
G.719täyskaistainen, välitetään muuttumattomana32–128 kbit/stelepresenssikokousjärjestelmät
Codec2hyvin matala kaistanleveys, välitetään muuttumattomana0,7–3,2 kbit/sradiolinkit, amatööriradioliikenneportit

Asetukset listaa koodaukset, joita puhelimet voivat käyttää, parhaat ensin; jokaisella trunkilla voi olla oma lista. Analogisen sovittimen portit käyttävät aina G.711:ää, jota faksit, modeemit ja hälytyspaneeleiden tarvitsevat.

G.722.1, G.722.1C, G.719 ja Codec2 välitetään muuttumattomana kahden osapuolen välillä, jotka molemmat käyttävät niitä, niiden bittinopeuden tai tilan säilyttäen tarjouksessa (BitVoice ei muunna niitä, joten puhelu yhden näistä ja puhelimen välillä, jolla ei ole sitä, käyttää toista koodausta, jonka molemmat osapuolet osaavat). Laita ne listaan G.711:n yläpuolelle, jossa kokousjärjestelmien ja konferenssipuhelimien äänialan tulisi säilyä, kun ne puhuvat toisilleen. Listat nimittävät G.722.1:ä 32 kHz G7221C:ksi, vaikka SDP kutsuu molempia G7221:ksi.

G.723.1 välitetään muuttumattomana kahden osapuolen välillä, jotka molemmat käyttävät sitä. Anna G.723.1-laite puhua minkä tahansa muun laitteen kanssa, käytä Muunna G.723.1 ffmpeg:llä -vaihtoehtoa Asetuksissa ja asenna ffmpeg (apt install ffmpeg, brew install ffmpeg): BitVoice suorittaa ffmpeg:n erillisenä ohjelmana kullekin suunnalle, joka tarvitsee muunnosta (kuullaan kummassakin nopeudessa, lähetetään 6,3 kbit/s:n nopeudella, jonka ffmpeg:n kooderi tekee), noin 60 ms myöhemmin kuin muut koodaukset, ja lopettaa sen muutaman sekunnin kuluttua puhelun päättymisen jälkeen. BitVoice ei sisällä G.723.1-koodia: ITU:n viitekoodi ei sisällä lupaa, joka sallisi sen sisällyttämisen, ja ffmpeg asennetaan ja suoritetaan erikseen.

Mitä muunnos maksaa

Muunnos vie prosessoriaikaa vain puheluilla, joilla kaksi puolta poikkeavat. Puhelua kohden noin 0,3 ms yhden ydin 20 ms:lle Opusille ja 0,12 ms G.729:lle (jotkut 60 ja 170 muunnettuja puhelua yhtä ydintä kohden); G.726 ja GSM maksavat vähemmän kuin G.729; G.711 ja G.722 melkein mitään. G.729 lähetetään ilman liitettä B (ei hiljaisuuskehyksiä).

Äänen puhdistus

Äänen puhdistus (Asetukset) vaimentaa tasaisen taustamelun ja tasoittaa tasot, viestilaatikolle ja, jos haluat, puhelun aikana.

Luku 67

Microsoft Teams (Direct Routing)

Verkkokäyttöliittymässä: /trunks

BitVoice voidaan olla istunnon reunaohjain (SBC) Microsoft Teams -vuokralaiselle, jotta Teams-käyttäjät voivat soittaa BitVoice-laajennuksia ja puhelinlinjoja, ja BitVoice soittaa Teams-käyttäjiä.

Teams usersapp and Teams phonesMicrosoftTLS 5061SRTPBitVoice (SBC)CarriersDesk phonesNeeds: this server’s public name, a certificate for it, and the PowerShell BitVoice shows.
Kuva 52. Microsoft Teams Direct Routing: BitVoice is the SBC

Mitä tarvitset: julkisen nimen tälle palvelimelle verkkotunnuksessa, jonka Microsoft 365 -vuokralaisesi on vahvistanut (sbc.esimerkki.com), avoin portti 5061 molempiin suuntiin Microsoftin verkkoihin 52.112.0.0/14 ja 52.120.0.0/14, ja varmenne kyseiselle nimelle julkiselta viranomaiselta. Teams-käyttäjien tarvitsee puhelinjärjestelmän lisenssi.

Vaiheet

  1. Asetukset, Varmenne: asenna varmenne ja sen yksityinen avain (PEM). Sitä käytetään heti, tähän rajapintaan ja SIP-yhteyksiin TLS:än kautta, ja BitVoice esittää sen Microsoftille.
  2. Trunkit, Lisää, aloita Microsoft Teams: syötä palvelimen julkisen nimen. Vetolaatikko kertoo, onko varmenne voimassa.
  3. Kopioi PowerShell-komento, jonka vetolaatikko näyttää, ja suorita se Teams-järjestelmänvalvojana: se lisää SBC:n (New-CsOnlinePSTNGateway), äänireitin ja käytännön, ja numerosuunnitelman, jotta lyhyet laajennusnumerot saapuvat BitVoiceiin niin kuin ne on näppäilty; sitten anna kullekin Teams-käyttäjälle käytäntö ja heidän numeronsa.
  4. Soittaaksesi Teams-käyttäjiä BitVoicesta, lisää lähtevä reitti heidän numeroilleen Teams-trunkin kautta. Teams löytää käyttäjiään vain numeroilla, joissa on + ja maakoodi: jos ihmiset näppäilevät niitä ilman, lisää + ja maakoodi reitin Esilaita-kenttään (puhelun syy-ura kertoo sen, kun yksi menee ulos ilman)

Kun Teams-käyttäjä siirtää puhelun, Microsoft pyytää BitVoicea asettamaan sen (REFER, jossa on oma välittäjä, numerolla tai Teams-käyttäjän ID:llä): BitVoice soittaa takaisin täsmälleen sen, mitä Microsoft nimesi, Referred-By-kentän arvolla, jota Microsoft antoi, joten siirto toiseen Teams-käyttäjään toimii yhtä hyvin kuin siirto puhelinnumeroon. BitVoice ei lähetä koskaan Teamsille Replaces-otsikkoa, jota Microsoft hylkää.

BitVoice lähettää Microsoftille OPTIONS-kyselyjä joka minuutti, joissa on SBC-nimi Contact-kentässä, kuten Microsoft vaatii, ja yrittää sip, sip2 ja sip3.pstnhub.microsoft.com -osoitteita vuorotellen. Media on aina salattu (SRTP). Terveys varoittaa, kun varmenne ei kata nimeä, on itse allekirjoitettu tai päättyy pian, ja kun Microsoft lopettaa vastaamisen.

Tämä noudattaa Microsoftin julkaisemia SBC-vaatimuksia ja on testattu simuloituun Microsoft-välittäjään; BitVoice ei ole Microsoftin luettelossa sertifioituja SBC:itä.

Luku 68

Tuo

Verkkokäyttöliittymässä: /import

Tuo laajennukset, soittoalueet, jonot ja trunkit yli FreePBX:stä, Asteriskista tai 3CX:stä; ja henkilöt, metsästys- ja soittoalueet, SIP-trunkit, saapuvat numerot ja numeromallit Cisco, Avaya ja Mitel. Lataa viennit, useita kerralla (myös .zip- tai .tar-pakkaus toimii); BitVoice näyttää tarkalleen, mitä muutoksia tapahtuu ennen kuin mitään sovelletaan, ja tuonti muodostuu revision, jonka voit perua Muutokset (luku 61)-sivulla.

FreePBX, Asterisk3CXCisco, Avaya, MitelPreviewwhat would changeApplyone revisionUndoSeveral files at once, or a .zip or .tar of them.
Kuva 53. Import: another system’s export, previewed before anything changes

Siirtyminen FreePBX:stä

Paras tiedosto on FreePBX-väylä: se sisältää kaiken, myös SIP-salasanat.

  1. FreePBX:ssä: Admin → Varmuuskopio ja palautus → Lisää varmuuskopio. Valitse vähintään Core, Soittoryhmät, Jonot ja Ääniviestit (kaikki moduulit on ok), tallenna ja Suorita.
  2. Lataa varmuuskopio riviltä (tiedoston nimi on esim. 20261001-100000-1790000000-17.0.19-1234567.tar.gz).
  3. Asenna BitVoice uudelle palvelimelle ja tee asennus valmiiksi yhdellä FreePBX:n käyttämättömällä laajennuksella (esim. 199) ja ilman puhelinlinjoja: tuonti tuo linjat mukanaan.
  4. Tuonti (luku 68)-sivulla pudota .tar.gz-tiedosto sellaisenaan. Lue esikatselu: varoitusluettelossa on kaikki, mitä ei voida tuoda.
  5. Valitse Lisää. Se on yksi versio Muutokset (luku 61)-sivulla: peru se sieltä, jos jotain näyttää väärältä, ja tuonti uudelleen.
  6. Siirrä puhelimet: osoita kunkin BitVoiceen (tai määritä ne Puhelimet (luku 4)-sivulta), samalla laajennusnumerolla ja SIP-salasanalla, joita ne aiemmin käyttivät.
  7. Testaa puheluita sisään ja ulos, ja siirrä viimeiseksi operaattorin rekisteröinti (tai numeron siirto).

Kokeiltu oikealla järjestelmällä: FreePBX 17.0.33 (virallinen Debian 12 -asennus) neljällä laajennuksella ja vastapuhelulla, PJSIP-trunkilla, joka rekisteröityy, kahdella ulospäin menevällä reitillä (yksi esivalinnalla), soittoalueella, jonossa, jossa on rangaistukset ja kolme DIDIä, varmuuskopioitu Varmuuskopio ja palautus -toiminnolla, jossa on valittu kaikki moduulit. Varmuuskopio on 70 Mt, lähes kaikki äänitiedostoja ja puheluhistoriaa: BitVoice lukee sen, kun se tulee, ja pitää ainoastaan määritykset, joten varmuuskopion koko voi olla enintään 512 Mt. Kaikki yllä mainittu tuli mukana: salasanat, vastapuhelun PIN-koodit ja sähköposti, trunkin rekisteröinti ja koodaukset, reitit esivalinnoilla, soittoalueen vastapuhelu, kun se ei vastaa, jonon rangaistukset ja DIDI:t ryhmään, jonoon ja laajennukseen, laajennukseen.

Mitä tulee mukana:

What does not, and is said in the preview: IVRs, time conditions, announcements, follow-me, custom trunks and contexts, caller-ID matching on routes, and outside numbers in ring groups. Build those on Menus (luku 21), Schedules (luku 26) and the extension's Follow me. Older backups (FreePBX 13 and before) and a plain mysqldump asterisk of the FreePBX database are read the same way.

Muut järjestelmät

Jokainen vienti on:

Ryhmät ja reitit. Lataa ne yhdessä henkilöstötiedoston kanssa, jotta jokaisen ryhmän jäsenet voidaan löytää numeron tai nimen perusteella:

Nämä vientitulokset tulevat pois kytkettyinä ja ilman salasanoja, koska vienti ei sisällä niitä. Reitit menevät ulos tuodun saman nimisen trunkin kautta; reitti, jonka trunkia ei ole täällä, jää pois ja ilmoitetaan. Kierron ja pisimmän odottelun soitto on lähempänä jonotuskuin soitto-ryhmää: esikatselu kertoo siitä, jotta voit tehdä siitä jonotuskuin.

Nämä vientitiedostot (kaikki paitsi FreePBX-varamuisti) eivät sisällä SIP-salasanoja, joten kullekin laajennukselle annetaan uusi salasana; viestilaatikkojen PIN-koodit, nimet ja sähköpostiosoitteet tulevat yli, kun vienti sisältää ne. Cisco-, Avaya H.323/DCP- ja Mitel-puhelimet suorittavat valmistajansa ohjelmistoa eivätkä voida asettaa BitVoice-konfiguraatioksi: tuonti kertoo, kuinka monta niitä luettiin. Cisco-puhelimet voidaan päivittää Cisco:n monialustan (SIP) ohjelmistolla; Avaya J100- ja Mitel 6800/6900-puhelimet voivat rekisteröityä BitVoiceen käsin SIP-tilassa.

Luku 69

Konfiguraatio koodina

Kaikki, mitä näytöt tekevät, menevät BitVoice'n REST API:n kautta, joten mitä tahansa voidaan skriptata, pitää Gitissä tai hallita Terraformilla. API on kuvattu työkaluille osoitteessa /api/openapi.json (/api/openapi.json).

Terraform, OpenTofuScripts, CIA Git repositoryREST APIBearer bv_…BitVoicethe same calls as the screens
Kuva 54. Configuration as code: the API, Terraform and Git

API-tunnukset

Luo Ylläpitäjät (luku 57): yksi ohjelmaa kohden, vain luku- tai muokkausoikeudet. Lähetä se muodossa Authorization: Bearer bv_.... Se näytetään kerran; peruuta se, kun se ei ole enää tarpeen. Tunnisteen muutokset näkyvät Muutoksissa ja audit-lokissa sen nimen alla.

curl -H "Authorization: Bearer bv_..." https://pbx.example.com/api/extensions

Terraform tai OpenTofu

Repositoryn deploy/terraform näyttää laajennukset, soittoalueet ja reitit, jotka hallitaan yleisellä REST-toimittajalla: suunnitelma näyttää, mitä muutoksia tehtäisiin, ja soveltaminen tekee muutoksen. Toimittaja tarkistaa BitVoice'n varmenne; kun BitVoice vielä käyttää omaa itse allekirjoitettua varmennetta, hae se joko Let's Encryptistä (Asetukset, Varmenne) tai aseta bitvoice_insecure = true luotettavalle verkkoon (Linuxilla SSL_CERT_FILE osoittaa BitVoice'n varmennetta). Resurssit ovat vastakkain id:n mukaan, jonka BitVoice antaa niille, joten toinen suunnitelma ei näytä muutoksia, kunnes tiedosto tai näytöt muuttavat jotain.

Konfiguraatio Gitistä

Asetuksissa (luku 14) Konfiguraatio Gitistä BitVoice lukee konfiguraation tiedostosta repositorysta joka muutaman minuutin välein ja joko näyttää, mitä poikkeaa, tai tekee muutokset. Aloita tiedosto Vie Gitille, joka jättää salasanat pois; BitVoice pitää omat salasanat, joten salaisuudet eivät mene koskaan repositoryyn.

Luku 70

Asterisk-yhteensopivuus (AMI, ARI ja AGI)

Asteriskille kirjoitettuja työkaluja voidaan käyttää BitVoicen hallintaan: CRM, seinätaulut, klikkaa-puhelu-napit, puhelun tallentajien ohjaimet. Käytä sitä Settings (luku 14) -valikossa, Asterisk-yhteensopivuus. Työkalut näkevät puhelut kanavina, joilla on nimet kuten PJSIP/100-..., kuten Asteriskissa.

Click to dialOriginateWallboardQueueStatus, eventsAMI · TCP 5038ARI · /ari/BitVoicePJSIP/100-…PJSIP/102-…Logins are read only unless marked Can change calls.
Kuva 55. Asterisk compatibility: tools written for Asterisk drive BitVoice

AMI

Hallintaliittymä TCP-portissa 5038 (AMI kuuntelee: oletuksena vain tämä tietokone). Tuettu:

TyyppiNimet
ToiminnotKirjaudu (selkeä tai MD5-haaste), Ping, Tapahtumat, Suodatin, ListCommands, CoreShowChannels, Status, CoreStatus, CoreSettings, PJSIPShowEndpoints, ExtensionState, ExtensionStateList, DeviceStateList, Getvar, Originate, Redirect, BlindTransfer, Hangup, Logoff
JonotQueueStatus, QueueSummary, QueuePause, QueueAdd ja QueueRemove (ne merkitsevät agentin kaikkiin jonoihin tai poistavat sieltä), Agents
MuutParkedCalls; ConfbridgeListRooms, ConfbridgeList, ConfbridgeKick, ConfbridgeMute, ConfbridgeUnmute, ConfbridgeLock, ConfbridgeUnlock; MailboxCount, MailboxStatus; PauseMonitor, UnpauseMonitor; UserEvent; Reload (ei mitään uudelleen ladata: muutokset tulevat voimaan heti)
TapahtumatNewchannel, Newstate, Hangup, DialBegin, DialEnd, Hold, Unhold, PeerStatus, ContactStatus, MessageWaiting, ConfbridgeJoin, ConfbridgeLeave, ConfbridgeEnd, UserEvent

Suodatin pitää vain tapahtumat, jotka vastaavat säännöllistä lauseketta (Event: Newchannel), tai hylkää ne !-merkillä ensin, kuten Asteriskissa. Asteriskissa ei ole komentoriviä: Komento vastaa virheellä.

ARI

Osoitteessa /ari/, perusautentikaatiolla tai ?api_key=user:secret:

PyynnöMitä se tekee
GET /ari/channelsmeneillään olevat puhelut
POST /ari/channels?endpoint=PJSIP/100&extension=5551234soita 100, sitten soita numero
DELETE /ari/channels/{id}lopeta puhelu
POST /ari/channels/{id}/redirect?endpoint=PJSIP/102siirrä puhelu 102:lle
/ari/endpoints, /ari/bridges, /ari/asterisk/infopuhelimet, sillat, versio
/ari/eventsWebSocket-tapahtumista
POST /ari/channels/externalMedia?external_host=host:port&encapsulation=rtp&format=ulawkanava, joka lähettää ääntä ohjelmalle RTP:llä (ulaw tai alaw yli UDP); paikallinen portti on kanavan UNICASTRTP_LOCAL_PORT-muuttujassa
POST /ari/channels/externalMedia?external_host=host:port&encapsulation=audiosocket&transport=tcp&format=slin&data=<uuid>sama AudioSocketilla
POST /ari/bridges/{call}/addChannel?channel={id}ulkoinen media-kanava liittyy puheluun: se kuulee molempia osapuolia ja molemmat kuulevat sen; role=listener-ominaisuudella kukaan ei kuule sitä (live-transkriptiota varten)
POST /ari/bridges/{call}/removeChannel?channel={id}se poistuu puhelusta; kaksi osapuolta puhuvat suoraan jälleen

Ulkoinen media-kanava, jota ei ole lisätty puheluun minuutin kuluessa, suljetaan.

ARI-sovellukset

ARI-sovellus (Asteriskin Stasis()) ajaa puheluita omasta ohjelmastasi. Lisää se ARI-sovellukset-kohtaan Asetuksissa, Asterisk-yhteensopivuus: nimi, valinnainen numero-laajennus, jota sovelletaan, ja väli-sovellus. Sitten lähetä puhelut siihen kohdistimen, valikonavan, aikataulun kautta.

Ohjelmasi muodostaa yhteyden osoitteeseen /ari/events?app=NAME (WebSocket, kirjautumisella ?api_key=user:secret). Jokainen sovellukseen tuleva puhelu vastaanotetaan ja saapuu StasisStart-tapahtumana, kanavalla; ohjelma ajaa sen sitten:

PyynnöMitä se tekee
POST /ari/channels/{id}/play?media=sound:goodbye,digits:42toistaa äänet Soundsista (sound:), digits:, number:, tone:beep tai tallennetun äänitallenteen (recording:); PlaybackStarted ja PlaybackFinished seuraavat. DELETE /ari/playbacks/{id} lopettaa sen.
POST /ari/channels/{id}/record?name=msg1&maxDurationSeconds=60&maxSilenceSeconds=5&beep=true&terminateOn=%23tallentaa (wav) tallennettuihin äänitallenteisiin; RecordingStarted ja RecordingFinished. POST /ari/recordings/live/{name}/stop lopettaa sen, DELETE hylkää sen.
GET /ari/recordings/stored, .../{name}, .../{name}/file, DELETE .../{name}tallennetut äänitallenteet
POST /ari/channels/{id}/dtmf?dtmf=123lähettää näppäimistönäppäimiä soittajalle
GET/POST /ari/channels/{id}/variable?variable=X&value=Ykanavan muuttujat
POST /ari/bridges?bridgeId=room1, .../addChannel?channel=a,b, .../removeChannel, .../play, DELETEsekoittaa sillat: jokainen siinä kuulee toisensa
POST /ari/channels/{id}/continue?extension=101antaa puhelun periksi: sille laajennukselle, soitto- tai jonoryhmälle, muuten väli-sovellukselle
DELETE /ari/channels/{id}lopettaa puhelun
POST /ari/channels?endpoint=PJSIP/101&app=NAMEsoittaa 101; vastattuna se menee sovellukseen
GET /ari/applicationssovellukset, onko ohjelma yhdistetty, ja niiden kanavat
POST /ari/channels/{id}/mute?direction=in, DELETE .../muteestää soittajan puhetta (in), mitä hän kuulee (out) tai molemmat
POST/DELETE /ari/channels/{id}/hold, .../moh, POST .../silencepidä musiikkia soittajalle (ChannelHold, ChannelUnhold), tai hiljaisuus
GET/POST /ari/channels/{id}/variablesuseita muuttujia kerran (ChannelVarset)
POST /ari/channels/{id}/move?app=othersiirtää kanavan toiseen sovellukseen (StasisEnd, sitten StasisStart siinä; ApplicationMoveFailed kun ohjelmaa ei ajeta)
POST /ari/channels/{id}/snoop?spy=in&app=NAMEkuuntelukanava sovelluksessa, joka kuulee mitä soittaja sanoo, tallentamaan sen (POST /ari/channels/{snoop}/record)
POST /ari/channels/create?endpoint=PJSIP/101&app=NAME, sitten POST .../dialkanava, joka odottaa, kunnes se soitetaan; Dial-tapahtumat kertovat, miten soitto etenee, ja se menee sovellukseen, kun se on vastattu
GET /ari/channels/{id}/rtp_statisticslähetetyt ja vastaanotetut paketit ja tavut, pakettihäviö ja jitter
POST /ari/playbacks/{id}/control?operation=pausekeskeytä, jatka, aloita alusta, käännä ja siirry eteenpäin (kolme sekuntia)
POST /ari/bridges/{id}/moh, .../record, .../variable, .../play/{playbackId}pidä musiikkia sillalle, tallenna sen sekoituksen, sen muuttujat
POST /ari/recordings/stored/{name}/copy, POST/DELETE /ari/recordings/live/{name}/pause, .../mutekopioi tallennuksen; keskeytä tai estä live-tallennus
POST /ari/applications/{app}/subscription?eventSource=deviceState:Custom:lamp, PUT .../eventFiltertilaukset (kanava:, silta:, päätepiste:PJSIP/100, laitteenTila:) ja tapahtumien suodattimet ({"disallowed": [{"type": "ChannelVarset"}]})
GET /ari/deviceStates, PUT /ari/deviceStates/Custom:lamp?deviceState=INUSEpuhelimien tilat (PJSIP/100: NOT_INUSE, INUSE, RINGING, UNAVAILABLE) ja mukautetut tilat, joita ohjelmat ylläpitävät (DeviceStateChanged); puhelimen tila saapuu myös EndpointStateChange-tapahtumana
GET /ari/mailboxes, PUT /ari/mailboxes/{name}?newMessages=1&oldMessages=0laajennusten viestien määrät (100@default), ja postilaatikot, joita ohjelma ylläpitää itse
GET /ari/soundsSoundsin äänet, niiden äänittämiskielissä, ja äänet, jotka on ladattu AGI-skriptejä varten
PUT /ari/endpoints/sendMessage?to=pjsip:100&body=Hiteksti laajennuksen 100 puhelimille
POST /ari/events/user/{name}?application=NAMEkäyttäjätapahtuma sovellukselle (ChannelUserevent)
GET /ari/asterisk/ping, GET/POST /ari/asterisk/variable, GET /ari/asterisk/modulesping, globaalit muuttujat, ja BitVoice-osat, nimetyt moduulien mukaan, joita ne edustavat

BitVoice vastaa jokaiseen Asteriskin julkaisemaan ARI-kutsuun (sen testisarja kutsuu kunkin niistä ja tarkistaa, mitä takaisin tulee, ja tarkistaa, että siinä on Asteriskin kuvausvaatimusten mukaiset kentät). Joillakin niistä ei ole täällä mitään tekemistä, ja ne vastaavat 501 syystä: lataukset moduulit (BitVoice on yksi ohjelma), Sorceryn dynaaminen konfiguraatio (BitVoice on määritelty sen verkkokäyttöliittymässä), lokikanavat, siltojen videosyötöt (ARI-sillat kantavat ääntä), puhelinten REFER-lähetys ja broadcast-puhelujen väittäminen. Kuuntelija kuulee vain soittajan (spy=in), ja whisperia ei tarjota: siltaa kanava heidän kanssaan puhuaksesi heille. Kaikkien puhelujen kanava-tapahtumat (ChannelCreated, ChannelStateChange, ChannelDestroyed) menevät jokaiselle ohjelmalle, kuten Asteriskin subscribeAll=true. ARI-kirjastot, jotka lukevat rajapinnan palvelimelta (ari-client ja muut), löytävät sen osoitteesta /ari/api-docs/resources.json. Mikä ohjelma pitää nyt, ARI-sovellusten alla Asetuksissa, näyttää sovellukset, mukautetut laitteen tilat, postilaatikot, globaalit muuttujat ja sillat, joita ohjelmat ovat asettaneet.

Näppäimistön näppäinten painallukset saapuvat ChannelDtmfReceived-muodossa; puhelimen lopettaminen StasisEnd-muodossa. Kun ohjelmaa ei ole liitetty, puhelu menee oletusarvoon; kun ohjelman viimeinen yhteys sulkeutuu, sen puhelut menevät sinne myös viiden sekunnin kuluttua (yhteyden uudelleenmuodostamiseen). Ohjelmatta logiikkaa varten käytä Skriptejä (luku 27), jotka suorittavat koko puhelun; äänen siirtämiseksi ohjelmalle, Ääniboteja (luku 24).

AGI-skriptit

AGI-skripti (Asteriskin AGI() ja EAGI()) suorittaa puhelutoimintoja yksitellen, joten Asteriskille kirjoitetut IVR:t ja integraatiot (phpagi, pyst2, Asterisk-Java, mikä tahansa FastAGI-palvelin) toimivat edelleen. Lisää se AGI-skripteihin Asetuksissa, Asterisk-yhteensopivuus:

KenttäMitä se on
Skriptin nimimihin kohteet viittaavat
OsoiteFastAGI-palvelin, agi://host:4573/script?x=1 (portti 4573, jos sitä ei anneta), hagi://domain/script palvelimille, jotka ovat domainin _agi._tcp SRV-tunnuksissa, yritetään prioriteettijärjestyksessä, tai ohjelman nimi AGI-ohjelmat -kansiossa
Argumentitvälitetään agi_arg_1, agi_arg_2 …
Numero, jolla skriptiä kutsutaanvalinnainen: puhelinnumerot soittavat sen kuten minkä tahansa numeron
Vaihtoehtomihin puhelu menee, kun skripti loppuu ilman numeron valintaa tai kun sitä ei voida tavoittaa
Pisin suoritusskripti, joka kestää pidempään, keskeytetään (oletuksena tunti)
EAGIohjelmalle: soittajan ääni (8 kHz, allekirjoitettu 16-bittinen, little-endian) tiedostodeskriptorilla 3. Linux ja macOS

Testi yhdistää palvelimeen (tai tarkistaa, onko ohjelma siellä ja suoritettavissa) ilman puhelun lähettämistä. Lähetä sitten puhelut sille kuin mihin tahansa kohteeseen.

BitVoice vastaa puheluun, lähettää agi_-muuttujat (agi_network_script, agi_callerid, agi_dnid, agi_extension, agi_language …) ja suorittaa komennot, vastaten Asterisk 20:n tavoin (testisarja vertaa jokaista vastausta Asteriskin nauhoitettuun vastaukseen):

KomennotHuomautukset
ANSWER, HANGUP, CHANNEL STATUS, NOOP, VERBOSEHANGUP kanavanimellä vain lopettaa skriptin oman puhelun
STREAM FILE, CONTROL STREAM FILE, GET OPTION, GET DATA, WAIT FOR DIGITpakolliset näppäimet, näyteoffsetit ja loppusijainti Asteriskin tavoin; nopeutus, rewind ja pausa CONTROL STREAM FILE:ssa
SAY DIGITS, SAY NUMBER, SAY ALPHA, SAY PHONETIC, SAY DATE, SAY TIME, SAY DATETIMEpuhepalvelun kanssa Asetuksissa, AI ne lausutaan; ilman, numerot lausutaan Äänistä
RECORD FILEs=N hiljaisuus, äänimerkki, pakolliset näppäimet; tiedosto päätyy äänikirjastoon
SET VARIABLE, GET VARIABLE, GET FULL VARIABLECALLERID(num), CALLERID(name), EXTEN, UNIQUEID, CHANNEL … ja ${NAME}-ilmaukset
DATABASE GET, PUT, DEL, DELTREEAsteriskin tietokanta (AstDB), jota BitVoice ylläpitää ja näyttää AGI-tietokanta-kohdassa
SET CALLERID, SET EXTENSION, SET CONTEXT, SET PRIORITY, SET AUTOHANGUP, SET MUSICSET EXTENSION on, mihin puhelu menee, kun skripti loppuu
SPEECH CREATE … SPEECH RECOGNIZEkäyttää Asetuksissa määriteltyä puheentunnistusta: tuloksena on, mitä soittaja sanoi, text0:a varten, jonka skripti vertaa; kieliopit hyväksytään eivätkä käytetä
EXECVastaa, Lopeta, Toista, Tausta, Lue, Aseta, MSet, SayDigits, SayNumber, SayAlpha, Odota, Soita (soittaa kunkin numeron vuorotellen; DIALSTATUS), Mene, Ääniviesti, Jono, MusiikkiOdota, Nauhoita, EiMitään, Verbose, Kirjaa. Muut vastaavat -2, kuten Asterisk tekee puuttuvan sovelluksen kohdalla

BitVoicella ei ole laajennusohjelmaa: mihin skripti menisi Asteriskin laajennusohjelmassa (SET EXTENSION, EXEC Goto), sinne puhelu menee, kun skripti loppuu (laajennus, soittoryhmä, jono, valikko tai ulkoinen numero ulosmenorakenteiden kautta). Skriptit eivät koskaan soita hätänumeroita. Kun soittaja lopettaa puhelun, FastAGI-skripti saa HANGUP:n ja ohjelma SIGHUP:n; vain sille kanavalle sallitut komennot suoritetaan (511 muille), ja yhteys sulkeutuu 30 sekunnin kuluttua, jos skripti jatkuu. Kunkin suorituksen näytetään Viimeisimmät suoritukset alla VERBOSE-rivit, ja se menee tapahtumavirran mukana agi.ran:na.

Sounds for AGI scripts. Scripts play sounds by the names they use on Asterisk: upload them under Sounds for AGI scripts with a folder (custom/welcome; es/custom/welcome for callers in Spanish). WAV, MP3 and Asterisk's .gsm, .ulaw, .alaw, .sln and .sln16 are taken; a path like /var/lib/asterisk/sounds/en/custom/welcome.gsm finds custom/welcome. Asterisk's digits/0–digits/9, beep, silence/N and a few others (vm-goodbye, invalid, please-hold) play BitVoice's own prompts and tones. What scripts record is kept in the same library, marked recorded by a script, for the days you choose (30 by default). The library holds up to 1 GB.

Ohjelmat. Ohjelma suoritetaan tämän palvelimen oikeuksilla BitVoicen kanssa, joten se ei koskaan ladata verkon kautta: kopioi se AGI-ohjelmat -kansioon, joka näkyy ruudulla (DATA/agi-bin) ja tee siitä suoritettava. Se saa vain PATH ja AST_AGI_DIR ympäristöstä, suoritetaan kyseisessä kansiossa, ja mitä se kirjoittaa virheen normaaliin ulostuloon, menee palvelimen lokitiedostoon. FastAGI lähettää komennot selkeässä TCP:ssä: pidä palvelin tässä tietokoneessa tai yksityisverkossa.

Kirjautumiset

Jokaisella kirjautumisella on Käyttäjänimi ja Salasana. Kirjautumiset ovat vain luku -tilassa, ellei niitä ole merkitty Voivat muuttaa puheluita. Pidä AMI tässä tietokoneessa, ellei työkalu suorita muualla: AMI on selkeä, salaamaton TCP.

Luku 71

Älyavustajat (MCP)

Älyavustaja, kuten Claude, ChatGPT, Gemini tai Cursor, voi käyttää BitVoicea Model Context Protocolin (MCP) kautta, joka on standarditapa, jolla avustajat tavoittavat muita ohjelmia. Kysy sitä yksinkertaisilla sanoilla: kuka soitti aamulla ja vastasiko kukaan heille, mitä soittaja hammaslääkärin toimistosta sanoi, miksi kello 9 aikaan soitto meni vastaajaan, onko tarjoajan linja alhaalla. Luvallasi se voi myös tehdä puhelun, lähettää tekstiviestin tai lopettaa puhelun.

BitVoice on MCP-palvelin, osoitteessa https://YOUR-SERVER/mcp (Streamable HTTP; osoite näkyy Asetuksissa). Mitään ei lähetetä mihinkään älypalveluun, ellet ole liittänyt avustajaa, joka pyytää tietoja, ja silloinkin vain sitä, mitä se on pyytänyt.

Käynnistäminen

**Asetukset** (luku 14), AI-apuvälineet (MCP):

Kortti näyttää osoitteen ja valmiin asetusten kopioinnin yleisimmille avustajille ja luetellaan kaikki työkalut.

Mitä avustaja voi tehdä

Lukeminen (mikä tahansa tunniste):

Toiminta (Anna apulaisille toimia, ja tokeni, joka voi muuttaa asioita):

Jokainen työkalu on yksi API:n omista reiteistä, suoritettuna apulaisena: se näkee ja muuttaa täsmälleen sen, mitä sen tokeni saa, ja samat tarkastukset pätevät, ja sen muutokset ovat audit-lokissa sen nimissä. Vastaus on noin 60 000 merkkiä; apulaiselle kerrotaan kapeampi hakusana, kun yksi leikataan.

Liittäminen apulaiseen

Apulaiset, jotka kirjauduva (Claude.ai ja ChatGPT mukautetut liittimet ja muut): lisää liittin BitVoicen osoitteella. Apulainen avaa BitVoicen kirjautumissivun selaimessasi; kirjaudu sisään normaalisti (salasana, kaksivaiheinen, yksittäinen kirjautuminen), ja sivu kertoo, kuka apulainen pyytää ja minne se palautuu. Hallinnoija voi antaa sille toimia tai Vain lukea; katsojan apulainen lukee vain. Älä salli lähettää sen pois ilman mitään. Sen pääsy on sitten Hallinnoijat (luku 57), API-tunnisteet, AI-apulainen, kirjautunut: se toimii vain /mcp:ssa, ei koskaan muussa API:ssa, kestää tunti kerrallaan ja uusii itsensä enintään 30 päivän ajaksi, jos sitä ei käytetä. Peruuta lopettaa sen heti. Nämä apulaiset tavoittavat BitVoicen omilta palvelimiltaan, joten sille tarvitaan osoite, joka on saatavilla internetistä, ja varmenne, jota ne luottavat (Let's Encrypt, Varmenne (luku 14)).

Apulaiset, joille annetaan token (Claude Code, Cursor, VS Code ja muut työkalut, jotka ottavat osoitteen ja otsikon): luo API-tunniste Hallinnoijat (luku 57):lla, vain lukea, ellei se tarvitse toimia, ja anna se Authorization: Bearer bv_...:

claude mcp add --transport http bitvoice https://pbx.example.com:8443/mcp --header "Authorization: Bearer bv_..."

Apulaiset, jotka käynnistävät ohjelman (Claude Desktop ja muut, jotka ottavat käskyn): BitVoicen ohjelma kantaa siltaa, bitvoice mcp, joka välittää jokaisen viestin palvelimelle HTTPS:llä. Anna sille palvelimen osoite ja token:

{ "mcpServers": { "bitvoice": { "command": "bitvoice", "args": ["mcp", "-url", "https://pbx.example.com:8443"], "env": { "BITVOICE_TOKEN": "bv_..." } } } }

BitVoicen omalla varmenteella (ei viranomaisen myöntämä), silta hylkää sen ja tulostaa sen SHA-256: tarkista, onko se palvelimesi, ja lisää "-pin", "THAT-SHA256" argumentteihin. Vain tämä varmenne hyväksytään sitten.

Turvallista jättää päälle

Luku 72

Arkisto

Verkkokäyttöliittymässä: /archive

Arkisto pitää äänitallenteiden, vastapuhelujen ja määritysten kopiot jossain muualla: Amazon S3-bucketissa (tai millä tahansa S3-yhteensopivassa tallennustilassa) tai Azure Blob Storage -kontainerissa. Jos tämän palvelimen levy menetetään, arkistossa on edelleen kopiot.

BitVoiceevery 10 minCall recordingsVoicemailConfigurationonce a dayS3 bucket or Azure containerOnly what is new or changed is copied; nothing is deleted from the archive.
Kuva 56. The archive: copies kept somewhere else

Asetukset

  1. Valitse Arkisto (luku 72), valitse Mihin arkistoida: Amazon S3 tai Azure.
  2. S3: Bucket, sen Alue, valinnainen Kansio bucketissa ja Päätepiste (S3-yhteensopiville tallennustoiminnoille), sekä Access key ID ja Salainen pääsyavain. Kopioi käytäntö antaa ainoan tarvittavan käyttöoikeuden, jotta se voidaan liittää käyttäjään tai rooliin.
  3. Azure: Container SAS URL kirjoitusoikeudella ja valinnainen Kansio kontainerissa.
  4. Valitse, mitä muuta kuin määrityksiä kopioida: Puheluiden tallenteet, Vastapuhelut tai molemmat.

Mitä tapahtuu

BitVoice kopioida uudet tallenteet ja viestit, joita ei ole arkistossa vielä, ja kerran päivässä päivätty kopiointi määrityksistä (config/2026-10-13.json). Sivu näyttää viimeisimmän suorituksen, viimeisimmän onnistuneen ja mahdolliset virheet.

Jotain poistaminen täältä (säilytysajan perusteella tai käsin) ei poista arkiston kopiota: määritä bucketin tai kontainerin omat elinikäisäännöt siitä, kuinka kauan arkisto pitää asioita.

Luku 73

Oikeudelliset pidätykset

Verkkokäyttöliittymässä: /holds

Oikeudellinen pidätyksellä säilytetään puhelujen tiedot, tallenteet ja vastaajan viestit, joita asia saattaa tarvita, ja estetään ketään poistamasta niitä, kunnes se vapautetaan. Käytä sitä, kun lakimies pyytää säilyttämään tiedot.

Call recordsrecordings, voicemailUnder a hold?numbers and dates it namesKept, cannot be deletedRetention as setReleasing a hold returns what it kept to the retention settings.
Kuva 57. A legal hold: kept, whatever the retention says

Lisääminen

Paina Lisää Oikeudelliset pidätykset (luku 73):

KenttäMitä se on
NimiAsian nimi
SyyMiksi, asiakirjaa varten
Numerotlaajennukset ja ulkopuoliset numerot, jotka se kattaa (101, +15551234567), tai Kaikki
Alkaen, Loppuenpäivämäärät, jotka se kattaa; tyhjä, jos ei ole rajoitusta

Kun pidätyksellä on

Vapauttaminen

Vapauta tekee sen, mitä pidätyksellä säilytettiin, jälleen säilytysasetusten alaiseksi: vanhemmat asiat poistetaan seuraavassa puhdistuksessa. Vapautetut pidätykset säilytetään luettelossa, kertoen, milloin ja kuka vapautti, ja pidätyksien lisääminen ja vapauttaminen on kirjautumislokeissa.

Luku 74

Mitattavat arvot: Prometheus, OpenTelemetry, Grafana, SNMP ja puhelutiedot

Verkkokäyttöliittymässä: /settings

Prometheus kerää /metrics-osoitteen verkkotunnukselta. Luo API-tunniste ylläpitäjien alla (katselijan tunniste riittää) ja anna se Prometheusille sen kantajatunnisteena:

BitVoicePrometheusscrapes /metricsOpenTelemetrypushed each minuteGrafanathe ready-made dashboardCalls, phones, trunks, queues, packets lost, quality scores, callbacks.
Kuva 58. Metrics: Prometheus pulls, OpenTelemetry is pushed
scrape_configs:
  - job_name: bitvoice
    scheme: https
    authorization: { credentials: bv_... }
    static_configs: [{ targets: ['pbx.example.com'] }]

Se lukee puhelut, jotka ovat käynnissä (tilan mukaan), puhelut, jotka on päättynyt (suunnan ja lopputuloksen mukaan), puheluajan, rekisteröityneet puhelimet, jokaisen trunkin tilan ja pyöristysajan, odottavat soittajat ja agentit jokaisessa jonossa, vastaanotetut äänipaketit ja menetetyt paketit, puhelulaatujen histogrammin (MOS) ja varatut puhelut. Laskurit nollautuvat, kun BitVoice käynnistetään uudelleen, kuten Prometheus odottaa.

OpenTelemetry: Asetuksissa, Mitattavat arvot, anna kerääjän OTLP/HTTP-osoite (ja otsikko, kuten Kelpoisuus, arvonsa kanssa) saadaksesi samat mittaukset työnnettyä joka minuutti (tai niin usein kuin asetat, 15 sekunnista alkaen). Työnnä nyt tarkistaa tallennetut asetukset.

Grafana-näyttö lataa valmiin näytön: tuominen Grafanaan ja valitse Prometheus-tietolähde.

SNMP

Valvontajärjestelmille, jotka puhuvat SNMP:ä (Zabbix, PRTG, LibreNMS, Nagios, SolarWinds), käytä SNMP-välinettä Asetuksissa. Se vastaa SNMPv2c GET-, GETNEXT- ja GETBULK-kyselyihin, vain luku, UDP-portti 161 (tai toinen, jonka valitset: portti 161 tarvitsee oikeuden avata alhaiset portit Linuxissa), ja vain niiltä verkoilta, jotka luetteloidaan. Valitse yhteisö, joka ei ole julkista tai yksityistä: se on salasana, joka siirtyy verkon yli selkeästi.

Se palvelee standardin mukaisen järjestelmäryhmän (sysDescr, sysUpTime, sysContact, sysName, sysLocation) ja BitVoicen omat arvot perus-OID:n alla: puhelut, jotka ovat käynnissä ja soivat, rekisteröityneet puhelimet, trunkit ylös ja asetettu, odottavat soittajat, puhelut, jotka on päättynyt, puhelu sekunteja, menetetyt paketit, keskimääräinen puhelulaatu, trunkkitaulukko (nimi, ylös tai alas, viive) ja jonotaulukko (odottavat, agentit, vastatut, hylätyt). Lataa BITVOICE-MIB asetusten vieressä valvontasi käyttöön lataamiseksi. BioDream LLC:llä ei ole vielä yritysnumeroa, joten oletusarvoinen perus-OID on Net-SNMP:n kokeellisessa tilassa; aseta se omalle yrityksellesi, jotta se säilyy vakaana.

Ansaitset (SNMPv2) menevät jokaiselle vastaanottajalle, jonka luetteloidaan, kun trunkki menee alas tai tulee takaisin, hälytyspuhelu tehdään tai klusterin palvelin lopettaa vastaamisen. SNMPv3:ta ei vielä tueta.

Puheluennätykset muualla

Lisäksi puheluhistoria, jokainen ennätys voidaan lähettää, kun puhelu päättyy, seuraaviin:

Lähetä testitietue kokee syslog-palvelimen ja tietokannan tallennetuilla asetuksilla.

Luku 75

Puhelugeneraattori

Verkkokäyttöliittymässä: /loadtest

Puhelugeneraattori tekee oikeita puheluita oikealla äänellä BitVoiceen tietokoneelta: nähdäksesi, montako puhelua palvelin käsittelee ja miten hyvin, tai tarkistamaan muutoksen jälkeen, että puhelut menevät edelleen sinne, mihin ne kuuluvat.

Call generatorso many a secondBitVoiceA number insidenever a trunkAnswered / failedAnswer timeAudio lost, scoreIt never calls trunks or emergency numbers.
Kuva 59. The call generator: real calls, real audio, measured

Suorittaminen

AsetusMitä se on
Numero, jota soitetaanBitVoicen sisäinen numero: laajennus, ryhmä, jono, valikko
Soittajatunnussoittajan numero, joka näkyy soitettaessa
Vastaalaajennus, jolle generaattori vastaa itse; tai kukaan, kun numero vastaa itse (valikko, echo-testi)
Soittajatkaikki yhteensä
Samanaikaisetenimmillään samanaikaiset, jopa 2 000. Jokainen välitetty soitto ottaa media-portteja Media lähteestä ja Media kohteeseen (Asetukset): oletuksena 10000-20000, joka riittää noin 1 800, joten laajenna sitä tarpeen mukaan
Uudet sekunnissakuinka nopeasti ne alkavat
Kesto (s)kuinka kauan jokainen puhuu

Lukeminen tuloksista

TulosMitä se sanoo
Vastattu, Epäonnistuija Miksi puhelut epäonnistuivat, syystä
Vastausaika, mediaani ja 95%kuinka kauan soittajat odottivat
Äänen menetysäänipakettien osuus, joka ei koskaan saapunut
Äänen arvioäänen arvio (MOS): 4 ja ylempänä on hyvä, alle 3.6 on huono
Jitter, 95% puheluistakuinka epätasaisesti ääni tuli takaisin (RFC 3550 interarrival jitter, keskiarvo kullakin puhelulla); puhelimet sileävät jopa 20 ms
Pisin aukko, huonoin puhelupisin odotusaika äänipakettien välillä missä tahansa puhelussa; ne tulevat joka 20 ms, joten palvelimen jumittuminen näkyy tässä
Muistin keskeytykset, pisin keskeytyskuinka usein ja kuinka kauan enimmillään, Go-ajonaikainen keskeytti kaiken muistin siivouksen aikana
Puhelut meneillään ajan myötäkuormituksen kaavio
Luku 76

SIP-jälki

Verkkokäyttöliittymässä: /trace

SIP-jälki näyttää viestit, joita BitVoice lähettää ja vastaanottaa, reaaliajassa: ensimmäinen paikka, johon katsoa, kun puhelin ei rekisteröidy tai puhelu epäonnistuu, ja mitä tarjoajan tuki pyytää.

Phone 100BitVoiceProviderINVITE 2125550199100 TryingINVITE +12125550199180 Ringing180 Ringing200 OK200 OKACKBYEBYE
Kuva 60. A SIP trace: the messages of one call, in order

Viestin etsintä

BitVoice säilyttää viimeiset 2 000 viestiä muistissa (mitään ei kirjoiteta levylle, ja ne katoavat käynnistyksen jälkeen). Kirjoita osa numeroa, osoitetta tai Call-ID:ta suodattimeen. Paina Päivitä uusimpien saamiseksi.

Valitse viesti nähdäksesi sen kokonaisuudessaan ja sen vieressä puheluvirta: jokainen viesti samasta puhelusta järjestyksessä, puhelimen, BitVoicen ja tarjoajan välillä, kuten kuvassa.

Reading a trace

You seeIt usually means
REGISTER answered 401, then nothingthe phone does not have the password, or has the wrong one
REGISTER answered 403the address is banned, or the phone signs in as another extension
INVITE answered 404no route matches the number dialled (Call routing (luku 8))
INVITE answered 403 by the providerthe provider refuses the caller ID or the number
486the other side is busy
488the two sides have no codec in common (Codecs (luku 66))
200 OK, then BYE after about 30 secondsthe ACK never arrived: a router in between rewrites or drops messages (switch off its "SIP ALG")
A call connects but nobody hears anythingthe sound is blocked: check the public address in Settings, and the media ports in the firewall
Osa 6

Julkisen turvallisuuden laboratoriotie

Vastauspisteen profiili 911, radiopäivystimen hallintakonsoli ja NG911 Core Services. Ne ovat laboratorio- ja suunnittelukumppanuusrata: rakennettu ja testattu tallennettujen tallenteiden, näytedatan ja stand-inien perusteella, mutta ei sertifioitu live-911- tai radiopäivystämistä varten eikä vielä kokeiltu live-ESInetin, P25-järjestelmän tai CAD:n kanssa. Ne ovat valikkorajoituksessa, kunnes ne käynnistetään Asetuksissa. Omat puhelimien hätäpuhelut (Käynnistäminen) eivät kuulu tähän rataan: ne kuuluvat jokaiseen puhelinjärjestelmään.

Luku 77

911-puhelut (911-profiili)

Verkkokäyttöliittymässä: /psap

BitVoice vastaanottaa 911-puhelut PSAP:n puhelun käsittelyjärjestelmänä: puhelut hätäpalvelujen verkosta (ESInet, NENA i3) saapuvat soittajan sijainnin ja verkon tietojen kanssa, ja hätäkeskuksen työntekijä näkee ne heti, ja CAD:lle ilmoitetaan, kun puhelu on vastaanotettu.

ESInetBCFchecks the source911 queueby priorityCall-taker positionlocation on the map, callback number,additional data, rebid, transferCAD: ALI spill, EIDONENA i3 logevery event
Kuva 61. The 911 profile: an NG911 call reaches a call-taker

Asetukset.

  1. Trunkit (luku 7) -sivulla lisää trunk ESInet-palveluntarjoajaltasi (tai NG911-ydinkeskukseen kuuluva ESRP) ja kytke ESInetistä päälle.
  2. Reititys (luku 8) -sivulla ohjaa sen soitot call-takerille: jono, ryhmä tai puhelin.
  3. 911-soitot -sivulla anna virastosi tunnus (verkkotunnus, kuten psap.county.example.gov) ja mihin CAD ottaa yhteyttä: osoite ja portti, jossa sen ALI-kuuntelija on, ja sen EIDO-osoite.

Kun 911-soitto tulee, se näkyy 911-soitot -sivulla seuraavin tiedoin:

Sijainti tulee soitossa (arvona), tai se on viite, jonka BitVoice hakee HELD:llä. Soitto, jossa on viite, on uudelleenpyyntösijainti: BitVoice kysyy uudelleen, kun soittaja on liikkeellä tai kun ensimmäinen kiinnitys oli epätarkka.

Kun uudelleenpyyntö muuttaa sijaintia, sijaintitarkistus kertoo, mikä näytetään ensin ja miksi: uusi sijainti yleensä; ensimmäinen, kun se oli tarkka laitteiston kiinnitys (GPS, 100 metrin sisällä) vähemmän kuin kaksi minuuttia vanha ja uusi on epätarkempi; ja molemmat, kun kaksi sijaintia ovat erilaisia kuin niiden epätarkkuus sallii, joten call-taker kysyy soittajalta. Ensimmäinen sijainti pysyy soitossa joka tapauksessa.

Kun vastaanottaja vastaa, CAD saa, kullekin omalla tavallaan, jotta CAD, joka on poissa, ei koskaan estä puhelua:

ALI-vuoto itsessään on vain TCP, koska perinteiset CAD-kuuntelijat ottavat sen vastaan, joten sitä ei voida edellyttää salaamattomaksi. Kun se menee toiselle tietokoneelle, Terveydentila varoittaa: pidä reitti erillään jaettujen verkkojen ulottumattomissa, suoran sarjaliitännän (serial:/dev/…) tai VPN- tai yksityisen piirin kautta CAD:lle. Aseta myös Virastotunnus: EIDOt ja i3-lokinimi nimittävät virastoa sillä, ja Terveydentila (luku 13) varoittaa, kunnes se on täytetty.

911-soittoa ei koskaan hylätä. Äänisoitto ESInetistä (tai CAMA-trunkista), jonka saapumisreitti johtaisi sen hylkäämiseen, koska reitti lopettaa, soi ryhmälle, jossa ei ole ketään, tai se ei ole olemassa, soi jokaiselle call-takerille sen sijaan: jokaiselle käytössä olevalle laajalle, ja jokaiselle puhelimelle, joka yhdistää, kunnes joku vastaa tai soittaja lopettaa. Tekstisoitto odottaa samalla näytöllä. Soiton Miten se reititettiin kertoo, mitä tapahtui, ja Terveydentila (luku 13) varoittaa sellaisesta reitistä, jotta se voidaan korjata. Vain testisoitot (urn:service:test.sos) ja soittot, jotka eivät ole 911-soittoja, säilyttävät reitittämisen hylkäämisen.

Eikä se heitetä pois siirrolla. Kun call-taker siirtää 911-soiton ja siirto ei voi yhdistää, koska laajalle ei ole liitetty puhelinta tai kukaan ei vastaa sitä, soitto palaa takaisin call-takerille, kunnes joku vastaa. Jos call-taker on jo lopettanut (useimmat pöytäpuhelimet tekevät sen heti soiton jälkeen), jokainen call-taker soi sen sijaan, kunnes joku vastaa. 911-soittoa ei koskaan anneta laajeen vastaamattoman viestin tai muiden vastaamattomien kohteiden sijaintiin, ja sen reitityshistoria kertoo, mitä tapahtui. Millä tahansa soittotapauksella puhelin, joka lopettaa heti siirron pyynnön jälkeen, vapauttaa vain itsensä: siirto jatkuu.

Kadonneen soittajan. Kun yksi soittopuoli lopettaa äänen lähetyksen minuutin ajaksi (puhelin, joka menetti virran tai signaalin, ei lähetä lopetusta), kun toinen puoli lähettää edelleen, soitto lopetetaan syynä *soittajan ääni lakkasi* (tai kuka sen lähetti), soittotiedossa ja call.ended -tapahtumassa, jonka CAD kuulee (cause, endedBy). Puoli, joka on odottamassa, faksaa tai joka on ilmoittanut, ettei se lähetä mitään (esim. kuulutuspuhelin), ei koskaan lopeteta tällä tavoin. Hiljaisuus lähettää edelleen paketteja, joten soittaja, joka ei voi puhua, pitää soiton yllä.

Live transcripts. With Write out 911 calls live on (Settings, AI), each side of an answered 911 call is written out as it is spoken, by the speech-to-text service when one is set (so the audio stays in the building (luku 28)), else by the AI service, cut where the speaker pauses, and shown under the call as Live transcript. CAD gets each piece as a call.transcript event: {"call": id, "lines": [{"speaker": "Caller", "side": "caller", "text": "…", "second": 12.4}]}. The calls' audio goes to the AI service while they last, recorded or not. The recording's own transcript still comes when the call ends.

CAD dispatchers by name. A CAD acting through one API token can name the dispatcher behind each request: make the token with Names the person it acts for (Administrators, API tokens) and send X-BitVoice-On-Behalf-Of: <the person's name>. The exposure log, text calls taken, calls ended and the audit log then name that person with the token (*Dana Ruiz via bitdispatcher CAD*). From any other token the header is ignored.

Soittajan video ja valokuvat. 911-puhelussa Lähetä soittajalle videolinkki luo linkin vain tähän puheluun: se lähetetään tekstiviestinä soittajalle numerosta Lähetä linkki numerosta, tai se luetaan ääneen. Jos sitä ei voida lähettää tekstiviestinä (ei ole määritelty tekstausnumeroa, tai soittaja ei ole lähettänyt numeroa), näyttö ja API:n problem kertovat syyn. Soittaja avaa sen puhelimensa selaimessa (ei sovelluksessa): Jaa live-videota lähettää takakameran live-videon (WebRTC, WHIP: RFC 9725), ja Lähetä valokuvia tai videoita lähettää valmiiksi otetut tiedostot, mukaan lukien dashcam- ja action-camera-tiedostot. Puhelun aikana:

Videota ei koskaan oteta puheluista: jokaisella live-videolla on oma porttinsa, tämä palvelin ottaa enintään Live-videota kerran niistä (4, ellei asetettu), ja jokainen pyydetään pysymään Videon bittinopeuden alla, ja video, joka pysähtyy kymmeneksi sekunniksi, lopetetaan. Soittajien puhelimien on pystyttävä tavoittamaan tämä palvelin Linkin osoite (https) ja sen media-portit (UDP). Tiedostot säilytetään Säilytä tiedostot ja altistusloki päivinä (tyhjä: kunnes poistetaan), ja pidetään puheluita erillään.

Live-videon tallennus. Tallenna soittajien live-videota -valinnan ollessa päällä, soittajan live-videota säilytetään valokuvien ja klippien kanssa yhtenä tiedostona kunkin videon jaksosta: samat kuvat, jotka puhelin lähetti, ei muunnettu, IVF-tiedostossa (H.264 tai VP8, jokaisella kuvalla on oma aikaleima), joka on salattu samalla tavalla kuin se kirjoitetaan. Vahingoittunut kuva, joka on vioittunut paketin menetys, jätetään pois eikä säilytetä vahingoittuneena, ja puhelinta pyydetään lähettämään täysi kuva jatkamiseksi. Paljasta toistaa sen (kopio, jonka ffmpeg tekee, samat kuvat toisessa säiliössä; ilman ffmpeg vain alkuperäinen lataa); Lataa alkuperäinen antaa tiedoston, josta salaus on tehty. Ffmpeg, VLC ja oikeudelliset videotyökalut avaavat alkuperäisen.

Tiedot CAD:in. BitVoice lähettää CAD:ille EIDO-tiedon (NENA-STA-021), joka nimeää jokaisen valokuvan, klipin ja tallenteen sekä live-videon keston ajan viitteenä olevat lisätiedot: urlPurpose on caller-photo, caller-video, caller-video-recording tai caller-video-live, ja additionalDataByReferenceUrl on tiedosto osoitteessa /m/{viewToken}/{n} tai live-videolinkki osoitteessa /whep/{viewToken}. BitVoice lähettää CAD:ille EIDO-tiedon uudelleen, kun tiedosto saapuu tai live-videolähetys alkaa tai loppuu. Linkit käyttävät Linkin osoitetta (tai tämän palvelimen julkista osoitetta); ilman niitä EIDO ei nimeä medioita. Jokainen hakupyyntö näiden linkkien kautta on tallennettu paljastuslokiin. Tapahtumavirran sanoma on sama (GET /api/events: call.media, call.video). BitVoicen EIDO-tiedot tarkistetaan Nenan julkaiseman EIDO-skeeman kanssa.

Linkit, joita ei ole olemassa, arvaillaan enintään kirjautumisnopeudella: osoite, joka yrittää jatkuvasti, torjutaan jonkin aikaa. Soittajien tiedostot palvelulla toimivat hiekkalaatikossa, eivät koskaan tämän palvelimen sivuna.

Altistus. Jokainen live-videon paljastus ja jokainen valokuvan tai klipin avaaminen lasketaan Altistuksessa 911-puheluissa: kuka, kuinka usein, kuinka monessa puhelussa. Se on ylläpitäjille ja keskuksen hyvinvointiohjelmalle.

Videota, jonka puhelin lähettää 911-puhelussa (SIP-videota ESInetin kautta), voidaan katsella samalla tavalla: Katso ottaa sen lähteenä, kun ei ole live-videolinkkiä.

Puhelut, joissa on vain numero. 911-puhelu, joka tuo vain puhelinnumeron ja ei sijaintia (CAMA-trunkista tai ESInetin puhelusta, jonka sijainti ei tullut), voidaan etsiä: anna Sijaintitarkistus (ALI) ALI-tietokannan tai sijaintipalvelimen HELD-rajapinnan osoite (RFC 5985, pyydetty puhelinnumerolla, kuten RFC 6155:ssä on). BitVoice kysyy sitä puhelun saapuessa, ilman, että se hidastaa sitä, ja sijainti näkyy puhelussa, kun vastaus saapuu; puhelu kertoo, kun etsintä epäonnistui ja miksi.

Vanha ALI-liittymä. Ilman HELD-palvelinta BitVoice voi pyytää ALI-ohjainta tai ALI-tietokannan tietoliittymää vanhaan tapaan: se lähettää pyynnön ja lukee takaisin tiedot tekstinä, verkon kautta (ALI-liittymän osoite isäntä:portti) tai sarjaliitännän kautta (serial:/dev/ttyUSB0?baud=9600&parity=none, bits ja stop mukana; USB-sarjaliitäntä toimii; Linuxilla ja macOS:lla, ei Windows:ssa: siellä käytetään sarjaliitäntä-verkkomuunninta ja sen osoitetta). Pyyntö on mitä lähetetään: {ani10} kymmenen numeron paluuosoite, {ani7} sen viimeiset seitsemän, {pos2} sijainti,  STX ja  ETX ({ani10} tyhjässä). Vastaus luetaan sen ETX:ään asti. ALI-muodot vaihtelevat tarjoajien ja osavaltioiden mukaan, joten voit asettaa kunkin kentän: sen rivin, sarakkeen ja pituuden (0: rivin loppuun), ALI-ruudun tulosteen perusteella; Katu (koko rivi) jakaa katuosoitteen osiin tai voit asettaa osat yksitellen. Liittä sample-tiedosto ja Lue esimerkki nähdäksesi rivit sarakkeen mittarilla ja mitä kunkin kenttä lukee; Kysy kysyy liittymältä numeroa. Tiedon osoite ja sijainti tulevat puhelun sijainniksi, sen nimi soittajan nimeksi, ja sen palveluluokka näkyy puhelussa. Protokollat, jotka eivät ole pyyntö ja tekstivastaus (PAM, E2 ja muut valmistajien omat), eivät ole ymmärrettävissä: ne tarvitsevat portin.

ALI-vuoto sarjaliitännän kautta. ALI-vuoto ottaa myös sarjaliitännän (serial:/dev/ttyS0?baud=9600), CAD:lle, joka lukee vuodon sarjaliitännästä.

Kartta. Kartta-asetuksissa anna BitVoicelle karttatilat: .mbtiles-tiedosto rastertikarttoja (PNG, JPEG tai WebP) tämän palvelimen, jotta kartta toimii ilman internettiä (GIS-tiimisi, TileMill, gdal2tiles tai tiilien myyjä tekee yhden alueestasi), tai tiilipalvelin {z}, {x} ja {y} osoitteessa (piirikuntasi tai kaupallinen: muista ehdot; julkiset OpenStreetMap-palvelimet eivät ole tätä varten). Kummassakin tapauksessa call-ottajien selaimet hakevat tiilet BitVoicesta: se lukee tiedoston tai hakee tiilien palvelimelta ja pitää viimeisimmät tiilet muistissa. Sama kartta näyttää radioposition radiokonsolissa. Vektorigrafiikkaa ei tueta.

i3-loki tallentaa kunkin puhelun NENA i3 -tapahtumat (puhelun aloitus, vastaus, sijainti, EIDO lähetetty), yksi tiedosto päivässä. Vastausajat näyttää, kuinka monta puhelua vastattiin tavoitteessasi (NENA: 90% 15 sekunnissa, 95% 20 sekunnissa), hylätyt puhelut ja kunkin call-ottajan keskiarvo. Rivi päivässä (CSV) lataa tilastot, joita osavaltion 911-toimistot yleensä pyytävät (puhelut, vastatut, hylätyt, tavoitteessa ja 20 sekunnissa, keskiarvo ja pisin odotusaika) valituille päiville; Rivi puhelu (CSV) luo luettelon jokaisesta 911-puhelusta, kun se vastattiin, kuka sen otti ja oliko se teksti. Kunkin osavaltion on oma lomake: järjestä se Raporttilaatus- alla. Tekstipuhelu, joka otettiin tässä näytössä tai CAD:llä, lasketaan henkilöksi, joka sen otti; sellainen, jota kukaan ei ottanut ennen kuin soittaja lähti, lasketaan hylätyksi.

Raporttilaatus. Uusi raporttilaatus luo raportin, joka on samanlainen kuin osavaltiosi tai piirikunnan lomake: mitä kunkin rivi on (päivä, viikko, kuukausi, päivän tunti, call-ottaja tai yksi rivi kaikissa), yhteenvetorivi ja sarakkeet järjestyksessä, kunkin otsikko, jos lomake sanoo sen toisin: puhelut, vastatut, hylätyt (laskuri tai osuus), vastatut sekunnissa (laskuri tai osuus; sekunnit ovat omat, joten 10 ja 20 yhdelle lomakkeelle ja 15 ja 40 toiselle), vastatut yli sekunnissa, keskiarvo ja pisin odotusaika, aika, jossa 90% vastattiin, keskimääräinen puhelun kesto ja tekstipuhelut (TTY, teksti, teksti 911:lle). Odotusaika lasketaan puhelun saapumisesta call-ottajan vastaukseen. Valitse laatus ja päivämäärät ja Suorita lukeaksesi sen täällä, Taulukko (CSV) ladataksesi sen tai Sivu tulostettavaksi yksinkertaiselle sivulle tulostettavaksi tai tallennettavaksi PDF:ksi. Laadut säilytetään asetuksissa, joten ne menevät talteen ja Git:iin.

TTY-puhelut. Kuurot ja huonokuuloiset soittajat voivat soittaa 911:lle TTY:llä (tekstipuhelimella, Baudot 45,45 bittiä sekunnissa). BitVoice kuuntelee yhtä kussakin 911-puhelun äänessä: mitä soittaja kirjoittaa, näkyy puhelussa, kun hän kirjoittaa, Teksti- alla, tauon tai uuden rivin aloittaen uuden rivin. Hiljainen puhelu voi olla TTY, joka odottaa: kun vastaat, Vastaa TTY:llä lähettää tekstiä, ennen kuin mitään tulee. Kirjoita vastaus ja paina Lähetä: se menee soittajalle TTY-äänenä (call-ottajan ääni on hiljennettu, kun se toistuu, koska TTY:t vuorottelevat), isoilla kirjaimilla, ja TTY-etiikkaa sovelletaan: lopeta kunkin vuoron jälkeen GA:lla ("jatka"), ja SK:lla allekirjoittaessasi. Merkit, joita TTY ei voi näyttää, jätetään pois. Puhe, musiikki ja kosketusäänet eivät koskaan oteta TTY-tekstinä: merkki lasketaan vain, kun jokainen sen bitti on puhdas TTY-ääni. Keskustelu tallennetaan puhelun kanssa puheluhistoriaan ja i3-lokiin (yksi MessageLogEvent kierroksella). Poista Kuuntele TTY:itä 911-puheluissa 911-asetuksista lopettaaksesi kuuntelun.

Siirrot. 911-puhelu, joka lähetetään eteenpäin toiseen PSAP:hen, säilyttää sijaintinsa: PIDF-LO menee puhelun mukana.

Reaaliaikainen teksti (RTT). Puhelin, joka lähettää tekstiä äänensä rinnalla (RFC 4103, kuten VoLTE-puhelimet ja NG911-puhelut tekevät), saa tekstivastauksensa BitVoice-järjestelmältä itseltään, koska pöytäpuhelimet eivät näytä tekstiä: kunkin merkin näkyminen puhelussa vasta kun soittaja kirjoittaa sen, ja vastauksesi menee takaisin tekst muodossa. Hävikki paketteja korjataan RTT:n redundanssin avulla; teksti, joka häviää redundanssin ylittävässä määrässä, näkyy merkkijonona .

Teksti 911:lle. Tekstiohjauskeskus (TCC) lähettää tekstejä PSAP:lle istunnossa, jossa ei ole ääntä (MSRP, RFC 4975, ESInet-reitittimen kautta). BitVoice vastaanottaa sen ja se odottaa 911-puheluita, joissa on Teksti 911 -merkintä, teksteineen, joita on vastaanotettu; kenenkään puhelin ei soi. Vastaanota tämä teksti tekee sinusta puhelunvastaanottajan (vastausaika alkaa silloin, ja CAD saa ALI-vuodon ja EIDO:n silloin); vastaa tekstiruutuun keskustelun alla, ja Päätä keskustelu, kun olet valmis. TCC:n sulkeminen istuntoa lopettaa myös. SIP-viesti, joka lähetetään 911-puhelun dialogin sisällä, otetaan vastaan samalla tavalla kuin soittajan teksti, ja vastaukset menevät takaisin SIP-viestinä. Tekstejä otetaan vastaan vain reittimistä, jotka on merkitty ESInetistä.

TCC, joka tarjoaa istunnon yli TLS:in (TCP/TLS/MSRP, msrps: polut, RFC 4975, jakso 14), saa sen yli TLS:in, tällä palvelimella olevan varmenteen kanssa (Asetukset › Varmenteet; ilman tällaista tarjousta se hylätään). TCC:n varmenne on oltava se, jonka tarjous nimeää (a=fingerprint, SHA-256); kun se ei nimeä mitään, se on johdettava PSAP-akkreditointitoimiston juurten kautta, jos sellaisia on asetettu. BitVoice:n vastaus nimeää oman varmenteensa samalla tavalla.

Koko keskustelu, riippumatta siitä, miten se saapui, säilytetään puhelun kanssa puheluhistoriassa ja i3-lokissa.

Mitä ei ole vielä täällä: tekstisession siirtäminen NG911-ydinrakenteen (ESRP reitittää äänen; tekstisessio vastaanotetaan siellä, missä se saapuu) kautta; EIDO-välitysstandardin omat tilaukset (NENA-STA-024 WebSocket): BitVoice lähettää EIDO:t yhdelle osoitteelle.

Luku 78

Radiopuhelinkeskus

Verkkokäyttöliittymässä: /radio

Puhelinkeskuksen hoitajat puhuvat radiokanavilla samasta kuulokemikrofoniosta kuin heidän puhelustaan. BitVoice yhdistää radioiden kautta radiopuhelin-yhdyskäytävien (RoIP) kautta; radiolähiverkko itse pysyy sen hallinnassa, joka sitä hallinnoi.

P25 systemISSI or CSSIRoIP gatewayanalogue channelsEncrypted talkgroupAES-256 keysRadio consolepush to talk (hold space)patch two channelsalert tonesemergency acknowledgeunit-to-unit callsDispatcherbeside the phoneRadio logand CAD events
Kuva 62. The radio console: talkgroups beside the phone

Asetukset. Valitse Puhelinkeskuksen asetukset -alta, valitse puhelinkeskuksen numero (800, esim.) ja lisää kunkin kanavan: sen nimi, tämän palvelimen portti, johon porttiin gateway lähettää kanavan äänen, ja gatewayn osoite ja portti, josta ääni tulee. Gatewayssä: RTP, G.711 µ-law, tähän palvelimen osoitteeseen ja siihen porttiin; avaa radio äänellä (VOX). Kunkin kanavan portti ja seuraava portti ovat puheluiden ulkopuolella.

Liittyminen. Puhelinkeskuksen hoitaja soittaa puhelinkeskuksen numeron pöytäpuhelimesta tai painaa Liity selaimen puhelimeen. Sitten he kuulevat jokaisen kanavan liikenteen sekoitettuna; Kuulla / Hiljennettu kanavalla poistaa sen kuulokkeista. Valo kanavalla syttyy, kun se vastaanottaa.

Puhuminen. Pidä kanavan Pidä puhuaksesi -nappia (tai keskity kanavaan ja pidä välilyöntiä): äänesi menee vain sille kanavalle, ja kanava näyttää TX -merkin ja sinun laajennuksesi. Yksi puhelinkeskuksen hoitaja puhuu kanavalla kerran; nappi on harmaa muille, kun joku puhuu. Mitään ei lähetetä kanavalle, kun kukaan ei puhu, joten ääniohjattu radio ei ole koskaan ilmassa.

Yhdistäminen. Paina Yhdistä yhdellä kanavalla, sitten Yhdistä tässä toisella kanavalla: ne kuulevat toisensa (esim. palokanava ja apukanava) kunnes painat Yhdistä pois.

P25-ryhmäpuhelut. Kanava voi olla myös P25-ryhmäpuhelu, johon liitytään suoraan ISSI:n (TIA-102.BACA, P25-alajärjestelmien välinen rajapinta; Lähetä CSSI-konsolin PTT-sana -valinnalla BitVoice lisää konsolin alajärjestelmän sanan jokaiseen pyynnöön) kautta. Valitse P25-ryhmäpuhelu (ISSI), anna ryhmäpuhelun tunnus, RFSS:n SIP-osoite ja tunnus, joka on koti ryhmäpuhelulle, ja portti äänelle. Tämä puhelinkeskus P25-järjestelmässä -kohdassa anna WACN ja järjestelmän tunnus, RFSS-tunnus, jonka P25-hallinnoija antoi tälle puhelinkeskukselle, yksikön tunnus, jota puhelinkeskuksen hoitajat lähettävät, ja SIP-portti, jonka ISSI käyttää täällä; P25-järjestelmän on tunnistettava tämä palvelin RFSS:na kyseisellä osoitteella. Laatta näyttää P25 -merkin, kun ryhmäpuhelu on käynnissä (P25 alas ja syy, kun se ei ole); ja radiopuhelimen yksikkötunnus, punaisella kirjaimilla HÄTÄILMOITUS, kun se on hätäpuhelu. Pidä puhuaksesi pyytää koti-RFSS:ltä kanavaa (Pyyntö kanavalle...); äänesi menee, kun se myöntää sen, ja jos se kieltäytyy (joku korkeamman prioriteetin omistaja on sen jo), laatta sanoo sen. Ääni muunnetaan IMBE:ksi, P25-vokoodeksi, BitVoicessa ja takaisin.

Salatut puheryhmät. Salausavaimet -kohdassa lisää jokainen liikenneavain, jonka radioliike tarjoaa: nimi, algoritmi (AES-256, DES-OFB tai triple DES), avain-ID ja avain itsessään heksamuodossa (TIA-102.AAAD). Avain ei näytetä enää kerran tallennettuna, edes ylläpitäjille, ja tyhjä kenttä säilyttää sen. Konsoli kuulee salatun lähetyksen, kun sillä on avain samaa algoritmia ja avain-ID: tiili näyttää lukon ja algoritmin puhuvan yksikön vieressä. Ilman avainta lähetys on mykistetty, sitä ei koskaan toisteta melunakin, ja tiili sanoo ei avainta: mykistetty. Lähettääksesi salattua tietoa puheryhmälle, valitse avain Lähetä -kohdassa kyseiselle kanavalle; tiili näyttää sitten TX AES-256 (tai valitsemasi algoritmi). Täydellinen konfiguraation vienti (Asetukset, ylläpitäjän varmuuskopio) sisältää avaimet, joten pidä nämä tiedostot yhtä turvallisina kuin avaimet.

Yksityiset puhelut. Konsolin ollessa P25-järjestelmässä, Soita radioon -valinta asemasi palkissa soittaa yhden radion sen yksikkö-ID:llä (käytä Hätätila -valintaa soittaaksesi sen hätätilanteessa). Puhelu muuttuu omaksi tiilikseen, Yksityinen puhelu: yksikkö 197, jossa on Pidä alhaalla puhuaksesi kuten missä tahansa kanavassa ja Lopeta puhelu. Radiot voivat soittaa konsolia myös, sen yksikkö-ID:llä, jota dispatchereiden lähettää: puhelu näkyy tiilienä, jossa on saapunut (punaisella HÄTÄTILANNE -merkinnällä, kun radio soitti hätätilanteessa), jokainen dispatcher kuulee sen, ja se poistuu, kun jompikumpi osapuoli lopettaa puhelun. Yksityiset puhelut -kohdassa konsolin P25-asetuksissa anna SIP-osoite ja -tunnus RFSS:lle, joka on radioiden koti (tyhjä kenttä käyttää ensimmäisen puheryhmän kotia) ja, jos yksityiset puhelut pitäisi salata, avain, jolla ne lähetetään.

Hälytysäänet. Lähetä hälytysääni… -valinta kanavalla lähettää yhden seuraavista: Hälytys 1, tasainen 1000 Hz:n ääni 3 sekunnin ajan; Hälytys 2, värinä 1000 ja 1500 Hz:n välillä; Hälytys 3, 1000 Hz:n pulsaatio; tai lyhyt Pip. Ääni pitää kanavan hallussa, kunnes se loppuu (tiili näyttää ääni ja sinun laajennuksesi), jokainen dispatcher, joka kuuntelee kanavaa, kuulee sen lähtevän, ja P25-puheryhmässä se lähtee, kun koti-RFSS myöntää kanavan.

Hätätilanteet. Kun radio lähettää hätätilanteen (sen hätäpainike), sen tiili muuttuu punaiseksi HÄTÄTILANNE -merkinnällä ja yksikkö-ID:llä, palvelimen lokitila noteeraa sen, ja CAD:lle ilmoitetaan heti (alla). Hätätilanne pysyy koholla jokaisella konsolilla, kunnes dispatcher painaa Vahvista: tiili sanoo sitten, kuka vahvisti sen ja milloin, ja CAD saa radio.emergency.ack -tapahtuman. Vahvistaminen nimeää näkyvän yksikön: jos toisen yksikön hätätilanne korvasi sen hetkeä aikaisemmin, BitVoice kieltäytyy, ja tiili näyttää uuden yksikön, joten toinen hätätilanne ei ole koskaan vaikuta virheellisesti mykistetyksi. CAD:n vahvistaminen API:n kautta voi tehdä saman: POST /api/radio/channels/{id}/ack {"unit": "bee07.1d5.00044d"} (tai radio-ID "1101") vastaa 409, kun kanavan hätätilanne on nyt toisen yksikön; ilman sisältöä se vahvistaa sen, mitä kanava pitää.

Simulvalinta. Sanottuasi yhden asian useille kanaville samanaikaisesti, valitse valitse kullekin kanavalle, sitten pidä Puhu N:lla kanavalla -valintaa tiilien yläpuolella. Se on joko kaikki tai ei mitään: jos toinen dispatcher puhuu jo yhdellä niistä, mikään ei ole avattu, ja sinulle ilmoitetaan, kuka.

Radioiden sijainnit. Radiot ilmoittavat sijaintinsa radioliikennejärjestelmän datan puolella, ei äänipuolella, johon konsoli liittyy: P25-sijaintipalvelu, Motorolan LRRP tai valmistajan oma, kerätty radioliikkeen datan tai AVL-portin kautta. Anna portille (tai pienen käsikirjoituksen sen rinnalla) POST-kutsu BitVoiceen API-tunnuksella: POST /api/radio/locations {"unit": 1205, "lat": 40.2633, "lon": -76.8823, "speed": 42, "heading": 90, "accuracy": 8, "at": "2026-10-15T14:05:00Z"}, tai luetteloa enintään 500 (nopeus km/h, suunta asteina, tarkkuus metrinä; kaikki kolme ja aika ovat valinnaisia). Radioiden sijainnit -kohdassa konsolissa näkyy kunkin radion viimeisin sijainti sen nimen kanssa, ja CAD saa kunkin sijainnin radio.location -tapahtumana. BitVoice ei dekoodaa LRRP:ä tai P25-sijaintipalvelua itse.

Radioiden nimet. Radioiden nimet -kohdassa anna radiolle nimi sen P25-yksikkö-ID:llä (1205 on "Engine 5", esim.): tiili näyttää nimen yksikön vieressä, kun se puhuu, ja radiologi ja CAD:n tapahtumat sisältävät sen.

Radiologi ja tallennus. Käytä Tallenna jokainen lähetys -valintaa Tallennus ja CAD -kohdassa: jokainen lähetys jokaisella kanavalla, kuultu tai lähetetty, tallennetaan äänitallenteena Radiologi -kohdassa: milloin, kanava, kuka (radion yksikkö tai dispatcherin laajennus), kuinka kauan, ja oliko se hätätilanne, hälytysääni, salattu vai yksityinen puhelu. Kuultu lähetys alkaa ensimmäisestä puheesta ja loppuu 1,5 sekuntia viimeisen sanan jälkeen. Etsi yksikkö, dispatcher tai kanava hakukentästä, ja paina Toista kuunnellaksesi. Tallenteet säilytetään niin kauan kuin puhelutallenteet (Asetukset, Tallennus).

Radio data to CAD. Anna CAD:n osoite kohtaan Lähetä radio tapahtumat CAD:lle osoitteeseen (ja jaettu salaisuus, jos CAD haluaa sellaisen; se lähetetään bearer-merkkinä ja sitä ei näytetä enää). BitVoice lähettää sitten jokaisen tapahtuman (radio.unit, radio.emergency, radio.emergency.ack, radio.transmission ja radio.location) JSON-muodossa, {"type": ..., "agency": ..., "data": {...}}: radio.unit, kun radio aloittaa puhumisen kanavalla (sen yksikkö-ID, WACN, järjestelmä, kanava, hälytys, salaaminen), radio.emergency hälytykselle (yritetään kolme kertaa, jos CAD ei vastaa) ja radio.transmission jokaiselle valmiille lähetykselle, kuten se näkyy radiologissa. CAD voi myös lukea itse logit GET /api/radio/log (suodattimet: channel, q, since, until). CAD, joka on pois käytöstä, ei koskaan estä kosketta. P25-radioiden GPS-sijainnit eivät kuulu tähän: ne liikkuvat P25-pakettidatan (sijaintipalvelut) kautta, eivät ISSI-äänien kautta.

Tämä ei ole vielä toteutettu: P25-vaihe 2 (TDMA) ääni omalla puolinopeudella. Vaihe 2 -järjestelmä toimii koskettimella, kun sen ISSI-puheryhmät sisältävät täysnopeuden (vaihe 1) ääntä tai sen kooderinmuunnin muuttaa ne, mikä on yleistä: kysy P25-hallinnolta. Puheryhmä, jonka ääni saapuu lohkoina, joita tämä kosketin ei dekoodaa (puolinopeuden ääni lähetetään kooderimatta, todennäköisesti), näyttää Hiljainen täällä sen tiilillä, kun radio puhuu, jotta kukaan ei luulkaan hiljaisuutta hiljaisaksi kanavaksi. Sen dekoodaaminen tarvitsee kaksi asiaa, joita BitVoice ei ole: puolinopeuden kooderin (AMBE+2, patentti voimassa vuoteen 2028: lisenssi sen omistajalta tai lisensoitu laitteiston kooderipiiri), ja ISSI:n puolinopeuden ääniblokin muodon (TIA-102.BACA-B, myydään TIA:lta, ei julkinen).

Luku 79

NG911-ydinpalvelut (ECRF, ESRP, LVF, BCF, LIS, lokitus)

Verkkokäyttöliittymässä: /core

Valtion tai alueellisen 911-viranomaisen, joka pyörittää omaa NG911-ydintä: BitVoice vastaanottaa LoST:in ECRF:na ja reitittää jokaisen 911-puhelun ESRP:na PSAP:lle, joka palvelee soittajaa.

Incoming 911with locationESRProutes the callECRF (LoST)which PSAP serves here?Policy rulesoverflow, time of dayThe right PSAPLVFvalidates addresses
Kuva 63. NG911 Core Services: routing a call by where the caller is

Palvelualueet. Vie rajat GIS:stä GeoJSON-muodossa (PSAP-rajoitukset urn:service:sos:lle; poliisi-, palo- tai EMS-alueet urn:service:sos.police ja muut) ja lataa ne Ydinpalveluihin. Polygonin name, uri ja number -ominaisuudet luetaan; anna oletus-PSAP-URI niille, joilla ei ole yhtä. Muokkaa aluetta lisätäksesi kaupungit tai kunnat, joita se palvelee, soittajille, joiden sijainti on ainoastaan siviiliosoite. Kokeile paikkaa näyttää, mikä alue vastaa sijaintia tai kaupunkia, kuten LoST-kysely tekisi.

ECRF. Käytä Vastaa LoST-kyselyihin ja luo luettelo osoitteista, jotka saavat kysyä (esiintyy ESInet): muut elementit lähettävät findService /lost (RFC 5222) ja saavat PSAP:n URI:n. Tietty palvelu (sos.police) vastaanotetaan ensin omista alueista, sitten sos:sta. Paikka, jota ei kattane yksikään alue, voi mennä Metsän opas (RFC 5582: kansallinen ECRF-ohjaus): rekursiivinen kysely tehdään sen puolesta ja vastaus palautetaan (molemmat palvelimet listassa vastauksen polussa), ja muu kysely ohjataan sinne, ja kysely, joka on jo kulkenut tämän ECRF:n kautta, hylätään silmukkana.

ESRP. Luettele PSAP:t: kunkin URI (alueen nimen mukaisesti), trunkki joka ylettyy siihen ja sen virtaus-PSAP, ja valitse oletus-PSAP. Lähetä sitten ESInetin saapuvat 911-puhelut ESRP:iin Puheluiden reititys (luku 8). Kunkin puhelun reititys tapahtuu sen sijainnin mukaan (tästä palvelimesta määritettyjen alueiden mukaan, tai ulkopuolelta ECRF:stä LoST:n kautta), sijainnin ja pyydetyt palvelut mukana; kun kyseinen PSAP ei ota sitä vastaan, sen virtaus-PSAP:iin; ilman sijaintia tai paikasta, jota mikään alue ei kata, oletusarvoiseen. Kunkin päätöksen lokit ovat i3-lokissa 911-puhelut (luku 77).

Käytäntösäännöt. Kun ECRF on valinnut PSAP:n, käytäntösäännöt tarkistetaan järjestyksessä, ja ensimmäinen, jonka ehdot kaikki toteutuvat, päättää: lähetä puhelu toiseen PSAP:hen tai hylkää se kiireisenä. Käytäntösääntö voi tarkastella palvelua (vain palopuhelut, esim.), PSAP:ia, jonka ECRF valitsi, aikataulua (kun yövuoron keskus on suljettu), puheluita, joilla ei ole sijaintia, puheluita, joita BCF on merkitty epäilyttäviksi, ja reittiä, josta puhelu tuli. Kunkin päätöksen on i3-lokissa RouteLogEvent, joka nimeää käytäntösäännön.

Rajavalvonta (BCF). Kun Tarkista ESInetistä tulevat puhelut on käytössä, jokainen ESInet-reitistä tuleva puhelu tarkistetaan ensin: osoitteet, jotka on määritelty Aina hylkää, hylätään, ja niin tehdään myös osoite, joka aloittaa useamman puhelun minuutissa tai pitää useampaa puhelua yhtä aikaa kuin sallit, (puhelinpalvelun estotoiminta lähettää useita puheluita muutamasta lähteestä). Hylätyt puhelut saavat 503 ja Retry-After. Käytä Anna puhelun kulkea, jos se on epäilyttävä -toimintoa, jotta tällaiset puhelut voidaan lähettää eteenpäin ja antaa käytännön säännön päättää (keskukselle, joka tarkistaa ne, tai hylkää); todellinen soittaja ei ole silloin kadoksissa. Rajavalvonta: uusimmat -luettelossa näkyvät hylätyt tai epäilyttävät puhelut. Tarkista STIR/SHAKEN -allekirjoitukset tarkistaa jokaisen puhelun allekirjoitetun soittajan tunnisteen (Identity-otsikko) STI-juurten vastaisuutta, jotka on määritelty puheluiden suodatuksessa Asetuksissa: puhelu, jonka allekirjoitus epäonnistuu, kulkee epäilyttävänä, ja se voidaan lähettää käytännön säännön mukaan toisaalle, ja se on lueteltu BCF-lokissa; 911-puhelu ei koskaan hylätä sitä, ja allekirjoittamattomat puhelut (useimmat tänään) jätetään koskemattomiksi. Jokainen puhelu jättää BitVoicen uutena pyynnönä, joka sisältää vain BitVoicen ymmärtämät ja välittämät otsikot ja sisällöt: sijainti, lisätiedot ja istunto. Tarkista media tarkistaa jokaisen ESInet-puhelun RTP-paketin ennen kuin se käytetään tai välitetään: paketit, jotka ovat muualta kuin puhelun SDP antoi, joilla on payload-tyyppi, jota tarjous ei maininnut, joilla on otsikkopituuksia (CSRC, laajennus, täyttö), jotka eivät sovi pakettiin, jotka ovat suurempia kuin Suurin paketti (1 500 tavua, kun tyhjä) tai jotka ovat pidempiä kuin Paketit sekunnissa (150, kun tyhjä; G.711 20 ms lähettää 50), hylätään ja lasketaan. Jokaisen tyyppisen ensimmäinen, sitten 10., 100. jne., menee Rajavalvonta: uusimmat -luetteloon (merkintänä *media hylätty*) ja puhelun muistiinpanoihin. Puhelua ei koskaan lopeteta sen median vuoksi: soittaja pitää hyvät paketit. CAMA-reitistä tulevat puhelut tulevat paikallisesta kortti-ohjelmasta eivätkä ole tarkistettuja.

Osoitteen validointi (LVF). Lataa 911 GIS -osoitetietosi GeoJSON-muodossa NENA GIS -datamallissa (NENA-STA-006): tiemerkinnät FromAddr_L, ToAddr_L, Parity_L, IncMuni_L ja muut, sekä sijainti- ja rakennusosoitteet Add_Number, St_Name, Inc_Muni. LoST-kysely, jossa on validateLocation="true", saa osoitteen voimassa olevat, voimattomat ja tarkistamattomat osat vastauksessaan (RFC 5222), jotta operaattorit ja sijaintipalvelimet voivat korjata osoitteen ennen kuin 911-puhelu käyttää sitä. Tarkista osoite tekee saman täällä: tarkka osoite on paras vastine, sitten kadun segmentti, jonka oikea puoli sisältää osoitteen (parilliset ja parittomat puolet kunnioitetaan); kirjoitusasut kuten Street ja St, North ja N käsitellään samalla tavalla.

i3-lokipalvelu. Käytä Suorita i3-lokipalvelu -toimintoa: ydinjärjestelmän muut elementit (ESRPs, BCFs, PSAPs) lähettävät lokitapahtumansa (NENA-STA-010) jokainen allekirjoitettuna JWS:llä, jonka x5c-otsikossa on elementin varmenne, POST-menetelmällä /i3log/LogEvents -sivulle sallituilta osoitteilta. Jokainen tulee JWS-muodossa tasatutkimuksessa (allekirjoitettu tai allekirjoittamaton none-algoritmillä, jonka lokipalvelu voi hyväksyä: merkittyä ei jäljitettävänä PCA:han), tarkistetaan ja säilytetään, ja vastaus on lokitapahtuman tunniste. Voit lukea takaisin GET /i3log/LogEvents/{logEventId}:lla; luetteloi GET /i3log/LogEvents ( startTime, endTime, logEventType, limit, start ); etsi puhelun tai tapahtuman tunnisteita /i3log/LogEventIds, /CallIds, /IncidentIds ja /AgencyIds -sivuilla; ja lue puhelun tekstikonversaatiota /i3log/Conversations?callId= -sivulla. GET /i3log/Versions kertoo, mitä palvelu puhuu. Vastaanotetut lokitapahtumat luetellaan päivän tapahtumat, jotka kertovat, kuka allekirjoitti kunkin. Jokainen vastaus tarkistetaan Nenan julkaiseman OpenAPI-määritelmän mukaan; palvelua ei ole vielä kokeiltu toisen valmistajan elementtien kanssa.

PSAP -todennusviranomainen. Liitä PCA:n juurivarmenteet PSAP -todennusviranomainen -juuret -kohtaan: allekirjoitettu lokitapahtuma hyväksytään vain, jos allekirjoittajan varmenne ketjuu yhteen niistä (ja ei ole vanhentunut), ja se näytetään PCA -merkillä. Ilman niitä vain allekirjoitus tarkistetaan, ja tapahtuma näytetään ei jäljitettynä PCA:han.

Sijaintitiedot (LIS). Käytä Vastaa sijaintipyynnöistä (LIS) ja lataa sijaintitietojen taulukko (CSV): otsikkorivi ja jokaisella rivillä yksi numero (ALI-tiedot, vienti), verkko (osoitealue, kuten 10.20.3.0/24, tai yksi osoite: rakennus, kerros, VLAN, Wi-Fi-verkko) tai mac-osoite (yksi laite: pöytäpuhelin, seinäpistokkeen kytkimen portti), sitten osoite muodossa hno, rd, sts, unit, floor (tai flr), a3 (kaupunki), a1 (osavaltio), pc ja maa, sekä lat, lon ja radius jos tiedossa (muut nimet, kuten phone, street, zip, subnet ja ip, ovat myös ymmärrettävissä). PSAP:t, perinteiset verkkoyhdyskäytävät ja puhelimet pyytävät sitten /held (HELD, RFC 5985) sallituilta osoitteilta ja saavat PIDF-LO:n. Pyynnössä laite tunnistetaan puhelinnumerolla, IP-osoitteella tai MAC-osoitteella (RFC 6155); pyyntö, joka ei nimeä mitään, vastataan osoitteesta, josta se tuli, kuten LIS toimii toimistoverkossa tai kampuksella. Osoite sijainti määritetään kapeimmalla verkolla, joka sitä sisältää, joten kerroksen /24 voittaa kampuksen /16. Laite, jolla ei ole tietoa, saa HELD:n locationUnknown-vastauksen; toisenlainen identiteetti (NAI, portti) saa notLocatable-vastauksen. BitVoice PSAP osoittaa Sijaintihaku (ALI) tänne. Etsi numero, osoite tai MAC-osoite tarkistaa tiedon ja kertoo, mistä verkosta se tuli. Numero, verkko tai MAC-osoite, joka on lueteltu uudelleen, korvaa vanhan tiedon; Korvaa kaikki tiedot aloittaa alusta. Vastataan vain sallituilta osoitteilta: LIS, joka vastaa kaikista osoitteista, joita se pyydetään, ei saa olla avoinna kaikille.

BitVoice i3 web -palvelut. Valitse NENA i3 web -palvelut alta, mitä tämä ydin tarjoaa ESInetin muiden elementeille osoitteissa /i3/<service>/v1 Voivat kysyä -kohdassa. Jokainen vastaa NENAn julkaisemien OpenAPI-määrittelyjen mukaisesti (NENA-STA-010.3, NENA911-repositoriot), ja niille on erillinen välilehti i3 web -palvelut:

Testaa puheluita PSAP:ssa. BitVoice PSAP vastaa itse ESInetin testipuheluihin (urn:service:test.sos, NENA-STA-010.3 jakso 9, RFC 6881): vastaus kertoo PSAP:n nimen, palvelun ja sijainnin, josta puhelu tuli, ja ensimmäiset kolme äänipakettia palautetaan, ja puhelu katkaistaan. Toinen testi samasta paikasta kahden minuutin kuluessa kieltäytyy (486), kuten myös viides kerran. ESRP välittää testipuhelun eteenpäin kuin oikean puhelun, edelleen merkitty testiksi. Vastaa testipuheluihin -sivun 911-puhelusivulla voi poistaa ne (404).

JWS-algoritmit: NENA-STA-010.3 pyytää EdDSA:ta Ed448:lla. BitVoicen käyttämä Go-kielen standardikirjasto, jota käytetään jokaisessa kryptografisessa vaiheessa, sisältää Ed25519:n, mutta ei Ed448:aa, joten EdDSA allekirjoitukset tarkistetaan Ed25519-avaimilla, ja ECDSA- ja RSA-allekirjoitukset hyväksytään myös; Ed448-varmenne kieltäytyy.

Tarkoitatko. Epävalidi osoite saa jopa viisi ehdotusta samasta tiedosta, parhaimman ensin, kussakin sanotaan miksi: katu, jossa on yksi tai kaksi kirjainta pois (vaihdettu kirjainpari lasketaan yhdeksi), sama katu seuraavassa kaupungissa, tai lähin numero, joka kadulla on, samalla puolella, kun se on mahdollista (parilliset numerot säilytetään parillisina). Käytä täyttää ehdotuksen. Sijainti osoitteella. Anna leveys- ja pituusaste (ja sijainnin säde, kun se on tiedossa) osoitteen kanssa: sijainti tarkistetaan osoitteen omasta osoitepisteestä, sallien sen säteen ja 100 metrin lisäksi (tontin koko ja GIS-virhe). Vastaus kertoo etäisyyden ja onko ne sopivat, ja kun ne eivät ole, lähin osoitepiste sijainnista. Osoite, joka on tiedossa vain tien keskiviivasta, ei ole osoitepistettä, jota vastaan tarkistaa, ja vastaus sanoo sen. LoST:n validateLocationilla ei ole tilaa kummallekaan, joten LoST:ia pyytävät operaattorit saavat vain validoinnin.