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 i Wielkiej Brytanii.

Połączenia głosowe usług Azure Communication Services (PSTN) mogą służyć do wybierania numerów alarmowych 911 w Stany Zjednoczone, Portoryko i Kanadzie, do wybierania numeru alarmowego 112 w Danii oraz wybierania numerów alarmowych 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

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>
      &nbsp;
      <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

Telefon liczby 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:

Screenshot of the completed JavaScript Application.

Połączenie można umieścić na rzeczywistym numerze telefonu, podając numer telefonu w dodanym polu tekstowym i klikając przycisk Rozpocznij Telefon Połączenie.

Ważne

Usługi Azure Communication Services obsługują połączenia alarmowe z numerami alarmowymi tylko w Stany Zjednoczone, Portoryko, Kanadzie, Danii i Wielkiej Brytanii.

Połączenia głosowe usług Azure Communication Services (PSTN) mogą służyć do wybierania numerów alarmowych 911 w Stany Zjednoczone, Portoryko i Kanadzie, do wybierania numeru alarmowego 112 w Danii oraz wybierania numerów alarmowych 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

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)

Screenshot showing the completed application.

Ważne

Usługi Azure Communication Services obsługują połączenia alarmowe z numerami alarmowymi tylko w Stany Zjednoczone, Portoryko, Kanadzie, Danii i Wielkiej Brytanii.

Połączenia głosowe usług Azure Communication Services (PSTN) mogą służyć do wybierania numerów alarmowych 911 w Stany Zjednoczone, Portoryko i Kanadzie, do wybierania numeru alarmowego 112 w Danii oraz wybierania numerów alarmowych 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

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).

Final look and feel of the quick start app

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: