Php 验证电话号码和星号

Php 验证电话号码和星号,php,javascript,asterisk,telephony,fastagi,Php,Javascript,Asterisk,Telephony,Fastagi,我希望这样,当客户在我的网站上注册时,在电话号码字段旁边有一个“验证”按钮,一旦单击,就会创建一个随机的数字串,比如说5位数长,然后单击验证按钮,就会给该号码打电话,语音会这样说“这是一家公司,您的电话验证号码是4 2 5 2 5”,并重复几分钟或直到在电话中键入正确的号码字符串。一旦验证了电话号码,客户就可以提交申请 我希望用星号和php来实现这一点。FastAGI是实现这一点的最佳方式吗?所以我的研究表明FastAGI是最好的方式,我必须使用吗?还是我应该只使用常规的星号agi 如何将DTM

我希望这样,当客户在我的网站上注册时,在电话号码字段旁边有一个“验证”按钮,一旦单击,就会创建一个随机的数字串,比如说5位数长,然后单击验证按钮,就会给该号码打电话,语音会这样说“这是一家公司,您的电话验证号码是4 2 5 2 5”,并重复几分钟或直到在电话中键入正确的号码字符串。一旦验证了电话号码,客户就可以提交申请

我希望用星号和php来实现这一点。FastAGI是实现这一点的最佳方式吗?所以我的研究表明FastAGI是最好的方式,我必须使用吗?还是我应该只使用常规的星号agi


如何将DTMF音传回PHP脚本是最好的方法?

您可以使用phpAGI来完成此任务。然后使用AMI的origine命令。将数字传回PHP会有问题,因为由于PHP的性质,您无法引发用户事件。最好的方法是使用拨号计划,然后使用ajax定期查询数据库,查看用户是否输入了正确的验证代码

您可以在发起呼叫内将任意变量传递到dialplan中,因此应该很容易识别用户

老实说,这并不是很复杂,而是很复杂,我的文章中缺少了很多细节。很难在一篇文章中解释整个解决方案


编辑:如果使用同步拨号,您将知道呼叫何时结束。您还需要在拨号计划中设置分机以处理交互部分。origine命令拨出一个出站号码,当呼叫连接时,它将拨origine命令中指定的分机。请记住Asterisk不通过SIP线路进行呼叫进度分析,因此这对您来说可能是一个大问题,也可能不是一个大问题。

对于“AsterClick”[]来说,这听起来是一项非常简单的工作 AsterClick是世界上唯一的事件驱动的星号AMI/(XML)/HTML5 JavaScript

在AsterClick上下文中,您的web页面实际上可以实时和准确地拨打电话 完全用JavaScript验证结果

如果你想找一些更通用的东西,只需创建一个例程 它接受一个电话号码并根据号码本身发出pin码 因此,星号拨号计划和您的网页根本不需要通信

我将使用Asterisk的dialplan脚本和简单的 在JavaScript中复制生成的例程

通过这种方式,您可以省去许多编程方面的麻烦

AsterClick项目有一个名为FastAGI的祖先项目(这类包的通用名称)

此包将服务器端PHP脚本视为可动态加载的插件 可以从dialplan调用它,访问常规PHP脚本可以访问的任何内容,以及当前调用的所有细节

FastAGI工具也有用于数据库交互的配套类。 所以,到论坛来,咕哝几句话,我或用户就可以让你上路了

请记住,论坛是面向HTML5的,但我们也有遗留工具! 当然都是免费的


--Doc

将随机数字添加到拨号计划中是有意义的,只需让客户在网页中输入数字并点击提交即可。我的大多数程序都没有这么复杂,因此我可能需要寻求帮助。在这种情况下,您有两种选择。您可以尝试发送短信息发送代码,让用户输入数字t直接进入网站,或者您只需生成随机字符串并将其传递给dialplan扩展,然后让asterisk将此代码读给用户,然后用户将其输入网站。任何一种方法都同样有效,而且您提出的方法实际上更简单。