Envoi et réception de DTMF
La multifréquence à deux tons (DTMF) est une forme de signalisation utilisée par les systèmes téléphoniques pour transmettre les chiffres. 0-9 et le * et # caractères. En général, l'appelant appuie sur ces touches du clavier de son téléphone, qui émet alors une tonalité composée de deux fréquences jouées simultanément (d'où le terme de double tonalité).
Le DTMF est utilisé à la fois pour composer une destination sur un téléphone fixe et pour envoyer un signal à l'extrémité distante une fois que l'appel a été pris. Il est généralement utilisé pour mettre en œuvre un système de réponse vocale interactive (IVR) ou pour saisir des informations telles qu'un code PIN ou un code d'appel de conférence.
Ce guide explique comment envoyer et recevoir des données DTMF avec le Client SDK. Avant de commencer, assurez-vous d'avoir ajouté le SDK à votre application et (Android, iOS, JS) et vous pouvez faire ou recevoir appels.
Envoyer DTMF
Vous pouvez envoyer des tonalités DTMF lors d'un appel en cours.
// 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
}
})
Au cours d'un appel en cours, lorsque votre backend a mis en œuvre une fonction BCN avec une action d'entréeL'envoi d'un DTMF déclenchera l'action définie. "eventUrl".
Réception de DTMF
Chaque fois qu'un membre d'un appel envoie un événement DTMF, tous les autres membres de l'appel sont informés de cet événement.
// After creating a session
client.on("dtmf", (callId, legId, digits) => {
console.log(`leg: ${legId}: has received DTMF digits ${digits}`);
});
client.setOnDTMFListener { callId, legId, digits ->
...
}
Ajouter le ViewControllerou similaire, en tant que délégué du client vocal :
client.delegate = self
ViewController devront désormais se conformer à la VGVoiceClientDelegateles événements DTMF seront reçus sur le téléphone. didReceiveDTMFForCall méthode de délégation :
extension ViewController: VGVoiceClientDelegate {
func voiceClient(_ client: VGVoiceClient, didReceiveDTMFForCall callId: String, withLegId legId: String, andDigits digits: String) {
...
}
...
}