Delen via


Quickstart: Uitgaand bellen naar een telefoonnummer

Ga aan de slag met Azure Communication Services met behulp van de Communication Services Calling SDK om BELLEN via PSTN toe te voegen aan uw app.

Belangrijk

Azure Communication Services ondersteunt alleen noodoproepen naar noodnummers in de Verenigde Staten, Puerto Rico, Canada, Denemarken, Verenigd Koninkrijk en Australië.

Azure Communication Services-spraakoproepen (PSTN) kunnen worden gebruikt om nummer 911 in de Verenigde Staten, Puerto Rico en Canada te bellen om nummer 112 in Denemarken te bellen, 000 te bellen in Australië en om alarmnummers 999 en 112 in het Verenigd Koninkrijk te bellen. Azure Communication Services biedt momenteel geen ondersteuning voor het bellen van deze noodnummers van buiten die landen of regio's, of het bellen van hulpdiensten in andere landen of regio's.

Voorbeeldcode

De voltooide code zoeken voor deze quickstart op GitHub

Notitie

Uitgaande oproepen naar een telefoonnummer kunnen worden geopend met behulp van de ui-bibliotheek van Azure Communication Services. Met de UI-bibliotheek kunnen ontwikkelaars een aanroepclient toevoegen die is ingeschakeld voor PSTN in hun toepassing met slechts een paar regels code.

Vereisten

Instellen

Een nieuwe Node.js-toepassing maken

Open uw terminal of opdrachtvenster, maak een nieuwe map voor uw app en navigeer daar naartoe.

mkdir calling-quickstart
cd calling-quickstart

Voer npm init -y uit om een package.json-bestand te maken met de standaardinstellingen.

npm init -y

Het pakket installeren

Gebruik de npm install opdracht om de Sdk voor aanroepen van Azure Communication Services voor JavaScript te installeren.

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

De optie --save geeft de bibliotheek weer als afhankelijkheid in het package.json-bestand.

Stel het app-framework in

In deze quickstart wordt pakket gebruikt om de toepassingsassets te bundelen. Voer de volgende opdracht uit om deze te installeren en weer te geven als een ontwikkelingsafhankelijkheid in uw package.json:

npm install parcel --save-dev

Maak een index. html-bestand in de hoofdmap van uw project. Dit bestand wordt gebruikt voor het configureren van een basisindeling waarmee de gebruiker een oproep kan plaatsen.

Hier volgt de code:

<!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>

Maak een bestand in de hoofdmap van uw project met de naam app.js om de toepassingslogica voor deze quickstart te bevatten. Voeg de volgende code toe om de oproepclient te importeren en verwijzingen naar de DOM-elementen op te halen, zodat we onze bedrijfslogica kunnen koppelen.

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();

Een telefoongesprek starten

Geef het telefoonnummer op dat u hebt verkregen in de Communication Services-resource die wordt gebruikt om het gesprek te starten:

Waarschuwing

Telefoonnummers moeten worden opgegeven in de internationale standaardindeling E.164. (bijvoorbeeld: +12223334444)

Voeg een gebeurtenis-handler toe om een aanroep te initiëren naar het telefoonnummer dat u hebt ingevoerd toen u op callPhoneButton klikte:

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;
});

Een telefoongesprek beëindigen

Voeg een gebeurtenis-listener toe om de huidige oproep te beëindigen wanneer op de hangUpPhoneButton wordt geklikt:

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

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

De eigenschap forEveryone beëindigt de oproep voor alle deelnemers aan de oproep.

De code uitvoeren

Gebruik de opdracht npx parcel index.html om uw app te bouwen en uit te voeren.

Open uw browser en ga naar http://localhost:1234/. U ziet nu de volgende webtoepassing:

Schermopname van de voltooide JavaScript-toepassing.

U kunt een oproep naar een echt telefoonnummer plaatsen door een telefoonnummer op te geven in het toegevoegde tekstveld en te klikken op de knop Telefoongesprek starten.

Belangrijk

Azure Communication Services ondersteunt alleen noodoproepen naar noodnummers in de Verenigde Staten, Puerto Rico, Canada, Denemarken, Verenigd Koninkrijk en Australië.

Azure Communication Services-spraakoproepen (PSTN) kunnen worden gebruikt om nummer 911 in de Verenigde Staten, Puerto Rico en Canada te bellen om nummer 112 in Denemarken te bellen, 000 te bellen in Australië en om alarmnummers 999 en 112 in het Verenigd Koninkrijk te bellen. Azure Communication Services biedt momenteel geen ondersteuning voor het bellen van deze noodnummers van buiten die landen of regio's, of het bellen van hulpdiensten in andere landen of regio's.

Voorbeeldcode

De voltooide code zoeken voor deze quickstart op GitHub

Vereisten

Controle van vereisten

  • Als u de telefoonnummers wilt weergeven die zijn gekoppeld aan uw Communication Services-resource, meldt u zich aan bij Azure Portal, zoekt u uw Communication Services-resource en opent u het tabblad telefoonnummers vanuit het navigatiedeelvenster aan de linkerkant.

Instellen

PSTN-functionaliteit aan uw app toevoegen

Voeg het type PhoneNumber aan uw app toe door MainActivity.java te wijzigen:

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

Een telefoongesprek starten

Geef het telefoonnummer op dat u hebt verkregen in de Communication Services-resource. Dit nummer wordt gebruikt als nummerweergave om de oproep te starten:

Waarschuwing

Telefoonnummers moeten worden opgegeven in de internationale standaardindeling E.164. (bijvoorbeeld: +12223334444)

Wijzig de gebeurtenis-handler startCall() in MainActivity.java, zodat deze telefoongesprekken verwerkt:

    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);
    }

De app starten en de Echo-bot aanroepen

De app kan nu worden gestart met behulp van de knop App uitvoeren op de werkbalk (Shift + F10). Als u wilt bellen, geeft u een telefoonnummer op in het toegevoegde tekstveld en selecteert u de knop BELLEN .

Waarschuwing

Telefoonnummers moeten worden opgegeven in de internationale standaardindeling E.164. (bijvoorbeeld: +12223334444)

Schermopname met de voltooide toepassing.

Belangrijk

Azure Communication Services ondersteunt alleen noodoproepen naar noodnummers in de Verenigde Staten, Puerto Rico, Canada, Denemarken, Verenigd Koninkrijk en Australië.

Azure Communication Services-spraakoproepen (PSTN) kunnen worden gebruikt om nummer 911 in de Verenigde Staten, Puerto Rico en Canada te bellen om nummer 112 in Denemarken te bellen, 000 te bellen in Australië en om alarmnummers 999 en 112 in het Verenigd Koninkrijk te bellen. Azure Communication Services biedt momenteel geen ondersteuning voor het bellen van deze noodnummers van buiten die landen of regio's, of het bellen van hulpdiensten in andere landen of regio's.

Vereisten

Controle van vereisten

  • Als u de telefoonnummers wilt weergeven die zijn gekoppeld aan uw Communication Services-resource, meldt u zich aan bij Azure Portal, zoekt u uw Communication Services-resource en opent u het tabblad telefoonnummers vanuit het navigatiedeelvenster aan de linkerkant.
  • U kunt uw app bouwen en uitvoeren met azure Communication Services Calling SDK voor iOS:

Instellen

Een telefoongesprek starten

Geef het telefoonnummer op dat u hebt verkregen in de Communication Services-resource die wordt gebruikt om het gesprek te starten:

Waarschuwing

Telefoonnummers moeten worden opgegeven in de internationale standaardindeling E.164. (bijvoorbeeld: +12223334444)

Wijzig startCall de gebeurtenis-handler die wordt uitgevoerd wanneer op de knop Gesprek starten wordt getikt:

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")
                    }
                }
            }
        }
    }

De code uitvoeren

U kunt uw app bouwen en uitvoeren op iOS-simulator door ProductUitvoering> te selecteren of door de sneltoets (⌘-R) te gebruiken.

Laatste look en feel van de snelstart-app

U kunt bellen naar de telefoon door een telefoonnummer op te geven in het toegevoegde tekstveld en op de knop Gesprek starten te klikken.

Waarschuwing

Telefoonnummers moeten worden opgegeven in de internationale standaardindeling E.164. (bijvoorbeeld: +12223334444)

Notitie

De eerste keer dat u een oproep doet, wordt u gevraagd om toegang tot de microfoon. In een productietoepassing moet u de AVAudioSessionAPI gebruiken om de machtigingsstatus te controleren en het gedrag van uw toepassing bij te werken wanneer geen toestemming wordt verleend.

Resources opschonen

Als u een Communication Services-abonnement wilt opschonen en verwijderen, kunt u de resource of resourcegroep verwijderen. Als u de resourcegroep verwijdert, worden ook alle bijbehorende resources verwijderd. Meer informatie over het opschonen van resources.

Volgende stappen

Raadpleeg voor meer informatie de volgende artikelen: