Php 如何记录从Asterisk到外部Web服务的调用

Php 如何记录从Asterisk到外部Web服务的调用,php,web-services,module,asterisk,Php,Web Services,Module,Asterisk,我被分配了一项任务,通过API记录来自Salesforce所有分机的所有传出呼叫,我是Asterisk和FreePBX的新手,在搜索Google后,我发现我可以创建自定义模块并将其安装在FreePBX上,但这并不能解决问题,我想要的是将源号码和目标号码发送到一个定制的web服务,该服务在一些数据库中搜索号码,并在一些逻辑和条件记录Salesforce上的调用后,我在创建web服务或Salesforce API日志记录方面没有问题,我只是想知道一种在挂断电话后拦截呼叫并将号码(源/目的地)发布到w

我被分配了一项任务,通过API记录来自Salesforce所有分机的所有传出呼叫,我是Asterisk和FreePBX的新手,在搜索Google后,我发现我可以创建自定义模块并将其安装在FreePBX上,但这并不能解决问题,我想要的是将源号码和目标号码发送到一个定制的web服务,该服务在一些数据库中搜索号码,并在一些逻辑和条件记录Salesforce上的调用后,我在创建web服务或Salesforce API日志记录方面没有问题,我只是想知道一种在挂断电话后拦截呼叫并将号码(源/目的地)发布到web服务的方法,我在Google上搜索了很多,但没有找到任何示例或示例让我继续。你应该看看(或者FastAGI,如果你能处理TCP套接字)如何连接到web服务。这样,您就可以用您喜欢的任何语言编写自己的代码,并根据需要执行任何操作。目前还不清楚如何定义源号码和目标号码,但您可以在知道这些值后将其存储到变量中(通过使用拨号计划上的Set应用程序),然后在拨号前使用GET FULL VARIABLE从AGI程序中检索这些值。

您应该了解一下(如果你可以处理TCP套接字,也可以使用FastAGI)连接到web服务。这样,你就可以用你喜欢的任何语言编写自己的代码,做你需要做的任何事情。不清楚如何定义源代码和目标代码,但当你知道这些值时,你可以将它们存储到变量中(使用拨号计划上的Set应用程序),然后在拨号前使用GET FULL变量从AGI程序中检索这些值。

仅对于日志,您可以使用星号cdr模块或CEL

对于控件,您需要AGI(FASTAGI)或AMI应用程序或使用星号拨号计划的控件。 例如,您可以使用h扩展触发事件,并使用AMI记录事件


对于开始,如果你不愿意阅读书籍,我建议你阅读或聘请顾问。如果不了解星号的内部结构,你的应用程序可能真的有问题/不可扩展。

仅用于日志,你可以使用星号cdr模块或CEL

对于控件,您需要AGI(FASTAGI)或AMI应用程序或使用星号拨号计划的控件。 例如,您可以使用h扩展触发事件,并使用AMI记录事件


对于开始,如果你不愿意读书,我建议你阅读或聘请顾问。如果不了解星号的内部结构,你的应用程序可能真的有问题/不可扩展。

你可以在拨号计划结束时处理这个问题:

  exten = h,1,AGI(your-script.pl)

并将您的逻辑写入您的-script.pl文件(您几乎可以使用任何编程语言)。您可以在官方书籍《Asterisk.Future of Telephony》中找到AGI接口的说明。

您可以在拨号计划结束时处理这一时刻:

  exten = h,1,AGI(your-script.pl)
并在您的-script.pl文件中编写您的逻辑(您几乎可以使用任何编程语言)。您可以在官方书籍《Asterisk.Future of Telephony》中找到AGI接口的描述