xml_rpc路由

1、web:  /domains/  --访问相应的域         /pub   --htdocs的主目录                     /portal  --htdocs目录下portal目录

2、API:    /api/   --返回自定义数据          /webapi/  --返回html           /txtapi/  --返回text           /xmlapi/  --默认返回xml

3、ws://fs-host:8080/socket

ws://10.202.100.200:8080/socket


鉴权:

#请求时需要加请求头:“Authorization:Basic ZnJlZXN3aXRjaDp3b3Jrcw==

#其中”ZnJlZXN3aXRjaDp3b3Jrcw==“为”freeswitch:works“(RPC模块的鉴权用户名和密码)进行base64编码获得


API发送命令:

#1、通用命令执行方式:  命令附带的参数需进行urlencode  如下  命令:sofia profile external gwlist

http://10.203.196.232:8080/xmlapi[api]/sofia?profile%20external%20gwlist

http://10.202.100.200:8080/api/list_users

#2、通过json发送命令,返回json数据:

http://10.202.100.200:8080/api/json?{"command" : "status", "data" : ""}

#3、通过事件接口发送API命令,命令附带的参数需进行urlencode,如下  命令:sofia  status profile internal reg 

http://10.203.196.232:8080/api/event_sink?command=exec-fsapi&fsapi-command=sofia&fsapi-args=status%20profile%20internal%20reg

#4、sofa模块状态查询XML返回:http://10.202.100.200:8080/xmlapi/sofia?xmlstatus

#5、大部分API命令可通过添加as json返回json数据

http://10.202.100.200:8080/api/show?codec%20as%20json

http://10.202.100.200:8080/txtapi/show?channels%20as%20json

http:/

API事件相关:

#创建事件监听

http://10.203.196.232:8080/api/event_sink?command=create-listener&format=json&events=all

#获取事件

http://10.203.196.232:8080/api/event_sink?command=check-listener&listen-id=26&format=json

#销毁事件监听

#暂缺

#过滤事件

#暂缺

#事件获取事件默认超时60秒,即60秒不调用,即将监听者释放


WS

WS连接用户订阅事件,连接ws需要最少5个header:Upgrade,Sec-WebSocket-Key,Sec-WebSocket-Version,sec-websocket-protocol以及Authorization

FreeSWITCH的xml_rpc调用示例_FreeSWITCH xml_rpc

订阅事件:

发送文本“event json API”(发送后不会回复),当有事件到达时会获取

FreeSWITCH的xml_rpc调用示例_FreeSWITCH xml_rpc_02