Megosztás a következőn keresztül:


Rövid útmutató: Segélyhívás hozzáadása

Adjon hozzá segélyhívást a PSTN-kompatibilis alkalmazáshoz az Azure Communication Services Calling SDK használatával.

Fontos

Az Azure Communication Services csak a Egyesült Államok, Puerto Rico, Kanada, Dánia, Egyesült Királyság és Ausztrália területén támogatja a segélyhívásokat.

Az Azure Communication Services hanghívás (PSTN) a 911-es segélyhívószám tárcsázására használható a Egyesült Államok, Puerto Rico és Kanada területén, a 112-es segélyhívó szám tárcsázására Dániában, a 000-es segélyhívó szám tárcsázására Ausztráliában, valamint a 999-es és a 112-es segélyhívó számok tárcsázására az Egyesült Királyságban. Az Azure Communication Services jelenleg nem támogatja a segélyhívó számok tárcsázását ezen országokon vagy régiókon kívülről, vagy más országokban vagy régiókban tárcsázott segélyhívási szolgáltatásokat.

Előfeltételek

Fontos tényezők

  • A segélyhívási szám tárcsázása és a visszahívás fogadása követelmény lehet az alkalmazás számára. Ellenőrizze a segélyhívási követelményeket a jogi tanácsadójával.

  • A Microsoft az ISO 3166-1 alpha-2 szabványnak megfelelő ország-/régiókódokat használ.

  • A támogatott ISO-kódok csak az USA (Egyesült Államok), a PR (Puerto Rico), a CA (Kanada), a GB (Egyesült Királyság) és a DK (Dánia) .

  • Ha nem adja meg az ország/régió ISO-kódját az Azure Communication Services Calling SDK-nak, a Microsoft az IP-cím használatával határozza meg a hívó országát vagy régióját.

    Ha az IP-cím nem tud megbízható földrajzi helyeket biztosítani (például a felhasználó egy virtuális magánhálózaton van), a hívó ország vagy régió ISO-kódját az API használatával kell beállítania a Hívó SDK-ban.

  • Ha a felhasználók usa-beli területről tárcsáznak (például Guam, USA Virgin-szigetek, Észak-Mariana-szigetek vagy Amerikai Szamoa), az ISO-kódot USA-ra kell állítania.

  • A segélyhívások hatóköre nem terjed ki az Azure Communication Services közvetlen útválasztására.

  • Az Azure Communication Services segélyhívási szolgáltatásának számlázásával kapcsolatos információkért tekintse meg a díjszabási oldalt.

Gomb beállítása teszteléshez

Cserélje le a index.html kódját a következő kódrészletre. Új gombot ad hozzá a segélyhívások teszteléséhez.

<!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>
      <button id="emergency-button" type="button">
        933 Test Call
      </button>
    </div>
    <script src="./bundle.js"></script>
  </body>
</html>

Adja meg az országot vagy régiót

Adja meg annak az országnak vagy régiónak az ISO-kódját, ahol a hívó található. A támogatott ISO-kódok listájáért tekintse meg a segélyhívásról szóló elméleti cikket.

A client.js fájlban adja hozzá a következő kódot a index.html létrehozott segélyhívási gomb lekéréséhez:

const emergencyButton = document.getElementById("emergency-button");

Cserélje le a függvényt init , hogy a létrehozás során callAgent adjon hozzá egy mezőt a vészhelyzeti ország vagy régió megadásához:

async function init() {
    const callClient = new CallClient();
    const tokenCredential = new AzureCommunicationTokenCredential('<USER ACCESS TOKEN with PSTN scope>');
    callAgent = await callClient.createCallAgent(tokenCredential, {
                emergencyCallOptions: {"countryCode": "<COUNTRY CODE>"}
            });
  //  callPhoneButton.disabled = false;
}

Funkció hozzáadása a hívás gombjához

A következő kód client.js fájlhoz való hozzáadásával adhat hozzá funkciókat a segélyhívási gombhoz. A segélyhíváshoz ideiglenes hívóazonosító van hozzárendelve, függetlenül attól, hogy megadja-e a paramétert alternateCallerId .

emergencyButton.addEventListener("click", () => {
  const phoneToCall = "933";
  call = callAgent.startCall(
    [{phoneNumber: phoneToCall}]);
  // toggle button states
  hangUpPhoneButton.disabled = false;
  callPhoneButton.disabled = true;
});

Fontos

A 933 egy teszthívási szolgáltatás. A segélyhívási szolgáltatások tesztelésére használható az élő 911 segélyhívási szolgáltatások megszakítása nélkül. A 911-et tényleges vészhelyzetekben kell tárcsázni.

Az alkalmazás futtatása és hívás indítása

Az alkalmazás létrehozásához és futtatásához használható webpack-dev-server . Futtassa a következő parancsot az alkalmazás gazdagépének helyi webkiszolgálón való kötegeléséhez:

npx webpack-dev-server --entry ./client.js --output bundle.js --debug --devtool inline-source-map

Nyissa meg a böngészőt, és nyissa meg a kívánt elemet http://localhost:8080/. Megjelenik a kész webalkalmazás.

Képernyőkép egy befejezett JavaScript-hívó alkalmazásról.

A 933-at a 933 Hívás tesztelése gombra kattintva hívhatja meg.

Fontos

Az Azure Communication Services csak a Egyesült Államok, Puerto Rico, Kanada, Dánia, Egyesült Királyság és Ausztrália területén támogatja a segélyhívásokat.

Az Azure Communication Services hanghívás (PSTN) a 911-es segélyhívószám tárcsázására használható a Egyesült Államok, Puerto Rico és Kanada területén, a 112-es segélyhívó szám tárcsázására Dániában, a 000-es segélyhívó szám tárcsázására Ausztráliában, valamint a 999-es és a 112-es segélyhívó számok tárcsázására az Egyesült Királyságban. Az Azure Communication Services jelenleg nem támogatja a segélyhívó számok tárcsázását ezen országokon vagy régiókon kívülről, vagy más országokban vagy régiókban tárcsázott segélyhívási szolgáltatásokat.

Előfeltételek

Fontos tényezők

  • A segélyhívási szám tárcsázása és a visszahívás fogadása követelmény lehet az alkalmazás számára. Ellenőrizze a segélyhívási követelményeket a jogi tanácsadójával.

  • A Microsoft az ISO 3166-1 alpha-2 szabványnak megfelelő ország-/régiókódokat használ.

  • A támogatott ISO-kódok csak az USA (Egyesült Államok), a PR (Puerto Rico), a CA (Kanada) és a GB (Egyesült Királyság) és a DK (Dánia) .

  • Ha nem adja meg az ország/régió ISO-kódját az Azure Communication Services Calling SDK-nak, a Microsoft az IP-cím használatával határozza meg a hívó országát vagy régióját.

    Ha az IP-cím nem tud megbízható földrajzi helyeket biztosítani (például a felhasználó egy virtuális magánhálózaton van), a hívó ország vagy régió ISO-kódját az API használatával kell beállítania a Hívó SDK-ban.

  • Ha a felhasználók usa-beli területről tárcsáznak (például Guam, USA Virgin-szigetek, Észak-Mariana-szigetek vagy Amerikai Szamoa), az ISO-kódot USA-ra kell állítania.

  • A segélyhívások hatóköre nem terjed ki az Azure Communication Services közvetlen útválasztására.

  • Az Azure Communication Services segélyhívási szolgáltatásának számlázásával kapcsolatos információkért tekintse meg a díjszabási oldalt.

Gomb beállítása teszteléshez

Cserélje le az app/src/main/res/layout/activity_main.xml kódját a következő kódrészletre. Új gombot ad hozzá a segélyhívások teszteléséhez.

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/callee_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="Callee Id"
        android:inputType="textPersonName"
        android:layout_marginTop="100dp"
        android:layout_marginHorizontal="20dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="46dp"
        android:gravity="center"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent">

        <Button
            android:id="@+id/call_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Call" />

        <Button
            android:id="@+id/emergency_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="933 Test Call" />
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

Adja meg az országot vagy régiót

Adja meg annak az országnak vagy régiónak az ISO-kódját, ahol a hívó található. A támogatott ISO-kódok listájáért tekintse meg a segélyhívásról szóló elméleti cikket.

A MainActivity.java fájlban adja hozzá a következő kódot a onCreate metódushoz a activity_main.xml létrehozott segélyhívási gomb lekéréséhez:

Button emergencyButton = findViewById(R.id.emergency_button);
emergencyButton.setOnClickListener(l->emergencyCall());

Módosítsa createAgent a vészhelyzeti ország vagy régió megadására:

private void createAgent() {
    String userToken = "<User_Access_Token>";

    try {
        CommunicationTokenCredential credential = new CommunicationTokenCredential(userToken);
        EmergencyCallOptions emergencyOptions = new EmergencyCallOptions().setCountryCode("<COUNTRY CODE>");
        CallAgentOptions agentOptions = new CallAgentOptions();
        callAgent = new CallClient().createCallAgent(getApplicationContext(), credential, agentOptions).get();
    } catch (Exception ex) {
        Toast.makeText(getApplicationContext(), "Failed to create call agent.", Toast.LENGTH_SHORT).show();
    }
}

Funkció hozzáadása a hívás gombjához

A következő kód MainActivity.java fájlhoz való hozzáadásával adhat hozzá funkciókat a segélyhívási gombhoz. A segélyhíváshoz ideiglenes hívóazonosító van hozzárendelve, függetlenül attól, hogy megadja-e a paramétert alternateCallerId .

private void emergencyCall() {
    String calleePhone = "933";
    StartCallOptions options = new StartCallOptions();
    ArrayList<CommunicationIdentifier> participants = new ArrayList<>();
    participants.add(new PhoneNumberIdentifier(calleePhone));
    call = agent.startCall(
            getApplicationContext(),
            participants,
            options);
}

Fontos

A 933 egy teszthívási szolgáltatás. A segélyhívási szolgáltatások tesztelésére használható az élő 911 segélyhívási szolgáltatások megszakítása nélkül. A 911-et tényleges vészhelyzetekben kell tárcsázni.

Az alkalmazás futtatása és hívás indítása

Képernyőkép egy befejezett Android-hívó alkalmazásról.

Most már futtathatja az alkalmazást az eszköztár Alkalmazás futtatása gombjával (vagy a Shift+F10 billentyűkombinációval). A 933-at a 933 Hívás tesztelése gombra kattintva hívhatja meg.

Fontos

Az Azure Communication Services csak a Egyesült Államok, Puerto Rico, Kanada, Dánia, Egyesült Királyság és Ausztrália területén támogatja a segélyhívásokat.

Az Azure Communication Services hanghívás (PSTN) a 911-es segélyhívószám tárcsázására használható a Egyesült Államok, Puerto Rico és Kanada területén, a 112-es segélyhívó szám tárcsázására Dániában, a 000-es segélyhívó szám tárcsázására Ausztráliában, valamint a 999-es és a 112-es segélyhívó számok tárcsázására az Egyesült Királyságban. Az Azure Communication Services jelenleg nem támogatja a segélyhívó számok tárcsázását ezen országokon vagy régiókon kívülről, vagy más országokban vagy régiókban tárcsázott segélyhívási szolgáltatásokat.

Előfeltételek

Fontos tényezők

  • A segélyhívási szám tárcsázása és a visszahívás fogadása követelmény lehet az alkalmazás számára. Ellenőrizze a segélyhívási követelményeket a jogi tanácsadójával.

  • A Microsoft az ISO 3166-1 alpha-2 szabványnak megfelelő ország-/régiókódokat használ.

  • A támogatott ISO-kódok csak az USA (Egyesült Államok), a PR (Puerto Rico), a CA (Kanada) és a GB (Egyesült Királyság) és a DK (Dánia) .

  • Ha nem adja meg az ország/régió ISO-kódját az Azure Communication Services Calling SDK-nak, a Microsoft az IP-cím használatával határozza meg a hívó országát vagy régióját.

    Ha az IP-cím nem tud megbízható földrajzi helyeket biztosítani (például a felhasználó egy virtuális magánhálózaton van), a hívó ország vagy régió ISO-kódját az API használatával kell beállítania a Hívó SDK-ban.

  • Ha a felhasználók usa-beli területről tárcsáznak (például Guam, USA Virgin-szigetek, Észak-Mariana-szigetek vagy Amerikai Szamoa), az ISO-kódot USA-ra kell állítania.

  • A segélyhívások hatóköre nem terjed ki az Azure Communication Services közvetlen útválasztására.

  • Az Azure Communication Services segélyhívási szolgáltatásának számlázásával kapcsolatos információkért tekintse meg a díjszabási oldalt.

Gomb beállítása teszteléshez

Cserélje le a ContentView.swift fájl kódját NavigationView a következő kódrészletre. Új gombot ad hozzá a segélyhívások teszteléséhez.

NavigationView {
    Form {
        Section {
            TextField("Who would you like to call?", text: $callee)
            Button(action: startCall) {
                Text("Start Call")
            }.disabled(callAgent == nil)
            Button(action: endCall) {
                Text("End Call")
            }.disabled(call == nil)
            Button (action: emergencyCall) {
              Text("933 Test Call")
            }.disabled(callAgent == nil)
            Text(status)
            Text(message)
        }
    }
    .navigationBarTitle("Emergency Calling Quickstart")
}

Adja meg az országot vagy régiót

Adja meg annak az országnak vagy régiónak az ISO-kódját, ahol a hívó található. A támogatott ISO-kódok listájáért tekintse meg a segélyhívásról szóló elméleti cikket.

A ContentView.swift fájlban cserélje le a kódot a következő kódrészletre NavigationViewa onAppear következő metódusban:

var userCredential: CommunicationTokenCredential?
do {
    userCredential = try CommunicationTokenCredential(token: "<USER ACCESS TOKEN>")
} catch {
    print("ERROR: It was not possible to create user credential.")
    return
}

self.callClient = CallClient()
let emergencyOptions = EmergencyCallOptions()
emergencyOptions.countryCode = "<COUNTRY CODE>"
let callAgentOptions = CallAgentOptions()
callAgentOptions.emergencyCallOptions= emergencyOptions

// Creates the call agent
self.callClient?.createCallAgent(userCredential: userCredential!, options: callAgentOptions) { (agent, error) in
    if error != nil {
        print("ERROR: It was not possible to create a call agent.")
        return
    }
    else {
        self.callAgent = agent
        print("Call agent successfully created.")
    }
}

Funkció hozzáadása a hívás gombjához

A ContentView.swift fájlhoz az alábbi kód hozzáadásával adhat hozzá funkciókat a segélyhívási gombhoz. A segélyhíváshoz ideiglenes hívóazonosító van hozzárendelve, függetlenül attól, hogy megadja-e a paramétert alternateCallerId .

func emergencyCall() {
        // Ask permissions
        AVAudioSession.sharedInstance().requestRecordPermission { (granted) in
            if granted {
                let startCallOptions = StartCallOptions()
                self.callAgent!.startCall(participants: [PhoneNumberIdentifier(phoneNumber: "933")], options: startCallOptions) { (call, error) in
                    if (error == nil) {
                        self.call = call
                    } else {
                        print("Failed to get call object")
                    }
                }
            }
        }
    }

Fontos

A 933 egy teszthívási szolgáltatás. A segélyhívási szolgáltatások tesztelésére használható az élő 911 segélyhívási szolgáltatások megszakítása nélkül. A 911-et tényleges vészhelyzetekben kell tárcsázni.

Az alkalmazás futtatása és hívás indítása

Képernyőkép egy befejezett iOS-hívó alkalmazásról.

Az alkalmazás létrehozása és futtatása az iOS-szimulátoron a Termékfuttatás> lehetőség kiválasztásával vagy a ⌘+R billentyűparancs használatával. A 933-at a 933 Hívás tesztelése gombra kattintva hívhatja meg.

Az erőforrások eltávolítása

Ha törölni és eltávolítani szeretne egy Communication Services-előfizetést, törölheti az erőforrást vagy az erőforráscsoportot. Az erőforráscsoport törlése a hozzá társított erőforrásokat is törli. További információ az erőforrások tisztításáról.

Következő lépések

További információért tekintse át az alábbi cikkeket:

  • További információ az SDK-képességek hívásáról.
  • További információ a hívás működéséről.