http cli的原理是cti模块实现了一个http server 接收http get请求,执行FreeSWITCH命令后把执行结果返回给http client,常用的使用场景包含http接口实现挂断指定的通话,http接口实现点击拨号(先呼叫坐席电话,座席接听后再呼叫客户电话),以及监听,强插,转接电话等功能。
配置
cti.conf.xml http_cli节点就是配置http server监听的IP和端口,以及接口的KEY。 有关系统方面问题请找博主,看他名字可以微他一起技术交流学习
</http_cli>
· http_server_domain 配置一个域名或者本机外网IP,可不配置。
· http_server_ip 监听的IP,如果只限本机调用,可以配置 127.0.0.1。
· http_server_port 监听的端口。
· http_api_cli_key http接口调用是key参数,防止非法调用。
接口说明
· key 必须和cti.conf.xml http_cli节点http_api_cli_key配置的value内容一致。
· cmd FreeSWITCH的命令。
· arg FreeSWITCH命令的参数。
每个字段都要求url编码,支持各种URL编码格式。
<!–
url编码说明
RFC1738** ****对字符串中除了-_.三个字符之外的所有非字母数字字符都替换成百分号(%)后跟两位十六进制数。
RFC3986
RFC-3986中采用统一的编码方式,字符的编码格式为:%HH(H为十六进制字符), 并没有对空格做特殊处理。按照RFC-3986规范,空格被编码成%20,而加号”+”被编码成%2B。
HTML4.01标准
编码方式是根据ContextType的不同而区别对待的,在form的ContextType是[x-www-form-urlencoded]的时候会对form中的键/值对进行编码,空格被转义成+,其他字符按照RFC1738标准处理成%HH的形式。
php urlencode()说明:
返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号(+)。此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。由于历史原因,此编码在将空格编码为加号(+)方面与 ? RFC3986 编码(参见 rawurlencode())不同。
–>