Udostępnij za pośrednictwem


Szybki start: połączenie wychodzące na numer telefonu

Rozpocznij korzystanie z usług Azure Communication Services, używając zestawu SDK do rozmów, aby dodać rozmowy PSTN do aplikacji.

Ważne

Usługi Azure Communication Services obsługują połączenia alarmowe tylko z numerami alarmowymi w Stanach Zjednoczonych, 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 Stanach Zjednoczonych, 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 szybkiego przewodnika w witrynie GitHub

Uwaga / Notatka

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 UI umożliwia deweloperom dodanie klienta do aplikacji, który obsługuje PSTN, przy użyciu zaledwie kilku linijek kodu.

Wymagania wstępne

Ustawienia

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

Aby zainstalować SDK do wywołań Azure Communication Services dla JavaScript, użyj polecenia npm install.

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

W tym artykule do pakowania zasobów aplikacji używany jest Parcel. 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. Ten plik służy do konfigurowania podstawowego układu, który umożliwia 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, który będzie zawierał logikę aplikacji dla tego szybkiego startu. 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 nasłuchiwacz zdarzeń, aby po kliknięciu elementu hangUpPhoneButton zakończyć bieżące połączenie.

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/. Powinna zostać wyświetlona następująca aplikacja internetowa:

Zrzut ekranu przedstawiający ukończoną aplikację JavaScript.

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 tylko z numerami alarmowymi w Stanach Zjednoczonych, 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 Stanach Zjednoczonych, 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 szybkiego przewodnika 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);
    }

Uruchom aplikację i zadzwoń do 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)

Zrzut ekranu przedstawiający ukończoną aplikację.

Ważne

Usługi Azure Communication Services obsługują połączenia alarmowe tylko z numerami alarmowymi w Stanach Zjednoczonych, 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 Stanach Zjednoczonych, 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

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

Końcowy wygląd i działanie aplikacji Szybki start

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 / Notatka

Kiedy po raz pierwszy wykonasz połączenie, 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ń.

Uprzątnij zasoby

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.

Dalsze kroki

Aby uzyskać więcej informacji, zobacz następujące artykuły: