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
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En distribuerad Communication Services-resurs. Skapa en Communication Services-resurs.
- Ett telefonnummer som hämtats i din Communication Services-resurs eller Azure Communication Services Direct-routning har konfigurerats. Om du har en kostnadsfri prenumeration kan du få ett telefonnummer för utvärderingsversionen.
- A
User Access Token
för att aktivera anropsklienten. Mer information om hur du får enUser Access Token
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>
<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:
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
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En distribuerad Communication Services-resurs. Skapa en Communication Services-resurs.
- Ett telefonnummer som hämtats i din Communication Services-resurs eller Azure Communication Services Direct Routing konfigurerat. Om du har en kostnadsfri prenumeration kan du få ett telefonnummer för utvärderingsversionen.
- A
User Access Token
för att aktivera anropsklienten. Mer information om hur du får enUser Access Token
- Slutför snabbstarten för att komma igång med att lägga till samtal i ditt program
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)
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
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- En distribuerad Communication Services-resurs. Skapa en Communication Services-resurs.
- Ett telefonnummer som hämtats i din Communication Services-resurs eller Azure Communication Services Direct-routning har konfigurerats. Om du har en kostnadsfri prenumeration kan du få ett telefonnummer för utvärderingsversionen.
- A
User Access Token
för att aktivera anropsklienten. Mer information om hur du får enUser Access Token
- Slutför snabbstarten för att komma igång med att lägga till samtal i ditt program
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).
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:
- Lär dig mer om funktioner för samtals-SDK
- Läs mer om hur samtal fungerar
- Läs mer om funktioner för nummersökning