Rychlý start: Odchozí hovor na telefonní číslo
Začněte se službou Azure Communication Services pomocí sady SDK pro volání komunikačních služeb a přidejte do aplikace volání do veřejné telefonní sítě.
Důležité
Azure Communication Services podporuje tísňová volání na čísla tísňových volání v USA, Portoriku, Kanadě, Dánsku, Spojeném království a Austrálii.
Pomocí hlasového volání služby Azure Communication Services (PSTN) můžete vytočit číslo tísňového volání 911 v USA, Portoriku a Kanadě, vytočit číslo tísňového volání 112 v Dánsku, vytočit číslo 000 v Austrálii a vytočit čísla tísňového volání 999 a 112 ve Spojeném království. Služba Azure Communication Services v současné době nepodporuje vytáčení těchto čísel tísňového volání mimo tyto země nebo oblasti nebo vytáčení služeb tísňového volání v jiných zemích nebo oblastech.
Ukázka kódu
Vyhledání finalizovaného kódu pro tento rychlý start na GitHubu
Poznámka:
Odchozí volání na telefonní číslo je možné získat přístup pomocí knihovny uživatelského rozhraní služeb Azure Communication Services. Knihovna uživatelského rozhraní umožňuje vývojářům přidat do své aplikace klienta volání, který je povolený ve veřejné telefonní síti, pouze s několika řádky kódu.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nasazený prostředek komunikační služby. Vytvořte prostředek komunikační služby.
- Telefonní číslo získané v prostředku komunikační služby nebo nakonfigurované přímé směrování služby Azure Communication Services. Pokud máte bezplatné předplatné, můžete získat zkušební telefonní číslo.
- A
User Access Token
, aby bylo možné povolit klienta volání. Další informace o tom, jak získatUser Access Token
Nastavení
Vytvoření nové aplikace Node.js
Otevřete terminál nebo příkazové okno, vytvořte pro aplikaci nový adresář a přejděte na něj.
mkdir calling-quickstart
cd calling-quickstart
Spuštěním příkazu npm init -y
vytvořte soubor package.json s výchozím nastavením.
npm init -y
Nainstalujte balíček .
npm install
Pomocí příkazu nainstalujte sadu SDK pro volání služeb Azure Communication Services pro JavaScript.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Tato --save
možnost vypíše knihovnu jako závislost v souboru package.json .
Nastavení architektury aplikace
V tomto rychlém startu se k vytvoření prostředků aplikace používá balík. Spuštěním následujícího příkazu ho nainstalujte a vypište ji jako vývojovou závislost ve vašem package.json:
npm install parcel --save-dev
V kořenovém adresáři projektu vytvořte soubor index.html . Tento soubor použijeme ke konfiguraci základního rozložení, které uživateli umožní zavolat.
Tady je kód:
<!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>
V kořenovém adresáři projektu vytvořte soubor s názvem app.js , který bude obsahovat logiku aplikace pro účely tohoto rychlého startu. Přidejte následující kód pro import volajícího klienta a získejte odkazy na prvky DOM, abychom mohli připojit naši obchodní logiku.
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();
Zahájení hovoru na telefon
Zadejte telefonní číslo, které jste získali v prostředku Komunikační služby, který se používá k zahájení hovoru:
Upozorňující
Telefonní čísla by měla být uvedena v mezinárodním standardním formátu E.164. (např.: +12223334444)
Přidejte obslužnou rutinu události, která zahájí volání na telefonní číslo, které jste zadali po callPhoneButton
kliknutí:
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;
});
Ukončení hovoru na telefon
Přidejte naslouchací proces události, který ukončí aktuální volání po hangUpPhoneButton
kliknutí:
hangUpPhoneButton.addEventListener("click", () => {
// end the current call
call.hangUp({
forEveryone: true
});
// toggle button states
hangUpPhoneButton.disabled = true;
callPhoneButton.disabled = false;
});
Vlastnost forEveryone
ukončí volání pro všechny účastníky hovoru.
Spuštění kódu
Pomocí příkazu npx parcel index.html
sestavte a spusťte aplikaci.
Otevřete prohlížeč a přejděte na http://localhost:1234/
. Měla by se zobrazit následující webová aplikace:
Volání na skutečné telefonní číslo můžete umístit zadáním telefonního čísla do přidaného textového pole a kliknutím na tlačítko Zahájit telefonní hovor .
Důležité
Azure Communication Services podporuje tísňová volání na čísla tísňových volání v USA, Portoriku, Kanadě, Dánsku, Spojeném království a Austrálii.
Pomocí hlasového volání služby Azure Communication Services (PSTN) můžete vytočit číslo tísňového volání 911 v USA, Portoriku a Kanadě, vytočit číslo tísňového volání 112 v Dánsku, vytočit číslo 000 v Austrálii a vytočit čísla tísňového volání 999 a 112 ve Spojeném království. Služba Azure Communication Services v současné době nepodporuje vytáčení těchto čísel tísňového volání mimo tyto země nebo oblasti nebo vytáčení služeb tísňového volání v jiných zemích nebo oblastech.
Ukázka kódu
Vyhledání finalizovaného kódu pro tento rychlý start na GitHubu
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nasazený prostředek komunikační služby. Vytvořte prostředek komunikační služby.
- Telefonní číslo získané v prostředku služby Communication Services nebo nakonfigurované přímé směrování služeb Azure Communication Services Pokud máte bezplatné předplatné, můžete získat zkušební telefonní číslo.
- A
User Access Token
, aby bylo možné povolit klienta volání. Další informace o tom, jak získatUser Access Token
- Dokončete rychlý start, abyste mohli začít s přidáváním volání do aplikace.
Kontrola požadovaných součástí
- Pokud chcete zobrazit telefonní čísla přidružená k vašemu prostředku Komunikační služby, přihlaste se k webu Azure Portal, vyhledejte prostředek komunikační služby a otevřete kartu telefonních čísel v levém navigačním podokně.
Nastavení
Přidání funkce veřejné telefonní sítě do aplikace
Přidejte typ PhoneNumber
do aplikace úpravou MainActivity.java:
import com.azure.android.communication.common.PhoneNumberIdentifier;
Zahájení hovoru na telefon
Zadejte telefonní číslo, které jste získali v rámci prostředku komunikační služby. Toto číslo se používá jako ID volajícího ke spuštění hovoru:
Upozorňující
Všimněte si, že telefonní čísla by měla být uvedena v mezinárodním standardním formátu E.164. (např.: +12223334444)
Upravte startCall()
obslužnou rutinu události v MainActivity.java tak, aby zpracovávala telefonní hovory:
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);
}
Spusťte aplikaci a zavolejte robota echo.
Aplikaci teď můžete spustit pomocí tlačítka Spustit aplikaci na panelu nástrojů (Shift+F10). Pokud chcete volat, zadejte do přidaného textového pole telefonní číslo a vyberte tlačítko VOLAT .
Upozorňující
Všimněte si, že telefonní čísla by měla být uvedena v mezinárodním standardním formátu E.164. (např.: +12223334444)
Důležité
Azure Communication Services podporuje tísňová volání na čísla tísňových volání v USA, Portoriku, Kanadě, Dánsku, Spojeném království a Austrálii.
Pomocí hlasového volání služby Azure Communication Services (PSTN) můžete vytočit číslo tísňového volání 911 v USA, Portoriku a Kanadě, vytočit číslo tísňového volání 112 v Dánsku, vytočit číslo 000 v Austrálii a vytočit čísla tísňového volání 999 a 112 ve Spojeném království. Služba Azure Communication Services v současné době nepodporuje vytáčení těchto čísel tísňového volání mimo tyto země nebo oblasti nebo vytáčení služeb tísňového volání v jiných zemích nebo oblastech.
Požadavky
- Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
- Nasazený prostředek komunikační služby. Vytvořte prostředek komunikační služby.
- Telefonní číslo získané v prostředku komunikační služby nebo nakonfigurované přímé směrování služby Azure Communication Services. Pokud máte bezplatné předplatné, můžete získat zkušební telefonní číslo.
- A
User Access Token
, aby bylo možné povolit klienta volání. Další informace o tom, jak získatUser Access Token
- Dokončete rychlý start, abyste mohli začít s přidáváním volání do aplikace.
Kontrola požadovaných součástí
- Pokud chcete zobrazit telefonní čísla přidružená k vašemu prostředku Komunikační služby, přihlaste se k webu Azure Portal, vyhledejte prostředek komunikační služby a otevřete kartu telefonních čísel v levém navigačním podokně.
- Aplikaci můžete sestavit a spustit pomocí sady SDK pro volání služeb Azure Communication Services pro iOS:
Nastavení
Zahájení hovoru na telefon
Zadejte telefonní číslo, které jste získali v prostředku Komunikační služby, který se používá k zahájení hovoru:
Upozorňující
Všimněte si, že telefonní čísla by měla být uvedena v mezinárodním standardním formátu E.164. (např.: +12223334444)
Upravte startCall
obslužnou rutinu události, která se provádí při klepnutí na tlačítko Zahájit hovor :
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")
}
}
}
}
}
Spuštění kódu
Aplikaci můžete sestavit a spustit v simulátoru iOS tak, že vyberete Spuštění produktu>nebo pomocí klávesové zkratky (⌘-R).
Volání na telefon můžete provést zadáním telefonního čísla do přidaného textového pole a kliknutím na tlačítko Zahájit hovor .
Upozorňující
Všimněte si, že telefonní čísla by měla být uvedena v mezinárodním standardním formátu E.164. (např.: +12223334444)
Poznámka:
Při prvním volání vás systém vyzve k přístupu k mikrofonu. V produkční aplikaci byste měli použít AVAudioSession
rozhraní API ke kontrole stavu oprávnění a řádné aktualizaci chování aplikace v případě, že oprávnění není uděleno.
Vyčištění prostředků
Pokud chcete vyčistit a odebrat předplatné služby Communication Services, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené. Přečtěte si další informace o čištění prostředků.
Další kroky
Další informace najdete v následujících článcích:
- Informace o možnostech volání sady SDK
- Další informace o fungování volání
- Informace o možnostech vyhledávání čísel