Hızlı Başlangıç: Telefon numarasına giden arama

uygulamanıza PSTN çağrısı eklemek için İletişim Hizmetleri Arama SDK'sını kullanarak Azure İletişim Hizmetleri kullanmaya başlayın.

Önemli

Azure İletişim Hizmetleri yalnızca Birleşik Devletler, Porto Riko, Kanada, Danimarka ve Birleşik Krallık'taki acil durum numaralarına acil çağrıyı destekler.

Azure İletişim Hizmetleri sesli arama (PSTN), Birleşik Devletler, Porto Riko ve Kanada'da acil durum numarası 911'i aramak, Danimarka'daki 112 acil durum numarasını aramak ve Birleşik Krallık'ta 999 ve 112 acil durum numaralarını aramak için kullanılabilir. Azure İletişim Hizmetleri şu anda bu ülke veya bölgelerin dışından bu acil durum numaralarını çevirmeyi veya diğer ülke veya bölgelerdeki acil durum hizmetlerini aramayı desteklemez.

Örnek Kod

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun

Not

Bir telefon numarasına giden aramaya Azure İletişim Hizmetleri Kullanıcı Arabirimi Kitaplığı kullanılarak erişilebilir. Kullanıcı Arabirimi Kitaplığı, geliştiricilerin uygulamalarına yalnızca birkaç kod satırıyla PSTN'nin etkinleştirildiği bir çağrı istemcisi eklemesine olanak tanır.

Önkoşullar

Ayarlama

Yeni bir Node.js uygulaması oluşturma

Terminalinizi veya komut pencerenizi açın, uygulamanız için yeni bir dizin oluşturun ve bu dizine gidin.

mkdir calling-quickstart
cd calling-quickstart

Varsayılan ayarlarla bir package.json dosyası oluşturmak için komutunu çalıştırınnpm init -y.

npm init -y

paketini yükleyin

npm install JavaScript için Azure İletişim Hizmetleri Çağırma SDK'sını yüklemek için komutunu kullanın.

npm install @azure/communication-common --save
npm install @azure/communication-calling --save

seçeneği--save, kitaplığı package.json dosyanızda bağımlılık olarak listeler.

Uygulama çerçevesini ayarlama

Bu hızlı başlangıçta uygulama varlıklarını paketlemek için paket kullanılır. Yüklemek ve package.json geliştirme bağımlılığı olarak listelemek için aşağıdaki komutu çalıştırın:

npm install parcel --save-dev

Projenizin kök dizininde bir index.html dosyası oluşturun. Bu dosyayı, kullanıcının çağrı göndermesine olanak sağlayacak temel bir düzen yapılandırmak için kullanacağız.

Kod şu şekildedir:

<!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>

Bu hızlı başlangıcın uygulama mantığını içermesi için projenizin kök dizininde app.js adlı bir dosya oluşturun. Çağıran istemciyi içeri aktarmak ve iş mantığımızı ekleyebilmemiz için DOM öğelerine başvurular almak için aşağıdaki kodu ekleyin.

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();

Telefonla arama başlatma

Aramayı başlatmak için kullanılan İletişim Hizmetleri kaynağında edindiğiniz telefon numarasını belirtin:

Uyarı

Telefon sayılar E.164 uluslararası standart biçiminde sağlanmalıdır. (ör. +12223334444)

öğesine tıklandığında sağladığınız telefon numarasına çağrı başlatmak için olay işleyicisi callPhoneButton ekleyin:

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;
});

Telefonla aramayı sonlandırma

öğesine tıklandığında geçerli çağrıyı sonlandırmak için bir olay dinleyicisi hangUpPhoneButton ekleyin:

hangUpPhoneButton.addEventListener("click", () => {
  // end the current call
  call.hangUp({
    forEveryone: true
  });

  // toggle button states
  hangUpPhoneButton.disabled = true;
  callPhoneButton.disabled = false;
});

özelliği, forEveryone tüm arama katılımcıları için çağrıyı sonlandırır.

Kodu çalıştırma

Uygulamanızı derlemek ve çalıştırmak için komutunu npx parcel index.html kullanın.

Tarayıcınızı açın ve adresine http://localhost:1234/gidin. Aşağıdaki web uygulamasını görmeniz gerekir:

Screenshot of the completed JavaScript Application.

Eklenen metin alanında bir telefon numarası sağlayarak ve Arama başlat Telefon düğmesine tıklayarak gerçek bir telefon numarasına arama yapabilirsiniz.

Önemli

Azure İletişim Hizmetleri yalnızca Birleşik Devletler, Porto Riko, Kanada, Danimarka ve Birleşik Krallık'taki acil durum numaralarına acil çağrıyı destekler.

Azure İletişim Hizmetleri sesli arama (PSTN), Birleşik Devletler, Porto Riko ve Kanada'da acil durum numarası 911'i aramak, Danimarka'daki 112 acil durum numarasını aramak ve Birleşik Krallık'ta 999 ve 112 acil durum numaralarını aramak için kullanılabilir. Azure İletişim Hizmetleri şu anda bu ülke veya bölgelerin dışından bu acil durum numaralarını çevirmeyi veya diğer ülke veya bölgelerdeki acil durum hizmetlerini aramayı desteklemez.

Örnek Kod

GitHub'da bu hızlı başlangıcın son halini alan kodu bulun

Önkoşullar

Önkoşul denetimi

  • İletişim Hizmetleri kaynağınızla ilişkili telefon numaralarını görüntülemek için Azure portalında oturum açın, İletişim Hizmetleri kaynağınızı bulun ve sol gezinti bölmesinden telefon numaraları sekmesini açın.

Ayarlama

Uygulamanıza PSTN işlevselliği ekleme

PhoneNumber MainActivity.java değiştirerek türünü uygulamanıza ekleyin:

import com.azure.android.communication.common.PhoneNumberIdentifier;

Telefonla arama başlatma

İletişim Hizmetleri kaynağınızdan edindiğiniz telefon numarasını belirtin. Bu numara, çağrıyı başlatmak için arayan kimliği olarak kullanılır:

Uyarı

Telefon numaralarının E.164 uluslararası standart biçiminde sağlanması gerektiğini unutmayın. (ör. +12223334444)

MainActivity.java olay işleyicisini telefon çağrılarını işleyecek şekilde değiştirinstartCall():

    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);
    }

Uygulamayı başlatın ve yankı botunu çağırın

Uygulama artık araç çubuğundaki "Uygulamayı Çalıştır" düğmesi kullanılarak başlatılabilir (Shift+F10). Arama yapmak için, eklenen metin alanına bir telefon numarası girin ve ARA düğmesini seçin.

Uyarı

Telefon numaralarının E.164 uluslararası standart biçiminde sağlanması gerektiğini unutmayın. (ör. +12223334444)

Screenshot showing the completed application.

Önemli

Azure İletişim Hizmetleri yalnızca Birleşik Devletler, Porto Riko, Kanada, Danimarka ve Birleşik Krallık'taki acil durum numaralarına acil çağrıyı destekler.

Azure İletişim Hizmetleri sesli arama (PSTN), Birleşik Devletler, Porto Riko ve Kanada'da acil durum numarası 911'i aramak, Danimarka'daki 112 acil durum numarasını aramak ve Birleşik Krallık'ta 999 ve 112 acil durum numaralarını aramak için kullanılabilir. Azure İletişim Hizmetleri şu anda bu ülke veya bölgelerin dışından bu acil durum numaralarını çevirmeyi veya diğer ülke veya bölgelerdeki acil durum hizmetlerini aramayı desteklemez.

Önkoşullar

Önkoşul denetimi

  • İletişim Hizmetleri kaynağınızla ilişkili telefon numaralarını görüntülemek için Azure portalında oturum açın, İletişim Hizmetleri kaynağınızı bulun ve sol gezinti bölmesinden telefon numaraları sekmesini açın.
  • iOS için Azure İletişim Hizmetleri Çağırma SDK'sı ile uygulamanızı derleyebilir ve çalıştırabilirsiniz:

Ayarlama

Telefonla arama başlatma

Aramayı başlatmak için kullanılan İletişim Hizmetleri kaynağında edindiğiniz telefon numarasını belirtin:

Uyarı

Telefon numaralarının E.164 uluslararası standart biçiminde sağlanması gerektiğini unutmayın. (ör. +12223334444)

Aramayı Başlat düğmesine dokunulduğunda gerçekleştirilen olay işleyicisini değiştirinstartCall:

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")
                    }
                }
            }
        }
    }

Kodu çalıştırma

Ürün>Çalıştır'ı seçerek veya (⌘-R) klavye kısayolunu kullanarak uygulamanızı iOS simülatöründe derleyebilir ve çalıştırabilirsiniz.

Final look and feel of the quick start app

Eklenen metin alanında bir telefon numarası sağlayarak ve Aramayı Başlat düğmesine tıklayarak telefonla arama yapabilirsiniz.

Uyarı

Telefon numaralarının E.164 uluslararası standart biçiminde sağlanması gerektiğini unutmayın. (ör. +12223334444)

Not

İlk kez arama yaptığınızda sistem sizden mikrofona erişmenizi ister. Üretim uygulamasında, izin durumunu denetlemek ve izin verilmediğinde uygulamanızın davranışını düzgün bir şekilde güncelleştirmek için API'yi kullanmanız AVAudioSession gerekir.

Kaynakları temizleme

İletişim Hizmetleri aboneliğini temizlemek ve kaldırmak istiyorsanız, kaynağı veya kaynak grubunu silebilirsiniz. Kaynak grubunun silinmesi, kaynak grubuyla ilişkili diğer tüm kaynakları da siler. Kaynakları temizleme hakkında daha fazla bilgi edinin.

Sonraki adımlar

Daha fazla bilgi için aşağıdaki makaleleri inceleyin: