twilio 相关问题

Twilio提供API和工具,以将与通信相关的功能(SMS / MMS,语音,视频,电子邮件,聊天,2FA等)添加到Web和移动应用程序中。

如何在 android java 中使用 twilio 发送 otp 到号码

我正在开发一个 Java Android 项目,需要使用 Twilio 将 OTP 发送到用户的手机。尽管进行了广泛的搜索,但我还没有找到任何全面的文档或博客来解释

回答 1 投票 0

在 Twilio 中,如何在 24 小时会话中使用 Whatsapp 按钮或列表选项而不使用消息模板

在 Twilio 中,如何在 24 小时会话中使用 Whatsapp 按钮或列表选项而不使用消息模板? 这是我计划实施的确切参考。在这个页面中,它没有人...

回答 2 投票 0

发送传入或传出短信时,如何在 Twilio Flex 中显示整个消息历史记录?

当我发送传入或传出短信请求时,会创建一个新对话,相应地,消息块为空,但我需要将来自该号码的先前消息加载到那里。也许...

回答 1 投票 0

使用 OpenAI 内容生成的 Twilio FastAPI 应用程序中的延迟响应和调用出队

我正在 FAST API 中构建一个 Twilio 应用程序,该应用程序使用 OpenAI 为传入呼叫请求生成内容。这个想法是使用 Twilio Enqueue 动词 w...

回答 1 投票 0

在 React.js 中使用 Twilio 发送 OTP 短信的问题

嘿,我正在尝试创建一个表单,在提交之前验证用户的电话号码,我在控制台中遇到问题,控制台中的发送和验证 api 部分显示的错误是 注册F...

回答 1 投票 0

Twilio 代码 (node.js) 是 SMS,不转发短信中的 mediaurl

我正在尝试让代码(node.js)作为Twilio功能服务运行,将SMS/MMS转发到订阅的一组电话号码。代码正在运行,除了没有发送任何附件...

回答 1 投票 0

仅当用户在 twilio 中输入录制按钮时才录制房间中的视频通话

我想做的是录制一个和另一个用户之间正在进行的视频通话。一旦用户单击录制按钮,视频录制就会开始。但是,我得到了以下信息...

回答 2 投票 0

Twilio A2P 10DLC 活动提交的示例消息结构 - 括号类型和模板文本示例

对于 Twilio A2P 10DLC 活动提交,示例模板消息是否必须按照文档中的示例使用方括号,或者我们可以使用其他括号吗?只是想知道我们是否需要重新...

回答 1 投票 0

为什么我在浏览器中使用 Twilio 时出现 ConnectionError (53000) 信号错误?

我有一个简单的方法来获取新的 twilio 语音客户端...... 导出 const createTwilioDevice = (_token) => new Twilio.Device( _令牌, { 日志级别:0, answerOnBridge:是的...

回答 2 投票 0

Twilio TwiML Connect 双向同步流

我正在尝试从我的 Twilio 帐户/号码向 PSTN 手机号码拨打电话。我正在使用这个 TwiML: 我正在尝试从我的 Twilio 帐户/号码向 PSTN 手机号码拨打电话。我正在使用这个 TwiML: 有了这个,我就可以接收和播放来自 PSTN 手机的传入音频 我无法将传出音频发送到 PSTN 手机。 这是主要的 websocket 函数,它处理传入的音频并尝试 通过函数“sendremotemediatotwilio”发送传出数据包作为响应: async def websocket_rpc_endpoint(ws: WebSocket): # A lot of messages will be sent rapidly. We'll stop showing after the first one. global output_queue inbuffer = bytearray(b'') inbound_chunks_started = False latest_inbound_timestamp = 0 BUFFER_SIZE = frames_per_buffer await ws.accept() while True: data = await ws.receive_json() # Using the event type you can determine what type of message you are receiving if data['event'] == "connected": print("Connected Message received: {}".format(data)) if data['event'] == "start": print("Start Message received: {}".format(data)) if data['event'] == "media": # print("Media message: {}".format(data)) media = data['media'] chunk = base64.b64decode(media['payload']) # print("Payload is: {}".format(payload)) if media['track'] == 'inbound': # fills in silence if there have been dropped packets if inbound_chunks_started: if latest_inbound_timestamp + 20 < int(media['timestamp']): bytes_to_fill = 8 * (int(media['timestamp']) - (latest_inbound_timestamp + 20)) # NOTE: 0xff is silence for mulaw audio # and there are 8 bytes per ms of data for our format (8 bit, 8000 Hz) inbuffer.extend(b'\xff' * bytes_to_fill) else: # make it known that inbound chunks have started arriving inbound_chunks_started = True latest_inbound_timestamp = int(media['timestamp']) latest_inbound_timestamp = int(media['timestamp']) # extend the inbound audio buffer with data inbuffer.extend(chunk) while len(inbuffer) >= BUFFER_SIZE: asinbound = AudioSegment(inbuffer[:BUFFER_SIZE], sample_width=1, frame_rate=8000, channels=1) # # print("That's {} bytes".format(len(chunk))) # print("That's {} bytes".format(len(chunk))) # print("Additional media messages from WebSocket are being suppressed....") output_queue.put_nowait(base64.b64encode(asinbound.raw_data)) inbuffer = inbuffer[BUFFER_SIZE:] await sendremotemediatotwilio(ws,media,data['streamSid']) # print("Added data in queue") if data['event'] == "closed": print("Closed Message received: {}".format(data)) break async def sendremotemediatotwilio(ws,media,streamSid): global input_queue # if input_queue.empty(): # await asyncio.sleep(1) if not input_queue.empty(): base64_data = input_queue.get_nowait() media_data = { "event": "media", "streamSid": streamSid, "media": { "payload": base64.b64encode(base64_data).decode('utf-8') } } # media = json.dumps(media_data) # print(f"media: {media}") print("sending json") await ws.send_json(media_data) else: # print("Queue is empty") pass 我已经解决了这个问题。现在我可以成功地向 PSTN 手机发送数据包和从 PSTN 手机接收数据包。问题在于从 pcmu 转码到线性 PCM。一旦解决,相同的代码就可以正常工作了 @app.websocket("/twiliomedia") async def websocket_rpc_endpoint(ws: WebSocket): # A lot of messages will be sent rapidly. We'll stop showing after the first one. global output_queue,pushdatainqueue inbuffer = bytearray(b'') inbound_chunks_started = False latest_inbound_timestamp = 0 BUFFER_SIZE = frames_per_buffer await ws.accept() while True: data = await ws.receive_json() # print("Json data",data) # if message is None: # print("No message received...") # continue # # # Messages are a JSON encoded string # data = json.loads(message) # Using the event type you can determine what type of message you are receiving if data['event'] == "connected": print("Connected Message received: {}".format(data)) if data['event'] == "start": print("Start Message received: {}".format(data)) if data['event'] == "media": # print("Media message: {}".format(data)) media = data['media'] chunk = base64.b64decode(media['payload']) # print("Payload is: {}".format(payload)) if media['track'] == 'inbound': # fills in silence if there have been dropped packets if inbound_chunks_started: if latest_inbound_timestamp + 20 < int(media['timestamp']): bytes_to_fill = 8 * (int(media['timestamp']) - (latest_inbound_timestamp + 20)) # NOTE: 0xff is silence for mulaw audio # and there are 8 bytes per ms of data for our format (8 bit, 8000 Hz) inbuffer.extend(b'\xff' * bytes_to_fill) else: # make it known that inbound chunks have started arriving inbound_chunks_started = True pushdatainqueue = True latest_inbound_timestamp = int(media['timestamp']) latest_inbound_timestamp = int(media['timestamp']) # extend the inbound audio buffer with data inbuffer.extend(chunk) while len(inbuffer) >= BUFFER_SIZE: asinbound = AudioSegment(inbuffer[:BUFFER_SIZE], sample_width=1, frame_rate=8000, channels=1) # # print("That's {} bytes".format(len(chunk))) # print("That's {} bytes".format(len(chunk))) # print("Additional media messages from WebSocket are being suppressed....") output_queue.put_nowait(base64.b64encode(asinbound.raw_data)) inbuffer = inbuffer[BUFFER_SIZE:] await sendremotemediatotwilio(ws, media, data['streamSid']) # print("Added data in queue") if data['event'] == "closed": print("Closed Message received: {}".format(data)) break async def sendremotemediatotwilio(ws, media, streamSid): global input_queue # if input_queue.empty(): # await asyncio.sleep(1) if not input_queue.empty(): base64_data = input_queue.get_nowait() media_data = { "event": "media", "streamSid": streamSid, "media": { "payload": base64.b64encode(base64_data).decode("utf-8") # "payload": base64_data.decode("utf-8") } } # media = json.dumps(media_data) # print(f"media: {media}") print("sending json") await ws.send_json(media_data) else: # print("Queue is empty") pass

回答 1 投票 0

在 onCreateIncomingConnection 中读取 ConnectionService Bundle extras 时出现 ClassNotFoundException com.twilio.voice.CallInvite

我正在升级 Flutter 库,以使用与 ConnectionService 集成的 Twilio Voice 进行本机呼叫管理。为了实现这一点,必须扩展 ConnectionService(继承自 Serv...

回答 1 投票 0

A2P 10DLC 问题与支持

这个A2P 10DLC过程可能是我在Twilio上遇到的最大的麻烦了。我们不“推销”某个品牌或类似品牌的任何东西。根本没有品牌营销。我们送乔...

回答 1 投票 0

通过 Azure Bot 将 Power Virtual Agent Chatbot 连接到 Twilio SMS

我正在使用 Power Virtual Agent (PVA) 聊天机器人,我使用 PVA UI 设置了该机器人,无需任何代码。我的目标是允许用户通过 Twilio SMS 与该机器人交互,即他们发送文本...

回答 1 投票 0

Twilio:SSL 证书问题:无法获取本地颁发者证书

我正在尝试使用 PHP 中的 Twilio 发送短信,使用其网站上包含的示例代码,如此处的文档所示 这是我尝试运行 ...

回答 1 投票 0

如何获取 twilio 中的出站电话价格?

所以我试图获取每次通话的价格作为我的任务要求之一。我知道当呼叫完成时应该有它的价格,但是如果是出站呼叫,我会收到呼叫状态回调...

回答 1 投票 0

Twilio 是否允许 Zoom Phone 连接?

营销文本广播是从曾经连接到 Weave 的 Twilio 生成的电话号码发出的。作为一家公司,我们改用 Zoom Phone,对我们广播的所有短信回复都是

回答 1 投票 0

Twilio“收集”问题(可能是格式问题):要么没有 Gather() 超时等待时间,要么应用程序错误

我正在运行基本文档页面 [1]、[2]。我注意到该块下的页面 [1] 使用以下示例代码: 公共类 VoiceController :TwilioController { [http邮报] 公开

回答 2 投票 0

添加/配置任务队列 - 预留活动和分配活动

我正在尝试按照 https://www.twilio.com/docs/taskrouter/quickstart/php/setup-add-task-queues 上的说明进行操作,它说将“预留活动”设置为“预留” “一个...

回答 1 投票 0

Twilio 电话验证 API 自定义名称和消息

我正在使用 Twilio 来验证用户的电话,我注意到用户收到的短信有一个奇怪的发件人名称“AUTHMSG”,并且措辞使用我的应用程序 slug,即“my-cool-first-application”。而我...

回答 3 投票 0

更改 Twilio 函数以触发 2 个 webhook 端点(Missive 和 GoHighLevel)以处理传入的彩信

我正在尝试通过我的 twilio 功能在 Missive App 和 GoHighLevel 中接收彩信。 我正在使用这个 twilio 函数来触发 Missive App 和 GoHighLevel 的多个 webhook 端点。 常量 axios =

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.