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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Dağıtılan bir İletişim Hizmetleri kaynağı. İletişim Hizmetleri kaynağı oluşturun.
- İletişim Hizmetleri kaynağınızdan alınan bir telefon numarası veya yapılandırılmış Azure İletişim Hizmetleri Doğrudan yönlendirme. Ücretsiz aboneliğiniz varsa bir deneme telefon numarası alabilirsiniz.
- Çağrı istemcisini etkinleştirmek için A
User Access Token
. Alma hakkında daha fazla bilgi içinUser Access Token
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>
<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:
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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Dağıtılan bir İletişim Hizmetleri kaynağı. İletişim Hizmetleri kaynağı oluşturun.
- İletişim Hizmetleri kaynağınızdan alınan veya Azure İletişim Hizmetleri Doğrudan Yönlendirme yapılandırılmış bir telefon numarası. Ücretsiz aboneliğiniz varsa bir deneme telefon numarası alabilirsiniz.
- Çağrı istemcisini etkinleştirmek için A
User Access Token
. Alma hakkında daha fazla bilgi içinUser Access Token
- Uygulamanıza çağrı eklemeye başlamak için hızlı başlangıcı tamamlayın
Ö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)
Ö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
- Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
- Dağıtılan bir İletişim Hizmetleri kaynağı. İletişim Hizmetleri kaynağı oluşturun.
- İletişim Hizmetleri kaynağınızdan alınan bir telefon numarası veya yapılandırılmış Azure İletişim Hizmetleri Doğrudan yönlendirme. Ücretsiz aboneliğiniz varsa bir deneme telefon numarası alabilirsiniz.
- Çağrı istemcisini etkinleştirmek için A
User Access Token
. Alma hakkında daha fazla bilgi içinUser Access Token
- Uygulamanıza çağrı eklemeye başlamak için hızlı başlangıcı tamamlayın
Ö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.
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:
- SDK'ları çağırma özellikleri hakkında bilgi edinin
- Aramanın nasıl çalıştığı hakkında daha fazla bilgi edinin
- Sayı arama özellikleri hakkında bilgi edinin