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
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Communication Services-resource. Een Communication Services-resource maken.
- Een telefoonnummer dat is verkregen in uw Communication Services-resource of azure Communication Services Direct-routering geconfigureerd. Als u een gratis abonnement hebt, kunt u een proeftelefoonnummer krijgen.
- Een
User Access Token
om de aanroepende client in te schakelen. Voor meer informatie over het verkrijgen van eenUser Access Token
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>
<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:
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
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Communication Services-resource. Een Communication Services-resource maken.
- Een telefoonnummer dat is verkregen in uw Communication Services-resource of azure Communication Services Directe routering geconfigureerd. Als u een gratis abonnement hebt, kunt u een proeftelefoonnummer krijgen.
- Een
User Access Token
om de aanroepende client in te schakelen. Voor meer informatie over het verkrijgen van eenUser Access Token
- Voltooi de quickstart om aan de slag te gaan met het toevoegen van aanroepen aan uw toepassing
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)
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
- Een Azure-account met een actief abonnement. Gratis een account maken
- Een geïmplementeerde Communication Services-resource. Een Communication Services-resource maken.
- Een telefoonnummer dat is verkregen in uw Communication Services-resource of azure Communication Services Direct-routering geconfigureerd. Als u een gratis abonnement hebt, kunt u een proeftelefoonnummer krijgen.
- Een
User Access Token
om de aanroepende client in te schakelen. Voor meer informatie over het verkrijgen van eenUser Access Token
- Voltooi de quickstart om aan de slag te gaan met het toevoegen van aanroepen aan uw toepassing
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.
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 AVAudioSession
API 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:
- Meer informatie over de mogelijkheden van calling-SDK
- Meer informatie over de werking van aanroepen
- Meer informatie over mogelijkheden voor getalzoekmogelijkheden