Megosztás a következőn keresztül:


Rövid útmutató: Kimenő hívás telefonszámra

Ismerkedjen meg az Azure Communication Services szolgáltatással a Communication Services Calling SDK használatával, hogy PSTN-hívásokat vegyen fel az alkalmazásba.

Fontos

Az Azure Communication Services csak a Egyesült Államok, Puerto Rico, Kanada, Dánia, Egyesült Királyság és Ausztrália területén támogatja a segélyhívásokat.

Az Azure Communication Services hanghívás (PSTN) a 911-es segélyhívószám tárcsázására használható a Egyesült Államok, Puerto Rico és Kanada területén, a 112-es segélyhívó szám tárcsázására Dániában, a 000-es segélyhívó szám tárcsázására Ausztráliában, valamint a 999-es és a 112-es segélyhívó számok tárcsázására az Egyesült Királyságban. Az Azure Communication Services jelenleg nem támogatja a segélyhívó számok tárcsázását ezen országokon vagy régiókon kívülről, vagy más országokban vagy régiókban tárcsázott segélyhívási szolgáltatásokat.

Mintakód

A rövid útmutató véglegesített kódjának megkeresése a GitHubon

Feljegyzés

A telefonszámra irányuló kimenő hívás az Azure Communication Services felhasználói felületi kódtárával érhető el. A felhasználói felületi kódtár lehetővé teszi a fejlesztők számára, hogy csak néhány sornyi kóddal adjanak hozzá egy PSTN-kompatibilis hívásügyfélt az alkalmazásukhoz.

Előfeltételek

Beállítás

Új Node.js-alkalmazás létrehozása

Nyissa meg a terminált vagy a parancsablakot, és hozzon létre egy új könyvtárat az alkalmazáshoz, és navigáljon hozzá.

mkdir calling-quickstart
cd calling-quickstart

Futtassa npm init -y az alapértelmezett beállításokkal rendelkező package.json fájl létrehozásához.

npm init -y

Telepítse a(z) csomagot

npm install A parancs használatával telepítse az Azure Communication Services Calling SDK for JavaScriptet.

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

A --save beállítás függőségként sorolja fel a tárat a package.json fájlban.

Az alkalmazás-keretrendszer beállítása

Ez a rövid útmutató csomaggal köti össze az alkalmazásegységeket. Futtassa a következő parancsot a telepítéshez, és sorolja fel fejlesztési függőségként a package.json:

npm install parcel --save-dev

Hozzon létre egy index.html fájlt a projekt gyökérkönyvtárában. Ezzel a fájllal olyan alapszintű elrendezést konfigurálunk, amely lehetővé teszi a felhasználó számára a hívás indítását.

A kód a következő:

<!DOCTYPE html>
<html>
  <head>
    <title>Communication Client - Calling Sample</title>
  </head>
  <body>
    <h4>Azure Communication Services</h4>
    <h1>Calling Quickstart</h1>
    <input 
      id="callee-phone-input"
      type="text"
      placeholder="Who would you like to call?"
      style="margin-bottom:1em; width: 230px;"
    />
    <div>
      <button id="call-phone-button" type="button">
        Start Call
      </button>
      &nbsp;
      <button id="hang-up-phone-button" type="button" disabled="true">
        Hang Up
      </button>
    </div>
    <script src="./app.js" type="module"></script>
  </body>
</html>

Hozzon létre egy fájlt a projekt gyökérkönyvtárában app.js , amely tartalmazza a rövid útmutató alkalmazáslogikát. Adja hozzá a következő kódot a hívó ügyfél importálásához és a DOM-elemekre mutató hivatkozások lekéréséhez, hogy csatolhassuk az üzleti logikát.

import { CallClient, CallAgent } from "@azure/communication-calling";
import { AzureCommunicationTokenCredential } from '@azure/communication-common';

let call;
let callAgent;

const calleePhoneInput = document.getElementById("callee-phone-input");
const callPhoneButton = document.getElementById("call-phone-button");
const hangUpPhoneButton = document.getElementById("hang-up-phone-button");

async function init() {
    const callClient = new CallClient();
    const tokenCredential = new AzureCommunicationTokenCredential('<USER ACCESS TOKEN with VoIP scope>');
    callAgent = await callClient.createCallAgent(tokenCredential);
    //callPhoneButton.disabled = false;
}

init();

Hívás indítása telefonon

Adja meg a hívás indításához használt Communication Services-erőforrásban beszerzett telefonszámot:

Figyelmeztetés

A telefonszámokat E.164 nemzetközi szabvány formátumban kell megadni. (például: +12223334444)

Adjon hozzá egy eseménykezelőt, a gombra kattintáskor callPhoneButton megadott telefonszám hívásának elindításához:

callPhoneButton.addEventListener("click", () => {
  // start a call to phone
  const phoneToCall = calleePhoneInput.value;
  call = callAgent.startCall(
    [{phoneNumber: phoneToCall}], { alternateCallerId: {phoneNumber: 'YOUR AZURE REGISTERED PHONE NUMBER HERE: +12223334444'}
  });
  // toggle button states
  hangUpPhoneButton.disabled = false;
  callPhoneButton.disabled = true;
});

Hívás befejezése

Adjon hozzá egy eseményfigyelőt az aktuális hívás befejezéséhez a hangUpPhoneButton kattintáskor:

hangUpPhoneButton.addEventListener("click", () => {
  // end the current call
  call.hangUp({
    forEveryone: true
  });

  // toggle button states
  hangUpPhoneButton.disabled = true;
  callPhoneButton.disabled = false;
});

A forEveryone tulajdonság az összes hívás résztvevőjének hívását befejezi.

A kód futtatása

Használja a parancsot npx parcel index.html az alkalmazás létrehozásához és futtatásához.

Nyissa meg a böngészőt, és keresse meg a következőt http://localhost:1234/: . A következő webalkalmazásnak kell megjelennie:

Képernyőkép a befejezett JavaScript-alkalmazásról.

Valós telefonszámra is hívhat, ha megad egy telefonszámot a hozzáadott szövegmezőben, és a Hívás indítása gombra kattint.

Fontos

Az Azure Communication Services csak a Egyesült Államok, Puerto Rico, Kanada, Dánia, Egyesült Királyság és Ausztrália területén támogatja a segélyhívásokat.

Az Azure Communication Services hanghívás (PSTN) a 911-es segélyhívószám tárcsázására használható a Egyesült Államok, Puerto Rico és Kanada területén, a 112-es segélyhívó szám tárcsázására Dániában, a 000-es segélyhívó szám tárcsázására Ausztráliában, valamint a 999-es és a 112-es segélyhívó számok tárcsázására az Egyesült Királyságban. Az Azure Communication Services jelenleg nem támogatja a segélyhívó számok tárcsázását ezen országokon vagy régiókon kívülről, vagy más országokban vagy régiókban tárcsázott segélyhívási szolgáltatásokat.

Mintakód

A rövid útmutató véglegesített kódjának megkeresése a GitHubon

Előfeltételek

Előfeltételek ellenőrzése

  • A Communication Services-erőforráshoz társított telefonszámok megtekintéséhez jelentkezzen be az Azure Portalra, keresse meg a Communication Services-erőforrást, és nyissa meg a telefonszámok lapot a bal oldali navigációs panelen.

Beállítás

PSTN-funkciók hozzáadása az alkalmazáshoz

Adja hozzá a PhoneNumber típust az alkalmazáshoz a MainActivity.java módosításával:

import com.azure.android.communication.common.PhoneNumberIdentifier;

Hívás indítása telefonon

Adja meg a Communication Services-erőforrásból beszerzett telefonszámot. Ez a szám hívóazonosítóként használatos a hívás indításához:

Figyelmeztetés

Vegye figyelembe, hogy a telefonszámokat E.164 nemzetközi szabvány formátumban kell megadni. (például: +12223334444)

Módosítsa startCall() az eseménykezelőt a MainActivity.java, hogy kezelje a telefonhívásokat:

    private void startCall() {
        EditText calleePhoneView = findViewById(R.id.callee_id);
        String calleePhone = calleePhoneView.getText().toString();
        PhoneNumberIdentifier callerPhone = new PhoneNumberIdentifier("+12223334444");
        StartCallOptions options = new StartCallOptions();
        options.setAlternateCallerId(callerPhone);
        options.setVideoOptions(new VideoOptions(null));
        call = agent.startCall(
                getApplicationContext(),
                new PhoneNumberIdentifier[] {new PhoneNumberIdentifier(calleePhone)},
                options);
    }

Indítsa el az alkalmazást, és hívja meg az echo robotot

Az alkalmazás most már elindítható az eszköztár "Alkalmazás futtatása" gombjával (Shift+F10). Hívás indításához adjon meg egy telefonszámot a hozzáadott szövegmezőben, és válassza a HÍVÁS gombot.

Figyelmeztetés

Vegye figyelembe, hogy a telefonszámokat E.164 nemzetközi szabvány formátumban kell megadni. (például: +12223334444)

Képernyőkép a kész alkalmazásról.

Fontos

Az Azure Communication Services csak a Egyesült Államok, Puerto Rico, Kanada, Dánia, Egyesült Királyság és Ausztrália területén támogatja a segélyhívásokat.

Az Azure Communication Services hanghívás (PSTN) a 911-es segélyhívószám tárcsázására használható a Egyesült Államok, Puerto Rico és Kanada területén, a 112-es segélyhívó szám tárcsázására Dániában, a 000-es segélyhívó szám tárcsázására Ausztráliában, valamint a 999-es és a 112-es segélyhívó számok tárcsázására az Egyesült Királyságban. Az Azure Communication Services jelenleg nem támogatja a segélyhívó számok tárcsázását ezen országokon vagy régiókon kívülről, vagy más országokban vagy régiókban tárcsázott segélyhívási szolgáltatásokat.

Előfeltételek

Előfeltételek ellenőrzése

  • A Communication Services-erőforráshoz társított telefonszámok megtekintéséhez jelentkezzen be az Azure Portalra, keresse meg a Communication Services-erőforrást, és nyissa meg a telefonszámok lapot a bal oldali navigációs panelen.
  • Az alkalmazást az iOS-hez készült Azure Communication Services Calling SDK-val hozhatja létre és futtathatja:

Beállítás

Hívás indítása telefonon

Adja meg a hívás indításához használt Communication Services-erőforrásban beszerzett telefonszámot:

Figyelmeztetés

Vegye figyelembe, hogy a telefonszámokat E.164 nemzetközi szabvány formátumban kell megadni. (például: +12223334444)

A Hívás indítása gomb leképezésekor végrehajtott eseménykezelő módosításastartCall:

func startCall() {
        // Ask permissions
        AVAudioSession.sharedInstance().requestRecordPermission { (granted) in
            if granted {
                let startCallOptions = StartCallOptions()
                startCallOptions.alternateCallerId = PhoneNumberIdentifier(phoneNumber: "<YOUR AZURE REGISTERED PHONE NUMBER>")
                self.callAgent!.startCall(participants: [PhoneNumberIdentifier(phoneNumber: self.callee)], options: startCallOptions) { (call, error) in
                    if (error == nil) {
                        self.call = call
                    } else {
                        print("Failed to get call object")
                    }
                }
            }
        }
    }

A kód futtatása

Az alkalmazást iOS-szimulátoron is létrehozhatja és futtathatja a Termékfuttatás> vagy a (⌘-R) billentyűparanccsal.

A gyors üzembe helyezési alkalmazás végső megjelenése és hangulata

Hívás kezdeményezéséhez adjon meg egy telefonszámot a hozzáadott szövegmezőben, és kattintson a Hívás indítása gombra.

Figyelmeztetés

Vegye figyelembe, hogy a telefonszámokat E.164 nemzetközi szabvány formátumban kell megadni. (például: +12223334444)

Feljegyzés

Az első híváskor a rendszer kérni fogja a mikrofonhoz való hozzáférést. Éles alkalmazásokban az AVAudioSession API-val ellenőrizze az engedély állapotát , és ha nincs megadva engedély, frissítse az alkalmazás viselkedését.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Communication Services-előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított egyéb erőforrásokat is törli. További információ az erőforrások tisztításáról.

Következő lépések

További információért tekintse át az alábbi cikkeket:

  • Tudnivalók az SDK-képességek hívásáról
  • További információ a hívás működéséről
  • További információ a számkeresési képességekről