Dela via


Snabbstart: Utgående samtal till ett telefonnummer

Kom igång med Azure Communication Services med hjälp av Communication Services Calling SDK för att lägga till PSTN-samtal i din app.

Viktigt!

Azure Communication Services stöder endast nödsamtal till nödnummer i USA, Puerto Rico, Kanada, Danmark, Storbritannien och Australien.

Azure Communication Services röstsamtal (PSTN) kan användas för att ringa nödnummer 911 i USA, Puerto Rico och Kanada, för att ringa nödnummer 112 i Danmark, ringa 000 i Australien och ringa nödnummer 999 och 112 i Storbritannien. Azure Communication Services har för närvarande inte stöd för att ringa dessa nödnummer utanför dessa länder eller regioner eller ringa räddningstjänster i andra länder eller regioner.

Exempelkod

Hitta den färdiga koden för den här snabbstarten på GitHub

Kommentar

Utgående samtal till ett telefonnummer kan nås med hjälp av Användargränssnittsbiblioteket för Azure Communication Services. Med användargränssnittsbiblioteket kan utvecklare lägga till en samtalsklient som är PSTN-aktiverad i sitt program med bara några rader kod.

Förutsättningar

Konfigurera

Skapa ett nytt Node.js-program

Öppna terminalen eller kommandofönstret skapa en ny katalog för din app och navigera till den.

mkdir calling-quickstart
cd calling-quickstart

Kör npm init -y för att skapa en package.json fil med standardinställningar.

npm init -y

Installera -paketet

npm install Använd kommandot för att installera Azure Communication Services Calling SDK för JavaScript.

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

Alternativet --save visar biblioteket som ett beroende i din package.json-fil .

Konfigurera appramverket

Den här snabbstarten använder paket för att paketa programtillgångarna. Kör följande kommando för att installera det och lista det som ett utvecklingsberoende i din package.json:

npm install parcel --save-dev

Skapa en index.html fil i rotkatalogen för projektet. Vi använder den här filen för att konfigurera en grundläggande layout som gör att användaren kan ringa ett anrop.

Här är koden:

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

Skapa en fil i rotkatalogen för projektet med namnet app.js för att innehålla programlogik för den här snabbstarten. Lägg till följande kod för att importera den anropande klienten och hämta referenser till DOM-elementen så att vi kan koppla vår affärslogik.

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

Starta ett samtal till telefon

Ange telefonnummer som du har köpt i Communication Services-resursen som används för att starta samtalet:

Varning

Telefonnummer ska anges i internationellt E.164-standardformat. (t.ex. + 12223334444)

Lägg till en händelsehanterare för att initiera ett samtal till det telefonnummer som du angav när callPhoneButton du klickade:

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

Avsluta ett samtal till telefon

Lägg till en händelselyssnare för att avsluta det aktuella anropet hangUpPhoneButton när klickas:

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

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

Egenskapen forEveryone avslutar samtalet för alla samtalsdeltagare.

Kör koden

Använd kommandot npx parcel index.html för att skapa och köra din app.

Öppna din webbläsare och gå till http://localhost:1234/. Du bör se följande webbprogram:

Skärmbild av det färdiga JavaScript-programmet.

Du kan ringa ett samtal till ett riktigt telefonnummer genom att ange ett telefonnummer i det tillagda textfältet och klicka på knappen Starta telefonsamtal .

Viktigt!

Azure Communication Services stöder endast nödsamtal till nödnummer i USA, Puerto Rico, Kanada, Danmark, Storbritannien och Australien.

Azure Communication Services röstsamtal (PSTN) kan användas för att ringa nödnummer 911 i USA, Puerto Rico och Kanada, för att ringa nödnummer 112 i Danmark, ringa 000 i Australien och ringa nödnummer 999 och 112 i Storbritannien. Azure Communication Services har för närvarande inte stöd för att ringa dessa nödnummer utanför dessa länder eller regioner eller ringa räddningstjänster i andra länder eller regioner.

Exempelkod

Hitta den färdiga koden för den här snabbstarten på GitHub

Förutsättningar

Kravkontroll

  • Om du vill visa de telefonnummer som är associerade med din Communication Services-resurs loggar du in på Azure Portal, letar upp din Communication Services-resurs och öppnar fliken telefonnummer i det vänstra navigeringsfönstret.

Konfigurera

Lägga till PSTN-funktioner i din app

Lägg till typen i PhoneNumber din app genom att ändra MainActivity.java:

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

Starta ett samtal till telefon

Ange det telefonnummer som du hämtade från din Communication Services-resurs. Det här numret används som nummerpresentation för att starta samtalet:

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164. (t.ex. + 12223334444)

Ändra startCall() händelsehanteraren i MainActivity.java så att den hanterar telefonsamtal:

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

Starta appen och anropa ekoroboten

Appen kan nu startas med knappen "Kör app" i verktygsfältet (Skift+F10). Om du vill ringa ett samtal anger du ett telefonnummer i det tillagda textfältet och väljer knappen SAMTAL .

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164. (t.ex. + 12223334444)

Skärmbild som visar det slutförda programmet.

Viktigt!

Azure Communication Services stöder endast nödsamtal till nödnummer i USA, Puerto Rico, Kanada, Danmark, Storbritannien och Australien.

Azure Communication Services röstsamtal (PSTN) kan användas för att ringa nödnummer 911 i USA, Puerto Rico och Kanada, för att ringa nödnummer 112 i Danmark, ringa 000 i Australien och ringa nödnummer 999 och 112 i Storbritannien. Azure Communication Services har för närvarande inte stöd för att ringa dessa nödnummer utanför dessa länder eller regioner eller ringa räddningstjänster i andra länder eller regioner.

Förutsättningar

Kravkontroll

  • Om du vill visa de telefonnummer som är associerade med din Communication Services-resurs loggar du in på Azure Portal, letar upp din Communication Services-resurs och öppnar fliken telefonnummer i det vänstra navigeringsfönstret.
  • Du kan skapa och köra din app med Azure Communication Services Calling SDK för iOS:

Konfigurera

Starta ett samtal till telefon

Ange telefonnummer som du har köpt i Communication Services-resursen som används för att starta samtalet:

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164. (t.ex. + 12223334444)

Ändra startCall händelsehanteraren som utförs när knappen Starta samtal knackas:

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

Kör koden

Du kan skapa och köra appen i iOS-simulatorn genom att välja Produktkörning> eller med hjälp av kortkommandot (⌘-R).

Slutligt utseende och känsla för snabbstartsappen

Du kan ringa ett samtal till telefon genom att ange ett telefonnummer i det tillagda textfältet och klicka på knappen Starta samtal .

Varning

Observera att telefonnummer ska anges i internationellt standardformat E.164. (t.ex. + 12223334444)

Kommentar

Första gången du ringer ett anrop uppmanar systemet dig att få åtkomst till mikrofonen. I ett produktionsprogram bör du använda API:et AVAudioSession för att kontrollera behörighetsstatusen och korrekt uppdatera programmets beteende när behörigheten inte beviljas.

Rensa resurser

Om du vill rensa och ta bort en Communication Services-prenumeration kan du ta bort resursen eller resursgruppen. Om du tar bort resursgruppen tas även alla andra resurser som är associerade med den bort. Läs mer om att rensa resurser.

Nästa steg

Mer information finns i följande artiklar: