Twilio est utilisé à divers endroits comme un service de téléphonie simple et polyvalent, et je pense que des frères et sœurs l'utilisent également dans divers projets.
La documentation officielle contient de nombreux exemples de code pour chaque langue, mais jusqu'à ce que je m'en lasse, l'accent était mis sur la manière d'appeler depuis chaque langue, et il n'y avait aucune information sur les protocoles de communication et les structures de données.
En particulier, je n'ai pas trouvé d'informations détaillées sur la façon d'appeler un client Twilio à partir d'un téléphone externe ou d'implémenter un serveur qui renvoie TwiML. \ # Il y avait des informations fragmentaires, mais j'ai eu du mal à les combiner à un niveau pratique ...
Par conséquent, je voudrais résumer les informations nécessaires tout en étant conscient du point de vue du fonctionnement de Twilio et en comparant les résultats de la vérification réelle et les résultats de la capture de paquets.
Veuillez noter que les informations non incluses dans la documentation officielle ont été vérifiées pour le moment jusqu'à ce que nous nous en lassions, et peuvent changer à l'avenir.
En raison du volume important de ce thème, nous le diviserons en quatre sections. Cet article correspond à "1. Introduction".
―― 1. ** Introduction ← Maintenant ici ** ―― 1. ** Structure de base et définition des termes lors de l'utilisation de Twilio ** ―― 2. ** Environnement vérifié cette fois ** ―― 2. Structure des données de flux de communication ―― 1. Transfert de jeton d'authentification / capacité ―― 2. Appel (appel entrant) depuis un téléphone externe vers un client Twilio ―― 3. Appel du client Twilio vers un téléphone externe (OutgoingCall) --3-1. Procédure pas à pas d'implémentation d'AWS API Gateway + Lambda (Partie 1) ―― 1. Implémentation du traitement API Server (Python sur AWS Lambda) --2 paramètres de la passerelle API --3-2. Procédure pas à pas d'implémentation AWS API Gateway + Lambda (partie 2) ―― 3. Implémentation et déploiement de Twilio Client ―― 4. Contrôle de fonctionnement!
Cet article et les articles associés sont destinés aux lecteurs suivants:
C'est le sujet principal. Tout d'abord, vérifiez la configuration de base et le flux de communication envisagés par Twilio.
La figure ci-dessous est tirée de la documentation officielle, mais la figure dans "Architecture" est très importante et doit être gardée à l'esprit. Il s'agit d'une configuration pour passer / recevoir des appels depuis un appareil Android utilisant Twilio, mais il s'agit généralement de la configuration.
Twilio Client Android SDK - Architecture https://www.twilio.com/docs/api/client/android
Les personnages principaux sont les trois suivants. Il semble qu'il n'y ait pas de nom officiel pour chacun, mais dans cet article, nous les unifierons avec les trois noms suivants.
Lorsque vous expliquez le sens de l'appel, concentrez-vous autant que possible sur le client Twilio. En d'autres termes, cela se traduit par un appel depuis Twilio Client / la réception d'un appel depuis Twilio Client. \ # À propos, certaines des fonctions qui peuvent être utilisées avec le SDK et l'API de Twilio sont données entrantes et sortantes, etc., mais toutes sont également centrées sur le client Twilio.
Les autres termes utilisés dans cet article et une série d'articles connexes sont définis comme suit.
No | le terme | Contenu |
---|---|---|
1 | Numéro de téléphone Twilio | Appelez le numéro de téléphone que vous avez acheté auprès de Twilio et associé au client Twilio. Toujours E.Il est exprimé au format 164. |
2 | E.Format 164 | 「+Le format commence par ", suivi du code du pays et du numéro de téléphone. Vous pouvez insérer des traits d'union et des blancs au milieu. e.g. +81-3-1234-5678 |
3 | TwiML | * Veuillez vous référer au document officiel(https://www.twilio.com/docs/api/twiml) |
4 | Client Name | Nom unique associé au client Twilio. Requis pour recevoir des appels avec Twilio Client. |
5 | Incoming Call | Appeler le client Twilio depuis un téléphone externe. Parfois écrit comme un appel entrant. |
6 | Outgoing Call | Passer un appel externe depuis le client Twilio. Parfois écrit comme un appel sortant. |
Le client Twilio à réaliser cette fois visait à pouvoir faire la même chose qu'un téléphone normal. Les spécifications spécifiques sont les suivantes.
--Ce que tu peux faire --Depuis Twilio Client, vous pouvez passer un appel téléphonique général en spécifiant n'importe quel numéro (appel sortant)
L'architecture a la configuration suivante.
Le serveur API que nous préparons nous-mêmes utilise AWS. Je l'ai implémenté en Python à l'aide d'API Gateway et de Lambda. La région est Tokyo (ap-nord-est-1). Le client Twilio a été modifié en fonction du didacticiel JavaScript de Twilio. Placez-le sur S3 et accédez-y à partir d'un navigateur Web.
Twilio Client Javascript Quickstart https://www.twilio.com/docs/quickstart/client/javascript
\ # Cependant, la base est vers août 2015. \ # Au 12 octobre 2016, je n'ai pas trouvé le tutoriel auquel je faisais référence à l'époque dans le document officiel ...
L'API fournie par API Server est définie comme suit.
Endpoint | La description | Noms dans une série d'articles |
---|---|---|
/twilio/retrieve_capability_token | Renvoyez le jeton de capacité au client Twilio. | API d'acquisition de jetons de capacité |
/twilio/retrieve_twiml/call_incoming | Renvoie le TwiML utilisé pour appeler le client Twilio. | API de retour TwiML pour les appels entrants |
/twilio/retrieve_twiml/call_outgoing | Nous vous retournerons le TwiML utilisé lors d'un appel depuis le client Twilio. | API de retour TwiML pour les appels sortants |
Déploiement vers la phase de production d'API Gateway. Donc, l'URL complète ressemble à ceci: La configuration de l'URL sera expliquée lors de sa mise en œuvre dans API Gateway, elle sera donc omise ici.
https://xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/prod/twilio/retrieve_capability_token https://xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/prod/twilio/retrieve_twiml/call_incoming https://xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/prod/twilio/retrieve_twiml/call_outgoing
Enregistrez votre compte sur le site Twilio au Japon. Veuillez faire attention à ne pas vous inscrire depuis le site américain. http://twilio.kddi-web.com/
Obtenez le numéro de téléphone et effectuez les réglages nécessaires. Après vous être connecté à la console Twilio, obtenez un nouveau numéro dans «Numéro de téléphone» dans le menu de gauche. Vous pouvez également en obtenir un avec votre compte d'essai. Cependant, une «vérification» est nécessaire pour passer un appel vers le téléphone réel. Enregistrez le numéro de téléphone pour tester l'appel de "Numéro de téléphone" -> "Numéro de téléphone vérifié".
Après avoir obtenu le numéro de téléphone, définissez l'URL de "UN APPEL ARRIVE". Définissez ici l'URL de l'API de retour TwiML pour l'appel entrant. (L'URL réelle sera construite avec 3. Procédure pas à pas pour l'implémentation d'AWS API Gateway + Lambda.) Veuillez vous référer à la figure ci-dessous. Ceci est utilisé lors de l'appel de ce numéro de téléphone Twilio à partir d'un vrai téléphone.
Créez une application TwiML et configurez les paramètres requis. Après vous être connecté à la console Twilio, allez dans "Programmable Voice" -> "Tools" -> "TwiML Apps" dans le menu de gauche. De là, vous pouvez créer une nouvelle application TwiML.
Définissez la "DEMANDE URL" de "Appel vocal". Définissez ici l'URL de l'API de retour TwiML pour les appels sortants. (L'URL réelle sera construite avec 3. Procédure pas à pas pour l'implémentation d'AWS API Gateway + Lambda.) Veuillez vous référer à la figure ci-dessous.
Ouvrez un compte AWS. L'implémentation spécifique sera expliquée dans 3. Procédure pas à pas pour l'implémentation d'AWS API Gateway + Lambda, donc je l'omettrai ici.
Jusqu'à présent, nous avons expliqué les grandes lignes de ce thème et les éléments à préparer. La suite sera l'article suivant.
Twilio # 2-Comprendre le mécanisme
Recommended Posts