Closed15
Azure Communication Services で電話をかけるまで
やること
- Azure Communication Services を利用して電話をかけるところまでの手順をメモする
公式ドキュメント
チャットボット(非公式)
Azure アカウントの作成やサブスクリプションの作成は事前に済ませておく
まずは電話番号の取得
特別注文... 面倒くさい予感...
日本の番号リクエストフォームがない
ちなみにアメリカの番号リクエストフォームはこんな感じ。
よく見たらプレビューになってる
とりあえずアメリカの電話番号を買ってみる
買えた
通話を試す(プレビュー)
から自分のスマホに電話をかけてみる
-
着信
に先ほど購入した電話番号を選択 -
通話先
に自分の電話番号を入力(国際電話なので+81
から始める)- 例: 090-1234-5678 だったら
+819012345678
- 例: 090-1234-5678 だったら
あっさりかかってきた
Node.js で実行しようとしてみたけど、実装がブラウザに依存してる気がする
index.ts
import { CommunicationIdentityClient } from "@azure/communication-identity";
import { AzureCommunicationTokenCredential } from "@azure/communication-common";
import { CallClient } from "@azure/communication-calling";
// Azure portal 内のリソースから接続文字列を取得できます。
const connectionString = "";
async function main() {
const identityClient = new CommunicationIdentityClient(connectionString);
const { token } = await identityClient.createUserAndToken(["voip"]);
const agent = await new CallClient().createCallAgent(
new AzureCommunicationTokenCredential(token)
);
const call = agent.startCall([{ phoneNumber: "" }], {
alternateCallerId: { phoneNumber: "" },
});
}
main();
$ bun run index.ts
67 | *
68 | * Created by Johan Blumenberg on 2016-12-29
69 | * Copyright 2016 Microsoft. All rights reserved.
70 | *
71 | */
72 | function __export(g){for(var S in g)m.hasOwnProperty(S)||(m[S]=g[S])}Object.defineProperty(m,"__esModule",{value:!0}),__export(_),__export(E),__export(b),__export(I),__export(A)})),P=createCommonjsModule((function(g,m){(function(){var S,v="4.17.21",_=200,E="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",T="Expected a function",I="Invalid `variable` option passed into `_.template`",b="__lodash_hash_undefined__",A=500,R="__lodash_placeholder__",P=1,M=2,w=4,D=1,O=2,N=1,k=2,L=4,F=8,x=16,U=32,V=64,B=128,H=256,$=512,G=30,j="...",q=800,W=16,z=1,K=2,J=3,Y=1/0,Q=9007199254740991,X=17976931348623157e292,Z=NaN,ee=4294967295,te=ee-1,ie=ee>>>1,ne=[["ary",B],["bind",N],["bindKey",k],["curry",F],["curryRight",x],["flip",$],["partial",U],["partialRight",V],["rearg",H]],re="[object Arguments]",se="[object Array]",ae="[object AsyncFunction]",oe="[object Boolean]",le="[object Date]",ce="[object DOMException]",de="[object Error]",he="[object Function]",ue="[object GeneratorFunction]",ge="[object Map]",pe="[obje | ... truncated
ReferenceError: Can't find variable: window
at /home/mitsu/dev/calling-quickstart-trial/node_modules/@azure/communication-calling/dist/sdk.bundle.js:72:86883
at createCommonjsModule (/home/mitsu/dev/calling-quickstart-trial/node_modules/@azure/communication-calling/dist/sdk.bundle.js:4:725)
at /home/mitsu/dev/calling-quickstart-trial/node_modules/@azure/communication-calling/dist/sdk.bundle.js:72:86853
at /home/mitsu/dev/calling-quickstart-trial/node_modules/@azure/communication-calling/dist/sdk.bundle.js:4:69
at /home/mitsu/dev/calling-quickstart-trial/node_modules/@azure/communication-calling/dist/sdk.bundle.js:4:370
通話はマイクとスピーカーが必要だからブラウザに依存してるのかな
一方的に電話をかけて自動音声流すのはどうやるんだろ
非公式チャットボットに聞いてみた
Outbound Call なんてなさそう
Call Automation がそれっぽい
Call Automation の実装もブラウザ想定っぽいなぁ
このスクラップは2024/05/12にクローズされました