DTMFの送受信
デュアル・トーン・マルチ・フリークエンシー(DTMF)は、電話システムが数字を送信するために使用する信号の形式です。 0-9 そして * そして # 文字で構成される。通常、発信者は電話機のキーパッドでこれらのボタンを押し、電話機は2つの周波数からなるトーンを同時に発生させる(これがデュアル・トーンである)。
DTMFは、固定電話で相手先をダイヤルするときにも、通話に応答してリモート側に信号を送るときにも使用されます。一般的に、これは対話型音声応答(IVR)システムの導入や、PIN番号や電話会議のPINなどの情報を入力するために使用されます。
このガイドでは、Client SDK で DTMF 入力を送受信する方法を説明します。始める前に、アプリにSDKが追加されていることを確認してください。アンドロイド, iOS, JS)で、次のことができる。 作る または 受け取る のコール。
DTMF送信
進行中の通話にDTMFトーンを送信できます。
// After creating a session
client.sendDTMF(callId, "1234")
.then(() => {
console.log("Success sending DTMF.");
})
.catch(error => {
console.error("Error sending DTMF: ", error);
});
client.sendDTMF(callID, "1234") {
error ->
when {
error != null -> {
// Handle DTMF error
}
}
}
client.sendDTMF(callID, "1234", callback: { error in
if error != nil {
// Handle DTMF error
}
})
進行中のコールで、バックエンドが 入力アクションを持つNCCODTMFを送信すると、定義された "eventUrl".
DTMF受信
呼のメンバがDTMFイベントを送信するたびに、他のすべての呼メンバにそのイベ ントが通知される。
// After creating a session
client.on("dtmf", (callId, legId, digits) => {
console.log(`leg: ${legId}: has received DTMF digits ${digits}`);
});
client.setOnDTMFListener { callId, legId, digits ->
...
}
現在の ViewControllerなどを音声クライアントのデリゲートとして使用する:
client.delegate = self
ViewController に準拠しなければならなくなった。 VGVoiceClientDelegateでDTMFイベントを受信します。 didReceiveDTMFForCall デリゲート・メソッド:
extension ViewController: VGVoiceClientDelegate {
func voiceClient(_ client: VGVoiceClient, didReceiveDTMFForCall callId: String, withLegId legId: String, andDigits digits: String) {
...
}
...
}