相对比较新的一个模块mod_httapi 可以支持用户更加动态控制IVR和其他的应用程序。配合这个模块,通过用户输入的不同可以生成自定义的IVR。FreeSWITCH的mod_httapi采用了一个简单的HTTP POST操作对页面应用程序发送各种信息,通过RESTful的实现方式来控制FreeSWITCH 呼叫流程。在中国章节,我们将讨论以下内容:
· HTTAPI 标记语法
· HTTAPI 配置
· 基本HTTAPI 操作,包括httapi 拨号规则应用
· 一个PHP样本库,使得HTTAPI 应用开发更加简单
当用户阅读这个章节时,必须牢记mod_httapi 使用了一个循环呼叫处理的流程;一个单个的呼叫,对于web服务器来说,有多个重复的HTTP POST请求。
这样给了应用开发人员更大的灵活性来设计他们的应用模块。没有必要在单个响应中生成所有可能的呼叫逻辑。一个被httapi应用控制的呼叫将执行在HTTP中指定的响应命令,然后对web服务器发送另外一个HTTP POST请求。实际上,这个httapi 应用获得从web 服务器端来的指令,处理这些指令,然后对web 服务器端说,"我已经完成了那些指令,下一个指令是什么?"。这个循环会一直进行,直到呼叫结束或这个呼叫被转接到其他流程,超出了httapi 拨号规则应用的控制。
HTTAPI语法
HTTAPI标志符和原始的XML语法没有什么不同。大部分情况下,HTTAPI的语法构成类似于这样的:
Document是从web 服务器HTTP POST请求响应中返回的。
一个HTTAPI 响应必须有text/xml的content type。所有HTTAPI 响应必须