Szybki start: połączenie wychodzące z numerem telefonu
Rozpocznij pracę z usługami Azure Communication Services przy użyciu zestawu SDK wywołującego usługi Communication Services, aby dodać wywołanie PSTN do aplikacji.
Ważne
Usługi Azure Communication Services obsługują połączenia alarmowe z numerami alarmowymi tylko w Stany Zjednoczone, Portoryko, Kanadzie, Danii, Wielkiej Brytanii i Australii.
Połączenia głosowe usług Azure Communication Services (PSTN) mogą służyć do wybierania numeru alarmowego 911 w Stany Zjednoczone, Portoryko i Kanadzie, aby wybrać numer alarmowy 112 w Danii, wybrać numer 000 w Australii i wybrać numery alarmowe 999 i 112 w Wielkiej Brytanii. Usługi Azure Communication Services nie obsługują obecnie wybierania numerów alarmowych spoza tych krajów lub regionów ani wybierania służb ratowniczych w innych krajach lub regionach.
Przykładowy kod
Znajdź sfinalizowany kod dla tego przewodnika Szybki start w witrynie GitHub
Uwaga
Dostęp do połączeń wychodzących do numeru telefonu można uzyskać przy użyciu biblioteki interfejsu użytkownika usług Azure Communication Services. Biblioteka interfejsu użytkownika umożliwia deweloperom dodawanie klienta wywołania włączonego do aplikacji przy użyciu tylko kilku wierszy kodu.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Wdrożony zasób usług komunikacyjnych. Utwórz zasób usług komunikacyjnych.
- Numer telefonu uzyskany w zasobie usług komunikacyjnych lub skonfigurowany routing bezpośredni usług Azure Communication Services. Jeśli masz bezpłatną subskrypcję, możesz uzyskać numer telefonu w wersji próbnej.
- Element umożliwiający
User Access Token
włączenie klienta wywołania. Aby uzyskać więcej informacji na temat sposobu uzyskiwaniaUser Access Token
Konfigurowanie
Tworzenie nowej aplikacji Node.js
Otwórz terminal lub okno polecenia utwórz nowy katalog dla aplikacji i przejdź do niego.
mkdir calling-quickstart
cd calling-quickstart
Uruchom polecenie npm init -y
, aby utworzyć plik package.json z ustawieniami domyślnymi.
npm init -y
Instalowanie pakietu
npm install
Użyj polecenia , aby zainstalować zestaw SDK wywołujący usługi Azure Communication Services dla języka JavaScript.
npm install @azure/communication-common --save
npm install @azure/communication-calling --save
Opcja --save
wyświetla bibliotekę jako zależność w pliku package.json .
Konfigurowanie struktury aplikacji
Ten przewodnik Szybki start używa pakietu pakietu zasobów aplikacji. Uruchom następujące polecenie, aby go zainstalować i wyświetlić jako zależność programową w package.json:
npm install parcel --save-dev
Utwórz plik index.html w katalogu głównym projektu. Użyjemy tego pliku do skonfigurowania podstawowego układu, który umożliwi użytkownikowi umieszczenie wywołania.
Oto kod:
<!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>
Utwórz plik w katalogu głównym projektu o nazwie app.js zawierający logikę aplikacji na potrzeby tego przewodnika Szybki start. Dodaj następujący kod, aby zaimportować klienta wywołującego i uzyskać odwołania do elementów DOM, abyśmy mogli dołączyć logikę biznesową.
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();
Rozpoczynanie połączenia telefonicznego
Określ numer telefonu uzyskany w zasobie usług komunikacyjnych, który jest używany do rozpoczęcia połączenia:
Ostrzeżenie
Numery telefonów powinny być podane w formacie międzynarodowym E.164. (np. +12223334444)
Dodaj procedurę obsługi zdarzeń, aby zainicjować połączenie z podanym numerem telefonu po kliknięciu elementu callPhoneButton
:
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;
});
Kończ połączenie telefoniczne
Dodaj odbiornik zdarzeń, aby zakończyć bieżące wywołanie po kliknięciu elementu hangUpPhoneButton
:
hangUpPhoneButton.addEventListener("click", () => {
// end the current call
call.hangUp({
forEveryone: true
});
// toggle button states
hangUpPhoneButton.disabled = true;
callPhoneButton.disabled = false;
});
Właściwość forEveryone
kończy wezwanie dla wszystkich uczestników połączeń.
Uruchamianie kodu
Użyj polecenia npx parcel index.html
, aby skompilować i uruchomić aplikację.
Otwórz przeglądarkę i przejdź do http://localhost:1234/
adresu . Powinna zostać wyświetlona następująca aplikacja internetowa:
Możesz umieścić połączenie na rzeczywistym numerze telefonu, podając numer telefonu w dodanym polu tekstowym i klikając przycisk Rozpocznij połączenie telefoniczne.
Ważne
Usługi Azure Communication Services obsługują połączenia alarmowe z numerami alarmowymi tylko w Stany Zjednoczone, Portoryko, Kanadzie, Danii, Wielkiej Brytanii i Australii.
Połączenia głosowe usług Azure Communication Services (PSTN) mogą służyć do wybierania numeru alarmowego 911 w Stany Zjednoczone, Portoryko i Kanadzie, aby wybrać numer alarmowy 112 w Danii, wybrać numer 000 w Australii i wybrać numery alarmowe 999 i 112 w Wielkiej Brytanii. Usługi Azure Communication Services nie obsługują obecnie wybierania numerów alarmowych spoza tych krajów lub regionów ani wybierania służb ratowniczych w innych krajach lub regionach.
Przykładowy kod
Znajdź sfinalizowany kod dla tego przewodnika Szybki start w witrynie GitHub
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Wdrożony zasób usług komunikacyjnych. Utwórz zasób usług komunikacyjnych.
- Numer telefonu uzyskany w zasobie usług komunikacyjnych lub skonfigurowany routing bezpośredni usług Azure Communication Services. Jeśli masz bezpłatną subskrypcję, możesz uzyskać numer telefonu w wersji próbnej.
- Element umożliwiający
User Access Token
włączenie klienta wywołania. Aby uzyskać więcej informacji na temat sposobu uzyskiwaniaUser Access Token
- Ukończ przewodnik Szybki start, aby rozpocząć dodawanie wywołań do aplikacji
Sprawdzanie wymagań wstępnych
- Aby wyświetlić numery telefonów skojarzone z zasobem usług Komunikacyjnych, zaloguj się do witryny Azure Portal, znajdź zasób usług Komunikacyjnych i otwórz kartę Numery telefonów w okienku nawigacji po lewej stronie.
Konfigurowanie
Dodawanie funkcji PSTN do aplikacji
PhoneNumber
Dodaj typ do aplikacji, modyfikując MainActivity.java:
import com.azure.android.communication.common.PhoneNumberIdentifier;
Rozpoczynanie połączenia telefonicznego
Określ numer telefonu uzyskany z zasobu usług komunikacyjnych. Ten numer jest używany jako identyfikator obiektu wywołującego, aby uruchomić wywołanie:
Ostrzeżenie
Należy pamiętać, że numery telefonów powinny być podane w formacie międzynarodowego standardu E.164. (np. +12223334444)
Zmodyfikuj startCall()
program obsługi zdarzeń w MainActivity.java, aby obsługiwał połączenia telefoniczne:
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);
}
Uruchamianie aplikacji i wywoływanie bota echo
Teraz można uruchomić aplikację przy użyciu przycisku "Uruchom aplikację" na pasku narzędzi (Shift+F10). Aby nawiązać połączenie, podaj numer telefonu w dodanym polu tekstowym i wybierz przycisk ZADZWOŃ .
Ostrzeżenie
Należy pamiętać, że numery telefonów powinny być podane w formacie międzynarodowego standardu E.164. (np. +12223334444)
Ważne
Usługi Azure Communication Services obsługują połączenia alarmowe z numerami alarmowymi tylko w Stany Zjednoczone, Portoryko, Kanadzie, Danii, Wielkiej Brytanii i Australii.
Połączenia głosowe usług Azure Communication Services (PSTN) mogą służyć do wybierania numeru alarmowego 911 w Stany Zjednoczone, Portoryko i Kanadzie, aby wybrać numer alarmowy 112 w Danii, wybrać numer 000 w Australii i wybrać numery alarmowe 999 i 112 w Wielkiej Brytanii. Usługi Azure Communication Services nie obsługują obecnie wybierania numerów alarmowych spoza tych krajów lub regionów ani wybierania służb ratowniczych w innych krajach lub regionach.
Wymagania wstępne
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Wdrożony zasób usług komunikacyjnych. Utwórz zasób usług komunikacyjnych.
- Numer telefonu uzyskany w zasobie usług komunikacyjnych lub skonfigurowany routing bezpośredni usług Azure Communication Services. Jeśli masz bezpłatną subskrypcję, możesz uzyskać numer telefonu w wersji próbnej.
- Element umożliwiający
User Access Token
włączenie klienta wywołania. Aby uzyskać więcej informacji na temat sposobu uzyskiwaniaUser Access Token
- Ukończ przewodnik Szybki start, aby rozpocząć dodawanie wywołań do aplikacji
Sprawdzanie wymagań wstępnych
- Aby wyświetlić numery telefonów skojarzone z zasobem usług Komunikacyjnych, zaloguj się do witryny Azure Portal, znajdź zasób usług Komunikacyjnych i otwórz kartę Numery telefonów w okienku nawigacji po lewej stronie.
- Aplikację można skompilować i uruchomić za pomocą zestawu SDK wywołującego usługi Azure Communication Services dla systemu iOS:
Konfigurowanie
Rozpoczynanie połączenia telefonicznego
Określ numer telefonu uzyskany w zasobie usług komunikacyjnych, który jest używany do rozpoczęcia połączenia:
Ostrzeżenie
Należy pamiętać, że numery telefonów powinny być podane w formacie międzynarodowego standardu E.164. (np. +12223334444)
Zmodyfikuj startCall
procedurę obsługi zdarzeń wykonywaną po naciśnięciu przycisku Uruchom wywołanie :
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")
}
}
}
}
}
Uruchamianie kodu
Aplikację można skompilować i uruchomić w symulatorze systemu iOS, wybierając pozycję Uruchom produkt>lub za pomocą skrótu klawiaturowego (⌘-R).
Możesz nawiązać połączenie telefoniczne, podając numer telefonu w dodanym polu tekstowym i klikając przycisk Rozpocznij połączenie .
Ostrzeżenie
Należy pamiętać, że numery telefonów powinny być podane w formacie międzynarodowego standardu E.164. (np. +12223334444)
Uwaga
Po pierwszym wywołaniu system wyświetli monit o dostęp do mikrofonu. W aplikacji produkcyjnej należy użyć interfejsu AVAudioSession
API , aby sprawdzić stan uprawnień i bezpiecznie zaktualizować zachowanie aplikacji, gdy nie udzielono uprawnień.
Czyszczenie zasobów
Jeśli chcesz wyczyścić i usunąć subskrypcję usług Komunikacyjnych, możesz usunąć zasób lub grupę zasobów. Usunięcie grupy zasobów powoduje również usunięcie wszelkich innych skojarzonych z nią zasobów. Dowiedz się więcej o czyszczeniu zasobów.
Następne kroki
Aby uzyskać więcej informacji, zobacz następujące artykuły:
- Dowiedz się więcej o możliwościach wywoływania zestawu SDK
- Dowiedz się więcej o tym, jak działa wywołanie
- Dowiedz się więcej o możliwościach wyszukiwania liczb