Asterisk学习笔记之 -- AMI篇

简介

        AMI  (Asterisk Manager Interface)。是Asterisk的管理接口。通过此接口,可以实现对Asterisk系统的监控和控制。

访问形式

        AMI提供两种方式的访问,TCP形式的和HTTP形式的, 而HTTP形式的又可以分普通连接和TLS连接两种。manager.conf配置文件中有若干AMI的配置,如果使用HTTP形式的接口,还需要配置http.conf文件中的相关配置。
 
TCP的AMI可以简单使用telnet命令使用,例如
 
telnet 127.0.0.1 5038
 
Action: Login
Username: user
Secret: pwd
 
Response: Success
Message: Authentication accepted
 
Action: Ping
 
Response: Success
Ping: Pong
Timestamp: 1282739190.454046
 
Action: Logoff
 
Response: Goodbye
Message: Thanks for all the fish.
 
HTTP的形式如:
 
$ wget "http://localhost:8088/rawman?action=login&username=hello&secret=world" \
> --save-cookies cookies.txt -O -
 
$ wget "http://localhost:8088/rawman?action=ping" --load-cookies cookies.txt -O -
 
        HTTP形式的AMI可以选择使用rawman/manager/mxml三种形式之一,他们的区别就是RESPONSE中内容的封装格式。
  • rawman使用和CLI同样的格式
  • manager使用html格式
  • mxml使用XML格式

接口类型分类

        AMI提供的的接口分为Event和Action。
  • Event为从Asterisk服务单向向AMI CLIENT发送的事件通知。
  • Action为AMI CLIENT发送请求,然后Asterisk给予回复。Action也允许先返回若干Event再返回Action Response的情况。

其他

        具体提供了哪些AMI命令可在CLI下使用“manager show commands”命令查看。
        具体某个命令的使用详情和格式可使用“manager show command <Action>”命令查看。
        其中“Command”命令是可以直接调用CLI的命令,CLI的命令可以使用help查看。
        AMI的登陆用户允许使用哪些AMI命令,不允许使用哪些AMI命令可以在manager.conf中设置。
 
 
 

猜你喜欢

转载自blog.csdn.net/irwin_chen/article/details/9421453
今日推荐