


Entretien et récupération des appels vocaux Twilio: explication détaillée du mode de réunion et du traitement indépendant des jambes d'appel
Jul 25, 2025 pm 08:21 PMDans le développement des applications vocales Twilio, la mise en attente de l'appel et la récupération ultérieure est une exigence commune. Cependant, les opérations de mise à jour directes sur une seule étape d'appel, comme la modification de son URL Twiml, conduisent souvent à une déconnexion inattendue des appels de l'autre partie. En effet, lorsqu'une instruction TWIML pour une jambe d'appel est exécutée ou redirigée, Twilio considérera que le processus actuel pour cette jambe est terminé. Cet article introduira deux fa?ons d'activer la rétention et la récupération des appels: l'utilisation des fonctionnalités de conférence Twilio (recommandées) et la gestion des jambes d'appel indépendantes.
Méthode 1: Utilisez la conférence Twilio (recommandée)
La fonction de conférence Twilio est le moyen le plus simple et le plus robuste de garder les appels et de récupérer. Une réunion est essentiellement une salle virtuelle qui relie plusieurs participants ensemble. Dans ce mode, vous pouvez contr?ler indépendamment l'état de chaque participant à la réunion, y compris le mettre en état de maintien.
1. Mettez les participants en attente
Lorsqu'une jambe d'appel rejoint une réunion en tant que participant, vous pouvez la mettre en attente en mettant à jour les ressources de ce participant. Cela implique d'envoyer une demande de mise à jour à l'API Twilio, de définir la propriété Hold du participant à True et de spécifier un HoldUrl pour jouer la musique Hold.
Exemple de code (PHP):
Php // Supposons que vous avez installé la bibliothèque Twilio PHP require_once 'fournisseur / autoload.php' via Composer; Utilisez Twilio \ REST \ CLIENT; // votre compte Twilio SID et Auth $ sid = "acxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // remplace par votre compte sid $ token = "your_auth_token"; // Remplacez par votre jeton AUTH $ client = nouveau client ($ sid, $ token); // Supposons que vous ayez déjà une conférence Sid et un participant SID $ conférencesId = "Cfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; // votre SID de réunion $ participantsID = "Caxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; // participant SID pour maintenir essayer { $ participant = $ client -> Conférences ($ conférencesID) -> Participants ($ participants à) -> Mise à jour ([ "Hold" => true, "HoldUrl" => "http://www.myapp.com/hold_music.mp3" // Gardez l'URL de la musique ])); écho "participant". $ participant-> CALDID. "Placé avec succès dans l'état de main. \ N"; } catch (exception $ e) { écho "Une erreur s'est produite tout en mettant les participants à l'état de maintien:". $ e-> getMessage (). "\ n"; } ?>
Dans le code ci-dessus, lorsque Hold est défini sur True, Twilio jouera l'audio spécifié par Holdurl au participant, et d'autres participants à la réunion ne pourront pas entendre le participant.
2. Reprendre l'appel
Pour restaurer un participant de Keep à la réunion, mettez simplement à jour la ressource du participant et définissez la propriété Hold sur False.
Exemple de code (PHP):
Php // Supposons que vous avez installé la bibliothèque Twilio PHP require_once 'fournisseur / autoload.php' via Composer; Utilisez Twilio \ REST \ CLIENT; // votre compte Twilio SID et Auth $ sid = "acxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // remplace par votre compte sid $ token = "your_auth_token"; // Remplacez par votre jeton AUTH $ client = nouveau client ($ sid, $ token); // Supposons que vous ayez déjà une conférence Sid et un participant SID $ conférencesId = "Cfxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; // votre SID de réunion $ participantsID = "Caxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; // Le participant est restauré pour être restauré essayer { $ participant = $ client -> Conférences ($ conférencesID) -> Participants ($ participants à) -> Mise à jour ([ "Hold" => false ])); écho "participant". $ participant-> CALDID. "Récupéré avec succès de Hold. \ N"; } catch (exception $ e) { écho "Une erreur s'est produite lors de la récupération des participants:". $ e-> getMessage (). "\ n"; } ?>
Notes:
- Utilisez la fonction de réunion pour simplifier la gestion de l'état car Twilio gère la logique de connexion à l'intérieur de la réunion.
- HoldUrl peut être n'importe quelle URL de fichier audio accessible, prenant en charge les formats MP3 et WAV.
Méthode 2: gérer les jambes d'appel indépendantes (avancé)
Si vous choisissez de ne pas utiliser la fonction de réunion, mais gérez plut?t directement deux pattes d'appel distinctes, il sera plus compliqué pour obtenir la tenue des appels. En effet, lorsque vous mettez à jour le Twiml d'une jambe d'appel (par exemple, le redirigeant vers un hold Twiml), l'instruction TWIML actuelle d'une autre étape d'appel continue d'exécuter et une fois exécutée, la jambe d'appel raccroche.
1. Comprendre la question: pourquoi l'autre partie se casse-t-elle?
Le scénario décrit dans la question initiale, c'est-à-dire que "lorsque l'appel est maintenu, l'appel est déconnecté", est une incarnation de ce mécanisme. Lorsque vous mettez à jour un appel via l'API (par exemple, pointant son Twiml vers une URL qui joue et tient de la musique), le flux Twiml de cette jambe d'appel est interrompu et pointe vers la nouvelle URL. Une autre jambe d'appel qui lui est connectée, son instruction TWIML (généralement
Analyse de l'extrait de code d'origine:
// ... $ rr = array ( "URL" => "http://demo.twilio.com/docs/voice.xml", // nouvelle URL Twiml "méthode" => "post" )); $ call = $ client-> appels ($ callId) -> Update ($ rr); // Mette à jour l'appelant // ...
Ce code met à jour la source Twiml de la jambe d'appel représentée par $ CALSID à http://demo.twilio.com/docs/voice.xml. Si $ CALSID est l'appel et qu'il a été précédemment connecté à l'appel via
2. Fournir un suivi Twiml pour les jambes non-resserrées
Pour éviter la déconnexion des jambes non qui ne retient que lorsque l'appelant est tenu, vous devez fournir des instructions de suivi dans son Twiml. Par exemple, ajoutez
Exemple Twiml:
<spepply> <sallow> Customer_number <dedirect> https://example.com/hold_waiting </dedirect></sallow></spepply>
Dans cet exemple, lorsque l'opération
3. Mettre en ?uvre une stratégie pour garder et restaurer
Pour obtenir une rétention et une récupération complètes, les stratégies suivantes peuvent être adoptées:
-
Gardez-le en action:
- Mettez à jour le Twiml des jambes d'appel (par exemple, les jambes de l'agent) qui doivent être conservées via l'API pour jouer l'URL Twiml de la musique de maintien.
- Mettez à jour le Twiml d'une autre étape d'appel (par exemple, la jambe du client) via l'API à l'URL Twiml qui fait la queue pour l'appel (
). De cette fa?on, les jambes du client ne raccrocheront pas, mais seront dans une file d'attente en attente.
Exemple Twiml pour la file d'attente:
<spepply> <enqueue waitlurl="http://www.myapp.com/wait_music.mp3"> myCustomerQueue Enqueue> </enqueue></spepply>
-
Opération de récupération:
- Mettez à jour le Twiml de la jambe de l'agent vers l'URL Twiml qui se connecte à la file d'attente du client via la directive
. - Lorsque les jambes de l'agent sont composées dans la file d'attente, Twilio connectera les jambes de l'agent aux jambes du client en attente dans la file d'attente.
Exemple Twiml pour composer la file d'attente:
<spepply> <alal> <outre> MyCustomerQueue queue> </outre></alal></spepply>
- Mettez à jour le Twiml de la jambe de l'agent vers l'URL Twiml qui se connecte à la file d'attente du client via la directive
Notes:
- Cette approche vous oblige à gérer manuellement l'état des deux pattes d'appel et le flux Twiml, avec une augmentation significative de la complexité.
- Vous devez vous assurer que votre application est en mesure de suivre l'état actuel et le SID d'appel correspondant de chaque étape d'appel.
- La gestion des erreurs et les cas de bord (comme les clients qui n'attendent pas dans la file d'attente) doivent être soigneusement considérés.
Résumé et meilleures pratiques
D'après les deux méthodes ci-dessus, on peut voir que l'utilisation de la fonction de conférence Twilio est le moyen le plus recommandé de maintenir et de restaurer les appels. Il fournit une gestion intégrée de l'état et des API simplifiées qui réduisent considérablement la complexité du développement.
- Plan préféré: réunion Twilio. Si votre cas d'utilisation permet les réunions, assurez-vous de sélectionner ce scénario. Il fournit des fonctionnalités plus puissantes (telles que plusieurs participants, muet, coups de pied, etc.) et maintient et restaure les opérations intuitives et faciles à mettre en ?uvre.
- Solution avancée: jambes d'appel indépendantes. Envisagez de gérer manuellement les jambes d'appel indépendantes uniquement si votre scénario de demande a des restrictions spéciales et ne peut pas utiliser la fonction de réunion. Cette approche vous oblige à avoir une compréhension approfondie des flux TWIML et des appels API de Twilio, et nécessite plus de code pour gérer l'état des appels, reconnecter la logique et les situations d'erreur.
Quelle que soit la méthode que vous choisissez, il est crucial de comprendre comment fonctionne Twilio Twiml et comment l'API affecte l'état de l'appel. En concevant rationnellement votre logique Twiml et backend, vous pouvez créer une application vocale Twilio robuste et expérimentée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Les dix principales plateformes de marché de crypto-monnaie et d'analyse de données faisant autorité en 2025 sont: 1. CoinmarketCap, fournissant des classements de capitalisation boursière complets et des données de marché de base; 2. Coingecko, fournissant une évaluation de projet multidimensionnelle avec des scores d'indépendance et de confiance; 3. TradingView, ayant les cartes K-Line les plus professionnelles et les outils d'analyse technique; 4. Marché de la binance, fournissant les données les plus directes en temps réel comme le plus grand échange; 5. Marché d'Ouyi, mettant en évidence des indicateurs dérivés clés tels que le volume de position et le taux de capital; 6. Glassnode, en se concentrant sur les données sur cha?ne telles que les adresses actives et les tendances des baleines géantes; 7. Messari, fournissant des rapports de recherche au niveau institutionnel et des données strictes strictes; 8. Cryptocompa

Les outils les plus appropriés pour interroger les marchés des stables en 2025 sont: 1. Binance, avec des données faisant autorité et des paires de trading riches, et des graphiques de tradingview intégrés adaptés à une analyse technique; 2. Ouyi, avec une interface claire et une forte intégration fonctionnelle, et prend en charge le fonctionnement unique des comptes Web3 et Defi; 3. CoinmarketCap, avec de nombreuses devises, et le secteur des stablescoin peut afficher le classement des valeurs de marché et les doyens; 4. Coingecko, avec des dimensions de données complètes, fournit des scores de confiance et des indicateurs d'activité communautaire, et a une position neutre; 5. Huobi (HTX), avec des conditions de marché stables et des opérations amicales, adaptées aux demandes d'actifs traditionnelles; 6. Gate.io, avec la collection la plus rapide de nouvelles pièces de monnaie et de niche, et est le premier choix pour les projets pour explorer le potentiel; 7. tra

Les stablecoins sont des crypto-monnaies avec une valeur ancrée par la monnaie ou les produits Fiat, con?us pour résoudre les fluctuations des prix telles que le bitcoin. Leur importance se reflète dans leur r?le d'outil de couverture, un moyen de négociation et un pont reliant la monnaie fiduciaire avec le monde cryptographique. 1. Les stablecoins fiat-collatéralisées sont pleinement soutenues par des monnaies fiduciaires telles que le dollar américain. L'avantage est que le mécanisme est simple et stable. L'inconvénient est qu'ils comptent sur la confiance des institutions centralisées. Ils représentent les projets, notamment USDT et USDC; 2. Les stablecoins collatéralisées en crypto-monnaie sont émises par des actifs cryptographiques traditionnels sur-collatéralisés. Les avantages sont la décentralisation et la transparence. L'inconvénient est qu'ils sont confrontés à des risques de liquidation. Le projet représentatif est DAI. 3. Les stablescoins algorithmiques reposent sur l'algorithme pour ajuster l'offre et la demande pour maintenir la stabilité des prix. Les avantages sont qu'ils n'ont pas besoin d'être garantis et ont une efficacité de capital élevée. L'inconvénient est que le mécanisme est complexe et que le risque est élevé. Il y a eu des cas d'effondrement du doyen. Ils font toujours l'objet d'une enquête.

L'utilisation réelle de Battle Royale dans le système de double monnaie ne s'est pas encore produite. Conclusion En ao?t 2023, l'étincelle du protocole de prêt écologique Makerdao a donné un rendement annualisé de Dai8% $. Ensuite, Sun Chi est entré en lots, investissant un total de 230 000 $ Steth, représentant plus de 15% des dép?ts de Spark, for?ant Makerdao à faire une proposition d'urgence pour réduire le taux d'intérêt à 5%. L'intention initiale de Makerdao était de "subventionner" le taux d'utilisation de $ dai, devenant presque le rendement en solo de Justin Sun. Juillet 2025, Ethe

Le montant total de Bitcoin est de 21 millions, ce qui est une règle immuable déterminée par la conception d'algorithmes. 1. Grace au mécanisme de preuve de travail et à la règle d'émission de la moitié de tous les 210 000 blocs, l'émission de nouvelles pièces a diminué de fa?on exponentielle, et l'émission supplémentaire a finalement été arrêtée vers 2140. 2. Le montant total de 21 millions est dérivé de la résumé de la séquence à échelle égale. La récompense initiale est de 50 Bitcoins. Après chaque réduction de moitié, la somme de la somme converge à 21 millions. Il est solidifié par le code et ne peut pas être falsifié. 3. Depuis sa naissance en 2009, les quatre événements de réduction de moitié ont considérablement entra?né des prix, vérifié l'efficacité du mécanisme de rareté et constitué un consensus mondial. 4. Le total fixe donne une anti-inflation bitcoin et une métallicité jaune numérique, sa valeur marchande dépassant 2,1 billions de dollars en 2025, devenant le cinquième plus grand capital au monde

Qu'est-ce que Treehouse (Tree)? Comment fonctionne Treehouse (Tree)? Treehouse Products Tethdor - Taux de citation décentralisé Gonuts Points Système Treehouse met en évidence les jetons d'arbre et l'économie des jetons Présentation du troisième trimestre de l'équipe de développement de la feuille de route 2025, des investisseurs et des partenaires Treehouse Team Investment Fund Résumé Partenaire, car DeFi continue d'étendre les marques financières, la demande de produits à revenu fixe est en croissance, et son r?le est similaire au r?le des liaisons dans les marques financières traditionnelles. Cependant, construire sur la blockchain

Répertoire Qu'est-ce que Bitcoin? Comment fonctionne Bitcoin? Pourquoi Bitcoin n'est-il pas évolutif? Qu'est-ce que le BIP (Bitcoin Improvement Proposition)? Qu'est-ce que la mise à jour Bitcoin Taproot? Pay to Taproot (P2TR): Avantages de la racine de tapoot: Avantages de la confidentialité Sauve-Savation Conclusion de mise à niveau de la sécurité: ?BitCoin est la première monnaie numérique qui peut envoyer et recevoir des fonds sans utiliser de tiers. étant donné que Bitcoin est un logiciel, comme tout autre logiciel, il a besoin de mises à jour et de corrections de bogues. Bitcoin Taproot est une telle mise à jour qui introduit de nouvelles fonctionnalités de Bitcoin. La crypto-monnaie est maintenant un sujet br?lant. Les gens en parlent depuis des années, mais maintenant, les prix augmentant rapidement, tout le monde décide de se joindre et d'investir en eux. Message

Les pièces stables sont des crypto-monnaies dont la valeur est liée à des actifs stables tels que le dollar américain. Ils visent à résoudre le problème des grandes fluctuations des prix telles que le bitcoin. Il existe trois types principaux: 1. Les stablescoins garanties de la monnaie fiduciaire, tels que l'USDT et l'USDC, sont soutenues par les réserves de l'émetteur de monnaies fiduciaires équivalentes; 2. Les stablescoins garanties en argent, tels que DAI, sont générés par des actifs cryptographiques trop collatéralisés; 3. Stablecoins algorithmiques, s'appuyant sur des contrats intelligents pour ajuster l'offre et la demande pour maintenir la stabilité des prix. La raison pour laquelle les stablecoins peuvent changer l'avenir est: 1. Il s'agit d'un pont reliant le financement traditionnel et le monde de la cryptographie, réduisant le seuil pour l'entrée des utilisateurs; 2. Réaliser des paiements et des règlements mondiaux efficaces et à faible co?t, améliorant considérablement l'efficacité du flux de capital transfrontalier; 3. Il forme la pierre angulaire de la finance décentralisée (DEFI), pour les prêts, les transactions, etc.
