使用 Twilio 电话服务,我们拨打出站电话:
curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/ACc1....4658a/Calls.json' \
-d 'From=%2B44987654321' \
-d 'To=%2B123456789' \
-d 'Url=http%3A%2F%2Fourdomain.com%2Ftwiml.php%3Faction%3Dcall_is_taken' \
-u ACc1....4658a:{AuthToken}
Run Code Online (Sandbox Code Playgroud)
这并不重要,但当有人拿起电话时,我们的响应 twiml 代码(将会改变)只是:
<Response><Say>Thank you for picking up.</Say></Response>
Run Code Online (Sandbox Code Playgroud)
问题是当某人正在开会时:电话铃声响起,用户很快就拒绝接听电话。愚蠢的是,Twilio 会立即重试,如果用户再次拒绝,twilio 将立即尝试最多 7 (!) 次。
实际上,用户会离开会议,接听电话,然后听到这不是一条对生活至关重要的消息。想象一下愤怒。
如何告诉 Twilio 仅尝试调用一次?
我在将出站规则配置为在 IIS7 上运行时遇到一些问题,下面的情况让我感到悲伤。我的最终目标是让任何出站规则在几个浏览器中运行。对于此示例,我使用从各种 HTML 标记中剥离 .aspx 的规则。
为了让该特定规则在 IIS7 中发挥作用,我必须默认禁用动态压缩并关闭缓存。我成功地重写了 HTML,但是出现了另一个问题,导致它无法使用。
当尝试使用 outboundrules 重写内容时,我遇到了一个问题,由于标头中的“内容长度不匹配”,Chrome 和 Firefox 正在执行连续加载(感谢 Fiddler 帮助我识别它)。重写有效,但会导致内容长度不正确,因此这两个浏览器看起来像是永远在加载。特别是 Chrome,这会导致一个问题,因为 javascript 似乎被挂起,因此任何 jquery 都无法工作,直到有人实际按下停止按钮。
这是我开始时的 web.config 的相关部分,以便为我提供该场景:
<system.webServer>
<rewrite>
<urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" />
<modules runAllManagedModulesForAllRequests="true" />
<outboundRules>
<rule name="Remove .aspx from links in the response" preCondition="IsHTML" stopProcessing="false">
<match filterByTags="A, Area, Base, Form, Frame, IFrame, Link, Img, Script" pattern="(.*)\.aspx(\?.*)?$" />
<action type="Rewrite" value="{R:1}{R:2}" />
</rule>
<preConditions>
<preCondition name="IsHTML">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
</rewrite>
<caching enabled="false" …Run Code Online (Sandbox Code Playgroud) 我需要发送这个:
POST http://api.outbound.io/api/v1/identify
Content-Type: application/json
{
"api_key": "MY_API_KEY",
"user_id": "MY_UNIQUE_USER_ID",
"traits" : {
"email" : "dhruv@outbound.io",
"name" : "Dhruv Mehta",
"phone" : "650xxxyyyyy"
}
}
Run Code Online (Sandbox Code Playgroud)
我从来没有做过这样的事情,我做了很多研究,但我找不到如何将这些参数发送到该URL
我希望你们能帮助我一个例子,最好的问候!
云服务 Web 角色上是否有任何包含出站流量详细信息的日志?
我想检查过去向第三方 Web 服务发出的 http 请求。
快速总结我的情况以提供一些背景信息:
我有一个保留IP。
网站使用HttpClient向第三方web服务POST请求,需要对Reserved IP进行授权。
我已经使用 Web 角色大约 6 个月了,但昨天我遇到了一个问题,所有对第三方的请求突然停止被授权。
RDP 到服务器并浏览到http://www.whatismyip.com/显示保留 IP 仍在使用中。
我必须快速解决问题并重新启动云服务;之后,现在再次授权向第 3 方发出请求。
第三方坚称他们的服务没有遇到任何问题,但不幸的是,他们会提供更多信息来帮助我解决问题。
现在我试图找出问题的原因。
关于如何解决出站流量请求的任何建议将不胜感激。
我有一个ASP.NET Core托管在Docker cloud(云提供商为Azure)的应用程序。该应用程序用于Hangfire在后台运行重复性作业,并且其中一个作业需要从外部REST API请求数据。我注意到任何出站通信尝试都失败了,我想知道如何启用它。
部署由其他一些容器组成,链接的容器(服务)可以毫无问题地进行通信。没有特殊的网络配置;使用默认的“桥接”模式。我是否需要在容器的映像中进行配置,还是需要更改网络设置...我不知道。
有人可以向我解释一下 Azure 区分逻辑应用程序出站 IP 地址的新方式之间的区别吗?
我认为文档在对这个问题进行正确解释时被精简了。阅读它,听起来 IP 地址在逻辑应用程序中具有完全相同的角色。
我只需要澄清这一点。
那么,逻辑应用程序中的工作流/运行时出站 IP 地址和连接器出站 IP 地址之间有什么区别。文档在这里
提前致谢。
您如何使用Istio允许所有出站流量?
我尝试了以下方法:
没有一个选项有效,值得一提的是我正在使用kubernetes 1.11.2
我正在尝试跟踪用户点击我网站的链接。我可以通过转到查看他们正在点击的链接,Engagement -> Events -> Click -> link_url(Under parameter name),但是我无法在 30 分钟后找到查看此数据的方法。30 分钟后,我只能查看点击次数,但它不会让我查看link_url。
我打开了“增强跟踪-出站链接”,但与之前的类似,我找不到查看点击 url 的方法。
我在 SO 答案中看到使用旧 GA 版本转到 Behavior->Events 以访问此数据,但是我现在似乎找不到等效的。
如何查看我的用户在 30 分钟后点击了哪些链接?
我是 Twilio 的新手,正在尝试弄清楚如何从我使用 Python 3 成功进行的出站呼叫中检索数据。我希望能够检索诸如从收件人那里按下了什么按钮之类的内容。
在阅读了一点 Twilio 文档(然后有点迷茫)后,我想我明白了 Twilio 的工作原理以及为什么我无法从电话中检索数据。我认为 Python 程序只是建立了从 Twilio 到电话号码的连接。收件人可以拨打任何号码,我可以使用标签获取一些信息。但是我如何将该信息定向到我的 Python 程序呢?这个想法是让 Twilio(以某种方式)将信息发送回我的 Python 程序,然后我可以采取行动(例如更新数据库)。
我猜测 Twilio 会将数据扔到其他地方,然后我的 Python 程序可以去检索,但我不知道从哪里学习该技能。我有 Python 3 的基本基础,但在 Web 开发方面没有很多。只是一些基本的 HTML5 和 CSS3。
我有一个sip服务器。在extensions.conf中我设置了以下内容:
[extensions.conf]
exten =>1,1,Dial(SIP/1,20,tr)
exten => 1,n,Hangup()
exten => 2,1,Dial(SIP/2,20,tr)
exten => 2,n,Hangup()
Run Code Online (Sandbox Code Playgroud)
我需要能够have outbound calls。我的意思是client 1我想呼叫不同 sip 服务器上的客户端。如何在extensions.conf文件中设置它?
需要帮助。感激不尽
我需要在呼叫应答、完成时跟踪 statusCallbackEvent,还需要使用自定义参数传递 StatusCallback 请建议如何实现?
我的代码是这样的
public CallResource MakeOutboundPhoneCallsAsync(OutgoingCallRequest request, string accountSid, string authToken)
{
try
{
TwilioClient.Init(accountSid, authToken);
List<string> statusCallbackEvent = new List<string> { "answered", "completed" };
CallResource response =
CallResource.Create(
url: new Uri("http://demo.twilio.com/docs/voice.xml"),
to: new PhoneNumber(request.ToPhoneNumber),
from: new PhoneNumber(request.FromPhoneNumber),
method: Twilio.Http.HttpMethod.Get,
statusCallback: new Uri("http://b28deaf4.ngrok.io/api/Twilio/OutboundCalls/StatusCallback"),
statusCallbackEvent: statusCallbackEvent,
statusCallbackMethod: Twilio.Http.HttpMethod.Post
);
return response;
}
catch (Exception e)
{
throw e;
}
}
Run Code Online (Sandbox Code Playgroud)